@libp2p/webtransport 3.1.10-e2267d437 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,18 +1,18 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PWebtransport = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebtransport=(()=>{var Ol=Object.create;var jn=Object.defineProperty;var Ml=Object.getOwnPropertyDescriptor;var Fl=Object.getOwnPropertyNames;var Vl=Object.getPrototypeOf,ql=Object.prototype.hasOwnProperty;var pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pt=(e,t)=>{for(var r in t)jn(e,r,{get:t[r],enumerable:!0})},o0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Fl(t))!ql.call(e,i)&&i!==r&&jn(e,i,{get:()=>t[i],enumerable:!(n=Ml(t,i))||n.enumerable});return e};var Zt=(e,t,r)=>(r=e!=null?Ol(Vl(e)):{},o0(t||!e||!e.__esModule?jn(r,"default",{value:e,enumerable:!0}):r,e)),Hl=e=>o0(jn({},"__esModule",{value:!0}),e);var u0=pt((Jx,f0)=>{"use strict";function c0(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Ql(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return c0(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),c0(new i,r)}}f0.exports=Ql});var yt=pt((ov,Lc)=>{Lc.exports={options:{usePureJavaScript:!1}}});var Pc=pt((sv,Nc)=>{var Ts={};Nc.exports=Ts;var Rc={};Ts.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=_p(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,f=e[i];c<a.length;++c)f+=a[c]<<8,a[c]=f%o,f=f/o|0;for(;f>0;)a.push(f%o),f=f/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var u=new RegExp(".{1,"+r+"}","g");n=n.match(u).join(`\r
3
- `)}return n};Ts.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Rc[t];if(!r){r=Rc[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,f=a;c<s.length;++c)f+=s[c]*i,s[c]=f&255,f>>=8;for(;f>0;)s.push(f&255),f>>=8}for(var u=0;e[u]===o&&u<e.length-1;++u)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function _p(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Rt=pt((av,Kc)=>{var Dc=yt(),kc=Pc(),b=Kc.exports=Dc.util=Dc.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===e){c.stopPropagation();var f=t.slice();t.length=0,f.forEach(function(u){u()})}};var s=a,e="forge.setImmediate",t=[];b.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(f){f()})}).observe(i,{attributes:!0});var o=b.setImmediate;b.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.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(e){return Object.prototype.toString.call(e)==="[object Array]"};b.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};b.isArrayBufferView=function(e){return e&&b.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Rn(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}b.ByteBuffer=_s;function _s(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(b.isArrayBuffer(e)||b.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof _s||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}b.ByteStringBuffer=_s;var Lp=4096;b.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Lp&&(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(e){return this.putBytes(String.fromCharCode(e))};b.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};b.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};b.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(b.encodeUtf8(e))};b.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};b.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};b.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};b.ByteStringBuffer.prototype.putInt=function(e,t){Rn(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};b.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};b.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};b.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};b.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};b.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};b.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};b.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};b.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};b.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};b.ByteStringBuffer.prototype.getInt=function(e){Rn(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};b.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};b.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};b.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};b.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};b.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};b.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};b.ByteStringBuffer.prototype.copy=function(){var e=b.createBuffer(this.data);return e.read=this.read,e};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(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};b.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};b.ByteStringBuffer.prototype.toString=function(){return b.decodeUtf8(this.bytes())};function Rp(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=b.isArrayBuffer(e),n=b.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}b.DataBuffer=Rp;b.DataBuffer.prototype.length=function(){return this.write-this.read};b.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};b.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};b.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};b.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};b.DataBuffer.prototype.putBytes=function(e,t){if(b.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(b.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof b.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&b.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof b.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=b.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=b.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};b.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};b.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};b.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};b.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};b.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};b.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};b.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};b.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};b.DataBuffer.prototype.putInt=function(e,t){Rn(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};b.DataBuffer.prototype.putSignedInt=function(e,t){return Rn(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};b.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};b.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};b.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};b.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};b.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};b.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};b.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};b.DataBuffer.prototype.getInt=function(e){Rn(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};b.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};b.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};b.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};b.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};b.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),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 e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};b.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};b.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};b.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};b.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return b.binary.raw.encode(t);if(e==="hex")return b.binary.hex.encode(t);if(e==="base64")return b.binary.base64.encode(t);if(e==="utf8")return b.text.utf8.decode(t);if(e==="utf16")return b.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};b.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=b.encodeUtf8(e)),new b.ByteBuffer(e)};b.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};b.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};b.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};b.bytesToHex=function(e){return b.createBuffer(e).toHex()};b.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fr=[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],Uc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";b.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=cr.charAt(i>>2),r+=cr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=cr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":cr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
- `,r=r.substr(t));return n+=r,n};b.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=fr[e.charCodeAt(s++)-43],n=fr[e.charCodeAt(s++)-43],i=fr[e.charCodeAt(s++)-43],o=fr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};b.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};b.decodeUtf8=function(e){return decodeURIComponent(escape(e))};b.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:kc.encode,decode:kc.decode}};b.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};b.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};b.binary.hex.encode=b.bytesToHex;b.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};b.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=cr.charAt(i>>2),r+=cr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=cr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":cr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};b.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,f=r;c<e.length;)i=fr[e.charCodeAt(c++)-43],o=fr[e.charCodeAt(c++)-43],s=fr[e.charCodeAt(c++)-43],a=fr[e.charCodeAt(c++)-43],n[f++]=i<<2|o>>4,s!==64&&(n[f++]=(o&15)<<4|s>>2,a!==64&&(n[f++]=(s&3)<<6|a));return t?f-r:n.subarray(0,f)};b.binary.base58.encode=function(e,t){return b.binary.baseN.encode(e,Uc,t)};b.binary.base58.decode=function(e,t){return b.binary.baseN.decode(e,Uc,t)};b.text={utf8:{},utf16:{}};b.text.utf8.encode=function(e,t,r){e=b.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};b.text.utf8.decode=function(e){return b.decodeUtf8(String.fromCharCode.apply(null,e))};b.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};b.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};b.deflate=function(e,t,r){if(t=b.decode64(e.deflate(b.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};b.inflate=function(e,t,r){var n=e.inflate(b.encode64(t)).rval;return n===null?null:b.decode64(n)};var Ls=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=b.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Rs=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(b.decode64(r))),r},Np=function(e,t,r,n){var i=Rs(e,t);i===null&&(i={}),i[r]=n,Ls(e,t,i)},Pp=function(e,t,r){var n=Rs(e,t);return n!==null&&(n=r in n?n[r]:null),n},Dp=function(e,t,r){var n=Rs(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Ls(e,t,n)}},kp=function(e,t){Ls(e,t,null)},_i=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};b.setItem=function(e,t,r,n,i){_i(Np,arguments,i)};b.getItem=function(e,t,r,n){return _i(Pp,arguments,n)};b.removeItem=function(e,t,r,n){_i(Dp,arguments,n)};b.clearItems=function(e,t,r){_i(kp,arguments,r)};b.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};b.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};b.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",f=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",u=f.length>3?f.length%3:0;return c+(u?f.substr(0,u)+a:"")+f.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-f).toFixed(o).slice(2):"")};b.formatSize=function(e){return e>=1073741824?e=b.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=b.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=b.formatNumber(e/1024,0)+" KiB":e=b.formatNumber(e,0)+" bytes",e};b.bytesFromIP=function(e){return e.indexOf(".")!==-1?b.bytesFromIPv4(e):e.indexOf(":")!==-1?b.bytesFromIPv6(e):null};b.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=b.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};b.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=b.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=b.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};b.bytesToIP=function(e){return e.length===4?b.bytesToIPv4(e):e.length===16?b.bytesToIPv6(e):null};b.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};b.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=b.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};b.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in b&&!e.update)return t(null,b.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return b.cores=navigator.hardwareConcurrency,t(null,b.cores);if(typeof Worker>"u")return b.cores=1,t(null,b.cores);if(typeof Blob>"u")return b.cores=2,t(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 f=Math.floor(s.reduce(function(u,l){return u+l},0)/s.length);return b.cores=Math.max(1,f),URL.revokeObjectURL(r),t(null,b.cores)}i(c,function(u,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],f=[],u=0;u<s;++u){var l=new Worker(r);l.addEventListener("message",function(d){if(f.push(d.data),f.length===s){for(var g=0;g<s;++g)c[g].terminate();a(null,f)}}),c.push(l)}for(var u=0;u<s;++u)c[u].postMessage(u)}function o(s,a){for(var c=[],f=0;f<s;++f)for(var u=a[f],l=c[f]=[],d=0;d<s;++d)if(f!==d){var g=a[d];(u.st>g.st&&u.st<g.et||g.st>u.st&&g.st<u.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var Li=pt((cv,Oc)=>{var Nn=yt();Nn.pki=Nn.pki||{};var Ns=Oc.exports=Nn.pki.oids=Nn.oids=Nn.oids||{};function D(e,t){Ns[e]=t,Ns[t]=e}function lt(e,t){Ns[e]=t}D("1.2.840.113549.1.1.1","rsaEncryption");D("1.2.840.113549.1.1.4","md5WithRSAEncryption");D("1.2.840.113549.1.1.5","sha1WithRSAEncryption");D("1.2.840.113549.1.1.7","RSAES-OAEP");D("1.2.840.113549.1.1.8","mgf1");D("1.2.840.113549.1.1.9","pSpecified");D("1.2.840.113549.1.1.10","RSASSA-PSS");D("1.2.840.113549.1.1.11","sha256WithRSAEncryption");D("1.2.840.113549.1.1.12","sha384WithRSAEncryption");D("1.2.840.113549.1.1.13","sha512WithRSAEncryption");D("1.3.101.112","EdDSA25519");D("1.2.840.10040.4.3","dsa-with-sha1");D("1.3.14.3.2.7","desCBC");D("1.3.14.3.2.26","sha1");D("1.3.14.3.2.29","sha1WithRSASignature");D("2.16.840.1.101.3.4.2.1","sha256");D("2.16.840.1.101.3.4.2.2","sha384");D("2.16.840.1.101.3.4.2.3","sha512");D("2.16.840.1.101.3.4.2.4","sha224");D("2.16.840.1.101.3.4.2.5","sha512-224");D("2.16.840.1.101.3.4.2.6","sha512-256");D("1.2.840.113549.2.2","md2");D("1.2.840.113549.2.5","md5");D("1.2.840.113549.1.7.1","data");D("1.2.840.113549.1.7.2","signedData");D("1.2.840.113549.1.7.3","envelopedData");D("1.2.840.113549.1.7.4","signedAndEnvelopedData");D("1.2.840.113549.1.7.5","digestedData");D("1.2.840.113549.1.7.6","encryptedData");D("1.2.840.113549.1.9.1","emailAddress");D("1.2.840.113549.1.9.2","unstructuredName");D("1.2.840.113549.1.9.3","contentType");D("1.2.840.113549.1.9.4","messageDigest");D("1.2.840.113549.1.9.5","signingTime");D("1.2.840.113549.1.9.6","counterSignature");D("1.2.840.113549.1.9.7","challengePassword");D("1.2.840.113549.1.9.8","unstructuredAddress");D("1.2.840.113549.1.9.14","extensionRequest");D("1.2.840.113549.1.9.20","friendlyName");D("1.2.840.113549.1.9.21","localKeyId");D("1.2.840.113549.1.9.22.1","x509Certificate");D("1.2.840.113549.1.12.10.1.1","keyBag");D("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");D("1.2.840.113549.1.12.10.1.3","certBag");D("1.2.840.113549.1.12.10.1.4","crlBag");D("1.2.840.113549.1.12.10.1.5","secretBag");D("1.2.840.113549.1.12.10.1.6","safeContentsBag");D("1.2.840.113549.1.5.13","pkcs5PBES2");D("1.2.840.113549.1.5.12","pkcs5PBKDF2");D("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");D("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");D("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");D("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");D("1.2.840.113549.2.7","hmacWithSHA1");D("1.2.840.113549.2.8","hmacWithSHA224");D("1.2.840.113549.2.9","hmacWithSHA256");D("1.2.840.113549.2.10","hmacWithSHA384");D("1.2.840.113549.2.11","hmacWithSHA512");D("1.2.840.113549.3.7","des-EDE3-CBC");D("2.16.840.1.101.3.4.1.2","aes128-CBC");D("2.16.840.1.101.3.4.1.22","aes192-CBC");D("2.16.840.1.101.3.4.1.42","aes256-CBC");D("2.5.4.3","commonName");D("2.5.4.4","surname");D("2.5.4.5","serialNumber");D("2.5.4.6","countryName");D("2.5.4.7","localityName");D("2.5.4.8","stateOrProvinceName");D("2.5.4.9","streetAddress");D("2.5.4.10","organizationName");D("2.5.4.11","organizationalUnitName");D("2.5.4.12","title");D("2.5.4.13","description");D("2.5.4.15","businessCategory");D("2.5.4.17","postalCode");D("2.5.4.42","givenName");D("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");D("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");D("2.16.840.1.113730.1.1","nsCertType");D("2.16.840.1.113730.1.13","nsComment");lt("2.5.29.1","authorityKeyIdentifier");lt("2.5.29.2","keyAttributes");lt("2.5.29.3","certificatePolicies");lt("2.5.29.4","keyUsageRestriction");lt("2.5.29.5","policyMapping");lt("2.5.29.6","subtreesConstraint");lt("2.5.29.7","subjectAltName");lt("2.5.29.8","issuerAltName");lt("2.5.29.9","subjectDirectoryAttributes");lt("2.5.29.10","basicConstraints");lt("2.5.29.11","nameConstraints");lt("2.5.29.12","policyConstraints");lt("2.5.29.13","basicConstraints");D("2.5.29.14","subjectKeyIdentifier");D("2.5.29.15","keyUsage");lt("2.5.29.16","privateKeyUsagePeriod");D("2.5.29.17","subjectAltName");D("2.5.29.18","issuerAltName");D("2.5.29.19","basicConstraints");lt("2.5.29.20","cRLNumber");lt("2.5.29.21","cRLReason");lt("2.5.29.22","expirationDate");lt("2.5.29.23","instructionCode");lt("2.5.29.24","invalidityDate");lt("2.5.29.25","cRLDistributionPoints");lt("2.5.29.26","issuingDistributionPoint");lt("2.5.29.27","deltaCRLIndicator");lt("2.5.29.28","issuingDistributionPoint");lt("2.5.29.29","certificateIssuer");lt("2.5.29.30","nameConstraints");D("2.5.29.31","cRLDistributionPoints");D("2.5.29.32","certificatePolicies");lt("2.5.29.33","policyMappings");lt("2.5.29.34","policyConstraints");D("2.5.29.35","authorityKeyIdentifier");lt("2.5.29.36","policyConstraints");D("2.5.29.37","extKeyUsage");lt("2.5.29.46","freshestCRL");lt("2.5.29.54","inhibitAnyPolicy");D("1.3.6.1.4.1.11129.2.4.2","timestampList");D("1.3.6.1.5.5.7.1.1","authorityInfoAccess");D("1.3.6.1.5.5.7.3.1","serverAuth");D("1.3.6.1.5.5.7.3.2","clientAuth");D("1.3.6.1.5.5.7.3.3","codeSigning");D("1.3.6.1.5.5.7.3.4","emailProtection");D("1.3.6.1.5.5.7.3.8","timeStamping")});var Dn=pt((fv,Fc)=>{var vt=yt();Rt();Li();var F=Fc.exports=vt.asn1=vt.asn1||{};F.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};F.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};F.create=function(e,t,r,n,i){if(vt.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:e,type:t,constructed:r,composed:r||vt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=F.copy(a)),a};F.copy=function(e,t){var r;if(vt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(F.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:F.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};F.equals=function(e,t,r){if(vt.util.isArray(e)){if(!vt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!F.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&F.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};F.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Pn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Up=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Pn(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};F.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=vt.util.createBuffer(e));var r=e.length(),n=Ri(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Ri(e,t,r,n){var i;Pn(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Up(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var f=new Error("Too few bytes to read ASN.1 value.");throw f.available=e.length(),f.remaining=t,f.requested=c,f}c=t}var u,l,d=(o&32)===32;if(d)if(u=[],c===void 0)for(;;){if(Pn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),u.push(Ri(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),u.push(Ri(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(u===void 0&&s===F.Class.UNIVERSAL&&a===F.Type.BITSTRING&&(l=e.bytes(c)),u===void 0&&n.decodeBitStrings&&s===F.Class.UNIVERSAL&&a===F.Type.BITSTRING&&c>1){var g=e.read,h=t,p=0;if(a===F.Type.BITSTRING&&(Pn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},x=Ri(e,t,r+1,y),v=i-e.length();t-=v,a==F.Type.BITSTRING&&v++;var m=x.tagClass;v===c&&(m===F.Class.UNIVERSAL||m===F.Class.CONTEXT_SPECIFIC)&&(u=[x])}catch{}u===void 0&&(e.read=g,t=h)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===F.Type.BMPSTRING)for(u="";c>0;c-=2)Pn(e,t,2),u+=String.fromCharCode(e.getInt16()),t-=2;else u=e.getBytes(c),t-=c}var A=l===void 0?null:{bitStringContents:l};return F.create(s,a,d,u,A)}F.toDer=function(e){var t=vt.util.createBuffer(),r=e.tagClass|e.type,n=vt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=F.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(F.toDer(e.value[o]))}else if(e.type===F.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===F.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};F.oidToDer=function(e){var t=e.split("."),r=vt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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};F.derToOid=function(e){var t;typeof e=="string"&&(e=vt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};F.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),f=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),f+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),f&&(c=e.charAt(f),c==="+"||c==="-")){var u=parseInt(e.substr(f+1,2),10),l=parseInt(e.substr(f+4,2),10),d=u*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};F.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,f=0,u=!1;e.charAt(e.length-1)==="Z"&&(u=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var g=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);f=g*60+h,f*=6e4,d==="+"&&(f*=-1),u=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),u?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+f)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};F.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};F.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};F.integerToDer=function(e){var t=vt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};F.derToInteger=function(e){typeof e=="string"&&(e=vt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};F.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&vt.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=F.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Mc=/[^\\u0000-\\u00ff]/;F.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
2
+ "use strict";var Libp2PWebtransport=(()=>{var Ql=Object.create;var ii=Object.defineProperty;var Jl=Object.getOwnPropertyDescriptor;var jl=Object.getOwnPropertyNames;var th=Object.getPrototypeOf,eh=Object.prototype.hasOwnProperty;var pt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pt=(e,t)=>{for(var r in t)ii(e,r,{get:t[r],enumerable:!0})},h0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of jl(t))!eh.call(e,i)&&i!==r&&ii(e,i,{get:()=>t[i],enumerable:!(n=Jl(t,i))||n.enumerable});return e};var Zt=(e,t,r)=>(r=e!=null?Ql(th(e)):{},h0(t||!e||!e.__esModule?ii(r,"default",{value:e,enumerable:!0}):r,e)),rh=e=>h0(ii({},"__esModule",{value:!0}),e);var m0=pt((yx,g0)=>{"use strict";function y0(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function uh(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return y0(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),y0(new i,r)}}g0.exports=uh});var yt=pt((Ev,Kc)=>{Kc.exports={options:{usePureJavaScript:!1}}});var Fc=pt((Sv,Mc)=>{var Ps={};Mc.exports=Ps;var Oc={};Ps.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=qp(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,f=e[i];c<a.length;++c)f+=a[c]<<8,a[c]=f%o,f=f/o|0;for(;f>0;)a.push(f%o),f=f/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var u=new RegExp(".{1,"+r+"}","g");n=n.match(u).join(`\r
3
+ `)}return n};Ps.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Oc[t];if(!r){r=Oc[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,f=a;c<s.length;++c)f+=s[c]*i,s[c]=f&255,f>>=8;for(;f>0;)s.push(f&255),f>>=8}for(var u=0;e[u]===o&&u<e.length-1;++u)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function qp(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Nt=pt((Bv,zc)=>{var Vc=yt(),qc=Fc(),b=zc.exports=Vc.util=Vc.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===e){c.stopPropagation();var f=t.slice();t.length=0,f.forEach(function(u){u()})}};var s=a,e="forge.setImmediate",t=[];b.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(f){f()})}).observe(i,{attributes:!0});var o=b.setImmediate;b.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.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(e){return Object.prototype.toString.call(e)==="[object Array]"};b.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};b.isArrayBufferView=function(e){return e&&b.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Rn(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}b.ByteBuffer=ks;function ks(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(b.isArrayBuffer(e)||b.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof ks||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}b.ByteStringBuffer=ks;var Hp=4096;b.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>Hp&&(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(e){return this.putBytes(String.fromCharCode(e))};b.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};b.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};b.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(b.encodeUtf8(e))};b.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};b.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};b.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};b.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};b.ByteStringBuffer.prototype.putInt=function(e,t){Rn(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};b.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};b.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};b.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};b.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};b.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};b.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};b.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};b.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};b.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};b.ByteStringBuffer.prototype.getInt=function(e){Rn(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};b.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};b.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};b.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};b.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};b.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};b.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};b.ByteStringBuffer.prototype.copy=function(){var e=b.createBuffer(this.data);return e.read=this.read,e};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(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};b.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};b.ByteStringBuffer.prototype.toString=function(){return b.decodeUtf8(this.bytes())};function zp(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=b.isArrayBuffer(e),n=b.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}b.DataBuffer=zp;b.DataBuffer.prototype.length=function(){return this.write-this.read};b.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};b.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};b.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};b.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};b.DataBuffer.prototype.putBytes=function(e,t){if(b.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(b.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof b.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&b.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof b.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=b.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=b.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};b.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};b.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};b.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};b.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};b.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};b.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};b.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};b.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};b.DataBuffer.prototype.putInt=function(e,t){Rn(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};b.DataBuffer.prototype.putSignedInt=function(e,t){return Rn(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};b.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};b.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};b.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};b.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};b.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};b.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};b.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};b.DataBuffer.prototype.getInt=function(e){Rn(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};b.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};b.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};b.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};b.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};b.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),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 e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};b.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};b.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};b.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};b.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return b.binary.raw.encode(t);if(e==="hex")return b.binary.hex.encode(t);if(e==="base64")return b.binary.base64.encode(t);if(e==="utf8")return b.text.utf8.decode(t);if(e==="utf16")return b.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};b.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=b.encodeUtf8(e)),new b.ByteBuffer(e)};b.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};b.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};b.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};b.bytesToHex=function(e){return b.createBuffer(e).toHex()};b.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var cr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fr=[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],Hc="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";b.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=cr.charAt(i>>2),r+=cr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=cr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":cr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
+ `,r=r.substr(t));return n+=r,n};b.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=fr[e.charCodeAt(s++)-43],n=fr[e.charCodeAt(s++)-43],i=fr[e.charCodeAt(s++)-43],o=fr[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};b.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};b.decodeUtf8=function(e){return decodeURIComponent(escape(e))};b.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:qc.encode,decode:qc.decode}};b.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};b.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};b.binary.hex.encode=b.bytesToHex;b.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};b.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=cr.charAt(i>>2),r+=cr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=cr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":cr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
+ `,r=r.substr(t));return n+=r,n};b.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,f=r;c<e.length;)i=fr[e.charCodeAt(c++)-43],o=fr[e.charCodeAt(c++)-43],s=fr[e.charCodeAt(c++)-43],a=fr[e.charCodeAt(c++)-43],n[f++]=i<<2|o>>4,s!==64&&(n[f++]=(o&15)<<4|s>>2,a!==64&&(n[f++]=(s&3)<<6|a));return t?f-r:n.subarray(0,f)};b.binary.base58.encode=function(e,t){return b.binary.baseN.encode(e,Hc,t)};b.binary.base58.decode=function(e,t){return b.binary.baseN.decode(e,Hc,t)};b.text={utf8:{},utf16:{}};b.text.utf8.encode=function(e,t,r){e=b.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};b.text.utf8.decode=function(e){return b.decodeUtf8(String.fromCharCode.apply(null,e))};b.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};b.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};b.deflate=function(e,t,r){if(t=b.decode64(e.deflate(b.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};b.inflate=function(e,t,r){var n=e.inflate(b.encode64(t)).rval;return n===null?null:b.decode64(n)};var Us=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=b.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Ks=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(b.decode64(r))),r},Gp=function(e,t,r,n){var i=Ks(e,t);i===null&&(i={}),i[r]=n,Us(e,t,i)},$p=function(e,t,r){var n=Ks(e,t);return n!==null&&(n=r in n?n[r]:null),n},Wp=function(e,t,r){var n=Ks(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Us(e,t,n)}},Yp=function(e,t){Us(e,t,null)},Pi=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};b.setItem=function(e,t,r,n,i){Pi(Gp,arguments,i)};b.getItem=function(e,t,r,n){return Pi($p,arguments,n)};b.removeItem=function(e,t,r,n){Pi(Wp,arguments,n)};b.clearItems=function(e,t,r){Pi(Yp,arguments,r)};b.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};b.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};b.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",f=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",u=f.length>3?f.length%3:0;return c+(u?f.substr(0,u)+a:"")+f.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-f).toFixed(o).slice(2):"")};b.formatSize=function(e){return e>=1073741824?e=b.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=b.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=b.formatNumber(e/1024,0)+" KiB":e=b.formatNumber(e,0)+" bytes",e};b.bytesFromIP=function(e){return e.indexOf(".")!==-1?b.bytesFromIPv4(e):e.indexOf(":")!==-1?b.bytesFromIPv6(e):null};b.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=b.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};b.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=b.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=b.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};b.bytesToIP=function(e){return e.length===4?b.bytesToIPv4(e):e.length===16?b.bytesToIPv6(e):null};b.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};b.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=b.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};b.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in b&&!e.update)return t(null,b.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return b.cores=navigator.hardwareConcurrency,t(null,b.cores);if(typeof Worker>"u")return b.cores=1,t(null,b.cores);if(typeof Blob>"u")return b.cores=2,t(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 f=Math.floor(s.reduce(function(u,l){return u+l},0)/s.length);return b.cores=Math.max(1,f),URL.revokeObjectURL(r),t(null,b.cores)}i(c,function(u,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],f=[],u=0;u<s;++u){var l=new Worker(r);l.addEventListener("message",function(d){if(f.push(d.data),f.length===s){for(var g=0;g<s;++g)c[g].terminate();a(null,f)}}),c.push(l)}for(var u=0;u<s;++u)c[u].postMessage(u)}function o(s,a){for(var c=[],f=0;f<s;++f)for(var u=a[f],l=c[f]=[],d=0;d<s;++d)if(f!==d){var g=a[d];(u.st>g.st&&u.st<g.et||g.st>u.st&&g.st<u.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var ki=pt((Av,Gc)=>{var Nn=yt();Nn.pki=Nn.pki||{};var Os=Gc.exports=Nn.pki.oids=Nn.oids=Nn.oids||{};function P(e,t){Os[e]=t,Os[t]=e}function lt(e,t){Os[e]=t}P("1.2.840.113549.1.1.1","rsaEncryption");P("1.2.840.113549.1.1.4","md5WithRSAEncryption");P("1.2.840.113549.1.1.5","sha1WithRSAEncryption");P("1.2.840.113549.1.1.7","RSAES-OAEP");P("1.2.840.113549.1.1.8","mgf1");P("1.2.840.113549.1.1.9","pSpecified");P("1.2.840.113549.1.1.10","RSASSA-PSS");P("1.2.840.113549.1.1.11","sha256WithRSAEncryption");P("1.2.840.113549.1.1.12","sha384WithRSAEncryption");P("1.2.840.113549.1.1.13","sha512WithRSAEncryption");P("1.3.101.112","EdDSA25519");P("1.2.840.10040.4.3","dsa-with-sha1");P("1.3.14.3.2.7","desCBC");P("1.3.14.3.2.26","sha1");P("1.3.14.3.2.29","sha1WithRSASignature");P("2.16.840.1.101.3.4.2.1","sha256");P("2.16.840.1.101.3.4.2.2","sha384");P("2.16.840.1.101.3.4.2.3","sha512");P("2.16.840.1.101.3.4.2.4","sha224");P("2.16.840.1.101.3.4.2.5","sha512-224");P("2.16.840.1.101.3.4.2.6","sha512-256");P("1.2.840.113549.2.2","md2");P("1.2.840.113549.2.5","md5");P("1.2.840.113549.1.7.1","data");P("1.2.840.113549.1.7.2","signedData");P("1.2.840.113549.1.7.3","envelopedData");P("1.2.840.113549.1.7.4","signedAndEnvelopedData");P("1.2.840.113549.1.7.5","digestedData");P("1.2.840.113549.1.7.6","encryptedData");P("1.2.840.113549.1.9.1","emailAddress");P("1.2.840.113549.1.9.2","unstructuredName");P("1.2.840.113549.1.9.3","contentType");P("1.2.840.113549.1.9.4","messageDigest");P("1.2.840.113549.1.9.5","signingTime");P("1.2.840.113549.1.9.6","counterSignature");P("1.2.840.113549.1.9.7","challengePassword");P("1.2.840.113549.1.9.8","unstructuredAddress");P("1.2.840.113549.1.9.14","extensionRequest");P("1.2.840.113549.1.9.20","friendlyName");P("1.2.840.113549.1.9.21","localKeyId");P("1.2.840.113549.1.9.22.1","x509Certificate");P("1.2.840.113549.1.12.10.1.1","keyBag");P("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");P("1.2.840.113549.1.12.10.1.3","certBag");P("1.2.840.113549.1.12.10.1.4","crlBag");P("1.2.840.113549.1.12.10.1.5","secretBag");P("1.2.840.113549.1.12.10.1.6","safeContentsBag");P("1.2.840.113549.1.5.13","pkcs5PBES2");P("1.2.840.113549.1.5.12","pkcs5PBKDF2");P("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");P("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");P("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");P("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");P("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");P("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");P("1.2.840.113549.2.7","hmacWithSHA1");P("1.2.840.113549.2.8","hmacWithSHA224");P("1.2.840.113549.2.9","hmacWithSHA256");P("1.2.840.113549.2.10","hmacWithSHA384");P("1.2.840.113549.2.11","hmacWithSHA512");P("1.2.840.113549.3.7","des-EDE3-CBC");P("2.16.840.1.101.3.4.1.2","aes128-CBC");P("2.16.840.1.101.3.4.1.22","aes192-CBC");P("2.16.840.1.101.3.4.1.42","aes256-CBC");P("2.5.4.3","commonName");P("2.5.4.4","surname");P("2.5.4.5","serialNumber");P("2.5.4.6","countryName");P("2.5.4.7","localityName");P("2.5.4.8","stateOrProvinceName");P("2.5.4.9","streetAddress");P("2.5.4.10","organizationName");P("2.5.4.11","organizationalUnitName");P("2.5.4.12","title");P("2.5.4.13","description");P("2.5.4.15","businessCategory");P("2.5.4.17","postalCode");P("2.5.4.42","givenName");P("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");P("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");P("2.16.840.1.113730.1.1","nsCertType");P("2.16.840.1.113730.1.13","nsComment");lt("2.5.29.1","authorityKeyIdentifier");lt("2.5.29.2","keyAttributes");lt("2.5.29.3","certificatePolicies");lt("2.5.29.4","keyUsageRestriction");lt("2.5.29.5","policyMapping");lt("2.5.29.6","subtreesConstraint");lt("2.5.29.7","subjectAltName");lt("2.5.29.8","issuerAltName");lt("2.5.29.9","subjectDirectoryAttributes");lt("2.5.29.10","basicConstraints");lt("2.5.29.11","nameConstraints");lt("2.5.29.12","policyConstraints");lt("2.5.29.13","basicConstraints");P("2.5.29.14","subjectKeyIdentifier");P("2.5.29.15","keyUsage");lt("2.5.29.16","privateKeyUsagePeriod");P("2.5.29.17","subjectAltName");P("2.5.29.18","issuerAltName");P("2.5.29.19","basicConstraints");lt("2.5.29.20","cRLNumber");lt("2.5.29.21","cRLReason");lt("2.5.29.22","expirationDate");lt("2.5.29.23","instructionCode");lt("2.5.29.24","invalidityDate");lt("2.5.29.25","cRLDistributionPoints");lt("2.5.29.26","issuingDistributionPoint");lt("2.5.29.27","deltaCRLIndicator");lt("2.5.29.28","issuingDistributionPoint");lt("2.5.29.29","certificateIssuer");lt("2.5.29.30","nameConstraints");P("2.5.29.31","cRLDistributionPoints");P("2.5.29.32","certificatePolicies");lt("2.5.29.33","policyMappings");lt("2.5.29.34","policyConstraints");P("2.5.29.35","authorityKeyIdentifier");lt("2.5.29.36","policyConstraints");P("2.5.29.37","extKeyUsage");lt("2.5.29.46","freshestCRL");lt("2.5.29.54","inhibitAnyPolicy");P("1.3.6.1.4.1.11129.2.4.2","timestampList");P("1.3.6.1.5.5.7.1.1","authorityInfoAccess");P("1.3.6.1.5.5.7.3.1","serverAuth");P("1.3.6.1.5.5.7.3.2","clientAuth");P("1.3.6.1.5.5.7.3.3","codeSigning");P("1.3.6.1.5.5.7.3.4","emailProtection");P("1.3.6.1.5.5.7.3.8","timeStamping")});var Pn=pt((Cv,Wc)=>{var Et=yt();Nt();ki();var F=Wc.exports=Et.asn1=Et.asn1||{};F.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};F.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};F.create=function(e,t,r,n,i){if(Et.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:e,type:t,constructed:r,composed:r||Et.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=F.copy(a)),a};F.copy=function(e,t){var r;if(Et.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(F.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:F.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};F.equals=function(e,t,r){if(Et.util.isArray(e)){if(!Et.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!F.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&F.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};F.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Dn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var Zp=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Dn(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};F.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.length(),n=Ui(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Ui(e,t,r,n){var i;Dn(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Zp(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var f=new Error("Too few bytes to read ASN.1 value.");throw f.available=e.length(),f.remaining=t,f.requested=c,f}c=t}var u,l,d=(o&32)===32;if(d)if(u=[],c===void 0)for(;;){if(Dn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),u.push(Ui(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),u.push(Ui(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(u===void 0&&s===F.Class.UNIVERSAL&&a===F.Type.BITSTRING&&(l=e.bytes(c)),u===void 0&&n.decodeBitStrings&&s===F.Class.UNIVERSAL&&a===F.Type.BITSTRING&&c>1){var g=e.read,h=t,p=0;if(a===F.Type.BITSTRING&&(Dn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},m=Ui(e,t,r+1,y),v=i-e.length();t-=v,a==F.Type.BITSTRING&&v++;var x=m.tagClass;v===c&&(x===F.Class.UNIVERSAL||x===F.Class.CONTEXT_SPECIFIC)&&(u=[m])}catch{}u===void 0&&(e.read=g,t=h)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===F.Type.BMPSTRING)for(u="";c>0;c-=2)Dn(e,t,2),u+=String.fromCharCode(e.getInt16()),t-=2;else u=e.getBytes(c),t-=c}var A=l===void 0?null:{bitStringContents:l};return F.create(s,a,d,u,A)}F.toDer=function(e){var t=Et.util.createBuffer(),r=e.tagClass|e.type,n=Et.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=F.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(F.toDer(e.value[o]))}else if(e.type===F.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===F.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};F.oidToDer=function(e){var t=e.split("."),r=Et.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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};F.derToOid=function(e){var t;typeof e=="string"&&(e=Et.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};F.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),f=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),f+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),f&&(c=e.charAt(f),c==="+"||c==="-")){var u=parseInt(e.substr(f+1,2),10),l=parseInt(e.substr(f+4,2),10),d=u*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};F.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,f=0,u=!1;e.charAt(e.length-1)==="Z"&&(u=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var g=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);f=g*60+h,f*=6e4,d==="+"&&(f*=-1),u=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),u?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+f)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};F.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};F.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};F.integerToDer=function(e){var t=Et.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};F.derToInteger=function(e){typeof e=="string"&&(e=Et.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};F.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Et.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=F.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var $c=/[^\\u0000-\\u00ff]/;F.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
6
6
  `);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case F.Class.UNIVERSAL:n+="Universal:";break;case F.Class.APPLICATION:n+="Application:";break;case F.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case F.Class.PRIVATE:n+="Private:";break}if(e.tagClass===F.Class.UNIVERSAL)switch(n+=e.type,e.type){case F.Type.NONE:n+=" (None)";break;case F.Type.BOOLEAN:n+=" (Boolean)";break;case F.Type.INTEGER:n+=" (Integer)";break;case F.Type.BITSTRING:n+=" (Bit string)";break;case F.Type.OCTETSTRING:n+=" (Octet string)";break;case F.Type.NULL:n+=" (Null)";break;case F.Type.OID:n+=" (Object Identifier)";break;case F.Type.ODESC:n+=" (Object Descriptor)";break;case F.Type.EXTERNAL:n+=" (External or Instance of)";break;case F.Type.REAL:n+=" (Real)";break;case F.Type.ENUMERATED:n+=" (Enumerated)";break;case F.Type.EMBEDDED:n+=" (Embedded PDV)";break;case F.Type.UTF8:n+=" (UTF8)";break;case F.Type.ROID:n+=" (Relative Object Identifier)";break;case F.Type.SEQUENCE:n+=" (Sequence)";break;case F.Type.SET:n+=" (Set)";break;case F.Type.PRINTABLESTRING:n+=" (Printable String)";break;case F.Type.IA5String:n+=" (IA5String (ASCII))";break;case F.Type.UTCTIME:n+=" (UTC time)";break;case F.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case F.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+e.constructed+`
8
- `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=F.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===F.Type.OID){var c=F.derToOid(e.value);n+=c,vt.pki&&vt.pki.oids&&c in vt.pki.oids&&(n+=" ("+vt.pki.oids[c]+") ")}if(e.type===F.Type.INTEGER)try{n+=F.derToInteger(e.value)}catch{n+="0x"+vt.util.bytesToHex(e.value)}else if(e.type===F.Type.BITSTRING){if(e.value.length>1?n+="0x"+vt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var f=e.value.charCodeAt(0);f==1?n+=" (1 unused bit shown)":f>1&&(n+=" ("+f+" unused bits shown)")}}else if(e.type===F.Type.OCTETSTRING)Mc.test(e.value)||(n+="("+e.value+") "),n+="0x"+vt.util.bytesToHex(e.value);else if(e.type===F.Type.UTF8)try{n+=vt.util.decodeUtf8(e.value)}catch(u){if(u.message==="URI malformed")n+="0x"+vt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw u}else e.type===F.Type.PRINTABLESTRING||e.type===F.Type.IA5String?n+=e.value:Mc.test(e.value)?n+="0x"+vt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var Ds=pt((uv,Vc)=>{var Kt=yt();Rt();Vc.exports=Kt.cipher=Kt.cipher||{};Kt.cipher.algorithms=Kt.cipher.algorithms||{};Kt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Kt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Kt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Kt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Kt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Kt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Kt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Kt.cipher.algorithms[e]=t};Kt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Kt.cipher.algorithms?Kt.cipher.algorithms[e]:null};var Ps=Kt.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Ps.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Kt.util.createBuffer(),this.output=e.output||Kt.util.createBuffer(),this.mode.start(t)};Ps.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Ps.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Us=pt((lv,qc)=>{var Ot=yt();Rt();Ot.cipher=Ot.cipher||{};var ot=qc.exports=Ot.cipher.modes=Ot.cipher.modes||{};ot.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};ot.ecb.prototype.start=function(e){};ot.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};ot.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};ot.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ot.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};ot.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};ot.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Ni(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};ot.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};ot.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};ot.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ot.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};ot.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};ot.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ni(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ot.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var 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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ot.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var 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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ot.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};ot.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ni(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ot.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var 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(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};ot.ofb.prototype.decrypt=ot.ofb.prototype.encrypt;ot.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};ot.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ni(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ot.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var 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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Pi(this._inBlock)};ot.ctr.prototype.decrypt=ot.ctr.prototype.encrypt;ot.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};ot.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(ks(n*8)))}this._inBlock=this._j0.slice(0),Pi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=ks(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()])};ot.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var 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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Pi(this._inBlock)};ot.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Pi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};ot.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(ks(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};ot.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};ot.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};ot.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};ot.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};ot.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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,f=(n-1-s%n)*t;a[c]=1<<t-1<<f,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};ot.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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 f=i[o^n];i[o]=[e[0]^f[0],e[1]^f[1],e[2]^f[2],e[3]^f[3]]}return i};function Ni(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Pi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function ks(e){return[e/4294967296|0,e&4294967295]}});var Fs=pt((hv,$c)=>{var xt=yt();Ds();Us();Rt();$c.exports=xt.aes=xt.aes||{};xt.aes.startEncrypting=function(e,t,r,n){var i=Di({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};xt.aes.createEncryptionCipher=function(e,t){return Di({key:e,output:null,decrypt:!1,mode:t})};xt.aes.startDecrypting=function(e,t,r,n){var i=Di({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};xt.aes.createDecryptionCipher=function(e,t){return Di({key:e,output:null,decrypt:!0,mode:t})};xt.aes.Algorithm=function(e,t){Ms||zc();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Os(r._w,n,i,!1)},decrypt:function(n,i){return Os(r._w,n,i,!0)}}}),r._init=!1};xt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=xt.util.createBuffer(t);else if(xt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=xt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!xt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!xt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Gc(t,e.decrypt&&!s),this._init=!0}};xt.aes._expandKey=function(e,t){return Ms||zc(),Gc(e,t)};xt.aes._updateBlock=Os;Jr("AES-ECB",xt.cipher.modes.ecb);Jr("AES-CBC",xt.cipher.modes.cbc);Jr("AES-CFB",xt.cipher.modes.cfb);Jr("AES-OFB",xt.cipher.modes.ofb);Jr("AES-CTR",xt.cipher.modes.ctr);Jr("AES-GCM",xt.cipher.modes.gcm);function Jr(e,t){var r=function(){return new xt.aes.Algorithm(e,t)};xt.cipher.registerAlgorithm(e,r)}var Ms=!1,Qr=4,Xt,Ks,Hc,wr,ve;function zc(){Ms=!0,Hc=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;Xt=new Array(256),Ks=new Array(256),wr=new Array(4),ve=new Array(4);for(var t=0;t<4;++t)wr[t]=new Array(256),ve[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,f,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Xt[r]=a,Ks[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],f=c<<24^a<<16^a<<8^(a^c),u=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)wr[l][r]=f,ve[l][a]=u,f=f<<24|f>>>8,u=u<<24|u>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function Gc(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Qr*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Xt[n>>>16&255]<<24^Xt[n>>>8&255]<<16^Xt[n&255]<<8^Xt[n>>>24]^Hc[i]<<24,i++):o>6&&c%o===4&&(n=Xt[n>>>24]<<24^Xt[n>>>16&255]<<16^Xt[n>>>8&255]<<8^Xt[n&255]),r[c]=r[c-o]^n;if(t){var f,u=ve[0],l=ve[1],d=ve[2],g=ve[3],h=r.slice(0);a=r.length;for(var c=0,p=a-Qr;c<a;c+=Qr,p-=Qr)if(c===0||c===a-Qr)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var y=0;y<Qr;++y)f=r[p+y],h[c+(3&-y)]=u[Xt[f>>>24]]^l[Xt[f>>>16&255]]^d[Xt[f>>>8&255]]^g[Xt[f&255]];r=h}return r}function Os(e,t,r,n){var i=e.length/4-1,o,s,a,c,f;n?(o=ve[0],s=ve[1],a=ve[2],c=ve[3],f=Ks):(o=wr[0],s=wr[1],a=wr[2],c=wr[3],f=Xt);var u,l,d,g,h,p,y;u=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],g=t[n?1:3]^e[3];for(var x=3,v=1;v<i;++v)h=o[u>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[g&255]^e[++x],p=o[l>>>24]^s[d>>>16&255]^a[g>>>8&255]^c[u&255]^e[++x],y=o[d>>>24]^s[g>>>16&255]^a[u>>>8&255]^c[l&255]^e[++x],g=o[g>>>24]^s[u>>>16&255]^a[l>>>8&255]^c[d&255]^e[++x],u=h,l=p,d=y;r[0]=f[u>>>24]<<24^f[l>>>16&255]<<16^f[d>>>8&255]<<8^f[g&255]^e[++x],r[n?3:1]=f[l>>>24]<<24^f[d>>>16&255]<<16^f[g>>>8&255]<<8^f[u&255]^e[++x],r[2]=f[d>>>24]<<24^f[g>>>16&255]<<16^f[u>>>8&255]<<8^f[l&255]^e[++x],r[n?1:3]=f[g>>>24]<<24^f[u>>>16&255]<<16^f[l>>>8&255]<<8^f[d&255]^e[++x]}function Di(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=xt.cipher.createDecipher(r,e.key):n=xt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof xt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Zc=pt((dv,Yc)=>{var St=yt();Ds();Us();Rt();Yc.exports=St.des=St.des||{};St.des.startEncrypting=function(e,t,r,n){var i=ki({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createEncryptionCipher=function(e,t){return ki({key:e,output:null,decrypt:!1,mode:t})};St.des.startDecrypting=function(e,t,r,n){var i=ki({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};St.des.createDecryptionCipher=function(e,t){return ki({key:e,output:null,decrypt:!0,mode:t})};St.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Wc(r._keys,n,i,!1)},decrypt:function(n,i){return Wc(r._keys,n,i,!0)}}}),r._init=!1};St.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=St.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Gp(t),this._init=!0}};Ce("DES-ECB",St.cipher.modes.ecb);Ce("DES-CBC",St.cipher.modes.cbc);Ce("DES-CFB",St.cipher.modes.cfb);Ce("DES-OFB",St.cipher.modes.ofb);Ce("DES-CTR",St.cipher.modes.ctr);Ce("3DES-ECB",St.cipher.modes.ecb);Ce("3DES-CBC",St.cipher.modes.cbc);Ce("3DES-CFB",St.cipher.modes.cfb);Ce("3DES-OFB",St.cipher.modes.ofb);Ce("3DES-CTR",St.cipher.modes.ctr);function Ce(e,t){var r=function(){return new St.des.Algorithm(e,t)};St.cipher.registerAlgorithm(e,r)}var Kp=[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],Op=[-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],Mp=[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],Fp=[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],Vp=[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],qp=[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],Hp=[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],zp=[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 Gp(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],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],f=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],g=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,y=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,m,A=0;A<p;A++){var S=e.getInt32(),B=e.getInt32();m=(S>>>4^B)&252645135,B^=m,S^=m<<4,m=(B>>>-16^S)&65535,S^=m,B^=m<<-16,m=(S>>>2^B)&858993459,B^=m,S^=m<<2,m=(B>>>-16^S)&65535,S^=m,B^=m<<-16,m=(S>>>1^B)&1431655765,B^=m,S^=m<<1,m=(B>>>8^S)&16711935,S^=m,B^=m<<8,m=(S>>>1^B)&1431655765,B^=m,S^=m<<1,m=S<<8|B>>>20&240,S=B<<24|B<<8&16711680|B>>>8&65280|B>>>24&240,B=m;for(var R=0;R<x.length;++R){x[R]?(S=S<<2|S>>>26,B=B<<2|B>>>26):(S=S<<1|S>>>27,B=B<<1|B>>>27),S&=-15,B&=-15;var _=t[S>>>28]|r[S>>>24&15]|n[S>>>20&15]|i[S>>>16&15]|o[S>>>12&15]|s[S>>>8&15]|a[S>>>4&15],O=c[B>>>28]|f[B>>>24&15]|u[B>>>20&15]|l[B>>>16&15]|d[B>>>12&15]|g[B>>>8&15]|h[B>>>4&15];m=(O>>>16^_)&65535,y[v++]=_^m,y[v++]=O^m<<16}}return y}function Wc(e,t,r,n){var i=e.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=t[0],c=t[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 f=0;f<i;f+=3){for(var u=o[f+1],l=o[f+2],d=o[f];d!=u;d+=l){var g=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(Op[g>>>24&63]|Fp[g>>>16&63]|qp[g>>>8&63]|zp[g&63]|Kp[h>>>24&63]|Mp[h>>>16&63]|Vp[h>>>8&63]|Hp[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ki(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=St.cipher.createDecipher(r,e.key):n=St.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof St.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Er=pt((pv,Xc)=>{var Ui=yt();Xc.exports=Ui.md=Ui.md||{};Ui.md.algorithms=Ui.md.algorithms||{}});var Jc=pt((yv,Qc)=>{var Ge=yt();Er();Rt();var $p=Qc.exports=Ge.hmac=Ge.hmac||{};$p.create=function(){var e=null,t=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 Ge.md.algorithms)t=Ge.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=Ge.util.createBuffer(s);else if(Ge.util.isArray(s)){var a=s;s=Ge.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var f=s.length();f>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=Ge.util.createBuffer(),n=Ge.util.createBuffer(),f=s.length();for(var c=0;c<f;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(f<t.blockLength)for(var a=t.blockLength-f,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var Ki=pt(()=>{});var tf=pt((mv,jc)=>{var Qt=yt();Jc();Er();Rt();var Wp=Qt.pkcs5=Qt.pkcs5||{},$e;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&($e=Ki());jc.exports=Qt.pbkdf2=Wp.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&$e.pbkdf2&&(i===null||typeof i!="object")&&($e.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?$e.pbkdf2Sync.length===4?$e.pbkdf2(e,t,r,n,function(m,A){if(m)return o(m);o(null,A.toString("binary"))}):$e.pbkdf2(e,t,r,n,i,function(m,A){if(m)return o(m);o(null,A.toString("binary"))}):$e.pbkdf2Sync.length===4?$e.pbkdf2Sync(e,t,r,n).toString("binary"):$e.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Qt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Qt.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),f=n-(c-1)*s,u=Qt.hmac.create();u.start(i,e);var l="",d,g,h;if(!o){for(var p=1;p<=c;++p){u.start(null,null),u.update(t),u.update(Qt.util.int32ToBytes(p)),d=h=u.digest().getBytes();for(var y=2;y<=r;++y)u.start(null,null),u.update(h),g=u.digest().getBytes(),d=Qt.util.xorBytes(d,g,s),h=g;l+=p<c?d:d.substr(0,f)}return l}var p=1,y;function x(){if(p>c)return o(null,l);u.start(null,null),u.update(t),u.update(Qt.util.int32ToBytes(p)),d=h=u.digest().getBytes(),y=2,v()}function v(){if(y<=r)return u.start(null,null),u.update(h),g=u.digest().getBytes(),d=Qt.util.xorBytes(d,g,s),h=g,++y,Qt.util.setImmediate(v);l+=p<c?d:d.substr(0,f),++p,x()}x()}});var nf=pt((bv,rf)=>{var Mi=yt();Rt();var ef=rf.exports=Mi.pem=Mi.pem||{};ef.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
9
- `,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Oi(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Oi(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Oi(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Oi(e.headers[i]);return e.procType&&(r+=`\r
10
- `),r+=Mi.util.encode64(e.body,t.maxline||64)+`\r
8
+ `,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=F.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===F.Type.OID){var c=F.derToOid(e.value);n+=c,Et.pki&&Et.pki.oids&&c in Et.pki.oids&&(n+=" ("+Et.pki.oids[c]+") ")}if(e.type===F.Type.INTEGER)try{n+=F.derToInteger(e.value)}catch{n+="0x"+Et.util.bytesToHex(e.value)}else if(e.type===F.Type.BITSTRING){if(e.value.length>1?n+="0x"+Et.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var f=e.value.charCodeAt(0);f==1?n+=" (1 unused bit shown)":f>1&&(n+=" ("+f+" unused bits shown)")}}else if(e.type===F.Type.OCTETSTRING)$c.test(e.value)||(n+="("+e.value+") "),n+="0x"+Et.util.bytesToHex(e.value);else if(e.type===F.Type.UTF8)try{n+=Et.util.decodeUtf8(e.value)}catch(u){if(u.message==="URI malformed")n+="0x"+Et.util.bytesToHex(e.value)+" (malformed UTF8)";else throw u}else e.type===F.Type.PRINTABLESTRING||e.type===F.Type.IA5String?n+=e.value:$c.test(e.value)?n+="0x"+Et.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var Fs=pt((Iv,Yc)=>{var Ot=yt();Nt();Yc.exports=Ot.cipher=Ot.cipher||{};Ot.cipher.algorithms=Ot.cipher.algorithms||{};Ot.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ot.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ot.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ot.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ot.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ot.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ot.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ot.cipher.algorithms[e]=t};Ot.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ot.cipher.algorithms?Ot.cipher.algorithms[e]:null};var Ms=Ot.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Ms.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ot.util.createBuffer(),this.output=e.output||Ot.util.createBuffer(),this.mode.start(t)};Ms.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Ms.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var qs=pt((Tv,Zc)=>{var Mt=yt();Nt();Mt.cipher=Mt.cipher||{};var it=Zc.exports=Mt.cipher.modes=Mt.cipher.modes||{};it.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};it.ecb.prototype.start=function(e){};it.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};it.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};it.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};it.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};it.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};it.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Ki(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};it.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};it.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};it.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};it.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};it.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Mt.util.createBuffer(),this._partialBytes=0};it.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};it.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var 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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};it.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var 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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};it.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Mt.util.createBuffer(),this._partialBytes=0};it.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};it.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var 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(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};it.ofb.prototype.decrypt=it.ofb.prototype.encrypt;it.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Mt.util.createBuffer(),this._partialBytes=0};it.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Ki(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};it.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var 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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Oi(this._inBlock)};it.ctr.prototype.decrypt=it.ctr.prototype.encrypt;it.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Mt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};it.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Mt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Mt.util.createBuffer(e.additionalData):r=Mt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Mt.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Vs(n*8)))}this._inBlock=this._j0.slice(0),Oi(this._inBlock),this._partialBytes=0,r=Mt.util.createBuffer(r),this._aDataLength=Vs(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()])};it.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var 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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Oi(this._inBlock)};it.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Oi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};it.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Mt.util.createBuffer();var n=this._aDataLength.concat(Vs(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};it.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};it.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};it.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};it.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};it.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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,f=(n-1-s%n)*t;a[c]=1<<t-1<<f,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};it.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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 f=i[o^n];i[o]=[e[0]^f[0],e[1]^f[1],e[2]^f[2],e[3]^f[3]]}return i};function Ki(e,t){if(typeof e=="string"&&(e=Mt.util.createBuffer(e)),Mt.util.isArray(e)&&e.length>4){var r=e;e=Mt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Mt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Oi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Vs(e){return[e/4294967296|0,e&4294967295]}});var $s=pt((_v,jc)=>{var xt=yt();Fs();qs();Nt();jc.exports=xt.aes=xt.aes||{};xt.aes.startEncrypting=function(e,t,r,n){var i=Mi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};xt.aes.createEncryptionCipher=function(e,t){return Mi({key:e,output:null,decrypt:!1,mode:t})};xt.aes.startDecrypting=function(e,t,r,n){var i=Mi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};xt.aes.createDecryptionCipher=function(e,t){return Mi({key:e,output:null,decrypt:!0,mode:t})};xt.aes.Algorithm=function(e,t){Gs||Qc();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return zs(r._w,n,i,!1)},decrypt:function(n,i){return zs(r._w,n,i,!0)}}}),r._init=!1};xt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=xt.util.createBuffer(t);else if(xt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=xt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!xt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!xt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Jc(t,e.decrypt&&!s),this._init=!0}};xt.aes._expandKey=function(e,t){return Gs||Qc(),Jc(e,t)};xt.aes._updateBlock=zs;Jr("AES-ECB",xt.cipher.modes.ecb);Jr("AES-CBC",xt.cipher.modes.cbc);Jr("AES-CFB",xt.cipher.modes.cfb);Jr("AES-OFB",xt.cipher.modes.ofb);Jr("AES-CTR",xt.cipher.modes.ctr);Jr("AES-GCM",xt.cipher.modes.gcm);function Jr(e,t){var r=function(){return new xt.aes.Algorithm(e,t)};xt.cipher.registerAlgorithm(e,r)}var Gs=!1,Qr=4,Xt,Hs,Xc,wr,Be;function Qc(){Gs=!0,Xc=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;Xt=new Array(256),Hs=new Array(256),wr=new Array(4),Be=new Array(4);for(var t=0;t<4;++t)wr[t]=new Array(256),Be[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,f,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Xt[r]=a,Hs[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],f=c<<24^a<<16^a<<8^(a^c),u=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)wr[l][r]=f,Be[l][a]=u,f=f<<24|f>>>8,u=u<<24|u>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function Jc(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Qr*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Xt[n>>>16&255]<<24^Xt[n>>>8&255]<<16^Xt[n&255]<<8^Xt[n>>>24]^Xc[i]<<24,i++):o>6&&c%o===4&&(n=Xt[n>>>24]<<24^Xt[n>>>16&255]<<16^Xt[n>>>8&255]<<8^Xt[n&255]),r[c]=r[c-o]^n;if(t){var f,u=Be[0],l=Be[1],d=Be[2],g=Be[3],h=r.slice(0);a=r.length;for(var c=0,p=a-Qr;c<a;c+=Qr,p-=Qr)if(c===0||c===a-Qr)h[c]=r[p],h[c+1]=r[p+3],h[c+2]=r[p+2],h[c+3]=r[p+1];else for(var y=0;y<Qr;++y)f=r[p+y],h[c+(3&-y)]=u[Xt[f>>>24]]^l[Xt[f>>>16&255]]^d[Xt[f>>>8&255]]^g[Xt[f&255]];r=h}return r}function zs(e,t,r,n){var i=e.length/4-1,o,s,a,c,f;n?(o=Be[0],s=Be[1],a=Be[2],c=Be[3],f=Hs):(o=wr[0],s=wr[1],a=wr[2],c=wr[3],f=Xt);var u,l,d,g,h,p,y;u=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],g=t[n?1:3]^e[3];for(var m=3,v=1;v<i;++v)h=o[u>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[g&255]^e[++m],p=o[l>>>24]^s[d>>>16&255]^a[g>>>8&255]^c[u&255]^e[++m],y=o[d>>>24]^s[g>>>16&255]^a[u>>>8&255]^c[l&255]^e[++m],g=o[g>>>24]^s[u>>>16&255]^a[l>>>8&255]^c[d&255]^e[++m],u=h,l=p,d=y;r[0]=f[u>>>24]<<24^f[l>>>16&255]<<16^f[d>>>8&255]<<8^f[g&255]^e[++m],r[n?3:1]=f[l>>>24]<<24^f[d>>>16&255]<<16^f[g>>>8&255]<<8^f[u&255]^e[++m],r[2]=f[d>>>24]<<24^f[g>>>16&255]<<16^f[u>>>8&255]<<8^f[l&255]^e[++m],r[n?1:3]=f[g>>>24]<<24^f[u>>>16&255]<<16^f[l>>>8&255]<<8^f[d&255]^e[++m]}function Mi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=xt.cipher.createDecipher(r,e.key):n=xt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof xt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var rf=pt((Lv,ef)=>{var At=yt();Fs();qs();Nt();ef.exports=At.des=At.des||{};At.des.startEncrypting=function(e,t,r,n){var i=Fi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};At.des.createEncryptionCipher=function(e,t){return Fi({key:e,output:null,decrypt:!1,mode:t})};At.des.startDecrypting=function(e,t,r,n){var i=Fi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};At.des.createDecryptionCipher=function(e,t){return Fi({key:e,output:null,decrypt:!0,mode:t})};At.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return tf(r._keys,n,i,!1)},decrypt:function(n,i){return tf(r._keys,n,i,!0)}}}),r._init=!1};At.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=At.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=iy(t),this._init=!0}};Te("DES-ECB",At.cipher.modes.ecb);Te("DES-CBC",At.cipher.modes.cbc);Te("DES-CFB",At.cipher.modes.cfb);Te("DES-OFB",At.cipher.modes.ofb);Te("DES-CTR",At.cipher.modes.ctr);Te("3DES-ECB",At.cipher.modes.ecb);Te("3DES-CBC",At.cipher.modes.cbc);Te("3DES-CFB",At.cipher.modes.cfb);Te("3DES-OFB",At.cipher.modes.ofb);Te("3DES-CTR",At.cipher.modes.ctr);function Te(e,t){var r=function(){return new At.des.Algorithm(e,t)};At.cipher.registerAlgorithm(e,r)}var Xp=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],Qp=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],Jp=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],jp=[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],ty=[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],ey=[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],ry=[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],ny=[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 iy(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],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],f=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],g=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,y=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,x,A=0;A<p;A++){var S=e.getInt32(),B=e.getInt32();x=(S>>>4^B)&252645135,B^=x,S^=x<<4,x=(B>>>-16^S)&65535,S^=x,B^=x<<-16,x=(S>>>2^B)&858993459,B^=x,S^=x<<2,x=(B>>>-16^S)&65535,S^=x,B^=x<<-16,x=(S>>>1^B)&1431655765,B^=x,S^=x<<1,x=(B>>>8^S)&16711935,S^=x,B^=x<<8,x=(S>>>1^B)&1431655765,B^=x,S^=x<<1,x=S<<8|B>>>20&240,S=B<<24|B<<8&16711680|B>>>8&65280|B>>>24&240,B=x;for(var R=0;R<m.length;++R){m[R]?(S=S<<2|S>>>26,B=B<<2|B>>>26):(S=S<<1|S>>>27,B=B<<1|B>>>27),S&=-15,B&=-15;var _=t[S>>>28]|r[S>>>24&15]|n[S>>>20&15]|i[S>>>16&15]|o[S>>>12&15]|s[S>>>8&15]|a[S>>>4&15],O=c[B>>>28]|f[B>>>24&15]|u[B>>>20&15]|l[B>>>16&15]|d[B>>>12&15]|g[B>>>8&15]|h[B>>>4&15];x=(O>>>16^_)&65535,y[v++]=_^x,y[v++]=O^x<<16}}return y}function tf(e,t,r,n){var i=e.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=t[0],c=t[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 f=0;f<i;f+=3){for(var u=o[f+1],l=o[f+2],d=o[f];d!=u;d+=l){var g=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(Qp[g>>>24&63]|jp[g>>>16&63]|ey[g>>>8&63]|ny[g&63]|Xp[h>>>24&63]|Jp[h>>>16&63]|ty[h>>>8&63]|ry[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function Fi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=At.cipher.createDecipher(r,e.key):n=At.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof At.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Er=pt((Rv,nf)=>{var Vi=yt();nf.exports=Vi.md=Vi.md||{};Vi.md.algorithms=Vi.md.algorithms||{}});var sf=pt((Nv,of)=>{var We=yt();Er();Nt();var oy=of.exports=We.hmac=We.hmac||{};oy.create=function(){var e=null,t=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 We.md.algorithms)t=We.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=We.util.createBuffer(s);else if(We.util.isArray(s)){var a=s;s=We.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var f=s.length();f>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=We.util.createBuffer(),n=We.util.createBuffer(),f=s.length();for(var c=0;c<f;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(f<t.blockLength)for(var a=t.blockLength-f,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var qi=pt(()=>{});var cf=pt((kv,af)=>{var Qt=yt();sf();Er();Nt();var sy=Qt.pkcs5=Qt.pkcs5||{},Ye;Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&(Ye=qi());af.exports=Qt.pbkdf2=sy.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Qt.util.isNodejs&&!Qt.options.usePureJavaScript&&Ye.pbkdf2&&(i===null||typeof i!="object")&&(Ye.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?Ye.pbkdf2Sync.length===4?Ye.pbkdf2(e,t,r,n,function(x,A){if(x)return o(x);o(null,A.toString("binary"))}):Ye.pbkdf2(e,t,r,n,i,function(x,A){if(x)return o(x);o(null,A.toString("binary"))}):Ye.pbkdf2Sync.length===4?Ye.pbkdf2Sync(e,t,r,n).toString("binary"):Ye.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Qt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Qt.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),f=n-(c-1)*s,u=Qt.hmac.create();u.start(i,e);var l="",d,g,h;if(!o){for(var p=1;p<=c;++p){u.start(null,null),u.update(t),u.update(Qt.util.int32ToBytes(p)),d=h=u.digest().getBytes();for(var y=2;y<=r;++y)u.start(null,null),u.update(h),g=u.digest().getBytes(),d=Qt.util.xorBytes(d,g,s),h=g;l+=p<c?d:d.substr(0,f)}return l}var p=1,y;function m(){if(p>c)return o(null,l);u.start(null,null),u.update(t),u.update(Qt.util.int32ToBytes(p)),d=h=u.digest().getBytes(),y=2,v()}function v(){if(y<=r)return u.start(null,null),u.update(h),g=u.digest().getBytes(),d=Qt.util.xorBytes(d,g,s),h=g,++y,Qt.util.setImmediate(v);l+=p<c?d:d.substr(0,f),++p,m()}m()}});var lf=pt((Uv,uf)=>{var zi=yt();Nt();var ff=uf.exports=zi.pem=zi.pem||{};ff.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
9
+ `,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Hi(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Hi(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Hi(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Hi(e.headers[i]);return e.procType&&(r+=`\r
10
+ `),r+=zi.util.encode64(e.body,t.maxline||64)+`\r
11
11
  `,r+="-----END "+e.type+`-----\r
12
- `,r};ef.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Mi.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),f=0;o&&f<c.length;){for(var u=c[f].replace(/\s+$/,""),l=f+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;u+=d,f=l}if(o=u.match(n),o){for(var g={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)g.values.push(Yp(h[p]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++f}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Oi(e){for(var t=e.name+": ",r=[],n=function(c,f){return" "+f},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
12
+ `,r};ff.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:zi.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),f=0;o&&f<c.length;){for(var u=c[f].replace(/\s+$/,""),l=f+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;u+=d,f=l}if(o=u.match(n),o){for(var g={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)g.values.push(ay(h[p]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++f}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Hi(e){for(var t=e.name+": ",r=[],n=function(c,f){return" "+f},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
13
  `;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
14
14
  `+t.substr(s)):t=t.substr(0,s)+`\r
15
- `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function Yp(e){return e.replace(/^\s+/,"")}});var uf=pt((vv,ff)=>{var Ie=yt();Er();Rt();var sf=ff.exports=Ie.sha256=Ie.sha256||{};Ie.md.sha256=Ie.md.algorithms.sha256=sf;sf.create=function(){af||Zp();var e=null,t=Ie.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 t=Ie.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ie.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 t.putBytes(i),of(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ie.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Vs.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};of(l,r,i);var d=Ie.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Vs=null,af=!1,cf=null;function Zp(){Vs="\x80",Vs+=Ie.util.fillString("\0",64),cf=[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],af=!0}function of(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v=r.length();v>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(u=e.h0,l=e.h1,d=e.h2,g=e.h3,h=e.h4,p=e.h5,y=e.h6,x=e.h7,f=0;f<64;++f)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(p^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|d&(u^l),n=x+s+a+cf[f]+t[f],i=o+c,x=y,y=p,p=h,h=g+n>>>0,g=d,d=l,l=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+g|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+y|0,e.h7=e.h7+x|0,v-=64}}});var hf=pt((wv,lf)=>{var Te=yt();Rt();var Fi=null;Te.util.isNodejs&&!Te.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Fi=Ki());var Xp=lf.exports=Te.prng=Te.prng||{};Xp.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,u){if(!u)return t.generateSync(f);var l=t.plugin.cipher,d=t.plugin.increment,g=t.plugin.formatKey,h=t.plugin.formatSeed,p=Te.util.createBuffer();t.key=null,y();function y(x){if(x)return u(x);if(p.length()>=f)return u(null,p.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return Te.util.nextTick(function(){o(y)});var v=l(t.key,t.seed);t.generated+=v.length,p.putBytes(v),t.key=g(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Te.util.setImmediate(y)}},t.generateSync=function(f){var u=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,g=t.plugin.formatSeed;t.key=null;for(var h=Te.util.createBuffer();h.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=u(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(u(t.key,l(t.seed))),t.seed=g(u(t.key,t.seed))}return h.getBytes(f)};function o(f){if(t.pools[0].messageLength>=32)return a(),f();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(l,d){if(l)return f(l);t.collect(d),a(),f()})}function s(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var u=1,l=0;l<32;++l)t.reseeds%u===0&&(f.update(t.pools[l].digest().getBytes()),t.pools[l].start()),u=u<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var d=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(f){var u=null,l=Te.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(u=function(S){return d.getRandomValues(S)});var g=Te.util.createBuffer();if(u)for(;g.length()<f;){var h=Math.max(1,Math.min(f-g.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{u(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(S){if(!(typeof QuotaExceededError<"u"&&S instanceof QuotaExceededError))throw S}}if(g.length()<f)for(var x,v,m,A=Math.floor(Math.random()*65536);g.length()<f;){v=16807*(A&65535),x=16807*(A>>16),v+=(x&32767)<<16,v+=x>>15,v=(v&2147483647)+(v>>31),A=v&4294967295;for(var y=0;y<3;++y)m=A>>>(y<<3),m^=Math.floor(Math.random()*256),g.putByte(m&255)}return g.getBytes(f)}return Fi?(t.seedFile=function(f,u){Fi.randomBytes(f,function(l,d){if(l)return u(l);u(null,d.toString())})},t.seedFileSync=function(f){return Fi.randomBytes(f).toString()}):(t.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},t.seedFileSync=c),t.collect=function(f){for(var u=f.length,l=0;l<u;++l)t.pools[t.pool].update(f.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,u){for(var l="",d=0;d<u;d+=8)l+=String.fromCharCode(f>>d&255);t.collect(l)},t.registerWorker=function(f){if(f===self)t.seedFile=function(l,d){function g(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(g,h){f.postMessage({forge:{prng:{err:g,bytes:h}}})})};f.addEventListener("message",u)}},t}});var kn=pt((Ev,qs)=>{var Mt=yt();Fs();uf();hf();Rt();(function(){if(Mt.random&&Mt.random.getBytes){qs.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Mt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(d,g){return l.generate(d,g)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Mt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var u in o)Mt.random[u]=o[u];Mt.random.createInstance=i,qs.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var gf=pt((Sv,yf)=>{var jt=yt();Rt();var Hs=[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],df=[1,2,3,5],Qp=function(e,t){return e<<t&65535|(e&65535)>>16-t},Jp=function(e,t){return(e&65535)>>t|e<<16-t&65535};yf.exports=jt.rc2=jt.rc2||{};jt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=jt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Hs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Hs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Hs[r.at(a+1)^r.at(a+o)]);return r};var pf=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(e=jt.rc2.expandKey(e,t),f=0;f<64;f++)l.push(e.getInt16Le());r?(a=function(h){for(f=0;f<4;f++)h[f]+=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),h[f]=Qp(h[f],df[f]),u++},c=function(h){for(f=0;f<4;f++)h[f]+=l[h[(f+3)%4]&63]}):(a=function(h){for(f=3;f>=0;f--)h[f]=Jp(h[f],df[f]),h[f]-=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),u--},c=function(h){for(f=3;f>=0;f--)h[f]-=l[h[(f+3)%4]&63]});var d=function(h){var p=[];for(f=0;f<4;f++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}u=r?0:63;for(var x=0;x<h.length;x++)for(var v=0;v<h[x][0];v++)h[x][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},g=null;return g={start:function(h,p){h&&typeof h=="string"&&(h=jt.util.createBuffer(h)),n=!1,i=jt.util.createBuffer(),o=p||new jt.util.createBuffer,s=h,g.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var x=o.length(),v=o.at(x-1);v>x?p=!1:o.truncate(v)}return p}},g};jt.rc2.startEncrypting=function(e,t,r){var n=jt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};jt.rc2.createEncryptionCipher=function(e,t){return pf(e,t,!0)};jt.rc2.startDecrypting=function(e,t,r){var n=jt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};jt.rc2.createDecryptionCipher=function(e,t){return pf(e,t,!1)}});var Hi=pt((Bv,Bf)=>{var zs=yt();Bf.exports=zs.jsbn=zs.jsbn||{};var We,jp=0xdeadbeefcafe,xf=(jp&16777215)==15715070;function P(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}zs.jsbn.BigInteger=P;function at(){return new P(null)}function ty(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function ey(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,f=this.data[e++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function mf(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,f=this.data[e++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(P.prototype.am=mf,We=28):xf&&navigator.appName=="Microsoft Internet Explorer"?(P.prototype.am=ey,We=30):xf&&navigator.appName!="Netscape"?(P.prototype.am=ty,We=26):(P.prototype.am=mf,We=28);P.prototype.DB=We;P.prototype.DM=(1<<We)-1;P.prototype.DV=1<<We;var Gs=52;P.prototype.FV=Math.pow(2,Gs);P.prototype.F1=Gs-We;P.prototype.F2=2*We-Gs;var ry="0123456789abcdefghijklmnopqrstuvwxyz",Vi=new Array,jr,ae;jr=48;for(ae=0;ae<=9;++ae)Vi[jr++]=ae;jr=97;for(ae=10;ae<36;++ae)Vi[jr++]=ae;jr=65;for(ae=10;ae<36;++ae)Vi[jr++]=ae;function bf(e){return ry.charAt(e)}function vf(e,t){var r=Vi[e.charCodeAt(t)];return r??-1}function ny(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function iy(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function ur(e){var t=at();return t.fromInt(e),t}function oy(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:vf(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&P.ZERO.subTo(this,this)}function sy(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function ay(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=bf(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=bf(n));return i?o:"0"}function cy(){var e=at();return P.ZERO.subTo(this,e),e}function fy(){return this.s<0?this.negate():this}function uy(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function qi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function ly(){return this.t<=0?0:this.DB*(this.t-1)+qi(this.data[this.t-1]^this.s&this.DM)}function hy(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function dy(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function py(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function yy(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function gy(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function xy(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&P.ZERO.subTo(t,t)}function my(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function by(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var o=at(),s=this.s,a=e.s,c=this.DB-qi(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,h=1<<this.F2,p=r.t,y=p-f,x=t??at();for(o.dlShiftTo(y,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),P.ONE.dlShiftTo(f,x),x.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--y>=0;){var v=r.data[--p]==u?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*g);if((r.data[p]+=o.am(0,v,r,y,0,f))<v)for(o.dlShiftTo(y,x),r.subTo(x,r);r.data[p]<--v;)r.subTo(x,r)}t!=null&&(r.drShiftTo(f,t),s!=a&&P.ZERO.subTo(t,t)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&P.ZERO.subTo(r,r)}}}function vy(e){var t=at();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(P.ZERO)>0&&e.subTo(t,t),t}function Sr(e){this.m=e}function wy(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Ey(e){return e}function Sy(e){e.divRemTo(this.m,null,e)}function By(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Ay(e,t){e.squareTo(t),this.reduce(t)}Sr.prototype.convert=wy;Sr.prototype.revert=Ey;Sr.prototype.reduce=Sy;Sr.prototype.mulTo=By;Sr.prototype.sqrTo=Ay;function Cy(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Br(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Iy(e){var t=at();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(P.ZERO)>0&&this.m.subTo(t,t),t}function Ty(e){var t=at();return e.copyTo(t),this.reduce(t),t}function _y(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Ly(e,t){e.squareTo(t),this.reduce(t)}function Ry(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Br.prototype.convert=Iy;Br.prototype.revert=Ty;Br.prototype.reduce=_y;Br.prototype.mulTo=Ry;Br.prototype.sqrTo=Ly;function Ny(){return(this.t>0?this.data[0]&1:this.s)==0}function Py(e,t){if(e>4294967295||e<1)return P.ONE;var r=at(),n=at(),i=t.convert(this),o=qi(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function Dy(e,t){var r;return e<256||t.isEven()?r=new Sr(t):r=new Br(t),this.exp(e,r)}P.prototype.copyTo=ny;P.prototype.fromInt=iy;P.prototype.fromString=oy;P.prototype.clamp=sy;P.prototype.dlShiftTo=hy;P.prototype.drShiftTo=dy;P.prototype.lShiftTo=py;P.prototype.rShiftTo=yy;P.prototype.subTo=gy;P.prototype.multiplyTo=xy;P.prototype.squareTo=my;P.prototype.divRemTo=by;P.prototype.invDigit=Cy;P.prototype.isEven=Ny;P.prototype.exp=Py;P.prototype.toString=ay;P.prototype.negate=cy;P.prototype.abs=fy;P.prototype.compareTo=uy;P.prototype.bitLength=ly;P.prototype.mod=vy;P.prototype.modPowInt=Dy;P.ZERO=ur(0);P.ONE=ur(1);function ky(){var e=at();return this.copyTo(e),e}function Uy(){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 Ky(){return this.t==0?this.s:this.data[0]<<24>>24}function Oy(){return this.t==0?this.s:this.data[0]<<16>>16}function My(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Fy(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Vy(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=ur(r),i=at(),o=at(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function qy(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=vf(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&P.ZERO.subTo(this,this)}function Hy(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(P.ONE.shiftLeft(e-1),$s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(P.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function zy(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Gy(e){return this.compareTo(e)==0}function $y(e){return this.compareTo(e)<0?this:e}function Wy(e){return this.compareTo(e)>0?this:e}function Yy(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Zy(e,t){return e&t}function Xy(e){var t=at();return this.bitwiseTo(e,Zy,t),t}function $s(e,t){return e|t}function Qy(e){var t=at();return this.bitwiseTo(e,$s,t),t}function wf(e,t){return e^t}function Jy(e){var t=at();return this.bitwiseTo(e,wf,t),t}function Ef(e,t){return e&~t}function jy(e){var t=at();return this.bitwiseTo(e,Ef,t),t}function t1(){for(var e=at(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function e1(e){var t=at();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function r1(e){var t=at();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function n1(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function i1(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+n1(this.data[e]);return this.s<0?this.t*this.DB:-1}function o1(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function s1(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=o1(this.data[r]^t);return e}function a1(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function c1(e,t){var r=P.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function f1(e){return this.changeBit(e,$s)}function u1(e){return this.changeBit(e,Ef)}function l1(e){return this.changeBit(e,wf)}function h1(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function d1(e){var t=at();return this.addTo(e,t),t}function p1(e){var t=at();return this.subTo(e,t),t}function y1(e){var t=at();return this.multiplyTo(e,t),t}function g1(e){var t=at();return this.divRemTo(e,t,null),t}function x1(e){var t=at();return this.divRemTo(e,null,t),t}function m1(e){var t=at(),r=at();return this.divRemTo(e,t,r),new Array(t,r)}function b1(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function v1(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Un(){}function Sf(e){return e}function w1(e,t,r){e.multiplyTo(t,r)}function E1(e,t){e.squareTo(t)}Un.prototype.convert=Sf;Un.prototype.revert=Sf;Un.prototype.mulTo=w1;Un.prototype.sqrTo=E1;function S1(e){return this.exp(e,new Un)}function B1(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function A1(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function tn(e){this.r2=at(),this.q3=at(),P.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function C1(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=at();return e.copyTo(t),this.reduce(t),t}function I1(e){return e}function T1(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function _1(e,t){e.squareTo(t),this.reduce(t)}function L1(e,t,r){e.multiplyTo(t,r),this.reduce(r)}tn.prototype.convert=C1;tn.prototype.revert=I1;tn.prototype.reduce=T1;tn.prototype.mulTo=L1;tn.prototype.sqrTo=_1;function R1(e,t){var r=e.bitLength(),n,i=ur(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 Sr(t):t.isEven()?o=new tn(t):o=new Br(t);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=at();for(o.sqrTo(s[1],u);a<=f;)s[a]=at(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=e.t-1,d,g=!0,h=at(),p;for(r=qi(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&f:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)s[d].copyTo(i),g=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function N1(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function P1(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function D1(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return P.ZERO;for(var r=e.clone(),n=this.clone(),i=ur(1),o=ur(0),s=ur(0),a=ur(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(P.ONE)!=0)return P.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var we=[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],k1=(1<<26)/we[we.length-1];function U1(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=we[we.length-1]){for(t=0;t<we.length;++t)if(r.data[0]==we[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<we.length;){for(var n=we[t],i=t+1;i<we.length&&n<k1;)n*=we[i++];for(n=r.modInt(n);t<i;)if(n%we[t++]==0)return!1}return r.millerRabin(e)}function K1(e){var t=this.subtract(P.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=O1(),o,s=0;s<e;++s){do o=new P(this.bitLength(),i);while(o.compareTo(P.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(P.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(P.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function O1(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}P.prototype.chunkSize=My;P.prototype.toRadix=Vy;P.prototype.fromRadix=qy;P.prototype.fromNumber=Hy;P.prototype.bitwiseTo=Yy;P.prototype.changeBit=c1;P.prototype.addTo=h1;P.prototype.dMultiply=b1;P.prototype.dAddOffset=v1;P.prototype.multiplyLowerTo=B1;P.prototype.multiplyUpperTo=A1;P.prototype.modInt=P1;P.prototype.millerRabin=K1;P.prototype.clone=ky;P.prototype.intValue=Uy;P.prototype.byteValue=Ky;P.prototype.shortValue=Oy;P.prototype.signum=Fy;P.prototype.toByteArray=zy;P.prototype.equals=Gy;P.prototype.min=$y;P.prototype.max=Wy;P.prototype.and=Xy;P.prototype.or=Qy;P.prototype.xor=Jy;P.prototype.andNot=jy;P.prototype.not=t1;P.prototype.shiftLeft=e1;P.prototype.shiftRight=r1;P.prototype.getLowestSetBit=i1;P.prototype.bitCount=s1;P.prototype.testBit=a1;P.prototype.setBit=f1;P.prototype.clearBit=u1;P.prototype.flipBit=l1;P.prototype.add=d1;P.prototype.subtract=p1;P.prototype.multiply=y1;P.prototype.divide=g1;P.prototype.remainder=x1;P.prototype.divideAndRemainder=m1;P.prototype.modPow=R1;P.prototype.modInverse=D1;P.prototype.pow=S1;P.prototype.gcd=N1;P.prototype.isProbablePrime=U1});var _f=pt((Av,Tf)=>{var _e=yt();Er();Rt();var Cf=Tf.exports=_e.sha1=_e.sha1||{};_e.md.sha1=_e.md.algorithms.sha1=Cf;Cf.create=function(){If||M1();var e=null,t=_e.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 t=_e.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=_e.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 t.putBytes(i),Af(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=_e.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ws.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Af(l,r,i);var d=_e.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var Ws=null,If=!1;function M1(){Ws="\x80",Ws+=_e.util.fillString("\0",64),If=!0}function Af(e,t,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var Nf=pt((Cv,Rf)=>{var Le=yt();Rt();kn();_f();var Lf=Rf.exports=Le.pkcs1=Le.pkcs1||{};Lf.encode_rsa_oaep=function(e,t,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=Le.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",d=c-t.length,g=0;g<d;g++)l+="\0";var h=u.getBytes()+l+""+t;if(!i)i=Le.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=zi(i,a-o.digestLength-1,s),y=Le.util.xorBytes(h,p,h.length),x=zi(y,o.digestLength,s),v=Le.util.xorBytes(i,x,i.length);return"\0"+v+y};Lf.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=s,y}if(i===void 0?i=Le.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=t.charAt(0),f=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),l=zi(u,i.digestLength,o),d=Le.util.xorBytes(f,l,f.length),g=zi(d,s-i.digestLength-1,o),h=Le.util.xorBytes(u,g,u.length),p=h.substring(0,i.digestLength),y=c!=="\0",x=0;x<i.digestLength;++x)y|=a.charAt(x)!==p.charAt(x);for(var v=1,m=i.digestLength,A=i.digestLength;A<h.length;A++){var S=h.charCodeAt(A),B=S&1^1,R=v?65534:0;y|=S&R,v=v&B,m+=v}if(y||h.charCodeAt(m)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(m+1)};function zi(e,t,r){r||(r=Le.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Pf=pt((Iv,Ys)=>{var lr=yt();Rt();Hi();kn();(function(){if(lr.prime){Ys.exports=lr.prime;return}var e=Ys.exports=lr.prime=lr.prime||{},t=lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,g){typeof d=="function"&&(g=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||lr.random,y={nextBytes:function(x){for(var v=p.getBytesSync(x.length),m=0;m<x.length;++m)x[m]=v.charCodeAt(m)}};if(h.name==="PRIMEINC")return o(l,y,h.options,g);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,g,h){return"workers"in g?c(l,d,g,h):s(l,d,g,h)}function s(l,d,g,h){var p=f(l,d),y=0,x=u(p.bitLength());"millerRabinTests"in g&&(x=g.millerRabinTests);var v=10;"maxBlockTime"in g&&(v=g.maxBlockTime),a(p,l,d,y,x,v,h)}function a(l,d,g,h,p,y,x){var v=+new Date;do{if(l.bitLength()>d&&(l=f(d,g)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-v<y);lr.util.setImmediate(function(){a(l,d,g,h,p,y,x)})}function c(l,d,g,h){if(typeof Worker>"u")return s(l,d,g,h);var p=f(l,d),y=g.workers,x=g.workLoad||100,v=x*30/8,m=g.workerScript||"forge/prime.worker.js";if(y===-1)return lr.util.estimateCores(function(S,B){S&&(B=2),y=B-1,A()});A();function A(){y=Math.max(1,y);for(var S=[],B=0;B<y;++B)S[B]=new Worker(m);for(var R=y,B=0;B<y;++B)S[B].addEventListener("message",O);var _=!1;function O(M){if(!_){--R;var U=M.data;if(U.found){for(var H=0;H<S.length;++H)S[H].terminate();return _=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=f(l,d));var z=p.toString(16);M.target.postMessage({hex:z,workLoad:x}),p.dAddOffset(v,0)}}}}function f(l,d){var g=new t(l,d),h=l-1;return g.testBit(h)||g.bitwiseTo(t.ONE.shiftLeft(h),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var $i=pt((Tv,Ff)=>{var $=yt();Dn();Hi();Li();Nf();Pf();kn();Rt();typeof st>"u"&&(st=$.jsbn.BigInteger);var st,Zs=$.util.isNodejs?Ki():null,E=$.asn1,ce=$.util;$.pki=$.pki||{};Ff.exports=$.pki.rsa=$.rsa=$.rsa||{};var Q=$.pki,F1=[6,4,2,4,2,4,6,2],V1={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},q1={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},H1={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},z1=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},G1={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},$1=function(e){var t;if(e.algorithm in Q.oids)t=Q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=E.oidToDer(t).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),o=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);o.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),o.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var s=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),E.toDer(i).getBytes()},Of=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(st.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(st.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new st($.util.bytesToHex($.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(st.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};Q.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Mf(e,t,r)):(i=$.util.createBuffer(),i.putBytes(e));for(var s=new st(i.toHex(),16),a=Of(s,t,n),c=a.toString(16),f=$.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes($.util.hexToBytes(c)),f.getBytes()};Q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new st($.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Of(s,t,r),c=a.toString(16),f=$.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes($.util.hexToBytes(c)),n!==!1?Gi(f.getBytes(),t,r):f.getBytes()};Q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||$.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new st(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,f=c-1;e.pqState===0?(e.num=new st(c,e.rng),e.num.testBit(f)||e.num.bitwiseTo(st.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Y1(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(F1[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(st.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};Q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!$.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Df("generateKeyPair"))return Zs.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:Q.privateKeyFromPem(f),publicKey:Q.publicKeyFromPem(c)})});if(kf("generateKey")&&kf("exportKey"))return ce.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ce.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(E.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(Uf("generateKey")&&Uf("exportKey")){var i=ce.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Kf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=ce.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,d=Q.privateKeyFromAsn1(E.fromDer($.util.createBuffer(l)));n(null,{privateKey:d,publicKey:Q.setRsaPublicKey(d.n,d.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(Df("generateKeyPairSync")){var o=Zs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(o.privateKey),publicKey:Q.publicKeyFromPem(o.publicKey)}}}var s=Q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Q.rsa.stepKeyPairGenerationState(s,0),s.keys;W1(s,r,n)};Q.setRsaPublicKey=Q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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,f){return Mf(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Q.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,f){f=Gi(f,r,!0);var u=E.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!E.validate(u,G1,l,d)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=d,g}var h=E.derToOid(l.algorithmIdentifier);if(!(h===$.oids.md2||h===$.oids.md5||h===$.oids.sha1||h===$.oids.sha224||h===$.oids.sha256||h===$.oids.sha384||h===$.oids.sha512||h===$.oids["sha512-224"]||h===$.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=h,g}if((h===$.oids.md2||h===$.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=Gi(f,r,!0),c===f}});var a=Q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=Q.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:Gi};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(g,h){return $.pkcs1.decode_rsa_oaep(h,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:$1},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var d=u.encode(f,c.n.bitLength());return Q.rsa.encrypt(d,c,l)},c};Q.wrapRsaPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(e).getBytes())])};Q.privateKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,V1,t,r)&&(e=E.fromDer($.util.createBuffer(t.privateKey))),t={},r=[],!E.validate(e,q1,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=$.util.createBuffer(t.privateKeyModulus).toHex(),o=$.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=$.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(t.privateKeyPrime1).toHex(),c=$.util.createBuffer(t.privateKeyPrime2).toHex(),f=$.util.createBuffer(t.privateKeyExponent1).toHex(),u=$.util.createBuffer(t.privateKeyExponent2).toHex(),l=$.util.createBuffer(t.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new st(i,16),new st(o,16),new st(s,16),new st(a,16),new st(c,16),new st(f,16),new st(u,16),new st(l,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.qInv))])};Q.publicKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,z1,t,r)){var n=E.derToOid(t.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!E.validate(e,H1,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=$.util.createBuffer(t.publicKeyModulus).toHex(),s=$.util.createBuffer(t.publicKeyExponent).toHex();return Q.setRsaPublicKey(new st(o,16),new st(s,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(e)])])};Q.publicKeyToRSAPublicKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,Re(e.e))])};function Mf(e,t,r){var n=$.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.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 f=0,u=$.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(e),n}function Gi(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=$.util.createBuffer(e),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 f=0;f<c;++f)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 u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function W1(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){$.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.p=null,i();return}if(e.q.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(st.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Re(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=$.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function Y1(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Df(e){return $.util.isNodejs&&typeof Zs[e]=="function"}function kf(e){return typeof ce.globalScope<"u"&&typeof ce.globalScope.crypto=="object"&&typeof ce.globalScope.crypto.subtle=="object"&&typeof ce.globalScope.crypto.subtle[e]=="function"}function Uf(e){return typeof ce.globalScope<"u"&&typeof ce.globalScope.msCrypto=="object"&&typeof ce.globalScope.msCrypto.subtle=="object"&&typeof ce.globalScope.msCrypto.subtle[e]=="function"}function Kf(e){for(var t=$.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var $f=pt((_v,Gf)=>{var q=yt();Fs();Dn();Zc();Er();Li();tf();nf();kn();gf();$i();Rt();typeof Vf>"u"&&(Vf=q.jsbn.BigInteger);var Vf,I=q.asn1,tt=q.pki=q.pki||{};Gf.exports=tt.pbe=q.pbe=q.pbe||{};var Ar=tt.oids,Z1={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},X1={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Q1={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};tt.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=q.random.getBytesSync(r.saltSize),i=r.count,o=I.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=Ar["aes128-CBC"],l=q.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=Ar["aes192-CBC"],l=q.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=Ar["aes256-CBC"],l=q.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=Ar.desCBC,l=q.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),h=zf(g),p=q.pkcs5.pbkdf2(t,n,i,s,h),y=q.random.getBytesSync(f),x=l(p);x.start(y),x.update(I.toDer(e)),x.finish(),c=x.output.getBytes();var v=J1(n,o,s,g);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar.pkcs5PBKDF2).getBytes()),v]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(u).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var m=new q.util.ByteBuffer(n),p=tt.pbe.generatePkcs12Key(t,m,1,i,s),y=tt.pbe.generatePkcs12Key(t,m,2,i,s),x=q.des.createEncryptionCipher(p);x.start(y),x.update(I.toDer(e)),x.finish(),c=x.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var A=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return A};tt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!I.validate(e,Z1,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=I.derToOid(n.encryptionOid),a=tt.pbe.getCipher(s,n.encryptionParams,t),c=q.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};tt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(e).getBytes()};return q.pem.encode(r,{maxline:t})};tt.encryptedPrivateKeyFromPem=function(e){var t=q.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return I.fromDer(t.body)};tt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=tt.wrapRsaPrivateKey(tt.privateKeyToAsn1(e));return n=tt.encryptPrivateKeyInfo(n,t,r),tt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=q.random.getBytesSync(8),a=q.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 f=q.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(f);u.start(o),u.update(I.toDer(tt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:q.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return q.pem.encode(l)};tt.decryptRsaPrivateKey=function(e,t){var r=null,n=q.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=q.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=q.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=q.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=q.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=q.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return q.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return q.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return q.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=q.util.hexToBytes(n.dekInfo.parameters),c=q.pbe.opensslDeriveBytes(t,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(q.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=tt.decryptPrivateKeyInfo(I.fromDer(r),t):r=I.fromDer(r),r!==null&&(r=tt.privateKeyFromAsn1(r)),r};tt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in q.md))throw new Error('"sha1" hash algorithm unavailable.');o=q.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new q.util.ByteBuffer,l=new q.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),g=t.length(),h=new q.util.ByteBuffer;h.fillWithByte(r,f);var p=f*Math.ceil(g/f),y=new q.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(t.at(a%g));var x=f*Math.ceil(d/f),v=new q.util.ByteBuffer;for(a=0;a<x;a++)v.putByte(l.at(a%d));var m=y;m.putBuffer(v);for(var A=Math.ceil(i/c),S=1;S<=A;S++){var B=new q.util.ByteBuffer;B.putBytes(h.bytes()),B.putBytes(m.bytes());for(var R=0;R<n;R++)o.start(),o.update(B.getBytes()),B=o.digest();var _=new q.util.ByteBuffer;for(a=0;a<f;a++)_.putByte(B.at(a%c));var O=Math.ceil(g/f)+Math.ceil(d/f),M=new q.util.ByteBuffer;for(s=0;s<O;s++){var U=new q.util.ByteBuffer(m.getBytes(f)),H=511;for(a=_.length()-1;a>=0;a--)H=H>>8,H+=_.at(a)+U.at(a),U.setAt(a,H&255);M.putBuffer(U)}m=M,u.putBuffer(B)}return u.truncate(u.length()-i),u};tt.pbe.getCipher=function(e,t,r){switch(e){case tt.oids.pkcs5PBES2:return tt.pbe.getCipherForPBES2(e,t,r);case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:return tt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};tt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!I.validate(t,X1,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(e=I.derToOid(n.kdfOid),e!==tt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=I.derToOid(n.encOid),e!==tt.oids["aes128-CBC"]&&e!==tt.oids["aes192-CBC"]&&e!==tt.oids["aes256-CBC"]&&e!==tt.oids["des-EDE3-CBC"]&&e!==tt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=q.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(tt.oids[e]){case"aes128-CBC":c=16,f=q.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=q.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=q.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=q.des.createDecryptionCipher;break;case"desCBC":c=8,f=q.des.createDecryptionCipher;break}var u=Hf(n.prfOid),l=q.pkcs5.pbkdf2(r,s,a,c,u),d=n.encIv,g=f(l);return g.start(d),g};tt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!I.validate(t,Q1,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=q.util.createBuffer(n.salt),a=q.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(e){case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=q.des.startDecrypting;break;case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,y){var x=q.rc2.createDecryptionCipher(p,40);return x.start(y,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=Hf(n.prfOid),d=tt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var g=tt.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(d,g)};tt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in q.md))throw new Error('"md5" hash algorithm unavailable.');n=q.md.md5.create()}t===null&&(t="");for(var i=[qf(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(qf(n,i[s-1]+e+t));return i.join("").substr(0,r)};function qf(e,t){return e.start().update(t).digest().getBytes()}function Hf(e){var t;if(!e)t="hmacWithSHA1";else if(t=tt.oids[I.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return zf(t)}function zf(e){var t=q.md;switch(e){case"hmacWithSHA224":t=q.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function J1(e,t,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,e),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,q.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(tt.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var pu=pt((Ww,du)=>{var wt=yt();Er();Rt();var Vn=du.exports=wt.sha512=wt.sha512||{};wt.md.sha512=wt.md.algorithms.sha512=Vn;var lu=wt.sha384=wt.sha512.sha384=wt.sha512.sha384||{};lu.create=function(){return Vn.create("SHA-384")};wt.md.sha384=wt.md.algorithms.sha384=lu;wt.sha512.sha256=wt.sha512.sha256||{create:function(){return Vn.create("SHA-512/256")}};wt.md["sha512/256"]=wt.md.algorithms["sha512/256"]=wt.sha512.sha256;wt.sha512.sha224=wt.sha512.sha224||{create:function(){return Vn.create("SHA-512/224")}};wt.md["sha512/224"]=wt.md.algorithms["sha512/224"]=wt.sha512.sha224;Vn.create=function(e){if(hu||pg(),typeof e>"u"&&(e="SHA-512"),!(e in Nr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Nr[e],r=null,n=wt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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,f=0;f<c;++f)a.fullMessageLength.push(0);n=wt.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=wt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),uu(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=wt.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(ha.substr(0,a.blockLength-u));for(var l,d,g=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,g+=d,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);uu(p,i,c);var y=wt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var h=0;h<x;++h)y.putInt32(p[h][0]),(h!==x-1||e!=="SHA-512/224")&&y.putInt32(p[h][1]);return y},a};var ha=null,hu=!1,da=null,Nr=null;function pg(){ha="\x80",ha+=wt.util.fillString("\0",128),da=[[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]],Nr={},Nr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Nr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Nr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Nr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],hu=!0}function uu(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v,m,A,S,B,R,_,O,M,U,H,z,Z,C,N,T,L,w,k,K,V=r.length();V>=128;){for(C=0;C<16;++C)t[C][0]=r.getInt32()>>>0,t[C][1]=r.getInt32()>>>0;for(;C<80;++C)L=t[C-2],N=L[0],T=L[1],n=((N>>>19|T<<13)^(T>>>29|N<<3)^N>>>6)>>>0,i=((N<<13|T>>>19)^(T<<3|N>>>29)^(N<<26|T>>>6))>>>0,k=t[C-15],N=k[0],T=k[1],o=((N>>>1|T<<31)^(N>>>8|T<<24)^N>>>7)>>>0,s=((N<<31|T>>>1)^(N<<24|T>>>8)^(N<<25|T>>>7))>>>0,w=t[C-7],K=t[C-16],T=i+w[1]+s+K[1],t[C][0]=n+w[0]+o+K[0]+(T/4294967296>>>0)>>>0,t[C][1]=T>>>0;for(p=e[0][0],y=e[0][1],x=e[1][0],v=e[1][1],m=e[2][0],A=e[2][1],S=e[3][0],B=e[3][1],R=e[4][0],_=e[4][1],O=e[5][0],M=e[5][1],U=e[6][0],H=e[6][1],z=e[7][0],Z=e[7][1],C=0;C<80;++C)f=((R>>>14|_<<18)^(R>>>18|_<<14)^(_>>>9|R<<23))>>>0,u=((R<<18|_>>>14)^(R<<14|_>>>18)^(_<<23|R>>>9))>>>0,l=(U^R&(O^U))>>>0,d=(H^_&(M^H))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,c=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&x|m&(p^x))>>>0,h=(y&v|A&(y^v))>>>0,T=Z+u+d+da[C][1]+t[C][1],n=z+f+l+da[C][0]+t[C][0]+(T/4294967296>>>0)>>>0,i=T>>>0,T=c+h,o=a+g+(T/4294967296>>>0)>>>0,s=T>>>0,z=U,Z=H,U=O,H=M,O=R,M=_,T=B+i,R=S+n+(T/4294967296>>>0)>>>0,_=T>>>0,S=m,B=A,m=x,A=v,x=p,v=y,T=i+s,p=n+o+(T/4294967296>>>0)>>>0,y=T>>>0;T=e[0][1]+y,e[0][0]=e[0][0]+p+(T/4294967296>>>0)>>>0,e[0][1]=T>>>0,T=e[1][1]+v,e[1][0]=e[1][0]+x+(T/4294967296>>>0)>>>0,e[1][1]=T>>>0,T=e[2][1]+A,e[2][0]=e[2][0]+m+(T/4294967296>>>0)>>>0,e[2][1]=T>>>0,T=e[3][1]+B,e[3][0]=e[3][0]+S+(T/4294967296>>>0)>>>0,e[3][1]=T>>>0,T=e[4][1]+_,e[4][0]=e[4][0]+R+(T/4294967296>>>0)>>>0,e[4][1]=T>>>0,T=e[5][1]+M,e[5][0]=e[5][0]+O+(T/4294967296>>>0)>>>0,e[5][1]=T>>>0,T=e[6][1]+H,e[6][0]=e[6][0]+U+(T/4294967296>>>0)>>>0,e[6][1]=T>>>0,T=e[7][1]+Z,e[7][0]=e[7][0]+z+(T/4294967296>>>0)>>>0,e[7][1]=T>>>0,V-=128}}});var $u=pt((m4,Gu)=>{var un=1e3,ln=un*60,hn=ln*60,Ur=hn*24,Hg=Ur*7,zg=Ur*365.25;Gu.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return Gg(e);if(r==="number"&&isFinite(e))return t.long?Wg(e):$g(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Gg(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*zg;case"weeks":case"week":case"w":return r*Hg;case"days":case"day":case"d":return r*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return r*hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*ln;case"seconds":case"second":case"secs":case"sec":case"s":return r*un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $g(e){var t=Math.abs(e);return t>=Ur?Math.round(e/Ur)+"d":t>=hn?Math.round(e/hn)+"h":t>=ln?Math.round(e/ln)+"m":t>=un?Math.round(e/un)+"s":e+"ms"}function Wg(e){var t=Math.abs(e);return t>=Ur?to(e,t,Ur,"day"):t>=hn?to(e,t,hn,"hour"):t>=ln?to(e,t,ln,"minute"):t>=un?to(e,t,un,"second"):e+" ms"}function to(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var Yu=pt((b4,Wu)=>{function Yg(e){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=$u(),r.destroy=f,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let l=0;for(let d=0;d<u.length;d++)l=(l<<5)-l+u.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(u){let l,d=null,g,h;function p(...y){if(!p.enabled)return;let x=p,v=Number(new Date),m=v-(l||v);x.diff=m,x.prev=l,x.curr=v,l=v,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let A=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(B,R)=>{if(B==="%%")return"%";A++;let _=r.formatters[R];if(typeof _=="function"){let O=y[A];B=_.call(x,O),y.splice(A,1),A--}return B}),r.formatArgs.call(x,y),(x.log||r.log).apply(x,y)}return p.namespace=u,p.useColors=r.useColors(),p.color=r.selectColor(u),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(g!==r.namespaces&&(g=r.namespaces,h=r.enabled(u)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(p),p}function n(u,l){let d=r(this.namespace+(typeof l>"u"?":":l)+u);return d.log=this.log,d}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let l,d=(typeof u=="string"?u:"").split(/[\s,]+/),g=d.length;for(l=0;l<g;l++)d[l]&&(u=d[l].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.slice(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(u))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Wu.exports=Yg});var Zu=pt((ie,eo)=>{ie.formatArgs=Xg;ie.save=Qg;ie.load=Jg;ie.useColors=Zg;ie.storage=jg();ie.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ie.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Zg(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Xg(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+eo.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}ie.log=console.debug||console.log||(()=>{});function Qg(e){try{e?ie.storage.setItem("debug",e):ie.storage.removeItem("debug")}catch{}}function Jg(){let e;try{e=ie.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function jg(){try{return localStorage}catch{}}eo.exports=Yu()(ie);var{formatters:tx}=eo.exports;tx.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Px={};Pt(Px,{webTransport:()=>Nx});function Ke(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function rt(e=0){return globalThis.Buffer?.alloc!=null?Ke(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Dt(e=0){return globalThis.Buffer?.allocUnsafe!=null?Ke(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var zl=Math.pow(2,7),Gl=Math.pow(2,14),$l=Math.pow(2,21),vo=Math.pow(2,28),wo=Math.pow(2,35),Eo=Math.pow(2,42),So=Math.pow(2,49),ft=128,$t=127;function Wt(e){if(e<zl)return 1;if(e<Gl)return 2;if(e<$l)return 3;if(e<vo)return 4;if(e<wo)return 5;if(e<Eo)return 6;if(e<So)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Wl(e,t,r=0){switch(Wt(e)){case 8:t[r++]=e&255|ft,e/=128;case 7:t[r++]=e&255|ft,e/=128;case 6:t[r++]=e&255|ft,e/=128;case 5:t[r++]=e&255|ft,e/=128;case 4:t[r++]=e&255|ft,e>>>=7;case 3:t[r++]=e&255|ft,e>>>=7;case 2:t[r++]=e&255|ft,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Yl(e,t,r=0){switch(Wt(e)){case 8:t.set(r++,e&255|ft),e/=128;case 7:t.set(r++,e&255|ft),e/=128;case 6:t.set(r++,e&255|ft),e/=128;case 5:t.set(r++,e&255|ft),e/=128;case 4:t.set(r++,e&255|ft),e>>>=7;case 3:t.set(r++,e&255|ft),e>>>=7;case 2:t.set(r++,e&255|ft),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Zl(e,t){let r=e[t],n=0;if(n+=r&$t,r<ft||(r=e[t+1],n+=(r&$t)<<7,r<ft)||(r=e[t+2],n+=(r&$t)<<14,r<ft)||(r=e[t+3],n+=(r&$t)<<21,r<ft)||(r=e[t+4],n+=(r&$t)*vo,r<ft)||(r=e[t+5],n+=(r&$t)*wo,r<ft)||(r=e[t+6],n+=(r&$t)*Eo,r<ft)||(r=e[t+7],n+=(r&$t)*So,r<ft))return n;throw new RangeError("Could not decode varint")}function Xl(e,t){let r=e.get(t),n=0;if(n+=r&$t,r<ft||(r=e.get(t+1),n+=(r&$t)<<7,r<ft)||(r=e.get(t+2),n+=(r&$t)<<14,r<ft)||(r=e.get(t+3),n+=(r&$t)<<21,r<ft)||(r=e.get(t+4),n+=(r&$t)*vo,r<ft)||(r=e.get(t+5),n+=(r&$t)*wo,r<ft)||(r=e.get(t+6),n+=(r&$t)*Eo,r<ft)||(r=e.get(t+7),n+=(r&$t)*So,r<ft))return n;throw new RangeError("Could not decode varint")}function Je(e,t,r=0){return t==null&&(t=Dt(Wt(e))),t instanceof Uint8Array?Wl(e,t,r):Yl(e,t,r)}function he(e,t=0){return e instanceof Uint8Array?Zl(e,t):Xl(e,t)}function ut(e,t){if(globalThis.Buffer!=null)return Ke(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Dt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Ke(r)}function It(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var a0=Symbol.for("@achingbrain/uint8arraylist");function s0(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function ti(e){return!!e?.[a0]}var Jt=class e{bufs;length;[a0]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ti(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ti(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=s0(this.bufs,t);return r.buf[r.index]}set(t,r){let n=s0(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(ti(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let f=t>=a&&t<c,u=r>a&&r<=c;if(f&&u){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!ti(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let d=f;d>=0;d--){let g=this.get(l+d);if(n[d]!==g){u=Math.max(1,d-a[g]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=rt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=Dt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=rt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!It(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function ei(e){return e[Symbol.asyncIterator]!=null}var ri=e=>{let t=Wt(e),r=Dt(t);return Je(e,r),ri.bytes=t,r};ri.bytes=0;function xn(e,t){t=t??{};let r=t.lengthEncoder??ri;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return ei(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}xn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??ri;return new Jt(r(e.byteLength),e)};var Kr=Zt(u0(),1);var Jl=8,jl=1024*1024*4,pr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(pr||(pr={}));var Bo=e=>{let t=he(e);return Bo.bytes=Wt(t),t};Bo.bytes=0;function mn(e,t){let r=new Jt,n=pr.LENGTH,i=-1,o=t?.lengthDecoder??Bo,s=t?.maxLengthLength??Jl,a=t?.maxDataLength??jl;function*c(){for(;r.byteLength>0;){if(n===pr.LENGTH)try{if(i=o(r),i<0)throw(0,Kr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Kr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),t?.onLength!=null&&t.onLength(i),n=pr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,Kr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===pr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(f),yield f,n=pr.LENGTH}}}return ei(e)?async function*(){for await(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}mn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 mn(n,{...t??{},onLength:o=>{r=o}})};function de(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var ni=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function l0(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new ni(r?.errorMessage,r?.errorCode));let n,i=new ni(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ao=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=de(),this.needNext.resolve(),this.haveNext=de()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=de(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=de(),await l0(this.needNext.promise,r?.signal,r)}};function h0(){return new Ao}var ii=class extends Error{code;constructor(t,r){super(t),this.code=r}},Co=class extends ii{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function d0(e,t){let r=h0();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new Jt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new Co("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),f]);return l===!0?new Jt:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new ii("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var oi=class extends Error{code;constructor(t,r){super(t),this.code=r}},p0=e=>he(e);p0.bytes=0;function Io(e,t={}){let r=d0(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Wt(t.maxDataLength)),{read:async i=>{let o=-1,s=new Jt,a=t?.lengthDecoder??p0;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new oi("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new oi("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(xn.single(i,t),o)},writeV:async(i,o)=>{let s=new Jt(...i.map(a=>xn.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function To(){let e=de(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function y0(){let e=To(),t=To();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}var si=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Or=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new si(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new si(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var _o=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ai(e={}){return eh(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function eh(e,t){t=t??{};let r=t.onEnd,n=new Or,i,o,s,a=de(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,x)=>{o=v=>{o=null,n.push(v);try{y(e(n))}catch(m){x(m)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=de()})}},f=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new Or,o!=null?o({error:y}):(n.push({error:y}),i)),l=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?u(y):f({done:!0})),g=()=>(n=new Or,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:g,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async y=>{let x=y?.signal;if(x?.throwIfAborted(),n.isEmpty())return;let v,m;x!=null&&(v=new Promise((A,S)=>{m=()=>{S(new _o)},x.addEventListener("abort",m)}));try{await Promise.race([a.promise,v])}finally{m!=null&&x!=null&&x?.removeEventListener("abort",m)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function rh(e){return e[Symbol.asyncIterator]!=null}function nh(...e){let t=[];for(let r of e)rh(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=ai({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var g0=nh;function x0(e,...t){if(e==null)throw new Error("Empty pipeline");if(Lo(e)){let n=e;e=()=>n.source}else if(b0(e)||m0(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Lo(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++)Lo(r[n])&&(r[n]=oh(r[n]));return ih(...r)}var ih=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},m0=e=>e?.[Symbol.asyncIterator]!=null,b0=e=>e?.[Symbol.iterator]!=null,Lo=e=>e==null?!1:e.sink!=null&&e.source!=null,oh=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=ai({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(m0(o))i=async function*(){yield*o,n.end()};else if(b0(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return g0(n,i())}return e.source};var v0=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var sh=e=>e instanceof Uint8Array;var Oe=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),w0=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),ah=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ah)throw new Error("Non little-endian hardware is not supported");function ci(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function fi(e){if(typeof e=="string")e=ci(e);else if(sh(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var ch=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function E0(e,t){if(t!==void 0&&(typeof t!="object"||!ch(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function yr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function S0(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var Ro=(e,t)=>(Object.assign(t,e),t);function No(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}function ui(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Po(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Mr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Do(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function B0(e,t){Mr(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ht=(e,t)=>e[t++]&255|(e[t++]&255)<<8,ko=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=fi(t),yr(t,32);let r=Ht(t,0),n=Ht(t,2),i=Ht(t,4),o=Ht(t,6),s=Ht(t,8),a=Ht(t,10),c=Ht(t,12),f=Ht(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Ht(t,16+2*u)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],f=s[2],u=s[3],l=s[4],d=s[5],g=s[6],h=s[7],p=s[8],y=s[9],x=Ht(t,r+0),v=Ht(t,r+2),m=Ht(t,r+4),A=Ht(t,r+6),S=Ht(t,r+8),B=Ht(t,r+10),R=Ht(t,r+12),_=Ht(t,r+14),O=o[0]+(x&8191),M=o[1]+((x>>>13|v<<3)&8191),U=o[2]+((v>>>10|m<<6)&8191),H=o[3]+((m>>>7|A<<9)&8191),z=o[4]+((A>>>4|S<<12)&8191),Z=o[5]+(S>>>1&8191),C=o[6]+((S>>>14|B<<2)&8191),N=o[7]+((B>>>11|R<<5)&8191),T=o[8]+((R>>>8|_<<8)&8191),L=o[9]+(_>>>5|i),w=0,k=w+O*a+M*(5*y)+U*(5*p)+H*(5*h)+z*(5*g);w=k>>>13,k&=8191,k+=Z*(5*d)+C*(5*l)+N*(5*u)+T*(5*f)+L*(5*c),w+=k>>>13,k&=8191;let K=w+O*c+M*a+U*(5*y)+H*(5*p)+z*(5*h);w=K>>>13,K&=8191,K+=Z*(5*g)+C*(5*d)+N*(5*l)+T*(5*u)+L*(5*f),w+=K>>>13,K&=8191;let V=w+O*f+M*c+U*a+H*(5*y)+z*(5*p);w=V>>>13,V&=8191,V+=Z*(5*h)+C*(5*g)+N*(5*d)+T*(5*l)+L*(5*u),w+=V>>>13,V&=8191;let W=w+O*u+M*f+U*c+H*a+z*(5*y);w=W>>>13,W&=8191,W+=Z*(5*p)+C*(5*h)+N*(5*g)+T*(5*d)+L*(5*l),w+=W>>>13,W&=8191;let Y=w+O*l+M*u+U*f+H*c+z*a;w=Y>>>13,Y&=8191,Y+=Z*(5*y)+C*(5*p)+N*(5*h)+T*(5*g)+L*(5*d),w+=Y>>>13,Y&=8191;let et=w+O*d+M*l+U*u+H*f+z*c;w=et>>>13,et&=8191,et+=Z*a+C*(5*y)+N*(5*p)+T*(5*h)+L*(5*g),w+=et>>>13,et&=8191;let X=w+O*g+M*d+U*l+H*u+z*f;w=X>>>13,X&=8191,X+=Z*c+C*a+N*(5*y)+T*(5*p)+L*(5*h),w+=X>>>13,X&=8191;let J=w+O*h+M*g+U*d+H*l+z*u;w=J>>>13,J&=8191,J+=Z*f+C*c+N*a+T*(5*y)+L*(5*p),w+=J>>>13,J&=8191;let gt=w+O*p+M*h+U*g+H*d+z*l;w=gt>>>13,gt&=8191,gt+=Z*u+C*f+N*c+T*a+L*(5*y),w+=gt>>>13,gt&=8191;let dt=w+O*y+M*p+U*h+H*g+z*d;w=dt>>>13,dt&=8191,dt+=Z*l+C*u+N*f+T*c+L*a,w+=dt>>>13,dt&=8191,w=(w<<2)+w|0,w=w+k|0,k=w&8191,w=w>>>13,K+=w,o[0]=k,o[1]=K,o[2]=V,o[3]=W,o[4]=Y,o[5]=et,o[6]=X,o[7]=J,o[8]=gt,o[9]=dt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Do(this);let{buffer:r,blockLen:n}=this;t=fi(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Do(this),B0(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function fh(e){let t=(n,i)=>e(i).update(fi(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var A0=fh(e=>new ko(e));var uh=ci("expand 16-byte k"),lh=ci("expand 32-byte k"),hh=Oe(uh),dh=Oe(lh);function G(e,t){return e<<t|e>>>32-t}function Uo(e){return e.byteOffset%4===0}var li=64,ph=16,I0=2**32-1,C0=new Uint32Array;function yh(e,t,r,n,i,o,s,a){let c=i.length,f=new Uint8Array(li),u=Oe(f),l=Uo(i)&&Uo(o),d=l?Oe(i):C0,g=l?Oe(o):C0;for(let h=0;h<c;s++){if(e(t,r,n,u,s,a),s>=I0)throw new Error("arx: counter overflow");let p=Math.min(li,c-h);if(l&&p===li){let y=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let x=0,v;x<ph;x++)v=y+x,g[v]=d[v]^u[x];h+=li;continue}for(let y=0,x;y<p;y++)x=h+y,o[x]=i[x]^f[y];h+=p}}function Ko(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=E0({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return ui(i),ui(s),Po(o),Po(r),(a,c,f,u,l=0)=>{Mr(a),Mr(c),Mr(f);let d=f.length;if(u||(u=new Uint8Array(d)),Mr(u),ui(l),l<0||l>=I0)throw new Error("arx: counter overflow");if(u.length<d)throw new Error(`arx: output (${u.length}) is shorter than data (${d})`);let g=[],h=a.length,p,y;if(h===32)p=a.slice(),g.push(p),y=dh;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),y=hh,g.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);Uo(c)||(c=c.slice(),g.push(c));let x=Oe(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,x,Oe(c.subarray(0,16)),x),c=c.subarray(16)}let v=16-i;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let A=new Uint8Array(12);A.set(c,o?0:12-c.length),c=A,g.push(c)}let m=Oe(c);for(yh(e,y,x,m,f,u,l,s);g.length>0;)g.pop().fill(0);return u}}function L0(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],f=e[3],u=t[0],l=t[1],d=t[2],g=t[3],h=t[4],p=t[5],y=t[6],x=t[7],v=i,m=r[0],A=r[1],S=r[2],B=s,R=a,_=c,O=f,M=u,U=l,H=d,z=g,Z=h,C=p,N=y,T=x,L=v,w=m,k=A,K=S;for(let W=0;W<o;W+=2)B=B+M|0,L=G(L^B,16),Z=Z+L|0,M=G(M^Z,12),B=B+M|0,L=G(L^B,8),Z=Z+L|0,M=G(M^Z,7),R=R+U|0,w=G(w^R,16),C=C+w|0,U=G(U^C,12),R=R+U|0,w=G(w^R,8),C=C+w|0,U=G(U^C,7),_=_+H|0,k=G(k^_,16),N=N+k|0,H=G(H^N,12),_=_+H|0,k=G(k^_,8),N=N+k|0,H=G(H^N,7),O=O+z|0,K=G(K^O,16),T=T+K|0,z=G(z^T,12),O=O+z|0,K=G(K^O,8),T=T+K|0,z=G(z^T,7),B=B+U|0,K=G(K^B,16),N=N+K|0,U=G(U^N,12),B=B+U|0,K=G(K^B,8),N=N+K|0,U=G(U^N,7),R=R+H|0,L=G(L^R,16),T=T+L|0,H=G(H^T,12),R=R+H|0,L=G(L^R,8),T=T+L|0,H=G(H^T,7),_=_+z|0,w=G(w^_,16),Z=Z+w|0,z=G(z^Z,12),_=_+z|0,w=G(w^_,8),Z=Z+w|0,z=G(z^Z,7),O=O+M|0,k=G(k^O,16),C=C+k|0,M=G(M^C,12),O=O+M|0,k=G(k^O,8),C=C+k|0,M=G(M^C,7);let V=0;n[V++]=s+B|0,n[V++]=a+R|0,n[V++]=c+_|0,n[V++]=f+O|0,n[V++]=u+M|0,n[V++]=l+U|0,n[V++]=d+H|0,n[V++]=g+z|0,n[V++]=h+Z|0,n[V++]=p+C|0,n[V++]=y+N|0,n[V++]=x+T|0,n[V++]=v+L|0,n[V++]=m+w|0,n[V++]=A+k|0,n[V++]=S+K|0}function gh(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],f=t[1],u=t[2],l=t[3],d=t[4],g=t[5],h=t[6],p=t[7],y=r[0],x=r[1],v=r[2],m=r[3];for(let S=0;S<20;S+=2)i=i+c|0,y=G(y^i,16),d=d+y|0,c=G(c^d,12),i=i+c|0,y=G(y^i,8),d=d+y|0,c=G(c^d,7),o=o+f|0,x=G(x^o,16),g=g+x|0,f=G(f^g,12),o=o+f|0,x=G(x^o,8),g=g+x|0,f=G(f^g,7),s=s+u|0,v=G(v^s,16),h=h+v|0,u=G(u^h,12),s=s+u|0,v=G(v^s,8),h=h+v|0,u=G(u^h,7),a=a+l|0,m=G(m^a,16),p=p+m|0,l=G(l^p,12),a=a+l|0,m=G(m^a,8),p=p+m|0,l=G(l^p,7),i=i+f|0,m=G(m^i,16),h=h+m|0,f=G(f^h,12),i=i+f|0,m=G(m^i,8),h=h+m|0,f=G(f^h,7),o=o+u|0,y=G(y^o,16),p=p+y|0,u=G(u^p,12),o=o+u|0,y=G(y^o,8),p=p+y|0,u=G(u^p,7),s=s+l|0,x=G(x^s,16),d=d+x|0,l=G(l^d,12),s=s+l|0,x=G(x^s,8),d=d+x|0,l=G(l^d,7),a=a+c|0,v=G(v^a,16),g=g+v|0,c=G(c^g,12),a=a+c|0,v=G(v^a,8),g=g+v|0,c=G(c^g,7);let A=0;n[A++]=i,n[A++]=o,n[A++]=s,n[A++]=a,n[A++]=y,n[A++]=x,n[A++]=v,n[A++]=m}var xh=Ko(L0,{counterRight:!1,counterLength:4,allowShortKeys:!1}),mh=Ko(L0,{counterRight:!1,counterLength:8,extendNonceFn:gh,allowShortKeys:!1});var bh=new Uint8Array(16),T0=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(bh.subarray(r))},vh=new Uint8Array(32);function _0(e,t,r,n,i){let o=e(t,r,vh),s=A0.create(o);i&&T0(s,i),T0(s,n);let a=new Uint8Array(16),c=w0(a);No(c,0,BigInt(i?i.length:0),!0),No(c,8,BigInt(n.length),!0),s.update(a);let f=s.digest();return o.fill(0),f}var R0=e=>(t,r,n)=>(yr(t,32),yr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?yr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let f=_0(e,t,r,s.subarray(0,-16),n);return s.set(f,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?yr(s,c):s=new Uint8Array(c);let f=o.subarray(0,-16),u=o.subarray(-16),l=_0(e,t,r,f,n);if(!S0(u,l))throw new Error("invalid tag");return e(t,r,f,s,1),s}}),Oo=Ro({blockSize:64,nonceLength:12,tagLength:16},R0(xh)),Vm=Ro({blockSize:64,nonceLength:24,tagLength:16},R0(mh));function hi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Mo(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function bn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");hi(e.outputLen),hi(e.blockLen)}function Fr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function N0(e,t){Mo(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var di=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var P0=e=>e instanceof Uint8Array;var pi=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),pe=(e,t)=>e<<32-t|e>>>t,wh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!wh)throw new Error("Non little-endian hardware is not supported");function Fo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function je(e){if(typeof e=="string"&&(e=Fo(e)),!P0(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function yi(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!P0(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Vr=class{clone(){return this._cloneInto()}},$m={}.toString;function gi(e){let t=n=>e().update(je(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function gr(e=32){if(di&&typeof di.getRandomValues=="function")return di.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Eh(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}var qr=class extends Vr{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=pi(this.buffer)}update(t){Fr(this);let{view:r,buffer:n,blockLen:i}=this;t=je(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=pi(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Fr(this),N0(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;Eh(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=pi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var xi=BigInt(4294967295),Vo=BigInt(32);function D0(e,t=!1){return t?{h:Number(e&xi),l:Number(e>>Vo&xi)}:{h:Number(e>>Vo&xi)|0,l:Number(e&xi)|0}}function Sh(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=D0(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Bh=(e,t)=>BigInt(e>>>0)<<Vo|BigInt(t>>>0),Ah=(e,t,r)=>e>>>r,Ch=(e,t,r)=>e<<32-r|t>>>r,Ih=(e,t,r)=>e>>>r|t<<32-r,Th=(e,t,r)=>e<<32-r|t>>>r,_h=(e,t,r)=>e<<64-r|t>>>r-32,Lh=(e,t,r)=>e>>>r-32|t<<64-r,Rh=(e,t)=>t,Nh=(e,t)=>e,Ph=(e,t,r)=>e<<r|t>>>32-r,Dh=(e,t,r)=>t<<r|e>>>32-r,kh=(e,t,r)=>t<<r-32|e>>>64-r,Uh=(e,t,r)=>e<<r-32|t>>>64-r;function Kh(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Oh=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Mh=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Fh=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Vh=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,qh=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Hh=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var zh={fromBig:D0,split:Sh,toBig:Bh,shrSH:Ah,shrSL:Ch,rotrSH:Ih,rotrSL:Th,rotrBH:_h,rotrBL:Lh,rotr32H:Rh,rotr32L:Nh,rotlSH:Ph,rotlSL:Dh,rotlBH:kh,rotlBL:Uh,add:Kh,add3L:Oh,add3H:Mh,add4L:Fh,add4H:Vh,add5H:Hh,add5L:qh},j=zh;var[Gh,$h]=j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),tr=new Uint32Array(80),er=new Uint32Array(80),qo=class extends qr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:d,Gh:g,Gl:h,Hh:p,Hl:y}=this;return[t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y]}set(t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y){this.Ah=t|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=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=g|0,this.Gl=h|0,this.Hh=p|0,this.Hl=y|0}process(t,r){for(let m=0;m<16;m++,r+=4)tr[m]=t.getUint32(r),er[m]=t.getUint32(r+=4);for(let m=16;m<80;m++){let A=tr[m-15]|0,S=er[m-15]|0,B=j.rotrSH(A,S,1)^j.rotrSH(A,S,8)^j.shrSH(A,S,7),R=j.rotrSL(A,S,1)^j.rotrSL(A,S,8)^j.shrSL(A,S,7),_=tr[m-2]|0,O=er[m-2]|0,M=j.rotrSH(_,O,19)^j.rotrBH(_,O,61)^j.shrSH(_,O,6),U=j.rotrSL(_,O,19)^j.rotrBL(_,O,61)^j.shrSL(_,O,6),H=j.add4L(R,U,er[m-7],er[m-16]),z=j.add4H(H,B,M,tr[m-7],tr[m-16]);tr[m]=z|0,er[m]=H|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:d,Fh:g,Fl:h,Gh:p,Gl:y,Hh:x,Hl:v}=this;for(let m=0;m<80;m++){let A=j.rotrSH(l,d,14)^j.rotrSH(l,d,18)^j.rotrBH(l,d,41),S=j.rotrSL(l,d,14)^j.rotrSL(l,d,18)^j.rotrBL(l,d,41),B=l&g^~l&p,R=d&h^~d&y,_=j.add5L(v,S,R,$h[m],er[m]),O=j.add5H(_,x,A,B,Gh[m],tr[m]),M=_|0,U=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),H=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),z=n&o^n&a^o&a,Z=i&s^i&c^s&c;x=p|0,v=y|0,p=g|0,y=h|0,g=l|0,h=d|0,{h:l,l:d}=j.add(f|0,u|0,O|0,M|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=j.add3L(M,H,Z);n=j.add3H(C,O,U,z),i=C|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:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=j.add(this.Eh|0,this.El|0,l|0,d|0),{h:g,l:h}=j.add(this.Fh|0,this.Fl|0,g|0,h|0),{h:p,l:y}=j.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:x,l:v}=j.add(this.Hh|0,this.Hl|0,x|0,v|0),this.set(n,i,o,s,a,c,f,u,l,d,g,h,p,y,x,v)}roundClean(){tr.fill(0),er.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ho=gi(()=>new qo);var vi={};Pt(vi,{bitGet:()=>jh,bitLen:()=>Jh,bitMask:()=>vn,bitSet:()=>td,bytesToHex:()=>Me,bytesToNumberBE:()=>Fe,bytesToNumberLE:()=>ye,concatBytes:()=>qe,createHmacDrbg:()=>$o,ensureBytes:()=>mt,equalBytes:()=>Xh,hexToBytes:()=>xr,hexToNumber:()=>Go,numberToBytesBE:()=>rr,numberToBytesLE:()=>Ve,numberToHexUnpadded:()=>K0,numberToVarBytesBE:()=>Zh,utf8ToBytes:()=>Qh,validateObject:()=>se});var U0=BigInt(0),mi=BigInt(1),Wh=BigInt(2),bi=e=>e instanceof Uint8Array,Yh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Me(e){if(!bi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Yh[e[r]];return t}function K0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Go(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function xr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.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 Fe(e){return Go(Me(e))}function ye(e){if(!bi(e))throw new Error("Uint8Array expected");return Go(Me(Uint8Array.from(e).reverse()))}function rr(e,t){return xr(e.toString(16).padStart(t*2,"0"))}function Ve(e,t){return rr(e,t).reverse()}function Zh(e){return xr(K0(e))}function mt(e,t,r){let n;if(typeof t=="string")try{n=xr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(bi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function qe(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!bi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function Xh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Qh(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Jh(e){let t;for(t=0;e>U0;e>>=mi,t+=1);return t}function jh(e,t){return e>>BigInt(t)&mi}var td=(e,t,r)=>e|(r?mi:U0)<<BigInt(t),vn=e=>(Wh<<BigInt(e-1))-mi,zo=e=>new Uint8Array(e),k0=e=>Uint8Array.from(e);function $o(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=zo(e),i=zo(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=zo())=>{i=a(k0([0]),l),n=a(),l.length!==0&&(i=a(k0([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let g=n.slice();d.push(g),l+=n.length}return qe(...d)};return(l,d)=>{s(),c(l);let g;for(;!(g=d(f()));)c();return s(),g}}var ed={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function se(e,t,r={}){let n=(i,o,s)=>{let a=ed[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var kt=BigInt(0),Et=BigInt(1),mr=BigInt(2),rd=BigInt(3),Wo=BigInt(4),O0=BigInt(5),M0=BigInt(8),nd=BigInt(9),id=BigInt(16);function ct(e,t){let r=e%t;return r>=kt?r:t+r}function Yo(e,t,r){if(r<=kt||t<kt)throw new Error("Expected power/modulo > 0");if(r===Et)return kt;let n=Et;for(;t>kt;)t&Et&&(n=n*e%r),e=e*e%r,t>>=Et;return n}function bt(e,t,r){let n=e;for(;t-- >kt;)n*=n,n%=r;return n}function wi(e,t){if(e===kt||t<=kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ct(e,t),n=t,i=kt,o=Et,s=Et,a=kt;for(;r!==kt;){let f=n/r,u=n%r,l=i-s*f,d=o-a*f;n=r,r=u,i=s,o=a,s=l,a=d}if(n!==Et)throw new Error("invert: does not exist");return ct(i,t)}function od(e){let t=(e-Et)/mr,r,n,i;for(r=e-Et,n=0;r%mr===kt;r/=mr,n++);for(i=mr;i<e&&Yo(i,t,e)!==e-Et;i++);if(n===1){let s=(e+Et)/Wo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+Et)/mr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(d);g<f&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let h=a.pow(u,Et<<BigInt(f-g-1));u=a.sqr(h),l=a.mul(l,h),d=a.mul(d,u),f=g}return l}}function sd(e){if(e%Wo===rd){let t=(e+Et)/Wo;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%M0===O0){let t=(e-O0)/M0;return function(n,i){let o=n.mul(i,mr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,mr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return e%id,od(e)}var F0=(e,t)=>(ct(e,t)&Et)===Et,ad=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zo(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=ad.reduce((n,i)=>(n[i]="function",n),t);return se(e,r)}function cd(e,t,r){if(r<kt)throw new Error("Expected power > 0");if(r===kt)return e.ONE;if(r===Et)return t;let n=e.ONE,i=t;for(;r>kt;)r&Et&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Et;return n}function fd(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function Xo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ei(e,t,r=!1,n={}){if(e<=kt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Xo(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=sd(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:vn(i),ZERO:kt,ONE:Et,create:c=>ct(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return kt<=c&&c<e},is0:c=>c===kt,isOdd:c=>(c&Et)===Et,neg:c=>ct(-c,e),eql:(c,f)=>c===f,sqr:c=>ct(c*c,e),add:(c,f)=>ct(c+f,e),sub:(c,f)=>ct(c-f,e),mul:(c,f)=>ct(c*f,e),pow:(c,f)=>cd(a,c,f),div:(c,f)=>ct(c*wi(f,e),e),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>wi(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>fd(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?Ve(c,o):rr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?ye(c):Fe(c)}});return Object.freeze(a)}function V0(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function q0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Qo(e){let t=q0(e);return t+Math.ceil(t/2)}function H0(e,t,r=!1){let n=e.length,i=q0(t),o=Qo(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Fe(e):ye(e),a=ct(s,t-Et)+Et;return r?Ve(a,i):rr(a,i)}var ld=BigInt(0),Jo=BigInt(1);function Si(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>ld;)o&Jo&&(s=s.add(a)),a=a.double(),o>>=Jo;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let d=1;d<a;d++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=e.ZERO,u=e.BASE,l=BigInt(2**i-1),d=2**i,g=BigInt(i);for(let h=0;h<a;h++){let p=h*c,y=Number(s&l);s>>=g,y>c&&(y-=d,s+=Jo);let x=p,v=p+Math.abs(y)-1,m=h%2!==0,A=y<0;y===0?u=u.add(r(m,o[x])):f=f.add(r(A,o[v]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function wn(e){return Zo(e.Fp),se(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Xo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var ge=BigInt(0),re=BigInt(1),Bi=BigInt(2),hd=BigInt(8),dd={zip215:!0};function pd(e){let t=wn(e);return se(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Ai(e){let t=pd(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,f=Bi<<BigInt(a*8)-re,u=r.create,l=t.uvRatio||((L,w)=>{try{return{isValid:!0,value:r.sqrt(L*r.inv(w))}}catch{return{isValid:!1,value:ge}}}),d=t.adjustScalarBytes||(L=>L),g=t.domain||((L,w,k)=>{if(w.length||k)throw new Error("Contexts/pre-hash are not supported");return L}),h=L=>typeof L=="bigint"&&ge<L,p=(L,w)=>h(L)&&h(w)&&L<w,y=L=>L===ge||p(L,f);function x(L,w){if(p(L,w))return L;throw new Error(`Expected valid scalar < ${w}, got ${typeof L} ${L}`)}function v(L){return L===ge?L:x(L,n)}let m=new Map;function A(L){if(!(L instanceof S))throw new Error("ExtendedPoint expected")}class S{constructor(w,k,K,V){if(this.ex=w,this.ey=k,this.ez=K,this.et=V,!y(w))throw new Error("x required");if(!y(k))throw new Error("y required");if(!y(K))throw new Error("z required");if(!y(V))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof S)throw new Error("extended point not allowed");let{x:k,y:K}=w||{};if(!y(k)||!y(K))throw new Error("invalid affine point");return new S(k,K,re,u(k*K))}static normalizeZ(w){let k=r.invertBatch(w.map(K=>K.ez));return w.map((K,V)=>K.toAffine(k[V])).map(S.fromAffine)}_setWindowSize(w){this._WINDOW_SIZE=w,m.delete(this)}assertValidity(){let{a:w,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:V,ez:W,et:Y}=this,et=u(K*K),X=u(V*V),J=u(W*W),gt=u(J*J),dt=u(et*w),Vt=u(J*u(dt+X)),qt=u(gt+u(k*u(et*X)));if(Vt!==qt)throw new Error("bad point: equation left != right (1)");let Nt=u(K*V),Gt=u(W*Y);if(Nt!==Gt)throw new Error("bad point: equation left != right (2)")}equals(w){A(w);let{ex:k,ey:K,ez:V}=this,{ex:W,ey:Y,ez:et}=w,X=u(k*et),J=u(W*V),gt=u(K*et),dt=u(Y*V);return X===J&&gt===dt}is0(){return this.equals(S.ZERO)}negate(){return new S(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:w}=t,{ex:k,ey:K,ez:V}=this,W=u(k*k),Y=u(K*K),et=u(Bi*u(V*V)),X=u(w*W),J=k+K,gt=u(u(J*J)-W-Y),dt=X+Y,Vt=dt-et,qt=X-Y,Nt=u(gt*Vt),Gt=u(dt*qt),Ue=u(gt*qt),dr=u(Vt*dt);return new S(Nt,Gt,dr,Ue)}add(w){A(w);let{a:k,d:K}=t,{ex:V,ey:W,ez:Y,et}=this,{ex:X,ey:J,ez:gt,et:dt}=w;if(k===BigInt(-1)){let Ja=u((W-V)*(J+X)),ja=u((W+V)*(J-X)),bo=u(ja-Ja);if(bo===ge)return this.double();let t0=u(Y*Bi*dt),e0=u(et*Bi*gt),r0=e0+t0,n0=ja+Ja,i0=e0-t0,Dl=u(r0*bo),kl=u(n0*i0),Ul=u(r0*i0),Kl=u(bo*n0);return new S(Dl,kl,Kl,Ul)}let Vt=u(V*X),qt=u(W*J),Nt=u(et*K*dt),Gt=u(Y*gt),Ue=u((V+W)*(X+J)-Vt-qt),dr=Gt-Nt,yn=Gt+Nt,Qa=u(qt-k*Vt),Ll=u(Ue*dr),Rl=u(yn*Qa),Nl=u(Ue*Qa),Pl=u(dr*yn);return new S(Ll,Rl,Pl,Nl)}subtract(w){return this.add(w.negate())}wNAF(w){return _.wNAFCached(this,m,w,S.normalizeZ)}multiply(w){let{p:k,f:K}=this.wNAF(x(w,n));return S.normalizeZ([k,K])[0]}multiplyUnsafe(w){let k=v(w);return k===ge?R:this.equals(R)||k===re?this:this.equals(B)?this.wNAF(k).p:_.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(w){let{ex:k,ey:K,ez:V}=this,W=this.is0();w==null&&(w=W?hd:r.inv(V));let Y=u(k*w),et=u(K*w),X=u(V*w);if(W)return{x:ge,y:re};if(X!==re)throw new Error("invZ was invalid");return{x:Y,y:et}}clearCofactor(){let{h:w}=t;return w===re?this:this.multiplyUnsafe(w)}static fromHex(w,k=!1){let{d:K,a:V}=t,W=r.BYTES;w=mt("pointHex",w,W);let Y=w.slice(),et=w[W-1];Y[W-1]=et&-129;let X=ye(Y);X===ge||(k?x(X,f):x(X,r.ORDER));let J=u(X*X),gt=u(J-re),dt=u(K*J-V),{isValid:Vt,value:qt}=l(gt,dt);if(!Vt)throw new Error("Point.fromHex: invalid y coordinate");let Nt=(qt&re)===re,Gt=(et&128)!==0;if(!k&&qt===ge&&Gt)throw new Error("Point.fromHex: x=0 and x_0=1");return Gt!==Nt&&(qt=u(-qt)),S.fromAffine({x:qt,y:X})}static fromPrivateKey(w){return U(w).point}toRawBytes(){let{x:w,y:k}=this.toAffine(),K=Ve(k,r.BYTES);return K[K.length-1]|=w&re?128:0,K}toHex(){return Me(this.toRawBytes())}}S.BASE=new S(t.Gx,t.Gy,re,u(t.Gx*t.Gy)),S.ZERO=new S(ge,re,re,ge);let{BASE:B,ZERO:R}=S,_=Si(S,a*8);function O(L){return ct(L,n)}function M(L){return O(ye(L))}function U(L){let w=a;L=mt("private key",L,w);let k=mt("hashed private key",o(L),2*w),K=d(k.slice(0,w)),V=k.slice(w,2*w),W=M(K),Y=B.multiply(W),et=Y.toRawBytes();return{head:K,prefix:V,scalar:W,point:Y,pointBytes:et}}function H(L){return U(L).pointBytes}function z(L=new Uint8Array,...w){let k=qe(...w);return M(o(g(k,mt("context",L),!!i)))}function Z(L,w,k={}){L=mt("message",L),i&&(L=i(L));let{prefix:K,scalar:V,pointBytes:W}=U(w),Y=z(k.context,K,L),et=B.multiply(Y).toRawBytes(),X=z(k.context,et,W,L),J=O(Y+X*V);v(J);let gt=qe(et,Ve(J,r.BYTES));return mt("result",gt,a*2)}let C=dd;function N(L,w,k,K=C){let{context:V,zip215:W}=K,Y=r.BYTES;L=mt("signature",L,2*Y),w=mt("message",w),i&&(w=i(w));let et=ye(L.slice(Y,2*Y)),X,J,gt;try{X=S.fromHex(k,W),J=S.fromHex(L.slice(0,Y),W),gt=B.multiplyUnsafe(et)}catch{return!1}if(!W&&X.isSmallOrder())return!1;let dt=z(V,J.toRawBytes(),X.toRawBytes(),w);return J.add(X.multiplyUnsafe(dt)).subtract(gt).clearCofactor().equals(S.ZERO)}return B._setWindowSize(8),{CURVE:t,getPublicKey:H,sign:Z,verify:N,ExtendedPoint:S,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(L=8,w=S.BASE){return w._setWindowSize(L),w.multiply(BigInt(3)),w}}}}var En=BigInt(0),jo=BigInt(1);function yd(e){return se(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function z0(e){let t=yd(e),{P:r}=t,n=m=>ct(m,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(m=>m),c=t.powPminus2||(m=>Yo(m,r-BigInt(2),r));function f(m,A,S){let B=n(m*(A-S));return A=n(A-B),S=n(S+B),[A,S]}function u(m){if(typeof m=="bigint"&&En<=m&&m<r)return m;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(m,A){let S=u(m),B=u(A),R=S,_=jo,O=En,M=S,U=jo,H=En,z;for(let C=BigInt(i-1);C>=En;C--){let N=B>>C&jo;H^=N,z=f(H,_,M),_=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1],H=N;let T=_+O,L=n(T*T),w=_-O,k=n(w*w),K=L-k,V=M+U,W=M-U,Y=n(W*T),et=n(V*w),X=Y+et,J=Y-et;M=n(X*X),U=n(R*n(J*J)),_=n(L*k),O=n(K*(L+n(l*K)))}z=f(H,_,M),_=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1];let Z=c(O);return n(_*Z)}function g(m){return Ve(n(m),o)}function h(m){let A=mt("u coordinate",m,o);return s===o&&(A[s-1]&=127),ye(A)}function p(m){let A=mt("scalar",m);if(A.length!==o&&A.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${A.length}`);return ye(a(A))}function y(m,A){let S=h(A),B=p(m),R=d(S,B);if(R===En)throw new Error("Invalid private or public key received");return g(R)}let x=g(t.Gu);function v(m){return y(m,x)}return{scalarMult:y,scalarMultBase:v,getSharedSecret:(m,A)=>y(m,A),getPublicKey:m=>v(m),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:x}}var Sn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),G0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),m2=BigInt(0),gd=BigInt(1),ts=BigInt(2),xd=BigInt(5),$0=BigInt(10),md=BigInt(20),bd=BigInt(40),W0=BigInt(80);function Y0(e){let t=Sn,n=e*e%t*e%t,i=bt(n,ts,t)*n%t,o=bt(i,gd,t)*e%t,s=bt(o,xd,t)*o%t,a=bt(s,$0,t)*s%t,c=bt(a,md,t)*a%t,f=bt(c,bd,t)*c%t,u=bt(f,W0,t)*f%t,l=bt(u,W0,t)*f%t,d=bt(l,$0,t)*s%t;return{pow_p_5_8:bt(d,ts,t)*e%t,b2:n}}function Z0(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function vd(e,t){let r=Sn,n=ct(t*t*t,r),i=ct(n*n*t,r),o=Y0(e*i).pow_p_5_8,s=ct(e*n*o,r),a=ct(t*s*s,r),c=s,f=ct(s*G0,r),u=a===e,l=a===ct(-e,r),d=a===ct(-e*G0,r);return u&&(s=c),(l||d)&&(s=f),F0(s,r)&&(s=ct(-s,r)),{isValid:u||l,value:s}}var He=Ei(Sn,void 0,!0),es={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:He,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ho,randomBytes:gr,adjustScalarBytes:Z0,uvRatio:vd},Hr=Ai(es);function X0(e,t,r){if(t.length>255)throw new Error("Context is too big");return yi(Fo("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var b2=Ai({...es,domain:X0}),v2=Ai({...es,domain:X0,prehash:Ho}),Bn=z0({P:Sn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Sn,{pow_p_5_8:r,b2:n}=Y0(e);return ct(bt(r,BigInt(3),t)*n,t)},adjustScalarBytes:Z0,randomBytes:gr});var wd=(He.ORDER+BigInt(3))/BigInt(8),w2=He.pow(ts,wd),E2=He.sqrt(He.neg(He.ONE)),S2=(He.ORDER-BigInt(5))/BigInt(8),B2=BigInt(486662);var A2=V0(He,He.neg(BigInt(486664)));var C2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),I2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),T2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),_2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var L2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ci=class extends Vr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,bn(t);let n=je(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return Fr(this),this.iHash.update(t),this}digestInto(t){Fr(this),Mo(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},zr=(e,t,r)=>new Ci(e,t).update(r).digest();zr.create=(e,t)=>new Ci(e,t);function J0(e,t,r){return bn(e),r===void 0&&(r=new Uint8Array(e.outputLen)),zr(e,je(r),je(t))}var rs=new Uint8Array([0]),Q0=new Uint8Array;function j0(e,t,r,n=32){if(bn(e),hi(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=Q0);let o=new Uint8Array(i*e.outputLen),s=zr.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let f=0;f<i;f++)rs[0]=f+1,a.update(f===0?Q0:c).update(r).update(rs).digestInto(c),o.set(c,e.outputLen*f),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),rs.fill(0),o.slice(0,n)}var Ed=(e,t,r)=>e&t^~e&r,Sd=(e,t,r)=>e&t^e&r^t&r,Bd=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]),nr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ir=new Uint32Array(64),ns=class extends qr{constructor(){super(64,32,8,!1),this.A=nr[0]|0,this.B=nr[1]|0,this.C=nr[2]|0,this.D=nr[3]|0,this.E=nr[4]|0,this.F=nr[5]|0,this.G=nr[6]|0,this.H=nr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|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(t,r){for(let l=0;l<16;l++,r+=4)ir[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=ir[l-15],g=ir[l-2],h=pe(d,7)^pe(d,18)^d>>>3,p=pe(g,17)^pe(g,19)^g>>>10;ir[l]=p+ir[l-7]+h+ir[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let d=pe(a,6)^pe(a,11)^pe(a,25),g=u+d+Ed(a,c,f)+Bd[l]+ir[l]|0,p=(pe(n,2)^pe(n,13)^pe(n,22))+Sd(n,i,o)|0;u=f,f=c,c=a,a=s+g|0,s=o,o=i,i=n,n=g+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){ir.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Gr=gi(()=>new ns);var is={hashSHA256(e){return Gr(e)},getHKDF(e,t){let r=J0(Gr,t,e),i=j0(Gr,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Bn.utils.randomPrivateKey();return{publicKey:Bn.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Bn.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Bn.getSharedSecret(e,t)},chaCha20Poly1305Encrypt(e,t,r,n){return Oo(n,t,r).encrypt(e)},chaCha20Poly1305Decrypt(e,t,r,n,i){return Oo(n,t,r).decrypt(e,i)}};var tc=is;var fs={};Pt(fs,{base10:()=>Ld});function Ad(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,x=0,v=h.length;x!==v&&h[x]===0;)x++,p++;for(var m=(v-x)*u+1>>>0,A=new Uint8Array(m);x!==v;){for(var S=h[x],B=0,R=m-1;(S!==0||B<y)&&R!==-1;R--,B++)S+=256*A[R]>>>0,A[R]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");y=B,x++}for(var _=m-y;_!==m&&A[_]===0;)_++;for(var O=c.repeat(p);_<m;++_)O+=e.charAt(A[_]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var y=0,x=0;h[p]===c;)y++,p++;for(var v=(h.length-p)*f+1>>>0,m=new Uint8Array(v);h[p];){var A=r[h.charCodeAt(p)];if(A===255)return;for(var S=0,B=v-1;(A!==0||S<x)&&B!==-1;B--,S++)A+=a*m[B]>>>0,m[B]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");x=S,p++}if(h[p]!==" "){for(var R=v-x;R!==v&&m[R]===0;)R++;for(var _=new Uint8Array(y+(v-R)),O=y;R!==v;)_[O++]=m[R++];return _}}}function g(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:g}}var Cd=Ad,Id=Cd,ec=Id;var Q2=new Uint8Array(0);var rc=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},ze=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var nc=e=>new TextEncoder().encode(e),ic=e=>new TextDecoder().decode(e);var os=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ss=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return sc(this,t)}},as=class{constructor(t){this.decoders=t}or(t){return sc(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},sc=(e,t)=>new as({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),cs=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new os(t,r,n),this.decoder=new ss(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},$r=({name:e,prefix:t,encode:r,decode:n})=>new cs(e,t,r,n),or=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ec(r,t);return $r({prefix:e,name:t,encode:n,decode:o=>ze(i(o))})},Td=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},_d=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>$r({prefix:t,name:e,encode(i){return _d(i,n,r)},decode(i){return Td(i,n,r,e)}});var Ld=or({prefix:"9",name:"base10",alphabet:"0123456789"});var us={};Pt(us,{base16:()=>Rd,base16upper:()=>Nd});var Rd=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Nd=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ls={};Pt(ls,{base2:()=>Pd});var Pd=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hs={};Pt(hs,{base256emoji:()=>Od});var ac=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Dd=ac.reduce((e,t,r)=>(e[r]=t,e),[]),kd=ac.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Ud(e){return e.reduce((t,r)=>(t+=Dd[r],t),"")}function Kd(e){let t=[];for(let r of e){let n=kd[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Od=$r({prefix:"\u{1F680}",name:"base256emoji",encode:Ud,decode:Kd});var ds={};Pt(ds,{base32:()=>xe,base32hex:()=>qd,base32hexpad:()=>zd,base32hexpadupper:()=>Gd,base32hexupper:()=>Hd,base32pad:()=>Fd,base32padupper:()=>Vd,base32upper:()=>Md,base32z:()=>$d});var xe=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Md=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Fd=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Vd=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),qd=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Hd=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zd=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Gd=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$d=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ps={};Pt(ps,{base36:()=>Wd,base36upper:()=>Yd});var Wd=or({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Yd=or({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ys={};Pt(ys,{base58btc:()=>At,base58flickr:()=>Zd});var At=or({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Zd=or({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xs={};Pt(xs,{base64:()=>Wr,base64pad:()=>Xd,base64url:()=>gs,base64urlpad:()=>Qd});var Wr=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Xd=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gs=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Qd=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ms={};Pt(ms,{base8:()=>Jd});var Jd=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var bs={};Pt(bs,{identity:()=>jd});var jd=$r({prefix:"\0",name:"identity",encode:e=>ic(e),decode:e=>nc(e)});var hb=new TextEncoder,db=new TextDecoder;var Es={};Pt(Es,{identity:()=>ar});var Be={};Pt(Be,{Digest:()=>br,create:()=>me,decode:()=>sr,equals:()=>ws});var rp=uc,cc=128,np=127,ip=~np,op=Math.pow(2,31);function uc(e,t,r){t=t||[],r=r||0;for(var n=r;e>=op;)t[r++]=e&255|cc,e/=128;for(;e&ip;)t[r++]=e&255|cc,e>>>=7;return t[r]=e|0,uc.bytes=r-n+1,t}var sp=vs,ap=128,fc=127;function vs(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw vs.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&fc)<<i:(s&fc)*Math.pow(2,i),i+=7}while(s>=ap);return vs.bytes=o-n,r}var cp=Math.pow(2,7),fp=Math.pow(2,14),up=Math.pow(2,21),lp=Math.pow(2,28),hp=Math.pow(2,35),dp=Math.pow(2,42),pp=Math.pow(2,49),yp=Math.pow(2,56),gp=Math.pow(2,63),xp=function(e){return e<cp?1:e<fp?2:e<up?3:e<lp?4:e<hp?5:e<dp?6:e<pp?7:e<yp?8:e<gp?9:10},mp={encode:rp,decode:sp,encodingLength:xp},bp=mp,An=bp;var Cn=(e,t=0)=>[An.decode(e,t),An.decode.bytes],Yr=(e,t,r=0)=>(An.encode(e,t,r),t),Zr=e=>An.encodingLength(e);var me=(e,t)=>{let r=t.byteLength,n=Zr(e),i=n+Zr(r),o=new Uint8Array(i+r);return Yr(e,o,0),Yr(r,o,n),o.set(t,i),new br(e,r,t,o)},sr=e=>{let t=ze(e),[r,n]=Cn(t),[i,o]=Cn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new br(r,i,s,t)},ws=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&rc(e.bytes,r.bytes)}},br=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var lc=0,vp="identity",hc=ze,wp=e=>me(lc,hc(e)),ar={code:lc,name:vp,encode:hc,digest:wp};var As={};Pt(As,{sha256:()=>zt,sha512:()=>Ep});var Bs=({name:e,code:t,encode:r})=>new Ss(e,t,r),Ss=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?me(this.code,r):r.then(n=>me(this.code,n))}else throw Error("Unknown type, must be binary type")}};var pc=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),zt=Bs({name:"sha2-256",code:18,encode:pc("SHA-256")}),Ep=Bs({name:"sha2-512",code:19,encode:pc("SHA-512")});var yc=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Bp(r,Cs(e),t||At.encoder);default:return Ap(r,Cs(e),t||xe.encoder)}};var gc=new WeakMap,Cs=e=>{let t=gc.get(e);if(t==null){let r=new Map;return gc.set(e,r),r}return t},be=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==In)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Cp)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=me(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&ws(t.multihash,n.multihash)}toString(t){return yc(this,t)}toJSON(){return{"/":yc(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||xc(n,i,o.bytes))}else if(r[Ip]===!0){let{version:n,multihash:i,code:o}=r,s=sr(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==In)throw new Error(`Version 0 CID must use dag-pb (code: ${In}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=xc(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,In,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=ze(t.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 br(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=Cn(t.subarray(r));return r+=d,l},i=n(),o=In;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(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,r){let[n,i]=Sp(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Cs(o).set(n,t),o}},Sp=(e,t)=>{switch(e[0]){case"Q":{let r=t||At;return[At.prefix,r.decode(`${At.prefix}${e}`)]}case At.prefix:{let r=t||At;return[At.prefix,r.decode(e)]}case xe.prefix:{let r=t||xe;return[xe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Bp=(e,t,r)=>{let{prefix:n}=r;if(n!==At.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Ap=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},In=112,Cp=18,xc=(e,t,r)=>{let n=Zr(e),i=n+Zr(t),o=new Uint8Array(i+r.byteLength);return Yr(e,o,0),Yr(t,o,n),o.set(r,i),o},Ip=Symbol.for("@ipld/js-cid/CID");var Ae={...bs,...ls,...ms,...fs,...us,...ds,...ps,...ys,...xs,...hs},_b={...As,...Es};function bc(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var mc=bc("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Is=bc("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=Dt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Tp={utf8:mc,"utf-8":mc,hex:Ae.base16,latin1:Is,ascii:Is,binary:Is,...Ae},Ti=Tp;function Ct(e,t="utf8"){let r=Ti[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ke(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function it(e,t="utf8"){let r=Ti[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Xr=e=>{let t=Dt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Xr.bytes=2;var Tn=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};Tn.bytes=2;function vc(e){return ut([e.ne,e.ciphertext],e.ne.length+e.ciphertext.length)}function wc(e){return ut([e.ne,e.ns,e.ciphertext],e.ne.length+e.ns.length+e.ciphertext.length)}function Ec(e){return ut([e.ns,e.ciphertext],e.ns.length+e.ciphertext.length)}function Sc(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:rt(0)}}function Bc(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Ac(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:rt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Ic=16;function Tc(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s=e.encrypt(n.subarray(i,o),e.session);t?.encryptedPackets.increment(),yield ut([Xr(s.byteLength),s],2+s.byteLength)}}}function _c(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Ic<i)throw new Error("Invalid chunk");let s=n.subarray(i,o),a=n.subarray(i,o-Ic),{plaintext:c,valid:f}=e.decrypt(s,e.session,a);if(!f)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var nt=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}},Ln=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},vr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var G8=Zt(Dn(),1),$8=Zt($f(),1);var Kg=Zt(yt(),1);var la={};Pt(la,{Ed25519PrivateKey:()=>Rr,Ed25519PublicKey:()=>Fn,generateKeyPair:()=>ug,generateKeyPairFromSeed:()=>au,unmarshalEd25519PrivateKey:()=>cg,unmarshalEd25519PublicKey:()=>fg});var en=32,Ye=64,Wi=32;function Wf(){let e=Hr.utils.randomPrivateKey(),t=Hr.getPublicKey(e);return{privateKey:Qf(e,t),publicKey:t}}function Yf(e){if(e.length!==Wi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Hr.getPublicKey(t);return{privateKey:Qf(t,r),publicKey:r}}function Zf(e,t){let r=e.subarray(0,Wi);return Hr.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Xf(e,t,r){return Hr.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Qf(e,t){let r=new Uint8Array(Ye);for(let n=0;n<Wi;n++)r[n]=e[n],r[Wi+n]=t[n];return r}var te={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Xs={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Qs(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=te.get();r*=8;async function c(l,d){let g=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=Ct(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,m,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,y,l);return ut([g,p.iv,new Uint8Array(x)])}async function f(l,d){let g=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),y={name:t,iv:h};typeof d=="string"&&(d=Ct(d));let x;if(d.length===0)try{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,A,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",Xs,{name:"AES-GCM"},!0,["decrypt"])}else{let m={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(m,A,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(y,x,p);return new Uint8Array(v)}return{encrypt:c,decrypt:f}}async function rn(e,t){let n=await Qs().encrypt(e,t);return Wr.encode(n)}var Js=new Float32Array([-0]),hr=new Uint8Array(Js.buffer);function jf(e,t,r){Js[0]=e,t[r]=hr[0],t[r+1]=hr[1],t[r+2]=hr[2],t[r+3]=hr[3]}function tu(e,t){return hr[0]=e[t],hr[1]=e[t+1],hr[2]=e[t+2],hr[3]=e[t+3],Js[0]}var js=new Float64Array([-0]),Yt=new Uint8Array(js.buffer);function eu(e,t,r){js[0]=e,t[r]=Yt[0],t[r+1]=Yt[1],t[r+2]=Yt[2],t[r+3]=Yt[3],t[r+4]=Yt[4],t[r+5]=Yt[5],t[r+6]=Yt[6],t[r+7]=Yt[7]}function ru(e,t){return Yt[0]=e[t],Yt[1]=e[t+1],Yt[2]=e[t+2],Yt[3]=e[t+3],Yt[4]=e[t+4],Yt[5]=e[t+5],Yt[6]=e[t+6],Yt[7]=e[t+7],js[0]}var tg=BigInt(Number.MAX_SAFE_INTEGER),eg=BigInt(Number.MIN_SAFE_INTEGER),ee=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Cr;if(t<tg&&t>eg)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>nu&&(i=0n,++n>nu&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Cr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Cr}},Cr=new ee(0,0);Cr.toBigInt=function(){return 0n};Cr.zzEncode=Cr.zzDecode=function(){return this};Cr.length=function(){return 1};var nu=4294967296n;function iu(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ou(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function ta(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function Ee(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Yi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var ea=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ee(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ee(this,4);return Yi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ee(this,4);return Yi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ee(this,4);let t=tu(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ee(this,4);let t=ru(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ee(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return ou(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ee(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ee(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ee(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Ee(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Ee(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ee(this,8);let t=Yi(this.buf,this.pos+=4),r=Yi(this.buf,this.pos+=4);return new ee(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ra(e){return new ea(e instanceof Uint8Array?e:e.subarray())}function Ir(e,t){let r=ra(e);return t.decode(r)}function na(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Dt(s);i+s>t&&(n=Dt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Tr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function ia(){}var sa=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},rg=na();function ng(e){return globalThis.Buffer!=null?Dt(e):rg(e)}var Mn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Tr(ia,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Tr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new aa((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Kn,10,ee.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ee.fromBigInt(t);return this._push(Kn,r.length(),r)}uint64Number(t){let r=ee.fromNumber(t);return this._push(Kn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ee.fromBigInt(t).zzEncode();return this._push(Kn,r.length(),r)}sint64Number(t){let r=ee.fromNumber(t).zzEncode();return this._push(Kn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(oa,1,t?1:0)}fixed32(t){return this._push(On,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ee.fromBigInt(t);return this._push(On,4,r.lo)._push(On,4,r.hi)}fixed64Number(t){let r=ee.fromNumber(t);return this._push(On,4,r.lo)._push(On,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(jf,4,t)}double(t){return this._push(eu,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(oa,1,0):this.uint32(r)._push(og,r,t)}string(t){let r=iu(t);return r!==0?this.uint32(r)._push(ta,r,t):this._push(oa,1,0)}fork(){return this.states=new sa(this),this.head=this.tail=new Tr(ia,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Tr(ia,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=ng(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function oa(e,t,r){t[r]=e&255}function ig(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var aa=class extends Tr{next;constructor(t,r){super(ig,t,r),this.next=void 0}};function Kn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function On(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function og(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Mn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(sg,t,e),this},Mn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(ag,t,e),this});function sg(e,t,r){t.set(e,r)}function ag(e,t,r){e.length<40?ta(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Ct(e),r)}function ca(){return new Mn}function _r(e,t){let r=ca();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var nn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(nn||(nn={}));function Zi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function fa(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return Zi("enum",nn.VARINT,r,n)}function Lr(e,t){return Zi("message",nn.LENGTH_DELIMITED,e,t)}var Bt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Bt||(Bt={}));var ua;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ua||(ua={}));(function(e){e.codec=()=>fa(ua)})(Bt||(Bt={}));var Ne;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.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=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(Ne||(Ne={}));var Pe;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Bt.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=Bt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(Pe||(Pe={}));var Fn=class{_key;constructor(t){this._key=on(t,en)}async verify(t,r){return Xf(this._key,r,t)}marshal(){return this._key}get bytes(){return Ne.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}},Rr=class{_key;_publicKey;constructor(t,r){this._key=on(t,Ye),this._publicKey=on(r,en)}async sign(t){return Zf(this._key,t)}get public(){return new Fn(this._publicKey)}marshal(){return this._key}get bytes(){return Pe.encode({Type:Bt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}async id(){let t=ar.digest(this.public.bytes);return At.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return rn(this.bytes,t);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function cg(e){if(e.length>Ye){e=on(e,Ye+en);let n=e.subarray(0,Ye),i=e.subarray(Ye,e.length);return new Rr(n,i)}e=on(e,Ye);let t=e.subarray(0,Ye),r=e.subarray(en);return new Rr(t,r)}function fg(e){return e=on(e,en),new Fn(e)}async function ug(){let{privateKey:e,publicKey:t}=Wf();return new Rr(e,t)}async function au(e){let{privateKey:t,publicKey:r}=Yf(e);return new Rr(t,r)}function on(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new nt(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var bw=Zt(Rt(),1),vw=Zt(Hi(),1),cu=Zt(yt(),1);function Se(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return it(r,"base64url")}function ne(e){let t=fu(e);return new cu.default.jsbn.BigInteger(it(t,"base16"),16)}function fu(e,t){let r=Ct(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return r}var lg={"P-256":256,"P-384":384,"P-521":521},hg=Object.keys(lg),Rw=hg.join(" / ");var ga={};Pt(ga,{MAX_KEY_SIZE:()=>zn,RsaPrivateKey:()=>sn,RsaPublicKey:()=>Hn,fromJwk:()=>Sg,generateKeyPair:()=>Bg,unmarshalRsaPrivateKey:()=>wg,unmarshalRsaPublicKey:()=>Eg});var qn=Zt(yt(),1);var y8=Zt(pu(),1);function Qi(e){if(isNaN(e)||e<=0)throw new nt("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return gr(e)}var Qw=Zt($i(),1),pa=Zt(yt(),1);function yu(e,t){return t.map(r=>ne(e[r]))}function gu(e){return pa.default.pki.setRsaPrivateKey(...yu(e,["n","e","d","p","q","dp","dq","qi"]))}function xu(e){return pa.default.pki.setRsaPublicKey(...yu(e,["n","e"]))}var Pr={};Pt(Pr,{jwkToPkcs1:()=>gg,jwkToPkix:()=>mg,pkcs1ToJwk:()=>yg,pkixToJwk:()=>xg});var t8=Zt(Dn(),1),e8=Zt($i(),1);var Ze=Zt(yt(),1);function yg(e){let t=Ze.default.asn1.fromDer(it(e,"ascii")),r=Ze.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e),d:Se(r.d),p:Se(r.p),q:Se(r.q),dp:Se(r.dP),dq:Se(r.dQ),qi:Se(r.qInv),alg:"RS256"}}function gg(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new nt("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Ze.default.pki.privateKeyToAsn1({n:ne(e.n),e:ne(e.e),d:ne(e.d),p:ne(e.p),q:ne(e.q),dP:ne(e.dp),dQ:ne(e.dq),qInv:ne(e.qi)});return Ct(Ze.default.asn1.toDer(t).getBytes(),"ascii")}function xg(e){let t=Ze.default.asn1.fromDer(it(e,"ascii")),r=Ze.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Se(r.n),e:Se(r.e)}}function mg(e){if(e.n==null||e.e==null)throw new nt("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Ze.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return Ct(Ze.default.asn1.toDer(t).getBytes(),"ascii")}async function mu(e){let t=await te.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await wu(t);return{privateKey:r[0],publicKey:r[1]}}async function ya(e){let r=[await te.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await bg(e)],n=await wu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function bu(e,t){let r=await te.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await te.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function vu(e,t,r){let n=await te.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return te.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function wu(e){if(e.privateKey==null||e.publicKey==null)throw new nt("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([te.get().subtle.exportKey("jwk",e.privateKey),te.get().subtle.exportKey("jwk",e.publicKey)])}async function bg(e){return te.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Eu(e,t,r,n){let i=t?xu(e):gu(e),o=it(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return Ct(s,"ascii")}function Su(e,t){return Eu(e,!0,t,(r,n)=>n.encrypt(r))}function Bu(e,t){return Eu(e,!1,t,(r,n)=>n.decrypt(r))}function Ji(e){if(e.kty!=="RSA")throw new nt("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new nt("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Ct(e.n,"base64url").length*8}var zn=8192,Hn=class{_key;constructor(t){this._key=t}async verify(t,r){return vu(this._key,r,t)}marshal(){return Pr.jwkToPkix(this._key)}get bytes(){return Ne.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Su(this._key,t)}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}},sn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Qi(16)}async sign(t){return bu(this._key,t)}get public(){if(this._publicKey==null)throw new nt("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hn(this._publicKey)}decrypt(t){return Bu(this._key,t)}marshal(){return Pr.jwkToPkcs1(this._key)}get bytes(){return Pe.encode({Type:Bt.RSA,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return it(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new qn.default.util.ByteBuffer(this.marshal()),i=qn.default.asn1.fromDer(n),o=qn.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return qn.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return rn(this.bytes,t);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function wg(e){let t=Pr.pkcs1ToJwk(e);if(Ji(t)>zn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await ya(t);return new sn(r.privateKey,r.publicKey)}function Eg(e){let t=Pr.pkixToJwk(e);if(Ji(t)>zn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hn(t)}async function Sg(e){if(Ji(e)>zn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await ya(e);return new sn(t.privateKey,t.publicKey)}async function Bg(e){if(e>zn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await mu(e);return new sn(t.privateKey,t.publicKey)}var va={};Pt(va,{Secp256k1PrivateKey:()=>$n,Secp256k1PublicKey:()=>Gn,generateKeyPair:()=>Ug,unmarshalSecp256k1PrivateKey:()=>Dg,unmarshalSecp256k1PublicKey:()=>kg});function Ag(e){let t=wn(e);se(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Cg,hexToBytes:Ig}=vi,Dr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Dr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Cg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Dr,r=typeof e=="string"?Ig(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Dr._parseInt(r.subarray(2)),{d:s,l:a}=Dr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=t(r(e.s)),i=t(r(e.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}`}},Xe=BigInt(0),fe=BigInt(1),w8=BigInt(2),Au=BigInt(3),E8=BigInt(4);function Tg(e){let t=Ag(e),{Fp:r}=t,n=t.toBytes||((h,p,y)=>{let x=p.toAffine();return qe(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:x}});function o(h){let{a:p,b:y}=t,x=r.sqr(h),v=r.mul(x,h);return r.add(r.add(v,r.mul(h,p)),y)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&Xe<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:x,n:v}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Me(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let m;try{m=typeof h=="bigint"?h:Fe(mt("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return x&&(m=ct(m,v)),a(m),m}let f=new Map;function u(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,x){if(this.px=p,this.py=y,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:y,y:x}=p||{};if(!p||!r.isValid(y)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let v=m=>r.eql(m,r.ZERO);return v(y)&&v(x)?l.ZERO:new l(y,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(x=>x.pz));return p.map((x,v)=>x.toAffine(y[v])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(mt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let x=r.sqr(y),v=o(p);if(!r.eql(x,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:A,pz:S}=p,B=r.eql(r.mul(y,S),r.mul(m,v)),R=r.eql(r.mul(x,S),r.mul(A,v));return B&&R}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=t,x=r.mul(y,Au),{px:v,py:m,pz:A}=this,S=r.ZERO,B=r.ZERO,R=r.ZERO,_=r.mul(v,v),O=r.mul(m,m),M=r.mul(A,A),U=r.mul(v,m);return U=r.add(U,U),R=r.mul(v,A),R=r.add(R,R),S=r.mul(p,R),B=r.mul(x,M),B=r.add(S,B),S=r.sub(O,B),B=r.add(O,B),B=r.mul(S,B),S=r.mul(U,S),R=r.mul(x,R),M=r.mul(p,M),U=r.sub(_,M),U=r.mul(p,U),U=r.add(U,R),R=r.add(_,_),_=r.add(R,_),_=r.add(_,M),_=r.mul(_,U),B=r.add(B,_),M=r.mul(m,A),M=r.add(M,M),_=r.mul(M,U),S=r.sub(S,_),R=r.mul(M,O),R=r.add(R,R),R=r.add(R,R),new l(S,B,R)}add(p){u(p);let{px:y,py:x,pz:v}=this,{px:m,py:A,pz:S}=p,B=r.ZERO,R=r.ZERO,_=r.ZERO,O=t.a,M=r.mul(t.b,Au),U=r.mul(y,m),H=r.mul(x,A),z=r.mul(v,S),Z=r.add(y,x),C=r.add(m,A);Z=r.mul(Z,C),C=r.add(U,H),Z=r.sub(Z,C),C=r.add(y,v);let N=r.add(m,S);return C=r.mul(C,N),N=r.add(U,z),C=r.sub(C,N),N=r.add(x,v),B=r.add(A,S),N=r.mul(N,B),B=r.add(H,z),N=r.sub(N,B),_=r.mul(O,C),B=r.mul(M,z),_=r.add(B,_),B=r.sub(H,_),_=r.add(H,_),R=r.mul(B,_),H=r.add(U,U),H=r.add(H,U),z=r.mul(O,z),C=r.mul(M,C),H=r.add(H,z),z=r.sub(U,z),z=r.mul(O,z),C=r.add(C,z),U=r.mul(H,C),R=r.add(R,U),U=r.mul(N,C),B=r.mul(Z,B),B=r.sub(B,U),U=r.mul(Z,H),_=r.mul(N,_),_=r.add(_,U),new l(B,R,_)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return g.wNAFCached(this,f,p,y=>{let x=r.invertBatch(y.map(v=>v.pz));return y.map((v,m)=>v.toAffine(x[m])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===Xe)return y;if(a(p),p===fe)return this;let{endo:x}=t;if(!x)return g.unsafeLadder(this,p);let{k1neg:v,k1:m,k2neg:A,k2:S}=x.splitScalar(p),B=y,R=y,_=this;for(;m>Xe||S>Xe;)m&fe&&(B=B.add(_)),S&fe&&(R=R.add(_)),_=_.double(),m>>=fe,S>>=fe;return v&&(B=B.negate()),A&&(R=R.negate()),R=new l(r.mul(R.px,x.beta),R.py,R.pz),B.add(R)}multiply(p){a(p);let y=p,x,v,{endo:m}=t;if(m){let{k1neg:A,k1:S,k2neg:B,k2:R}=m.splitScalar(y),{p:_,f:O}=this.wNAF(S),{p:M,f:U}=this.wNAF(R);_=g.constTimeNegate(A,_),M=g.constTimeNegate(B,M),M=new l(r.mul(M.px,m.beta),M.py,M.pz),x=_.add(M),v=O.add(U)}else{let{p:A,f:S}=this.wNAF(y);x=A,v=S}return l.normalizeZ([x,v])[0]}multiplyAndAddUnsafe(p,y,x){let v=l.BASE,m=(S,B)=>B===Xe||B===fe||!S.equals(v)?S.multiplyUnsafe(B):S.multiply(B),A=m(this,y).add(m(p,x));return A.is0()?void 0:A}toAffine(p){let{px:y,py:x,pz:v}=this,m=this.is0();p==null&&(p=m?r.ONE:r.inv(v));let A=r.mul(y,p),S=r.mul(x,p),B=r.mul(v,p);if(m)return{x:r.ZERO,y:r.ZERO};if(!r.eql(B,r.ONE))throw new Error("invZ was invalid");return{x:A,y:S}}isTorsionFree(){let{h:p,isTorsionFree:y}=t;if(p===fe)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=t;return p===fe?this:y?y(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Me(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,g=Si(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function _g(e){let t=wn(e);return se(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Cu(e){let t=_g(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return Xe<C&&C<r.ORDER}function a(C){return ct(C,n)}function c(C){return wi(C,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:d}=Tg({...t,toBytes(C,N,T){let L=N.toAffine(),w=r.toBytes(L.x),k=qe;return T?k(Uint8Array.from([N.hasEvenY()?2:3]),w):k(Uint8Array.from([4]),w,r.toBytes(L.y))},fromBytes(C){let N=C.length,T=C[0],L=C.subarray(1);if(N===i&&(T===2||T===3)){let w=Fe(L);if(!s(w))throw new Error("Point is not on curve");let k=l(w),K=r.sqrt(k),V=(K&fe)===fe;return(T&1)===1!==V&&(K=r.neg(K)),{x:w,y:K}}else if(N===o&&T===4){let w=r.fromBytes(L.subarray(0,r.BYTES)),k=r.fromBytes(L.subarray(r.BYTES,2*r.BYTES));return{x:w,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),g=C=>Me(rr(C,t.nByteLength));function h(C){let N=n>>fe;return C>N}function p(C){return h(C)?a(-C):C}let y=(C,N,T)=>Fe(C.slice(N,T));class x{constructor(N,T,L){this.r=N,this.s=T,this.recovery=L,this.assertValidity()}static fromCompact(N){let T=t.nByteLength;return N=mt("compactSignature",N,T*2),new x(y(N,0,T),y(N,T,2*T))}static fromDER(N){let{r:T,s:L}=Dr.toSig(mt("DER",N));return new x(T,L)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new x(this.r,this.s,N)}recoverPublicKey(N){let{r:T,s:L,recovery:w}=this,k=R(mt("msgHash",N));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let K=w===2||w===3?T+t.n:T;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let V=w&1?"03":"02",W=f.fromHex(V+g(K)),Y=c(K),et=a(-k*Y),X=a(L*Y),J=f.BASE.multiplyAndAddUnsafe(W,et,X);if(!J)throw new Error("point at infinify");return J.assertValidity(),J}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return xr(this.toDERHex())}toDERHex(){return Dr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return xr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let v={isValidPrivateKey(C){try{return u(C),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let C=Qo(t.n);return H0(t.randomBytes(C),t.n)},precompute(C=8,N=f.BASE){return N._setWindowSize(C),N.multiply(BigInt(3)),N}};function m(C,N=!0){return f.fromPrivateKey(C).toRawBytes(N)}function A(C){let N=C instanceof Uint8Array,T=typeof C=="string",L=(N||T)&&C.length;return N?L===i||L===o:T?L===2*i||L===2*o:C instanceof f}function S(C,N,T=!0){if(A(C))throw new Error("first arg must be private key");if(!A(N))throw new Error("second arg must be public key");return f.fromHex(N).multiply(u(C)).toRawBytes(T)}let B=t.bits2int||function(C){let N=Fe(C),T=C.length*8-t.nBitLength;return T>0?N>>BigInt(T):N},R=t.bits2int_modN||function(C){return a(B(C))},_=vn(t.nBitLength);function O(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(Xe<=C&&C<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return rr(C,t.nByteLength)}function M(C,N,T=U){if(["recovered","canonical"].some(dt=>dt in T))throw new Error("sign() legacy options not supported");let{hash:L,randomBytes:w}=t,{lowS:k,prehash:K,extraEntropy:V}=T;k==null&&(k=!0),C=mt("msgHash",C),K&&(C=mt("prehashed msgHash",L(C)));let W=R(C),Y=u(N),et=[O(Y),O(W)];if(V!=null){let dt=V===!0?w(r.BYTES):V;et.push(mt("extraEntropy",dt))}let X=qe(...et),J=W;function gt(dt){let Vt=B(dt);if(!d(Vt))return;let qt=c(Vt),Nt=f.BASE.multiply(Vt).toAffine(),Gt=a(Nt.x);if(Gt===Xe)return;let Ue=a(qt*a(J+Gt*Y));if(Ue===Xe)return;let dr=(Nt.x===Gt?0:2)|Number(Nt.y&fe),yn=Ue;return k&&h(Ue)&&(yn=p(Ue),dr^=1),new x(Gt,yn,dr)}return{seed:X,k2sig:gt}}let U={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};function z(C,N,T=U){let{seed:L,k2sig:w}=M(C,N,T),k=t;return $o(k.hash.outputLen,k.nByteLength,k.hmac)(L,w)}f.BASE._setWindowSize(8);function Z(C,N,T,L=H){let w=C;if(N=mt("msgHash",N),T=mt("publicKey",T),"strict"in L)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:K}=L,V,W;try{if(typeof w=="string"||w instanceof Uint8Array)try{V=x.fromDER(w)}catch(Nt){if(!(Nt instanceof Dr.Err))throw Nt;V=x.fromCompact(w)}else if(typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint"){let{r:Nt,s:Gt}=w;V=new x(Nt,Gt)}else throw new Error("PARSE");W=f.fromHex(T)}catch(Nt){if(Nt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&V.hasHighS())return!1;K&&(N=t.hash(N));let{r:Y,s:et}=V,X=R(N),J=c(et),gt=a(X*J),dt=a(Y*J),Vt=f.BASE.multiplyAndAddUnsafe(W,gt,dt)?.toAffine();return Vt?a(Vt.x)===Y:!1}return{CURVE:t,getPublicKey:m,getSharedSecret:S,sign:z,verify:Z,ProjectivePoint:f,Signature:x,utils:v}}function Lg(e){return{hash:e,hmac:(t,...r)=>zr(e,t,yi(...r)),randomBytes:gr}}function Iu(e,t){let r=n=>Cu({...e,...Lg(n)});return Object.freeze({...r(t),create:r})}var Lu=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Tu=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Rg=BigInt(1),xa=BigInt(2),_u=(e,t)=>(e+t/xa)/t;function Ng(e){let t=Lu,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=e*e*e%t,u=f*f*e%t,l=bt(u,r,t)*u%t,d=bt(l,r,t)*u%t,g=bt(d,xa,t)*f%t,h=bt(g,i,t)*g%t,p=bt(h,o,t)*h%t,y=bt(p,a,t)*p%t,x=bt(y,c,t)*y%t,v=bt(x,a,t)*p%t,m=bt(v,r,t)*u%t,A=bt(m,s,t)*h%t,S=bt(A,n,t)*f%t,B=bt(S,xa,t);if(!ma.eql(ma.sqr(B),e))throw new Error("Cannot find square root");return B}var ma=Ei(Lu,void 0,void 0,{sqrt:Ng}),Qe=Iu({a:BigInt(0),b:BigInt(7),Fp:ma,n:Tu,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Tu,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Rg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=_u(o*e,t),c=_u(-n*e,t),f=ct(e-a*r-c*i,t),u=ct(-a*n-c*o,t),l=f>s,d=u>s;if(l&&(f=t-f),d&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},Gr),R8=BigInt(0);var N8=Qe.ProjectivePoint;function Ru(){return Qe.utils.randomPrivateKey()}async function Nu(e,t){let{digest:r}=await zt.digest(t instanceof Uint8Array?t:t.subarray());try{return Qe.sign(r,e).toDERRawBytes()}catch(n){throw new nt(String(n),"ERR_INVALID_INPUT")}}async function Pu(e,t,r){try{let{digest:n}=await zt.digest(r instanceof Uint8Array?r:r.subarray());return Qe.verify(t,n,e)}catch(n){throw new nt(String(n),"ERR_INVALID_INPUT")}}function Du(e){return Qe.ProjectivePoint.fromHex(e).toRawBytes(!0)}function ku(e){try{Qe.getPublicKey(e,!0)}catch(t){throw new nt(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ba(e){try{Qe.ProjectivePoint.fromHex(e)}catch(t){throw new nt(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Uu(e){try{return Qe.getPublicKey(e,!0)}catch(t){throw new nt(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Gn=class{_key;constructor(t){ba(t),this._key=t}async verify(t,r){return Pu(this._key,r,t)}marshal(){return Du(this._key)}get bytes(){return Ne.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}},$n=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Uu(t),ku(this._key),ba(this._publicKey)}async sign(t){return Nu(this._key,t)}get public(){return new Gn(this._publicKey)}marshal(){return this._key}get bytes(){return Pe.encode({Type:Bt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return It(this.bytes,t.bytes)}async hash(){let{bytes:t}=await zt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return it(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return rn(this.bytes,t);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Dg(e){return new $n(e)}function kg(e){return new Gn(e)}async function Ug(){let e=Ru();return new $n(e)}var kr={rsa:ga,ed25519:la,secp256k1:va};function Ku(e){let t=Object.keys(kr).join(" / ");return new nt(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ou(e){let t=Ne.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return kr.rsa.unmarshalRsaPublicKey(r);case Bt.Ed25519:return kr.ed25519.unmarshalEd25519PublicKey(r);case Bt.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ku(t.Type??"unknown")}}async function Mu(e){let t=Pe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Bt.RSA:return kr.rsa.unmarshalRsaPrivateKey(r);case Bt.Ed25519:return kr.ed25519.unmarshalEd25519PrivateKey(r);case Bt.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ku(t.Type??"RSA")}}var Fu=Symbol.for("@libp2p/peer-id");var Og=Symbol.for("nodejs.util.inspect.custom"),Vu=Object.values(Ae).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ae.identity.decoder),qu=114,wa=36,Ea=37,Wn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Fu]=!0;toString(){return this.string==null&&(this.string=At.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(qu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return It(this.multihash.bytes,t);if(typeof t=="string")return Sa(t).equals(this);if(t?.multihash?.bytes!=null)return It(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Og](){return`PeerId(${this.toString()})`}},an=class extends Wn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},cn=class extends Wn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},fn=class extends Wn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Sa(e,t){if(t=t??Vu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=sr(At.decode(`z${e}`));return e.startsWith("12D")?new cn({multihash:r}):e.startsWith("16U")?new fn({multihash:r}):new an({multihash:r})}return Mg(Vu.decode(e))}function Mg(e){try{let t=sr(e);if(t.code===ar.code){if(t.digest.length===wa)return new cn({multihash:t});if(t.digest.length===Ea)return new fn({multihash:t})}if(t.code===zt.code)return new an({multihash:t})}catch{return Fg(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Fg(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==qu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===zt.code)return new an({multihash:e.multihash});if(t.code===ar.code){if(t.digest.length===wa)return new cn({multihash:e.multihash});if(t.digest.length===Ea)return new fn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ba(e,t){return e.length===wa?new cn({multihash:me(ar.code,e),privateKey:t}):e.length===Ea?new fn({multihash:me(ar.code,e),privateKey:t}):new an({multihash:await zt.digest(e),publicKey:e,privateKey:t})}var ji;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(ji||(ji={}));var Yn;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),ji.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:rt(0),identitySig:rt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=ji.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(Yn||(Yn={}));async function Hu(e,t,r){let n=await qg(e,zu(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return Vg(e.publicKey,n,r)}function Vg(e,t,r){return Yn.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function qg(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await Mu(e.privateKey)).sign(t)}async function Aa(e){return Ba(e.identityKey)}function Ca(e){return Yn.decode(e)}function zu(e){let t=Ct("noise-libp2p-static-key:");return ut([t,e],t.length+e.length)}async function Ia(e,t,r){let n=await Ba(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=zu(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Ou(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Zn(e){return!(!(e instanceof Uint8Array)||e.length!==32)}var oe=Zt(Zu(),1);oe.default.formatters.b=e=>e==null?"undefined":At.baseEncode(e);oe.default.formatters.t=e=>e==null?"undefined":xe.baseEncode(e);oe.default.formatters.m=e=>e==null?"undefined":Wr.baseEncode(e);oe.default.formatters.p=e=>e==null?"undefined":e.toString();oe.default.formatters.c=e=>e==null?"undefined":e.toString();oe.default.formatters.k=e=>e==null?"undefined":e.toString();oe.default.formatters.a=e=>e==null?"undefined":e.toString();function ex(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function Xu(e){let t=ex(`${e}:trace`);return oe.default.enabled(`${e}:trace`)&&oe.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,oe.default)(`${e}:trace`)),Object.assign((0,oe.default)(e),{error:(0,oe.default)(`${e}:error`),trace:t})}var Ft=Xu("libp2p:noise");var ue;v0?ue=Ft:ue=Object.assign(()=>{},{enabled:!1,trace:()=>{},error:()=>{}});function Qu(e){ue(`LOCAL_STATIC_PUBLIC_KEY ${it(e.publicKey,"hex")}`),ue(`LOCAL_STATIC_PRIVATE_KEY ${it(e.privateKey,"hex")}`)}function Ta(e){e?(ue(`LOCAL_PUBLIC_EPHEMERAL_KEY ${it(e.publicKey,"hex")}`),ue(`LOCAL_PRIVATE_EPHEMERAL_KEY ${it(e.privateKey,"hex")}`)):ue("Missing local ephemeral keys.")}function Ju(e){ue(`REMOTE_STATIC_PUBLIC_KEY ${it(e,"hex")}`)}function _a(e){ue(`REMOTE_EPHEMERAL_PUBLIC_KEY ${it(e,"hex")}`)}function ju(e){e.cs1&&e.cs2?(ue(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${it(e.cs1.k,"hex")}`),ue(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${it(e.cs2.k,"hex")}`)):ue("Missing cipher state.")}var rx=0,nx=4294967295,ix="Cipherstate has reached maximum n, a new handshake must be performed",ro=class{n;bytes;view;constructor(t=rx){this.n=t,this.bytes=rt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>nx)throw new Error(ix)}};var no=class{crypto;constructor(t){this.crypto=t}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return rt(32)}isEmptyKey(t){let r=this.createEmptyKey();return It(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:rt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return Ft.error(i),rt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(ut([t,r],t.length+r.length))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new ro}}initializeSymmetric(t){let r=Ct(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=rt(32);return r.set(t),r}else return this.getHash(t,rt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,rt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,rt(0),r),i=this.createEmptyKey(),o=rt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,rt(0),r.ciphertext)}};var io=class extends no{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=rt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=rt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=rt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:f}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:f}}readMessageA(t,r){return Zn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Zn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Zn(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Zn(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=rt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=rt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:f}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=f}return t.mc++,{plaintext:n,valid:i}}};var oo=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;constructor(t,r,n,i,o,s,a,c){this.isInitiator=t,this.payload=r,this.prologue=n,this.staticKeypair=o,this.connection=s,a&&(this.remotePeer=a),this.xx=c??new io(i),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Qu(this.session.hs.s),this.isInitiator){Ft.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,rt(0));await this.connection.write(vc(t)),Ft.trace("Stage 0 - Initiator finished sending first message."),Ta(this.session.hs.e)}else{Ft.trace("Stage 0 - Responder waiting to receive first message...");let t=Sc((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new vr("xx handshake stage 0 validation fail");Ft.trace("Stage 0 - Responder received first message."),_a(this.session.hs.re)}}async exchange(){if(this.isInitiator){Ft.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Bc((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new vr("xx handshake stage 1 validation fail");Ft.trace("Stage 1 - Initiator received the message."),_a(this.session.hs.re),Ju(this.session.hs.rs),Ft.trace("Initiator going to check remote's signature...");try{let i=Ca(r);this.remotePeer=this.remotePeer||await Aa(i),await Ia(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ln(`Error occurred while verifying signed payload: ${o.message}`)}Ft.trace("All good with the signature!")}else{Ft.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(wc(t)),Ft.trace("Stage 1 - Responder sent the second handshake message with signed payload."),Ta(this.session.hs.e)}}async finish(){if(this.isInitiator){Ft.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Ec(t)),Ft.trace("Stage 2 - Initiator sent message with signed payload.")}else{Ft.trace("Stage 2 - Responder waiting for third handshake message...");let t=Ac((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new vr("xx handshake stage 2 validation fail");Ft.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=Ca(r);this.remotePeer=this.remotePeer||await Aa(i),await Ia(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ln(`Error occurred while verifying signed payload: ${o.message}`)}}ju(this.session)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,rt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,rt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new vr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function tl(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var so=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;constructor(t={}){let{staticNoiseKey:r,extensions:n,crypto:i,prologueBytes:o,metrics:s}=t;this.crypto=i??tc,this.extensions=n,this.metrics=s?tl(s):void 0,r?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(r):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=o??rt(0)}async secureOutbound(t,r,n){let i=Io(r,{lengthEncoder:Xr,lengthDecoder:Tn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=Io(r,{lengthEncoder:Xr,lengthDecoder:Tn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Hu(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new oo(n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=y0(),o=t.unwrap();return await x0(n,Tc(r,this.metrics),o,s=>mn(s,{lengthDecoder:Tn}),_c(r,this.metrics),n),i}};function el(e={}){return()=>new so(e)}var nl=Symbol.for("@libp2p/transport");var rl;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(rl||(rl={}));var ao=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let 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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var il=45,ox=15,dn=new ao;function La(e){if(!(e.length>ox))return dn.new(e).parseWith(()=>dn.readIPv4Addr())}function Ra(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>il))return dn.new(e).parseWith(()=>dn.readIPv6Addr())}function co(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>il))return dn.new(e).parseWith(()=>dn.readIPAddr())}var BE=parseInt("0xFFFF",16),AE=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function fo(e){return!!La(e)}function uo(e){return!!Ra(e)}function lo(e){return!!co(e)}var al=fo,ux=uo,Na=function(e){let t=0;if(e=e.toString().trim(),al(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(ux(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=al(r[n]),s;o&&(s=Na(r[n]),r[n]=it(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,it(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},cl=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var pn={},Pa={},hx=[[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"]];hx.forEach(e=>{let t=dx(...e);Pa[t.code]=t,pn[t.name]=t});function dx(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function ht(e){if(typeof e=="number"){if(Pa[e]!=null)return Pa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(pn[e]!=null)return pn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var c3=ht("ip4"),f3=ht("ip6"),u3=ht("ipcidr");function ka(e,t){switch(ht(e).code){case 4:case 41:return yx(t);case 42:return ll(t);case 6:case 273:case 33:case 132:return dl(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ll(t);case 421:return bx(t);case 444:return hl(t);case 445:return hl(t);case 466:return mx(t);default:return it(t,"base16")}}function Ua(e,t){switch(ht(e).code){case 4:return fl(t);case 41:return fl(t);case 42:return ul(t);case 6:case 273:case 33:case 132:return Ka(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ul(t);case 421:return gx(t);case 444:return vx(t);case 445:return wx(t);case 466:return xx(t);default:return Ct(t,"base16")}}var Da=Object.values(Ae).map(e=>e.decoder),px=function(){let e=Da[0].or(Da[1]);return Da.slice(2).forEach(t=>e=e.or(t)),e}();function fl(e){if(!lo(e))throw new Error("invalid ip address");return Na(e)}function yx(e){let t=cl(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!lo(t))throw new Error("invalid ip address");return t}function Ka(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function dl(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function ul(e){let t=Ct(e),r=Uint8Array.from(Je(t.length));return ut([r,t],r.length+t.length)}function ll(e){let t=he(e);if(e=e.slice(Wt(t)),e.length!==t)throw new Error("inconsistent lengths");return it(e)}function gx(e){let t;e[0]==="Q"||e[0]==="1"?t=sr(At.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(Je(t.length));return ut([r,t],r.length+t.length)}function xx(e){let t=px.decode(e),r=Uint8Array.from(Je(t.length));return ut([r,t],r.length+t.length)}function mx(e){let t=he(e),r=e.slice(Wt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+it(r,"base64url")}function bx(e){let t=he(e),r=e.slice(Wt(t));if(r.length!==t)throw new Error("inconsistent lengths");return it(r,"base58btc")}function vx(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=xe.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ka(n);return ut([r,i],r.length+i.length)}function wx(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=xe.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ka(n);return ut([r,i],r.length+i.length)}function hl(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=it(t,"base32"),i=dl(r);return`${n}:${i}`}function pl(e){e=Oa(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ht(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw gl("invalid address: "+e);if(a.path===!0){n=Oa(i.slice(o).join("/")),t.push([a.code,Ua(a.code,n)]),r.push([a.code,n]);break}let c=Ua(a.code,i[o]);t.push([a.code,c]),r.push([a.code,ka(a.code,c)])}return{string:yl(r),bytes:Fa(t),tuples:t,stringTuples:r,path:n}}function Ma(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=he(e,i),s=Wt(o),a=ht(o),c=Ex(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let f=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw gl("Invalid address Uint8Array: "+it(e,"base16"));t.push([o,f]);let u=ka(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:yl(r),tuples:t,stringTuples:r,path:n}}function yl(e){let t=[];return e.map(r=>{let n=ht(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Oa(t.join("/"))}function Fa(e){return ut(e.map(t=>{let r=ht(t[0]),n=Uint8Array.from(Je(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n}))}function Ex(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=he(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Wt(r)}}function Oa(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function gl(e){return new Error("Error parsing address: "+e)}var Sx=Symbol.for("nodejs.util.inspect.custom"),qa=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Bx=[ht("dns").code,ht("dns4").code,ht("dns6").code,ht("dnsaddr").code],Va=class e{bytes;#e;#t;#r;#n;[qa]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ma(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=pl(t)}else if(ml(t))r=Ma(t.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 t,r,n,i,o="",s=ht("tcp"),a=ht("udp"),c=ht("ip4"),f=ht("ip6"),u=ht("dns6"),l=ht("ip6zone");for(let[g,h]of this.stringTuples())g===l.code&&(o=`%${h??""}`),Bx.includes(g)&&(r=s.name,i=443,n=`${h??""}${o}`,t=g===u.code?6:4),(g===s.code||g===a.code)&&(r=ht(g).name,i=parseInt(h??"")),(g===c.code||g===f.code)&&(r=ht(g).name,n=`${h??""}${o}`,t=g===f.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},ht(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>ht(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Fa(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===pn.p2p.code&&t.push([n,i]),n===pn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?it(At.decode(`z${n}`),"base58btc"):it(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return It(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=xl.get(r.name);if(n==null)throw new nt(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Sx](){return`Multiaddr(${this.#e})`}};var xl=new Map;function ml(e){return!!e?.[qa]}var Ax=e=>e.toString().split("/").slice(1),Xn=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),_t=e=>({match:t=>Xn(r=>r===e).match(t),pattern:e}),yo=()=>({match:e=>Xn(t=>typeof t=="string").match(e),pattern:"{string}"}),bl=()=>({match:e=>Xn(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),le=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{At.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),ho=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{gs.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),De=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),ke=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Lt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Ut(...e){function t(i){let o=Ax(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var za=Lt(_t("dns4"),yo()),Ga=Lt(_t("dns6"),yo()),$a=Lt(_t("dnsaddr"),yo()),vl=Lt(_t("dns"),yo()),F3=Ut(za),V3=Ut(Ga),q3=Ut($a),H3=Ut(ke(vl,$a,za,Ga)),wl=Lt(_t("ip4"),Xn(fo)),El=Lt(_t("ip6"),Xn(uo)),Sl=ke(wl,El),Qn=ke(Sl,vl,za,Ga,$a),z3=Ut(Qn),G3=Ut(wl),$3=Ut(El),W3=Ut(Sl),go=Lt(Qn,_t("tcp"),bl()),Jn=Lt(Qn,_t("udp"),bl()),Cx=ke(go,Jn),Y3=Ut(go),Z3=Ut(Jn),Wa=Lt(Jn,_t("quic")),xo=Lt(Jn,_t("quic-v1")),Ix=ke(Wa,xo),X3=Ut(Wa),Q3=Ut(xo),Ha=ke(Qn,go,Jn,Wa,xo),Bl=ke(Lt(Ha,_t("ws"),De(le()))),J3=Ut(Bl),Al=ke(Lt(Ha,_t("wss"),De(le())),Lt(Ha,_t("tls"),_t("ws"),De(le()))),j3=Ut(Al),Cl=Lt(Cx,_t("webrtc-direct"),ho(),De(ho()),De(le())),tS=Ut(Cl),Il=Lt(xo,_t("webtransport"),ho(),ho(),De(le())),mo=Ut(Il),po=ke(Bl,Al,Lt(go,De(le())),Lt(Ix,De(le())),Lt(Qn,De(le())),Cl,Il,le()),eS=Ut(po),Tx=Lt(po,_t("p2p-circuit"),le()),rS=Ut(Tx),_x=ke(Lt(po,_t("p2p-circuit"),_t("webrtc"),le()),Lt(po,_t("webrtc"),De(le())),_t("webrtc")),nS=Ut(_x);async function Ya(e,t,r,n,i,o){let s=o.forComponent(`libp2p:webtransport:stream:${r}:${t}`),a=e.writable.getWriter(),c=e.readable.getReader();await a.ready;function f(){let h=n.findIndex(p=>p===g);h!==-1&&(n.splice(h,1),g.timeline.close=Date.now(),i?.(g))}let u=!1,l=!1;(async function(){let h=await a.closed.catch(p=>p);if(h!=null){let p=h.message;p.includes("aborted by the remote server")||p.includes("STOP_SENDING")||s.error(`WebTransport writer closed unexpectedly: streamId=${t} err=${h.message}`)}u=!0,u&&l&&f()})().catch(()=>{s.error("WebTransport failed to cleanup closed stream")}),async function(){let h=await c.closed.catch(p=>p);h!=null&&s.error(`WebTransport reader closed unexpectedly: streamId=${t} err=${h.message}`),l=!0,u&&l&&f()}().catch(()=>{s.error("WebTransport failed to cleanup closed stream")});let d=!1,g={id:t,status:"open",writeStatus:"ready",readStatus:"ready",abort(h){u||(a.abort(h).catch(p=>{s.error("could not abort stream",p)}),u=!0),l=!0,this.status="aborted",this.writeStatus="closed",this.readStatus="closed",this.timeline.reset=this.timeline.close=this.timeline.closeRead=this.timeline.closeWrite=Date.now(),f()},async close(h){this.status="closing",await Promise.all([g.closeRead(h),g.closeWrite(h)]),f(),this.status="closed",this.timeline.close=Date.now()},async closeRead(h){if(!l){this.readStatus="closing";try{await c.cancel()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(u=!0)}this.timeline.closeRead=Date.now(),this.readStatus="closed",l=!0}u&&f()},async closeWrite(h){if(!u){u=!0,this.writeStatus="closing";try{await a.close()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(l=!0)}this.timeline.closeWrite=Date.now(),this.writeStatus="closed"}l&&f()},direction:r,timeline:{open:Date.now()},metadata:{},source:async function*(){for(;;){let h=await c.read();if(h.done){l=!0,u&&f();return}yield new Jt(h.value)}}(),sink:async function(h){if(d)throw new Error("sink already called on stream");d=!0;try{this.writeStatus="writing";for await(let p of h)if(p instanceof Uint8Array)await a.write(p);else for(let y of p)await a.write(y);this.writeStatus="done"}finally{this.timeline.closeWrite=Date.now(),this.writeStatus="closed",await g.closeWrite()}},log:s};return g}function Za(){return{source:{[Symbol.asyncIterator](){return{async next(){return new Promise(()=>{})}}}},sink:async e=>new Promise(()=>{})}}function Tl(e,t){return t.filter(n=>!!e.find(i=>It(n,i))).length===t.length}var Lx=Object.values(Ae).map(e=>e.decoder).reduce((e,t)=>e.or(t));function Rx(e){return Be.decode(Lx.decode(e))}function _l(e){if(!mo.matches(e))throw new nt("Invalid multiaddr, was not a WebTransport address","ERR_INVALID_MULTIADDR");let t=e.stringTuples(),r=t.filter(([s,a])=>s===ht("certhash").code).map(([s,a])=>Rx(a??"")),n=t.filter(([s,a])=>s===ht("p2p").code).map(([s,a])=>Sa(a??""))[0],i=e.toOptions(),o=i.host;return i.family===6&&o?.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${i.port}`,certhashes:r,remotePeer:n}}var Xa=class{log;components;config;metrics;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={maxInboundStreams:r.maxInboundStreams??1e3},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[nl]=!0;async dial(t,r){r?.signal?.throwIfAborted(),this.log("dialing %s",t);let n=this.components.peerId;if(n===void 0)throw new Error("Need a local peerid");r=r??{};let{url:i,certhashes:o,remotePeer:s}=_l(t);if(s==null)throw new Error("Need a target peerid");if(o.length===0)throw new Error("Expected multiaddr to contain certhashes");let a,c,f=()=>{},u=!1,l=!1,d=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let g=new WebTransport(`${i}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(h=>({algorithm:"sha-256",value:h.digest}))});if(f=h=>{if(!u)try{this.metrics?.dialerEvents.increment({[h]:!0}),g.close()}catch(p){this.log.error("error closing wt session",p)}finally{c!=null&&(c.timeline.close=Date.now()),u=!0}},a=()=>{f(l?"noise_timeout":"ready_timeout")},r.signal?.addEventListener("abort",a,{once:!0}),await Promise.race([g.closed,g.ready]),l=!0,this.metrics?.dialerEvents.increment({ready:!0}),g.closed.catch(h=>{this.log.error("error on remote wt session close",h)}).finally(()=>{f("remote_close")}),!await this.authenticateWebTransport(g,n,s,o))throw new Error("Failed to authenticate webtransport");return this.metrics?.dialerEvents.increment({open:!0}),c={close:async()=>{this.log("Closing webtransport"),f("close")},abort:h=>{this.log("aborting webtransport due to passed err",h),f("abort")},remoteAddr:t,timeline:{open:Date.now()},log:this.components.logger.forComponent("libp2p:webtransport:maconn"),...Za()},d=!0,await r.upgrader.upgradeOutbound(c,{skipEncryption:!0,muxerFactory:this.webtransportMuxer(g),skipProtection:!0})}catch(g){throw this.log.error("caught wt session err",g),f(d?"upgrade_error":l?"noise_error":"ready_error"),g}finally{a!=null&&r.signal?.removeEventListener("abort",a)}}async authenticateWebTransport(t,r,n,i){let o=await t.createBidirectionalStream(),s=o.writable.getWriter(),a=o.readable.getReader();await s.ready;let c={source:async function*(){for(;;){let l=await a.read();if(l.value!=null&&(yield l.value),l.done)break}}(),sink:async function(l){for await(let d of l)d instanceof Uint8Array?await s.write(d):await s.write(d.subarray())}},f=el()(),{remoteExtensions:u}=await f.secureOutbound(r,c,n);if(s.close().catch(l=>{this.log.error(`Failed to close authentication stream writer: ${l.message}`)}),a.cancel().catch(l=>{this.log.error(`Failed to close authentication stream reader: ${l.message}`)}),!Tl(u?.webtransportCerthashes??[],i.map(l=>l.bytes)))throw new Error("Our certhashes are not a subset of the remote's reported certhashes");return!0}webtransportMuxer(t){let r=0,n=this.config,i=this;return{protocol:"webtransport",createStreamMuxer:o=>{typeof o=="function"&&(o={onIncomingStream:o});let s=[];return async function(){let c=t.incomingBidirectionalStreams.getReader();for(;;){let{done:f,value:u}=await c.read();if(f)break;if(s.length>=n.maxInboundStreams)u.writable.close().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)}),u.readable.cancel().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)});else{let l=await Ya(u,String(r++),"inbound",s,o?.onStreamEnd,i.components.logger);s.push(l),o?.onIncomingStream?.(l)}}}().catch(()=>{this.log.error("WebTransport failed to receive incoming stream")}),{protocol:"webtransport",streams:s,newStream:async c=>{let f=await t.createBidirectionalStream(),u=await Ya(f,String(r++),o?.direction??"outbound",s,o?.onStreamEnd,i.components.logger);return s.push(u),u},close:async c=>{this.log("Closing webtransport muxer"),await Promise.all(s.map(async f=>f.close(c)))},abort:c=>{this.log("Aborting webtransport muxer with err:",c);for(let f of s)f.abort(c)},...Za()}}}}createListener(t){throw new Error("Webtransport servers are not supported in Node or the browser")}filter(t){return t.filter(mo.exactMatch)}};function Nx(e={}){return t=>new Xa(t,e)}return Hl(Px);})();
15
+ `+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function ay(e){return e.replace(/^\s+/,"")}});var mf=pt((Kv,gf)=>{var _e=yt();Er();Nt();var df=gf.exports=_e.sha256=_e.sha256||{};_e.md.sha256=_e.md.algorithms.sha256=df;df.create=function(){pf||cy();var e=null,t=_e.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 t=_e.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=_e.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 t.putBytes(i),hf(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=_e.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Ws.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};hf(l,r,i);var d=_e.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Ws=null,pf=!1,yf=null;function cy(){Ws="\x80",Ws+=_e.util.fillString("\0",64),yf=[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],pf=!0}function hf(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,m,v=r.length();v>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(u=e.h0,l=e.h1,d=e.h2,g=e.h3,h=e.h4,p=e.h5,y=e.h6,m=e.h7,f=0;f<64;++f)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(p^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|d&(u^l),n=m+s+a+yf[f]+t[f],i=o+c,m=y,y=p,p=h,h=g+n>>>0,g=d,d=l,l=u,u=n+i>>>0;e.h0=e.h0+u|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+g|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+y|0,e.h7=e.h7+m|0,v-=64}}});var bf=pt((Ov,xf)=>{var Le=yt();Nt();var Gi=null;Le.util.isNodejs&&!Le.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Gi=qi());var fy=xf.exports=Le.prng=Le.prng||{};fy.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,u){if(!u)return t.generateSync(f);var l=t.plugin.cipher,d=t.plugin.increment,g=t.plugin.formatKey,h=t.plugin.formatSeed,p=Le.util.createBuffer();t.key=null,y();function y(m){if(m)return u(m);if(p.length()>=f)return u(null,p.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return Le.util.nextTick(function(){o(y)});var v=l(t.key,t.seed);t.generated+=v.length,p.putBytes(v),t.key=g(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Le.util.setImmediate(y)}},t.generateSync=function(f){var u=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,g=t.plugin.formatSeed;t.key=null;for(var h=Le.util.createBuffer();h.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=u(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(u(t.key,l(t.seed))),t.seed=g(u(t.key,t.seed))}return h.getBytes(f)};function o(f){if(t.pools[0].messageLength>=32)return a(),f();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(l,d){if(l)return f(l);t.collect(d),a(),f()})}function s(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var u=1,l=0;l<32;++l)t.reseeds%u===0&&(f.update(t.pools[l].digest().getBytes()),t.pools[l].start()),u=u<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var d=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(f){var u=null,l=Le.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(u=function(S){return d.getRandomValues(S)});var g=Le.util.createBuffer();if(u)for(;g.length()<f;){var h=Math.max(1,Math.min(f-g.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{u(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(S){if(!(typeof QuotaExceededError<"u"&&S instanceof QuotaExceededError))throw S}}if(g.length()<f)for(var m,v,x,A=Math.floor(Math.random()*65536);g.length()<f;){v=16807*(A&65535),m=16807*(A>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),A=v&4294967295;for(var y=0;y<3;++y)x=A>>>(y<<3),x^=Math.floor(Math.random()*256),g.putByte(x&255)}return g.getBytes(f)}return Gi?(t.seedFile=function(f,u){Gi.randomBytes(f,function(l,d){if(l)return u(l);u(null,d.toString())})},t.seedFileSync=function(f){return Gi.randomBytes(f).toString()}):(t.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},t.seedFileSync=c),t.collect=function(f){for(var u=f.length,l=0;l<u;++l)t.pools[t.pool].update(f.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,u){for(var l="",d=0;d<u;d+=8)l+=String.fromCharCode(f>>d&255);t.collect(l)},t.registerWorker=function(f){if(f===self)t.seedFile=function(l,d){function g(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(g,h){f.postMessage({forge:{prng:{err:g,bytes:h}}})})};f.addEventListener("message",u)}},t}});var kn=pt((Mv,Ys)=>{var Ft=yt();$s();mf();bf();Nt();(function(){if(Ft.random&&Ft.random.getBytes){Ys.exports=Ft.random;return}(function(e){var t={},r=new Array(4),n=Ft.util.createBuffer();t.formatKey=function(l){var d=Ft.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ft.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ft.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Ft.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Ft.md.sha256;function i(){var l=Ft.prng.create(t);return l.getBytes=function(d,g){return l.generate(d,g)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Ft.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Ft.options.usePureJavaScript||!Ft.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Ft.random)Ft.random=o;else for(var u in o)Ft.random[u]=o[u];Ft.random.createInstance=i,Ys.exports=Ft.random})(typeof jQuery<"u"?jQuery:null)})()});var Sf=pt((Fv,Ef)=>{var te=yt();Nt();var Zs=[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],vf=[1,2,3,5],uy=function(e,t){return e<<t&65535|(e&65535)>>16-t},ly=function(e,t){return(e&65535)>>t|e<<16-t&65535};Ef.exports=te.rc2=te.rc2||{};te.rc2.expandKey=function(e,t){typeof e=="string"&&(e=te.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Zs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Zs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Zs[r.at(a+1)^r.at(a+o)]);return r};var wf=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(e=te.rc2.expandKey(e,t),f=0;f<64;f++)l.push(e.getInt16Le());r?(a=function(h){for(f=0;f<4;f++)h[f]+=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),h[f]=uy(h[f],vf[f]),u++},c=function(h){for(f=0;f<4;f++)h[f]+=l[h[(f+3)%4]&63]}):(a=function(h){for(f=3;f>=0;f--)h[f]=ly(h[f],vf[f]),h[f]-=l[u]+(h[(f+3)%4]&h[(f+2)%4])+(~h[(f+3)%4]&h[(f+1)%4]),u--},c=function(h){for(f=3;f>=0;f--)h[f]-=l[h[(f+3)%4]&63]});var d=function(h){var p=[];for(f=0;f<4;f++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}u=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},g=null;return g={start:function(h,p){h&&typeof h=="string"&&(h=te.util.createBuffer(h)),n=!1,i=te.util.createBuffer(),o=p||new te.util.createBuffer,s=h,g.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var p=!0;if(r)if(h)p=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?p=!1:o.truncate(v)}return p}},g};te.rc2.startEncrypting=function(e,t,r){var n=te.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};te.rc2.createEncryptionCipher=function(e,t){return wf(e,t,!0)};te.rc2.startDecrypting=function(e,t,r){var n=te.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};te.rc2.createDecryptionCipher=function(e,t){return wf(e,t,!1)}});var Yi=pt((Vv,Rf)=>{var Xs=yt();Rf.exports=Xs.jsbn=Xs.jsbn||{};var Ze,hy=0xdeadbeefcafe,Bf=(hy&16777215)==15715070;function D(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Xs.jsbn.BigInteger=D;function at(){return new D(null)}function dy(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function py(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,f=this.data[e++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function Af(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,f=this.data[e++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(D.prototype.am=Af,Ze=28):Bf&&navigator.appName=="Microsoft Internet Explorer"?(D.prototype.am=py,Ze=30):Bf&&navigator.appName!="Netscape"?(D.prototype.am=dy,Ze=26):(D.prototype.am=Af,Ze=28);D.prototype.DB=Ze;D.prototype.DM=(1<<Ze)-1;D.prototype.DV=1<<Ze;var Qs=52;D.prototype.FV=Math.pow(2,Qs);D.prototype.F1=Qs-Ze;D.prototype.F2=2*Ze-Qs;var yy="0123456789abcdefghijklmnopqrstuvwxyz",$i=new Array,jr,ue;jr=48;for(ue=0;ue<=9;++ue)$i[jr++]=ue;jr=97;for(ue=10;ue<36;++ue)$i[jr++]=ue;jr=65;for(ue=10;ue<36;++ue)$i[jr++]=ue;function Cf(e){return yy.charAt(e)}function If(e,t){var r=$i[e.charCodeAt(t)];return r??-1}function gy(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function my(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function ur(e){var t=at();return t.fromInt(e),t}function xy(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:If(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&D.ZERO.subTo(this,this)}function by(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function vy(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=Cf(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Cf(n));return i?o:"0"}function wy(){var e=at();return D.ZERO.subTo(this,e),e}function Ey(){return this.s<0?this.negate():this}function Sy(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Wi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function By(){return this.t<=0?0:this.DB*(this.t-1)+Wi(this.data[this.t-1]^this.s&this.DM)}function Ay(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Cy(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Iy(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Ty(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function _y(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Ly(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&D.ZERO.subTo(t,t)}function Ry(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Ny(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var o=at(),s=this.s,a=e.s,c=this.DB-Wi(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),d=this.FV/l,g=(1<<this.F1)/l,h=1<<this.F2,p=r.t,y=p-f,m=t??at();for(o.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),D.ONE.dlShiftTo(f,m),m.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--y>=0;){var v=r.data[--p]==u?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*g);if((r.data[p]+=o.am(0,v,r,y,0,f))<v)for(o.dlShiftTo(y,m),r.subTo(m,r);r.data[p]<--v;)r.subTo(m,r)}t!=null&&(r.drShiftTo(f,t),s!=a&&D.ZERO.subTo(t,t)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&D.ZERO.subTo(r,r)}}}function Dy(e){var t=at();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(D.ZERO)>0&&e.subTo(t,t),t}function Sr(e){this.m=e}function Py(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function ky(e){return e}function Uy(e){e.divRemTo(this.m,null,e)}function Ky(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Oy(e,t){e.squareTo(t),this.reduce(t)}Sr.prototype.convert=Py;Sr.prototype.revert=ky;Sr.prototype.reduce=Uy;Sr.prototype.mulTo=Ky;Sr.prototype.sqrTo=Oy;function My(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Br(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Fy(e){var t=at();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(D.ZERO)>0&&this.m.subTo(t,t),t}function Vy(e){var t=at();return e.copyTo(t),this.reduce(t),t}function qy(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Hy(e,t){e.squareTo(t),this.reduce(t)}function zy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Br.prototype.convert=Fy;Br.prototype.revert=Vy;Br.prototype.reduce=qy;Br.prototype.mulTo=zy;Br.prototype.sqrTo=Hy;function Gy(){return(this.t>0?this.data[0]&1:this.s)==0}function $y(e,t){if(e>4294967295||e<1)return D.ONE;var r=at(),n=at(),i=t.convert(this),o=Wi(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function Wy(e,t){var r;return e<256||t.isEven()?r=new Sr(t):r=new Br(t),this.exp(e,r)}D.prototype.copyTo=gy;D.prototype.fromInt=my;D.prototype.fromString=xy;D.prototype.clamp=by;D.prototype.dlShiftTo=Ay;D.prototype.drShiftTo=Cy;D.prototype.lShiftTo=Iy;D.prototype.rShiftTo=Ty;D.prototype.subTo=_y;D.prototype.multiplyTo=Ly;D.prototype.squareTo=Ry;D.prototype.divRemTo=Ny;D.prototype.invDigit=My;D.prototype.isEven=Gy;D.prototype.exp=$y;D.prototype.toString=vy;D.prototype.negate=wy;D.prototype.abs=Ey;D.prototype.compareTo=Sy;D.prototype.bitLength=By;D.prototype.mod=Dy;D.prototype.modPowInt=Wy;D.ZERO=ur(0);D.ONE=ur(1);function Yy(){var e=at();return this.copyTo(e),e}function Zy(){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 Xy(){return this.t==0?this.s:this.data[0]<<24>>24}function Qy(){return this.t==0?this.s:this.data[0]<<16>>16}function Jy(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function jy(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function t1(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=ur(r),i=at(),o=at(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function e1(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=If(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&D.ZERO.subTo(this,this)}function r1(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(D.ONE.shiftLeft(e-1),Js,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(D.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function n1(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function i1(e){return this.compareTo(e)==0}function o1(e){return this.compareTo(e)<0?this:e}function s1(e){return this.compareTo(e)>0?this:e}function a1(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function c1(e,t){return e&t}function f1(e){var t=at();return this.bitwiseTo(e,c1,t),t}function Js(e,t){return e|t}function u1(e){var t=at();return this.bitwiseTo(e,Js,t),t}function Tf(e,t){return e^t}function l1(e){var t=at();return this.bitwiseTo(e,Tf,t),t}function _f(e,t){return e&~t}function h1(e){var t=at();return this.bitwiseTo(e,_f,t),t}function d1(){for(var e=at(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function p1(e){var t=at();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function y1(e){var t=at();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function g1(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function m1(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+g1(this.data[e]);return this.s<0?this.t*this.DB:-1}function x1(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function b1(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=x1(this.data[r]^t);return e}function v1(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function w1(e,t){var r=D.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function E1(e){return this.changeBit(e,Js)}function S1(e){return this.changeBit(e,_f)}function B1(e){return this.changeBit(e,Tf)}function A1(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function C1(e){var t=at();return this.addTo(e,t),t}function I1(e){var t=at();return this.subTo(e,t),t}function T1(e){var t=at();return this.multiplyTo(e,t),t}function _1(e){var t=at();return this.divRemTo(e,t,null),t}function L1(e){var t=at();return this.divRemTo(e,null,t),t}function R1(e){var t=at(),r=at();return this.divRemTo(e,t,r),new Array(t,r)}function N1(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function D1(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Un(){}function Lf(e){return e}function P1(e,t,r){e.multiplyTo(t,r)}function k1(e,t){e.squareTo(t)}Un.prototype.convert=Lf;Un.prototype.revert=Lf;Un.prototype.mulTo=P1;Un.prototype.sqrTo=k1;function U1(e){return this.exp(e,new Un)}function K1(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function O1(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function tn(e){this.r2=at(),this.q3=at(),D.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function M1(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=at();return e.copyTo(t),this.reduce(t),t}function F1(e){return e}function V1(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function q1(e,t){e.squareTo(t),this.reduce(t)}function H1(e,t,r){e.multiplyTo(t,r),this.reduce(r)}tn.prototype.convert=M1;tn.prototype.revert=F1;tn.prototype.reduce=V1;tn.prototype.mulTo=H1;tn.prototype.sqrTo=q1;function z1(e,t){var r=e.bitLength(),n,i=ur(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 Sr(t):t.isEven()?o=new tn(t):o=new Br(t);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=at();for(o.sqrTo(s[1],u);a<=f;)s[a]=at(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=e.t-1,d,g=!0,h=at(),p;for(r=Wi(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&f:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)s[d].copyTo(i),g=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(p=i,i=h,h=p),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),p=i,i=h,h=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function G1(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function $1(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function W1(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return D.ZERO;for(var r=e.clone(),n=this.clone(),i=ur(1),o=ur(0),s=ur(0),a=ur(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(D.ONE)!=0)return D.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[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],Y1=(1<<26)/Ae[Ae.length-1];function Z1(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<Y1;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function X1(e){var t=this.subtract(D.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Q1(),o,s=0;s<e;++s){do o=new D(this.bitLength(),i);while(o.compareTo(D.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(D.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(D.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Q1(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}D.prototype.chunkSize=Jy;D.prototype.toRadix=t1;D.prototype.fromRadix=e1;D.prototype.fromNumber=r1;D.prototype.bitwiseTo=a1;D.prototype.changeBit=w1;D.prototype.addTo=A1;D.prototype.dMultiply=N1;D.prototype.dAddOffset=D1;D.prototype.multiplyLowerTo=K1;D.prototype.multiplyUpperTo=O1;D.prototype.modInt=$1;D.prototype.millerRabin=X1;D.prototype.clone=Yy;D.prototype.intValue=Zy;D.prototype.byteValue=Xy;D.prototype.shortValue=Qy;D.prototype.signum=jy;D.prototype.toByteArray=n1;D.prototype.equals=i1;D.prototype.min=o1;D.prototype.max=s1;D.prototype.and=f1;D.prototype.or=u1;D.prototype.xor=l1;D.prototype.andNot=h1;D.prototype.not=d1;D.prototype.shiftLeft=p1;D.prototype.shiftRight=y1;D.prototype.getLowestSetBit=m1;D.prototype.bitCount=b1;D.prototype.testBit=v1;D.prototype.setBit=E1;D.prototype.clearBit=S1;D.prototype.flipBit=B1;D.prototype.add=C1;D.prototype.subtract=I1;D.prototype.multiply=T1;D.prototype.divide=_1;D.prototype.remainder=L1;D.prototype.divideAndRemainder=R1;D.prototype.modPow=z1;D.prototype.modInverse=W1;D.prototype.pow=U1;D.prototype.gcd=G1;D.prototype.isProbablePrime=Z1});var Uf=pt((qv,kf)=>{var Re=yt();Er();Nt();var Df=kf.exports=Re.sha1=Re.sha1||{};Re.md.sha1=Re.md.algorithms.sha1=Df;Df.create=function(){Pf||J1();var e=null,t=Re.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 t=Re.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Re.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 t.putBytes(i),Nf(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Re.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(js.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Nf(l,r,i);var d=Re.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var js=null,Pf=!1;function J1(){js="\x80",js+=Re.util.fillString("\0",64),Pf=!0}function Nf(e,t,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,u=0;u<16;++u)n=r.getInt32(),t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var Mf=pt((Hv,Of)=>{var Ne=yt();Nt();kn();Uf();var Kf=Of.exports=Ne.pkcs1=Ne.pkcs1||{};Kf.encode_rsa_oaep=function(e,t,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=Ne.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",d=c-t.length,g=0;g<d;g++)l+="\0";var h=u.getBytes()+l+""+t;if(!i)i=Ne.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=Zi(i,a-o.digestLength-1,s),y=Ne.util.xorBytes(h,p,h.length),m=Zi(y,o.digestLength,s),v=Ne.util.xorBytes(i,m,i.length);return"\0"+v+y};Kf.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=t.length,y.expectedLength=s,y}if(i===void 0?i=Ne.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=t.charAt(0),f=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),l=Zi(u,i.digestLength,o),d=Ne.util.xorBytes(f,l,f.length),g=Zi(d,s-i.digestLength-1,o),h=Ne.util.xorBytes(u,g,u.length),p=h.substring(0,i.digestLength),y=c!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==p.charAt(m);for(var v=1,x=i.digestLength,A=i.digestLength;A<h.length;A++){var S=h.charCodeAt(A),B=S&1^1,R=v?65534:0;y|=S&R,v=v&B,x+=v}if(y||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function Zi(e,t,r){r||(r=Ne.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Ff=pt((zv,ta)=>{var lr=yt();Nt();Yi();kn();(function(){if(lr.prime){ta.exports=lr.prime;return}var e=ta.exports=lr.prime=lr.prime||{},t=lr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,g){typeof d=="function"&&(g=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||lr.random,y={nextBytes:function(m){for(var v=p.getBytesSync(m.length),x=0;x<m.length;++x)m[x]=v.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,y,h.options,g);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,g,h){return"workers"in g?c(l,d,g,h):s(l,d,g,h)}function s(l,d,g,h){var p=f(l,d),y=0,m=u(p.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var v=10;"maxBlockTime"in g&&(v=g.maxBlockTime),a(p,l,d,y,m,v,h)}function a(l,d,g,h,p,y,m){var v=+new Date;do{if(l.bitLength()>d&&(l=f(d,g)),l.isProbablePrime(p))return m(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-v<y);lr.util.setImmediate(function(){a(l,d,g,h,p,y,m)})}function c(l,d,g,h){if(typeof Worker>"u")return s(l,d,g,h);var p=f(l,d),y=g.workers,m=g.workLoad||100,v=m*30/8,x=g.workerScript||"forge/prime.worker.js";if(y===-1)return lr.util.estimateCores(function(S,B){S&&(B=2),y=B-1,A()});A();function A(){y=Math.max(1,y);for(var S=[],B=0;B<y;++B)S[B]=new Worker(x);for(var R=y,B=0;B<y;++B)S[B].addEventListener("message",O);var _=!1;function O(M){if(!_){--R;var U=M.data;if(U.found){for(var H=0;H<S.length;++H)S[H].terminate();return _=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=f(l,d));var z=p.toString(16);M.target.postMessage({hex:z,workLoad:m}),p.dAddOffset(v,0)}}}}function f(l,d){var g=new t(l,d),h=l-1;return g.testBit(h)||g.bitwiseTo(t.ONE.shiftLeft(h),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Qi=pt((Gv,Wf)=>{var $=yt();Pn();Yi();ki();Mf();Ff();kn();Nt();typeof st>"u"&&(st=$.jsbn.BigInteger);var st,ea=$.util.isNodejs?qi():null,E=$.asn1,le=$.util;$.pki=$.pki||{};Wf.exports=$.pki.rsa=$.rsa=$.rsa||{};var Q=$.pki,j1=[6,4,2,4,2,4,6,2],tg={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},eg={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},rg={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ng=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},ig={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},og=function(e){var t;if(e.algorithm in Q.oids)t=Q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=E.oidToDer(t).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),o=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);o.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),o.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var s=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),E.toDer(i).getBytes()},Gf=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(st.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(st.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new st($.util.bytesToHex($.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(st.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};Q.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$f(e,t,r)):(i=$.util.createBuffer(),i.putBytes(e));for(var s=new st(i.toHex(),16),a=Gf(s,t,n),c=a.toString(16),f=$.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes($.util.hexToBytes(c)),f.getBytes()};Q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new st($.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Gf(s,t,r),c=a.toString(16),f=$.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes($.util.hexToBytes(c)),n!==!1?Xi(f.getBytes(),t,r):f.getBytes()};Q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||$.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new st(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};Q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,f=c-1;e.pqState===0?(e.num=new st(c,e.rng),e.num.testBit(f)||e.num.bitwiseTo(st.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(ag(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(j1[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(st.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};Q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!$.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Vf("generateKeyPair"))return ea.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:Q.privateKeyFromPem(f),publicKey:Q.publicKeyFromPem(c)})});if(qf("generateKey")&&qf("exportKey"))return le.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:zf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return le.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=Q.privateKeyFromAsn1(E.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:Q.setRsaPublicKey(c.n,c.e)})}});if(Hf("generateKey")&&Hf("exportKey")){var i=le.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:zf(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=le.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,d=Q.privateKeyFromAsn1(E.fromDer($.util.createBuffer(l)));n(null,{privateKey:d,publicKey:Q.setRsaPublicKey(d.n,d.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(Vf("generateKeyPairSync")){var o=ea.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:Q.privateKeyFromPem(o.privateKey),publicKey:Q.publicKeyFromPem(o.publicKey)}}}var s=Q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return Q.rsa.stepKeyPairGenerationState(s,0),s.keys;sg(s,r,n)};Q.setRsaPublicKey=Q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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,f){return $f(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return Q.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,f){f=Xi(f,r,!0);var u=E.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!E.validate(u,ig,l,d)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=d,g}var h=E.derToOid(l.algorithmIdentifier);if(!(h===$.oids.md2||h===$.oids.md5||h===$.oids.sha1||h===$.oids.sha224||h===$.oids.sha256||h===$.oids.sha384||h===$.oids.sha512||h===$.oids["sha512-224"]||h===$.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=h,g}if((h===$.oids.md2||h===$.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=Xi(f,r,!0),c===f}});var a=Q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};Q.setRsaPrivateKey=Q.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=Q.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:Xi};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(g,h){return $.pkcs1.decode_rsa_oaep(h,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(g){return g}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:og},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var d=u.encode(f,c.n.bitLength());return Q.rsa.encrypt(d,c,l)},c};Q.wrapRsaPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(e).getBytes())])};Q.privateKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,tg,t,r)&&(e=E.fromDer($.util.createBuffer(t.privateKey))),t={},r=[],!E.validate(e,eg,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=$.util.createBuffer(t.privateKeyModulus).toHex(),o=$.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=$.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(t.privateKeyPrime1).toHex(),c=$.util.createBuffer(t.privateKeyPrime2).toHex(),f=$.util.createBuffer(t.privateKeyExponent1).toHex(),u=$.util.createBuffer(t.privateKeyExponent2).toHex(),l=$.util.createBuffer(t.privateKeyCoefficient).toHex(),Q.setRsaPrivateKey(new st(i,16),new st(o,16),new st(s,16),new st(a,16),new st(c,16),new st(f,16),new st(u,16),new st(l,16))};Q.privateKeyToAsn1=Q.privateKeyToRSAPrivateKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.qInv))])};Q.publicKeyFromAsn1=function(e){var t={},r=[];if(E.validate(e,ng,t,r)){var n=E.derToOid(t.publicKeyOid);if(n!==Q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!E.validate(e,rg,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=$.util.createBuffer(t.publicKeyModulus).toHex(),s=$.util.createBuffer(t.publicKeyExponent).toHex();return Q.setRsaPublicKey(new st(o,16),new st(s,16))};Q.publicKeyToAsn1=Q.publicKeyToSubjectPublicKeyInfo=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(Q.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[Q.publicKeyToRSAPublicKey(e)])])};Q.publicKeyToRSAPublicKey=function(e){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,De(e.e))])};function $f(e,t,r){var n=$.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.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 f=0,u=$.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(e),n}function Xi(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=$.util.createBuffer(e),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 f=0;f<c;++f)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 u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function sg(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){$.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.p=null,i();return}if(e.q.subtract(st.ONE).gcd(e.e).compareTo(st.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(st.ONE),e.q1=e.q.subtract(st.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(st.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var u=e.e.modInverse(e.phi);e.keys={privateKey:Q.rsa.setPrivateKey(e.n,e.e,u,e.p,e.q,u.mod(e.p1),u.mod(e.q1),e.q.modInverse(e.p)),publicKey:Q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function De(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=$.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function ag(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Vf(e){return $.util.isNodejs&&typeof ea[e]=="function"}function qf(e){return typeof le.globalScope<"u"&&typeof le.globalScope.crypto=="object"&&typeof le.globalScope.crypto.subtle=="object"&&typeof le.globalScope.crypto.subtle[e]=="function"}function Hf(e){return typeof le.globalScope<"u"&&typeof le.globalScope.msCrypto=="object"&&typeof le.globalScope.msCrypto.subtle=="object"&&typeof le.globalScope.msCrypto.subtle[e]=="function"}function zf(e){for(var t=$.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var jf=pt(($v,Jf)=>{var q=yt();$s();Pn();rf();Er();ki();cf();lf();kn();Sf();Qi();Nt();typeof Yf>"u"&&(Yf=q.jsbn.BigInteger);var Yf,I=q.asn1,tt=q.pki=q.pki||{};Jf.exports=tt.pbe=q.pbe=q.pbe||{};var Ar=tt.oids,cg={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},fg={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},ug={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};tt.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=q.random.getBytesSync(r.saltSize),i=r.count,o=I.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=Ar["aes128-CBC"],l=q.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=Ar["aes192-CBC"],l=q.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=Ar["aes256-CBC"],l=q.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=Ar.desCBC,l=q.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Qf(g),p=q.pkcs5.pbkdf2(t,n,i,s,h),y=q.random.getBytesSync(f),m=l(p);m.start(y),m.update(I.toDer(e)),m.finish(),c=m.output.getBytes();var v=lg(n,o,s,g);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar.pkcs5PBKDF2).getBytes()),v]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(u).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var x=new q.util.ByteBuffer(n),p=tt.pbe.generatePkcs12Key(t,x,1,i,s),y=tt.pbe.generatePkcs12Key(t,x,2,i,s),m=q.des.createEncryptionCipher(p);m.start(y),m.update(I.toDer(e)),m.finish(),c=m.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Ar["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var A=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return A};tt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!I.validate(e,cg,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=I.derToOid(n.encryptionOid),a=tt.pbe.getCipher(s,n.encryptionParams,t),c=q.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};tt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(e).getBytes()};return q.pem.encode(r,{maxline:t})};tt.encryptedPrivateKeyFromPem=function(e){var t=q.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return I.fromDer(t.body)};tt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=tt.wrapRsaPrivateKey(tt.privateKeyToAsn1(e));return n=tt.encryptPrivateKeyInfo(n,t,r),tt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=q.random.getBytesSync(8),a=q.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 f=q.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(f);u.start(o),u.update(I.toDer(tt.privateKeyToAsn1(e))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:q.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return q.pem.encode(l)};tt.decryptRsaPrivateKey=function(e,t){var r=null,n=q.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=q.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=q.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=q.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=q.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=q.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return q.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return q.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return q.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=q.util.hexToBytes(n.dekInfo.parameters),c=q.pbe.opensslDeriveBytes(t,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(q.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=tt.decryptPrivateKeyInfo(I.fromDer(r),t):r=I.fromDer(r),r!==null&&(r=tt.privateKeyFromAsn1(r)),r};tt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in q.md))throw new Error('"sha1" hash algorithm unavailable.');o=q.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new q.util.ByteBuffer,l=new q.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),g=t.length(),h=new q.util.ByteBuffer;h.fillWithByte(r,f);var p=f*Math.ceil(g/f),y=new q.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(t.at(a%g));var m=f*Math.ceil(d/f),v=new q.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%d));var x=y;x.putBuffer(v);for(var A=Math.ceil(i/c),S=1;S<=A;S++){var B=new q.util.ByteBuffer;B.putBytes(h.bytes()),B.putBytes(x.bytes());for(var R=0;R<n;R++)o.start(),o.update(B.getBytes()),B=o.digest();var _=new q.util.ByteBuffer;for(a=0;a<f;a++)_.putByte(B.at(a%c));var O=Math.ceil(g/f)+Math.ceil(d/f),M=new q.util.ByteBuffer;for(s=0;s<O;s++){var U=new q.util.ByteBuffer(x.getBytes(f)),H=511;for(a=_.length()-1;a>=0;a--)H=H>>8,H+=_.at(a)+U.at(a),U.setAt(a,H&255);M.putBuffer(U)}x=M,u.putBuffer(B)}return u.truncate(u.length()-i),u};tt.pbe.getCipher=function(e,t,r){switch(e){case tt.oids.pkcs5PBES2:return tt.pbe.getCipherForPBES2(e,t,r);case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:return tt.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};tt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!I.validate(t,fg,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(e=I.derToOid(n.kdfOid),e!==tt.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=I.derToOid(n.encOid),e!==tt.oids["aes128-CBC"]&&e!==tt.oids["aes192-CBC"]&&e!==tt.oids["aes256-CBC"]&&e!==tt.oids["des-EDE3-CBC"]&&e!==tt.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=q.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(tt.oids[e]){case"aes128-CBC":c=16,f=q.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=q.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=q.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=q.des.createDecryptionCipher;break;case"desCBC":c=8,f=q.des.createDecryptionCipher;break}var u=Xf(n.prfOid),l=q.pkcs5.pbkdf2(r,s,a,c,u),d=n.encIv,g=f(l);return g.start(d),g};tt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!I.validate(t,ug,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=q.util.createBuffer(n.salt),a=q.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(e){case tt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=q.des.startDecrypting;break;case tt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,y){var m=q.rc2.createDecryptionCipher(p,40);return m.start(y,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=Xf(n.prfOid),d=tt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var g=tt.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(d,g)};tt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in q.md))throw new Error('"md5" hash algorithm unavailable.');n=q.md.md5.create()}t===null&&(t="");for(var i=[Zf(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Zf(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Zf(e,t){return e.start().update(t).digest().getBytes()}function Xf(e){var t;if(!e)t="hmacWithSHA1";else if(t=tt.oids[I.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Qf(t)}function Qf(e){var t=q.md;switch(e){case"hmacWithSHA224":t=q.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function lg(e,t,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,e),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,q.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(tt.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var wu=pt((uE,vu)=>{var St=yt();Er();Nt();var Vn=vu.exports=St.sha512=St.sha512||{};St.md.sha512=St.md.algorithms.sha512=Vn;var xu=St.sha384=St.sha512.sha384=St.sha512.sha384||{};xu.create=function(){return Vn.create("SHA-384")};St.md.sha384=St.md.algorithms.sha384=xu;St.sha512.sha256=St.sha512.sha256||{create:function(){return Vn.create("SHA-512/256")}};St.md["sha512/256"]=St.md.algorithms["sha512/256"]=St.sha512.sha256;St.sha512.sha224=St.sha512.sha224||{create:function(){return Vn.create("SHA-512/224")}};St.md["sha512/224"]=St.md.algorithms["sha512/224"]=St.sha512.sha224;Vn.create=function(e){if(bu||Ig(),typeof e>"u"&&(e="SHA-512"),!(e in Nr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Nr[e],r=null,n=St.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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,f=0;f<c;++f)a.fullMessageLength.push(0);n=St.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=St.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),mu(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=St.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(xa.substr(0,a.blockLength-u));for(var l,d,g=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,g+=d,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);mu(p,i,c);var y=St.util.createBuffer(),m;e==="SHA-512"?m=p.length:e==="SHA-384"?m=p.length-2:m=p.length-4;for(var h=0;h<m;++h)y.putInt32(p[h][0]),(h!==m-1||e!=="SHA-512/224")&&y.putInt32(p[h][1]);return y},a};var xa=null,bu=!1,ba=null,Nr=null;function Ig(){xa="\x80",xa+=St.util.fillString("\0",128),ba=[[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]],Nr={},Nr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Nr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Nr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Nr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],bu=!0}function mu(e,t,r){for(var n,i,o,s,a,c,f,u,l,d,g,h,p,y,m,v,x,A,S,B,R,_,O,M,U,H,z,Z,C,N,T,L,w,k,K,V=r.length();V>=128;){for(C=0;C<16;++C)t[C][0]=r.getInt32()>>>0,t[C][1]=r.getInt32()>>>0;for(;C<80;++C)L=t[C-2],N=L[0],T=L[1],n=((N>>>19|T<<13)^(T>>>29|N<<3)^N>>>6)>>>0,i=((N<<13|T>>>19)^(T<<3|N>>>29)^(N<<26|T>>>6))>>>0,k=t[C-15],N=k[0],T=k[1],o=((N>>>1|T<<31)^(N>>>8|T<<24)^N>>>7)>>>0,s=((N<<31|T>>>1)^(N<<24|T>>>8)^(N<<25|T>>>7))>>>0,w=t[C-7],K=t[C-16],T=i+w[1]+s+K[1],t[C][0]=n+w[0]+o+K[0]+(T/4294967296>>>0)>>>0,t[C][1]=T>>>0;for(p=e[0][0],y=e[0][1],m=e[1][0],v=e[1][1],x=e[2][0],A=e[2][1],S=e[3][0],B=e[3][1],R=e[4][0],_=e[4][1],O=e[5][0],M=e[5][1],U=e[6][0],H=e[6][1],z=e[7][0],Z=e[7][1],C=0;C<80;++C)f=((R>>>14|_<<18)^(R>>>18|_<<14)^(_>>>9|R<<23))>>>0,u=((R<<18|_>>>14)^(R<<14|_>>>18)^(_<<23|R>>>9))>>>0,l=(U^R&(O^U))>>>0,d=(H^_&(M^H))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,c=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&m|x&(p^m))>>>0,h=(y&v|A&(y^v))>>>0,T=Z+u+d+ba[C][1]+t[C][1],n=z+f+l+ba[C][0]+t[C][0]+(T/4294967296>>>0)>>>0,i=T>>>0,T=c+h,o=a+g+(T/4294967296>>>0)>>>0,s=T>>>0,z=U,Z=H,U=O,H=M,O=R,M=_,T=B+i,R=S+n+(T/4294967296>>>0)>>>0,_=T>>>0,S=x,B=A,x=m,A=v,m=p,v=y,T=i+s,p=n+o+(T/4294967296>>>0)>>>0,y=T>>>0;T=e[0][1]+y,e[0][0]=e[0][0]+p+(T/4294967296>>>0)>>>0,e[0][1]=T>>>0,T=e[1][1]+v,e[1][0]=e[1][0]+m+(T/4294967296>>>0)>>>0,e[1][1]=T>>>0,T=e[2][1]+A,e[2][0]=e[2][0]+x+(T/4294967296>>>0)>>>0,e[2][1]=T>>>0,T=e[3][1]+B,e[3][0]=e[3][0]+S+(T/4294967296>>>0)>>>0,e[3][1]=T>>>0,T=e[4][1]+_,e[4][0]=e[4][0]+R+(T/4294967296>>>0)>>>0,e[4][1]=T>>>0,T=e[5][1]+M,e[5][0]=e[5][0]+O+(T/4294967296>>>0)>>>0,e[5][1]=T>>>0,T=e[6][1]+H,e[6][0]=e[6][0]+U+(T/4294967296>>>0)>>>0,e[6][1]=T>>>0,T=e[7][1]+Z,e[7][0]=e[7][0]+z+(T/4294967296>>>0)>>>0,e[7][1]=T>>>0,V-=128}}});var ju=pt((k8,Ju)=>{var un=1e3,ln=un*60,hn=ln*60,Ur=hn*24,nm=Ur*7,im=Ur*365.25;Ju.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return om(e);if(r==="number"&&isFinite(e))return t.long?am(e):sm(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function om(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*im;case"weeks":case"week":case"w":return r*nm;case"days":case"day":case"d":return r*Ur;case"hours":case"hour":case"hrs":case"hr":case"h":return r*hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*ln;case"seconds":case"second":case"secs":case"sec":case"s":return r*un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function sm(e){var t=Math.abs(e);return t>=Ur?Math.round(e/Ur)+"d":t>=hn?Math.round(e/hn)+"h":t>=ln?Math.round(e/ln)+"m":t>=un?Math.round(e/un)+"s":e+"ms"}function am(e){var t=Math.abs(e);return t>=Ur?oo(e,t,Ur,"day"):t>=hn?oo(e,t,hn,"hour"):t>=ln?oo(e,t,ln,"minute"):t>=un?oo(e,t,un,"second"):e+" ms"}function oo(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var el=pt((U8,tl)=>{function cm(e){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=ju(),r.destroy=f,Object.keys(e).forEach(u=>{r[u]=e[u]}),r.names=[],r.skips=[],r.formatters={};function t(u){let l=0;for(let d=0;d<u.length;d++)l=(l<<5)-l+u.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(u){let l,d=null,g,h;function p(...y){if(!p.enabled)return;let m=p,v=Number(new Date),x=v-(l||v);m.diff=x,m.prev=l,m.curr=v,l=v,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let A=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(B,R)=>{if(B==="%%")return"%";A++;let _=r.formatters[R];if(typeof _=="function"){let O=y[A];B=_.call(m,O),y.splice(A,1),A--}return B}),r.formatArgs.call(m,y),(m.log||r.log).apply(m,y)}return p.namespace=u,p.useColors=r.useColors(),p.color=r.selectColor(u),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(g!==r.namespaces&&(g=r.namespaces,h=r.enabled(u)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(p),p}function n(u,l){let d=r(this.namespace+(typeof l>"u"?":":l)+u);return d.log=this.log,d}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let l,d=(typeof u=="string"?u:"").split(/[\s,]+/),g=d.length;for(l=0;l<g;l++)d[l]&&(u=d[l].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.slice(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let l,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(u))return!1;for(l=0,d=r.names.length;l<d;l++)if(r.names[l].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}tl.exports=cm});var rl=pt((se,so)=>{se.formatArgs=um;se.save=lm;se.load=hm;se.useColors=fm;se.storage=dm();se.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();se.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 fm(){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 um(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+so.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}se.log=console.debug||console.log||(()=>{});function lm(e){try{e?se.storage.setItem("debug",e):se.storage.removeItem("debug")}catch{}}function hm(){let e;try{e=se.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function dm(){try{return localStorage}catch{}}so.exports=el()(se);var{formatters:pm}=so.exports;pm.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Xm={};Pt(Xm,{webTransport:()=>Zm});function Me(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function rt(e=0){return globalThis.Buffer?.alloc!=null?Me(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function kt(e=0){return globalThis.Buffer?.allocUnsafe!=null?Me(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var nh=Math.pow(2,7),ih=Math.pow(2,14),oh=Math.pow(2,21),Co=Math.pow(2,28),Io=Math.pow(2,35),To=Math.pow(2,42),_o=Math.pow(2,49),ft=128,$t=127;function Wt(e){if(e<nh)return 1;if(e<ih)return 2;if(e<oh)return 3;if(e<Co)return 4;if(e<Io)return 5;if(e<To)return 6;if(e<_o)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function sh(e,t,r=0){switch(Wt(e)){case 8:t[r++]=e&255|ft,e/=128;case 7:t[r++]=e&255|ft,e/=128;case 6:t[r++]=e&255|ft,e/=128;case 5:t[r++]=e&255|ft,e/=128;case 4:t[r++]=e&255|ft,e>>>=7;case 3:t[r++]=e&255|ft,e>>>=7;case 2:t[r++]=e&255|ft,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function ah(e,t,r=0){switch(Wt(e)){case 8:t.set(r++,e&255|ft),e/=128;case 7:t.set(r++,e&255|ft),e/=128;case 6:t.set(r++,e&255|ft),e/=128;case 5:t.set(r++,e&255|ft),e/=128;case 4:t.set(r++,e&255|ft),e>>>=7;case 3:t.set(r++,e&255|ft),e>>>=7;case 2:t.set(r++,e&255|ft),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function ch(e,t){let r=e[t],n=0;if(n+=r&$t,r<ft||(r=e[t+1],n+=(r&$t)<<7,r<ft)||(r=e[t+2],n+=(r&$t)<<14,r<ft)||(r=e[t+3],n+=(r&$t)<<21,r<ft)||(r=e[t+4],n+=(r&$t)*Co,r<ft)||(r=e[t+5],n+=(r&$t)*Io,r<ft)||(r=e[t+6],n+=(r&$t)*To,r<ft)||(r=e[t+7],n+=(r&$t)*_o,r<ft))return n;throw new RangeError("Could not decode varint")}function fh(e,t){let r=e.get(t),n=0;if(n+=r&$t,r<ft||(r=e.get(t+1),n+=(r&$t)<<7,r<ft)||(r=e.get(t+2),n+=(r&$t)<<14,r<ft)||(r=e.get(t+3),n+=(r&$t)<<21,r<ft)||(r=e.get(t+4),n+=(r&$t)*Co,r<ft)||(r=e.get(t+5),n+=(r&$t)*Io,r<ft)||(r=e.get(t+6),n+=(r&$t)*To,r<ft)||(r=e.get(t+7),n+=(r&$t)*_o,r<ft))return n;throw new RangeError("Could not decode varint")}function tr(e,t,r=0){return t==null&&(t=kt(Wt(e))),t instanceof Uint8Array?sh(e,t,r):ah(e,t,r)}function ye(e,t=0){return e instanceof Uint8Array?ch(e,t):fh(e,t)}function ut(e,t){if(globalThis.Buffer!=null)return Me(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=kt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Me(r)}function bt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var p0=Symbol.for("@achingbrain/uint8arraylist");function d0(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function oi(e){return!!e?.[p0]}var Jt=class e{bufs;length;[p0]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(oi(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(oi(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=d0(this.bufs,t);return r.buf[r.index]}set(t,r){let n=d0(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(oi(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new e;return o.length=i,o.bufs=[...n],o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let f=t>=a&&t<c,u=r>a&&r<=c;if(f&&u){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!oi(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let d=f;d>=0;d--){let g=this.get(l+d);if(n[d]!==g){u=Math.max(1,d-a[g]);break}}if(u===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=rt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=kt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=rt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=rt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=rt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!bt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function si(e){return e[Symbol.asyncIterator]!=null}var ai=e=>{let t=Wt(e),r=kt(t);return tr(e,r),ai.bytes=t,r};ai.bytes=0;function mn(e,t){t=t??{};let r=t.lengthEncoder??ai;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return si(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}mn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??ai;return new Jt(r(e.byteLength),e)};var Kr=Zt(m0(),1);var lh=8,hh=1024*1024*4,pr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(pr||(pr={}));var Lo=e=>{let t=ye(e);return Lo.bytes=Wt(t),t};Lo.bytes=0;function xn(e,t){let r=new Jt,n=pr.LENGTH,i=-1,o=t?.lengthDecoder??Lo,s=t?.maxLengthLength??lh,a=t?.maxDataLength??hh;function*c(){for(;r.byteLength>0;){if(n===pr.LENGTH)try{if(i=o(r),i<0)throw(0,Kr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Kr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),t?.onLength!=null&&t.onLength(i),n=pr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,Kr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===pr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(f),yield f,n=pr.LENGTH}}}return si(e)?async function*(){for await(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of e)r.append(f),yield*c();if(r.byteLength>0)throw(0,Kr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}xn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 xn(n,{...t??{},onLength:o=>{r=o}})};function ge(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var ci=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function x0(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new ci(r?.errorMessage,r?.errorCode));let n,i=new ci(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((o,s)=>{n=()=>{s(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ro=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=ge(),this.needNext.resolve(),this.haveNext=ge()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=ge(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=ge(),await x0(this.needNext.promise,r?.signal,r)}};function b0(){return new Ro}var fi=class extends Error{code;constructor(t,r){super(t),this.code=r}},No=class extends fi{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function v0(e,t){let r=b0();e.sink(r).catch(async s=>{await r.end(s)}),e.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new Jt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new No("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),f]);return l===!0?new Jt:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new fi("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var ui=class extends Error{code;constructor(t,r){super(t),this.code=r}},w0=e=>ye(e);w0.bytes=0;function Do(e,t={}){let r=v0(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=Wt(t.maxDataLength)),{read:async i=>{let o=-1,s=new Jt,a=t?.lengthDecoder??w0;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&s.byteLength>t.maxLengthLength)throw new ui("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new ui("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(mn.single(i,t),o)},writeV:async(i,o)=>{let s=new Jt(...i.map(a=>mn.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Po(){let e=ge(),t=!1;return{sink:async r=>{if(t)throw new Error("already piped");t=!0,e.resolve(r)},source:async function*(){yield*await e.promise}()}}function E0(){let e=Po(),t=Po();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}var li=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Or=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new li(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new li(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var ko=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function hi(e={}){return ph(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function ph(e,t){t=t??{};let r=t.onEnd,n=new Or,i,o,s,a=ge(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,m)=>{o=v=>{o=null,n.push(v);try{y(e(n))}catch(x){m(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ge()})}},f=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new Or,o!=null?o({error:y}):(n.push({error:y}),i)),l=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return f({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?u(y):f({done:!0})),g=()=>(n=new Or,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:g,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async y=>{let m=y?.signal;if(m?.throwIfAborted(),n.isEmpty())return;let v,x;m!=null&&(v=new Promise((A,S)=>{x=()=>{S(new ko)},m.addEventListener("abort",x)}));try{await Promise.race([a.promise,v])}finally{x!=null&&m!=null&&m?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:y=>p.onEmpty(y)},i}function yh(e){return e[Symbol.asyncIterator]!=null}function gh(...e){let t=[];for(let r of e)yh(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=hi({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var S0=gh;function B0(e,...t){if(e==null)throw new Error("Empty pipeline");if(Uo(e)){let n=e;e=()=>n.source}else if(C0(e)||A0(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Uo(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++)Uo(r[n])&&(r[n]=xh(r[n]));return mh(...r)}var mh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},A0=e=>e?.[Symbol.asyncIterator]!=null,C0=e=>e?.[Symbol.iterator]!=null,Uo=e=>e==null?!1:e.sink!=null&&e.source!=null,xh=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=hi({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(A0(o))i=async function*(){yield*o,n.end()};else if(C0(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return S0(n,i())}return e.source};var I0=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var bh=e=>e instanceof Uint8Array;var Fe=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),T0=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),vh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!vh)throw new Error("Non little-endian hardware is not supported");function di(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function pi(e){if(typeof e=="string")e=di(e);else if(bh(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var wh=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function _0(e,t){if(t!==void 0&&(typeof t!="object"||!wh(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function yr(e,t){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function L0(e,t){if(e.length!==t.length)throw new Error("equalBytes: Different size of Uint8Arrays");let r=!0;for(let n=0;n<e.length;n++)r&&(r=e[n]===t[n]);return r}var Ko=(e,t)=>(Object.assign(t,e),t);function Oo(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}function yi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Mo(e){if(typeof e!="boolean")throw new Error(`Expected boolean, not ${e}`)}function Mr(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function Fo(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function R0(e,t){Mr(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var zt=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Vo=class{constructor(t){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,t=pi(t),yr(t,32);let r=zt(t,0),n=zt(t,2),i=zt(t,4),o=zt(t,6),s=zt(t,8),a=zt(t,10),c=zt(t,12),f=zt(t,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|i<<6)&7939,this.r[3]=(i>>>7|o<<9)&8191,this.r[4]=(o>>>4|s<<12)&255,this.r[5]=s>>>1&8190,this.r[6]=(s>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|f<<8)&8191,this.r[9]=f>>>5&127;for(let u=0;u<8;u++)this.pad[u]=zt(t,16+2*u)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],f=s[2],u=s[3],l=s[4],d=s[5],g=s[6],h=s[7],p=s[8],y=s[9],m=zt(t,r+0),v=zt(t,r+2),x=zt(t,r+4),A=zt(t,r+6),S=zt(t,r+8),B=zt(t,r+10),R=zt(t,r+12),_=zt(t,r+14),O=o[0]+(m&8191),M=o[1]+((m>>>13|v<<3)&8191),U=o[2]+((v>>>10|x<<6)&8191),H=o[3]+((x>>>7|A<<9)&8191),z=o[4]+((A>>>4|S<<12)&8191),Z=o[5]+(S>>>1&8191),C=o[6]+((S>>>14|B<<2)&8191),N=o[7]+((B>>>11|R<<5)&8191),T=o[8]+((R>>>8|_<<8)&8191),L=o[9]+(_>>>5|i),w=0,k=w+O*a+M*(5*y)+U*(5*p)+H*(5*h)+z*(5*g);w=k>>>13,k&=8191,k+=Z*(5*d)+C*(5*l)+N*(5*u)+T*(5*f)+L*(5*c),w+=k>>>13,k&=8191;let K=w+O*c+M*a+U*(5*y)+H*(5*p)+z*(5*h);w=K>>>13,K&=8191,K+=Z*(5*g)+C*(5*d)+N*(5*l)+T*(5*u)+L*(5*f),w+=K>>>13,K&=8191;let V=w+O*f+M*c+U*a+H*(5*y)+z*(5*p);w=V>>>13,V&=8191,V+=Z*(5*h)+C*(5*g)+N*(5*d)+T*(5*l)+L*(5*u),w+=V>>>13,V&=8191;let W=w+O*u+M*f+U*c+H*a+z*(5*y);w=W>>>13,W&=8191,W+=Z*(5*p)+C*(5*h)+N*(5*g)+T*(5*d)+L*(5*l),w+=W>>>13,W&=8191;let Y=w+O*l+M*u+U*f+H*c+z*a;w=Y>>>13,Y&=8191,Y+=Z*(5*y)+C*(5*p)+N*(5*h)+T*(5*g)+L*(5*d),w+=Y>>>13,Y&=8191;let et=w+O*d+M*l+U*u+H*f+z*c;w=et>>>13,et&=8191,et+=Z*a+C*(5*y)+N*(5*p)+T*(5*h)+L*(5*g),w+=et>>>13,et&=8191;let X=w+O*g+M*d+U*l+H*u+z*f;w=X>>>13,X&=8191,X+=Z*c+C*a+N*(5*y)+T*(5*p)+L*(5*h),w+=X>>>13,X&=8191;let J=w+O*h+M*g+U*d+H*l+z*u;w=J>>>13,J&=8191,J+=Z*f+C*c+N*a+T*(5*y)+L*(5*p),w+=J>>>13,J&=8191;let gt=w+O*p+M*h+U*g+H*d+z*l;w=gt>>>13,gt&=8191,gt+=Z*u+C*f+N*c+T*a+L*(5*y),w+=gt>>>13,gt&=8191;let dt=w+O*y+M*p+U*h+H*g+z*d;w=dt>>>13,dt&=8191,dt+=Z*l+C*u+N*f+T*c+L*a,w+=dt>>>13,dt&=8191,w=(w<<2)+w|0,w=w+k|0,k=w&8191,w=w>>>13,K+=w,o[0]=k,o[1]=K,o[2]=V,o[3]=W,o[4]=Y,o[5]=et,o[6]=X,o[7]=J,o[8]=gt,o[9]=dt}finalize(){let{h:t,pad:r}=this,n=new Uint16Array(10),i=t[1]>>>13;t[1]&=8191;for(let a=2;a<10;a++)t[a]+=i,i=t[a]>>>13,t[a]&=8191;t[0]+=i*5,i=t[0]>>>13,t[0]&=8191,t[1]+=i,i=t[1]>>>13,t[1]&=8191,t[2]+=i,n[0]=t[0]+5,i=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=t[a]+i,i=n[a]>>>13,n[a]&=8191;n[9]-=8192;let o=(i^1)-1;for(let a=0;a<10;a++)n[a]&=o;o=~o;for(let a=0;a<10;a++)t[a]=t[a]&o|n[a];t[0]=(t[0]|t[1]<<13)&65535,t[1]=(t[1]>>>3|t[2]<<10)&65535,t[2]=(t[2]>>>6|t[3]<<7)&65535,t[3]=(t[3]>>>9|t[4]<<4)&65535,t[4]=(t[4]>>>12|t[5]<<1|t[6]<<14)&65535,t[5]=(t[6]>>>2|t[7]<<11)&65535,t[6]=(t[7]>>>5|t[8]<<8)&65535,t[7]=(t[8]>>>8|t[9]<<5)&65535;let s=t[0]+r[0];t[0]=s&65535;for(let a=1;a<8;a++)s=(t[a]+r[a]|0)+(s>>>16)|0,t[a]=s&65535}update(t){Fo(this);let{buffer:r,blockLen:n}=this;t=pi(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(n-this.pos,i-o);if(s===n){for(;n<=i-o;o+=n)this.process(t,o);continue}r.set(t.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){this.h.fill(0),this.r.fill(0),this.buffer.fill(0),this.pad.fill(0)}digestInto(t){Fo(this),R0(t,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:i}=this;if(i){for(r[i++]=1;i<16;i++)r[i]=0;this.process(r,0,!0)}this.finalize();let o=0;for(let s=0;s<8;s++)t[o++]=n[s]>>>0,t[o++]=n[s]>>>8;return t}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}};function Eh(e){let t=(n,i)=>e(i).update(pi(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var N0=Eh(e=>new Vo(e));var Sh=di("expand 16-byte k"),Bh=di("expand 32-byte k"),Ah=Fe(Sh),Ch=Fe(Bh);function G(e,t){return e<<t|e>>>32-t}function qo(e){return e.byteOffset%4===0}var gi=64,Ih=16,P0=2**32-1,D0=new Uint32Array;function Th(e,t,r,n,i,o,s,a){let c=i.length,f=new Uint8Array(gi),u=Fe(f),l=qo(i)&&qo(o),d=l?Fe(i):D0,g=l?Fe(o):D0;for(let h=0;h<c;s++){if(e(t,r,n,u,s,a),s>=P0)throw new Error("arx: counter overflow");let p=Math.min(gi,c-h);if(l&&p===gi){let y=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let m=0,v;m<Ih;m++)v=y+m,g[v]=d[v]^u[m];h+=gi;continue}for(let y=0,m;y<p;y++)m=h+y,o[m]=i[m]^f[y];h+=p}}function Ho(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=_0({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return yi(i),yi(s),Mo(o),Mo(r),(a,c,f,u,l=0)=>{Mr(a),Mr(c),Mr(f);let d=f.length;if(u||(u=new Uint8Array(d)),Mr(u),yi(l),l<0||l>=P0)throw new Error("arx: counter overflow");if(u.length<d)throw new Error(`arx: output (${u.length}) is shorter than data (${d})`);let g=[],h=a.length,p,y;if(h===32)p=a.slice(),g.push(p),y=Ch;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),y=Ah,g.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);qo(c)||(c=c.slice(),g.push(c));let m=Fe(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,m,Fe(c.subarray(0,16)),m),c=c.subarray(16)}let v=16-i;if(v!==c.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let A=new Uint8Array(12);A.set(c,o?0:12-c.length),c=A,g.push(c)}let x=Fe(c);for(Th(e,y,m,x,f,u,l,s);g.length>0;)g.pop().fill(0);return u}}function K0(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],f=e[3],u=t[0],l=t[1],d=t[2],g=t[3],h=t[4],p=t[5],y=t[6],m=t[7],v=i,x=r[0],A=r[1],S=r[2],B=s,R=a,_=c,O=f,M=u,U=l,H=d,z=g,Z=h,C=p,N=y,T=m,L=v,w=x,k=A,K=S;for(let W=0;W<o;W+=2)B=B+M|0,L=G(L^B,16),Z=Z+L|0,M=G(M^Z,12),B=B+M|0,L=G(L^B,8),Z=Z+L|0,M=G(M^Z,7),R=R+U|0,w=G(w^R,16),C=C+w|0,U=G(U^C,12),R=R+U|0,w=G(w^R,8),C=C+w|0,U=G(U^C,7),_=_+H|0,k=G(k^_,16),N=N+k|0,H=G(H^N,12),_=_+H|0,k=G(k^_,8),N=N+k|0,H=G(H^N,7),O=O+z|0,K=G(K^O,16),T=T+K|0,z=G(z^T,12),O=O+z|0,K=G(K^O,8),T=T+K|0,z=G(z^T,7),B=B+U|0,K=G(K^B,16),N=N+K|0,U=G(U^N,12),B=B+U|0,K=G(K^B,8),N=N+K|0,U=G(U^N,7),R=R+H|0,L=G(L^R,16),T=T+L|0,H=G(H^T,12),R=R+H|0,L=G(L^R,8),T=T+L|0,H=G(H^T,7),_=_+z|0,w=G(w^_,16),Z=Z+w|0,z=G(z^Z,12),_=_+z|0,w=G(w^_,8),Z=Z+w|0,z=G(z^Z,7),O=O+M|0,k=G(k^O,16),C=C+k|0,M=G(M^C,12),O=O+M|0,k=G(k^O,8),C=C+k|0,M=G(M^C,7);let V=0;n[V++]=s+B|0,n[V++]=a+R|0,n[V++]=c+_|0,n[V++]=f+O|0,n[V++]=u+M|0,n[V++]=l+U|0,n[V++]=d+H|0,n[V++]=g+z|0,n[V++]=h+Z|0,n[V++]=p+C|0,n[V++]=y+N|0,n[V++]=m+T|0,n[V++]=v+L|0,n[V++]=x+w|0,n[V++]=A+k|0,n[V++]=S+K|0}function _h(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],f=t[1],u=t[2],l=t[3],d=t[4],g=t[5],h=t[6],p=t[7],y=r[0],m=r[1],v=r[2],x=r[3];for(let S=0;S<20;S+=2)i=i+c|0,y=G(y^i,16),d=d+y|0,c=G(c^d,12),i=i+c|0,y=G(y^i,8),d=d+y|0,c=G(c^d,7),o=o+f|0,m=G(m^o,16),g=g+m|0,f=G(f^g,12),o=o+f|0,m=G(m^o,8),g=g+m|0,f=G(f^g,7),s=s+u|0,v=G(v^s,16),h=h+v|0,u=G(u^h,12),s=s+u|0,v=G(v^s,8),h=h+v|0,u=G(u^h,7),a=a+l|0,x=G(x^a,16),p=p+x|0,l=G(l^p,12),a=a+l|0,x=G(x^a,8),p=p+x|0,l=G(l^p,7),i=i+f|0,x=G(x^i,16),h=h+x|0,f=G(f^h,12),i=i+f|0,x=G(x^i,8),h=h+x|0,f=G(f^h,7),o=o+u|0,y=G(y^o,16),p=p+y|0,u=G(u^p,12),o=o+u|0,y=G(y^o,8),p=p+y|0,u=G(u^p,7),s=s+l|0,m=G(m^s,16),d=d+m|0,l=G(l^d,12),s=s+l|0,m=G(m^s,8),d=d+m|0,l=G(l^d,7),a=a+c|0,v=G(v^a,16),g=g+v|0,c=G(c^g,12),a=a+c|0,v=G(v^a,8),g=g+v|0,c=G(c^g,7);let A=0;n[A++]=i,n[A++]=o,n[A++]=s,n[A++]=a,n[A++]=y,n[A++]=m,n[A++]=v,n[A++]=x}var Lh=Ho(K0,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Rh=Ho(K0,{counterRight:!1,counterLength:8,extendNonceFn:_h,allowShortKeys:!1});var Nh=new Uint8Array(16),k0=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Nh.subarray(r))},Dh=new Uint8Array(32);function U0(e,t,r,n,i){let o=e(t,r,Dh),s=N0.create(o);i&&k0(s,i),k0(s,n);let a=new Uint8Array(16),c=T0(a);Oo(c,0,BigInt(i?i.length:0),!0),Oo(c,8,BigInt(n.length),!0),s.update(a);let f=s.digest();return o.fill(0),f}var O0=e=>(t,r,n)=>(yr(t,32),yr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?yr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let f=U0(e,t,r,s.subarray(0,-16),n);return s.set(f,a),s},decrypt:(o,s)=>{let a=o.length,c=a-16;if(a<16)throw new Error("encrypted data must be at least 16 bytes");s?yr(s,c):s=new Uint8Array(c);let f=o.subarray(0,-16),u=o.subarray(-16),l=U0(e,t,r,f,n);if(!L0(u,l))throw new Error("invalid tag");return e(t,r,f,s,1),s}}),zo=Ko({blockSize:64,nonceLength:12,tagLength:16},O0(Lh)),i2=Ko({blockSize:64,nonceLength:24,tagLength:16},O0(Rh));function mi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Go(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function bn(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");mi(e.outputLen),mi(e.blockLen)}function Fr(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function M0(e,t){Go(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var xi=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var F0=e=>e instanceof Uint8Array;var bi=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),me=(e,t)=>e<<32-t|e>>>t,Ph=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ph)throw new Error("Non little-endian hardware is not supported");function $o(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function er(e){if(typeof e=="string"&&(e=$o(e)),!F0(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function vi(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!F0(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var Vr=class{clone(){return this._cloneInto()}},f2={}.toString;function wi(e){let t=n=>e().update(er(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function gr(e=32){if(xi&&typeof xi.getRandomValues=="function")return xi.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function kh(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+f,a,n)}var qr=class extends Vr{constructor(t,r,n,i){super(),this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=bi(this.buffer)}update(t){Fr(this);let{view:r,buffer:n,blockLen:i}=this;t=er(t);let o=t.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=bi(t);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Fr(this),M0(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;kh(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=bi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return t.length=i,t.pos=a,t.finished=o,t.destroyed=s,i%r&&t.buffer.set(n),t}};var Ei=BigInt(4294967295),Wo=BigInt(32);function V0(e,t=!1){return t?{h:Number(e&Ei),l:Number(e>>Wo&Ei)}:{h:Number(e>>Wo&Ei)|0,l:Number(e&Ei)|0}}function Uh(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=V0(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Kh=(e,t)=>BigInt(e>>>0)<<Wo|BigInt(t>>>0),Oh=(e,t,r)=>e>>>r,Mh=(e,t,r)=>e<<32-r|t>>>r,Fh=(e,t,r)=>e>>>r|t<<32-r,Vh=(e,t,r)=>e<<32-r|t>>>r,qh=(e,t,r)=>e<<64-r|t>>>r-32,Hh=(e,t,r)=>e>>>r-32|t<<64-r,zh=(e,t)=>t,Gh=(e,t)=>e,$h=(e,t,r)=>e<<r|t>>>32-r,Wh=(e,t,r)=>t<<r|e>>>32-r,Yh=(e,t,r)=>t<<r-32|e>>>64-r,Zh=(e,t,r)=>e<<r-32|t>>>64-r;function Xh(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Qh=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Jh=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,jh=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),td=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,ed=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),rd=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var nd={fromBig:V0,split:Uh,toBig:Kh,shrSH:Oh,shrSL:Mh,rotrSH:Fh,rotrSL:Vh,rotrBH:qh,rotrBL:Hh,rotr32H:zh,rotr32L:Gh,rotlSH:$h,rotlSL:Wh,rotlBH:Yh,rotlBL:Zh,add:Xh,add3L:Qh,add3H:Jh,add4L:jh,add4H:td,add5H:rd,add5L:ed},j=nd;var[id,od]=j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),rr=new Uint32Array(80),nr=new Uint32Array(80),Yo=class extends qr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:d,Gh:g,Gl:h,Hh:p,Hl:y}=this;return[t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y]}set(t,r,n,i,o,s,a,c,f,u,l,d,g,h,p,y){this.Ah=t|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=f|0,this.El=u|0,this.Fh=l|0,this.Fl=d|0,this.Gh=g|0,this.Gl=h|0,this.Hh=p|0,this.Hl=y|0}process(t,r){for(let x=0;x<16;x++,r+=4)rr[x]=t.getUint32(r),nr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let A=rr[x-15]|0,S=nr[x-15]|0,B=j.rotrSH(A,S,1)^j.rotrSH(A,S,8)^j.shrSH(A,S,7),R=j.rotrSL(A,S,1)^j.rotrSL(A,S,8)^j.shrSL(A,S,7),_=rr[x-2]|0,O=nr[x-2]|0,M=j.rotrSH(_,O,19)^j.rotrBH(_,O,61)^j.shrSH(_,O,6),U=j.rotrSL(_,O,19)^j.rotrBL(_,O,61)^j.shrSL(_,O,6),H=j.add4L(R,U,nr[x-7],nr[x-16]),z=j.add4H(H,B,M,rr[x-7],rr[x-16]);rr[x]=z|0,nr[x]=H|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:d,Fh:g,Fl:h,Gh:p,Gl:y,Hh:m,Hl:v}=this;for(let x=0;x<80;x++){let A=j.rotrSH(l,d,14)^j.rotrSH(l,d,18)^j.rotrBH(l,d,41),S=j.rotrSL(l,d,14)^j.rotrSL(l,d,18)^j.rotrBL(l,d,41),B=l&g^~l&p,R=d&h^~d&y,_=j.add5L(v,S,R,od[x],nr[x]),O=j.add5H(_,m,A,B,id[x],rr[x]),M=_|0,U=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),H=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),z=n&o^n&a^o&a,Z=i&s^i&c^s&c;m=p|0,v=y|0,p=g|0,y=h|0,g=l|0,h=d|0,{h:l,l:d}=j.add(f|0,u|0,O|0,M|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=j.add3L(M,H,Z);n=j.add3H(C,O,U,z),i=C|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:f,l:u}=j.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:d}=j.add(this.Eh|0,this.El|0,l|0,d|0),{h:g,l:h}=j.add(this.Fh|0,this.Fl|0,g|0,h|0),{h:p,l:y}=j.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:m,l:v}=j.add(this.Hh|0,this.Hl|0,m|0,v|0),this.set(n,i,o,s,a,c,f,u,l,d,g,h,p,y,m,v)}roundClean(){rr.fill(0),nr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Zo=wi(()=>new Yo);var Ai={};Pt(Ai,{bitGet:()=>hd,bitLen:()=>ld,bitMask:()=>vn,bitSet:()=>dd,bytesToHex:()=>Ve,bytesToNumberBE:()=>qe,bytesToNumberLE:()=>xe,concatBytes:()=>ze,createHmacDrbg:()=>Jo,ensureBytes:()=>vt,equalBytes:()=>fd,hexToBytes:()=>mr,hexToNumber:()=>Qo,numberToBytesBE:()=>ir,numberToBytesLE:()=>He,numberToHexUnpadded:()=>z0,numberToVarBytesBE:()=>cd,utf8ToBytes:()=>ud,validateObject:()=>ce});var H0=BigInt(0),Si=BigInt(1),sd=BigInt(2),Bi=e=>e instanceof Uint8Array,ad=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ve(e){if(!Bi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ad[e[r]];return t}function z0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Qo(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function mr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,o=e.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 qe(e){return Qo(Ve(e))}function xe(e){if(!Bi(e))throw new Error("Uint8Array expected");return Qo(Ve(Uint8Array.from(e).reverse()))}function ir(e,t){return mr(e.toString(16).padStart(t*2,"0"))}function He(e,t){return ir(e,t).reverse()}function cd(e){return mr(z0(e))}function vt(e,t,r){let n;if(typeof t=="string")try{n=mr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Bi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function ze(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!Bi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function fd(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function ud(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function ld(e){let t;for(t=0;e>H0;e>>=Si,t+=1);return t}function hd(e,t){return e>>BigInt(t)&Si}var dd=(e,t,r)=>e|(r?Si:H0)<<BigInt(t),vn=e=>(sd<<BigInt(e-1))-Si,Xo=e=>new Uint8Array(e),q0=e=>Uint8Array.from(e);function Jo(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Xo(e),i=Xo(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Xo())=>{i=a(q0([0]),l),n=a(),l.length!==0&&(i=a(q0([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let g=n.slice();d.push(g),l+=n.length}return ze(...d)};return(l,d)=>{s(),c(l);let g;for(;!(g=d(f()));)c();return s(),g}}var pd={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function ce(e,t,r={}){let n=(i,o,s)=>{let a=pd[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=e[i];if(!(s&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(t))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return e}var Ut=BigInt(0),Bt=BigInt(1),xr=BigInt(2),yd=BigInt(3),jo=BigInt(4),G0=BigInt(5),$0=BigInt(8),gd=BigInt(9),md=BigInt(16);function ct(e,t){let r=e%t;return r>=Ut?r:t+r}function ts(e,t,r){if(r<=Ut||t<Ut)throw new Error("Expected power/modulo > 0");if(r===Bt)return Ut;let n=Bt;for(;t>Ut;)t&Bt&&(n=n*e%r),e=e*e%r,t>>=Bt;return n}function wt(e,t,r){let n=e;for(;t-- >Ut;)n*=n,n%=r;return n}function Ci(e,t){if(e===Ut||t<=Ut)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ct(e,t),n=t,i=Ut,o=Bt,s=Bt,a=Ut;for(;r!==Ut;){let f=n/r,u=n%r,l=i-s*f,d=o-a*f;n=r,r=u,i=s,o=a,s=l,a=d}if(n!==Bt)throw new Error("invert: does not exist");return ct(i,t)}function xd(e){let t=(e-Bt)/xr,r,n,i;for(r=e-Bt,n=0;r%xr===Ut;r/=xr,n++);for(i=xr;i<e&&ts(i,t,e)!==e-Bt;i++);if(n===1){let s=(e+Bt)/jo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+Bt)/xr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(d);g<f&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let h=a.pow(u,Bt<<BigInt(f-g-1));u=a.sqr(h),l=a.mul(l,h),d=a.mul(d,u),f=g}return l}}function bd(e){if(e%jo===yd){let t=(e+Bt)/jo;return function(n,i){let o=n.pow(i,t);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(e%$0===G0){let t=(e-G0)/$0;return function(n,i){let o=n.mul(i,xr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,xr),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return e%md,xd(e)}var W0=(e,t)=>(ct(e,t)&Bt)===Bt,vd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function es(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=vd.reduce((n,i)=>(n[i]="function",n),t);return ce(e,r)}function wd(e,t,r){if(r<Ut)throw new Error("Expected power > 0");if(r===Ut)return e.ONE;if(r===Bt)return t;let n=e.ONE,i=t;for(;r>Ut;)r&Bt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Bt;return n}function Ed(e,t){let r=new Array(t.length),n=t.reduce((o,s,a)=>e.is0(s)?o:(r[a]=o,e.mul(o,s)),e.ONE),i=e.inv(n);return t.reduceRight((o,s,a)=>e.is0(s)?o:(r[a]=e.mul(o,r[a]),e.mul(o,s)),i),r}function rs(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ii(e,t,r=!1,n={}){if(e<=Ut)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=rs(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=bd(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:vn(i),ZERO:Ut,ONE:Bt,create:c=>ct(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ut<=c&&c<e},is0:c=>c===Ut,isOdd:c=>(c&Bt)===Bt,neg:c=>ct(-c,e),eql:(c,f)=>c===f,sqr:c=>ct(c*c,e),add:(c,f)=>ct(c+f,e),sub:(c,f)=>ct(c-f,e),mul:(c,f)=>ct(c*f,e),pow:(c,f)=>wd(a,c,f),div:(c,f)=>ct(c*Ci(f,e),e),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>Ci(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Ed(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?He(c,o):ir(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?xe(c):qe(c)}});return Object.freeze(a)}function Y0(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function Z0(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function ns(e){let t=Z0(e);return t+Math.ceil(t/2)}function X0(e,t,r=!1){let n=e.length,i=Z0(t),o=ns(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?qe(e):xe(e),a=ct(s,t-Bt)+Bt;return r?He(a,i):ir(a,i)}var Bd=BigInt(0),is=BigInt(1);function Ti(e,t){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(t/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=e.ZERO,a=i;for(;o>Bd;)o&is&&(s=s.add(a)),a=a.double(),o>>=is;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let d=1;d<a;d++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=e.ZERO,u=e.BASE,l=BigInt(2**i-1),d=2**i,g=BigInt(i);for(let h=0;h<a;h++){let p=h*c,y=Number(s&l);s>>=g,y>c&&(y-=d,s+=is);let m=p,v=p+Math.abs(y)-1,x=h%2!==0,A=y<0;y===0?u=u.add(r(x,o[m])):f=f.add(r(A,o[v]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function wn(e){return es(e.Fp),ce(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...rs(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var be=BigInt(0),ne=BigInt(1),_i=BigInt(2),Ad=BigInt(8),Cd={zip215:!0};function Id(e){let t=wn(e);return ce(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Li(e){let t=Id(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,f=_i<<BigInt(a*8)-ne,u=r.create,l=t.uvRatio||((L,w)=>{try{return{isValid:!0,value:r.sqrt(L*r.inv(w))}}catch{return{isValid:!1,value:be}}}),d=t.adjustScalarBytes||(L=>L),g=t.domain||((L,w,k)=>{if(w.length||k)throw new Error("Contexts/pre-hash are not supported");return L}),h=L=>typeof L=="bigint"&&be<L,p=(L,w)=>h(L)&&h(w)&&L<w,y=L=>L===be||p(L,f);function m(L,w){if(p(L,w))return L;throw new Error(`Expected valid scalar < ${w}, got ${typeof L} ${L}`)}function v(L){return L===be?L:m(L,n)}let x=new Map;function A(L){if(!(L instanceof S))throw new Error("ExtendedPoint expected")}class S{constructor(w,k,K,V){if(this.ex=w,this.ey=k,this.ez=K,this.et=V,!y(w))throw new Error("x required");if(!y(k))throw new Error("y required");if(!y(K))throw new Error("z required");if(!y(V))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(w){if(w instanceof S)throw new Error("extended point not allowed");let{x:k,y:K}=w||{};if(!y(k)||!y(K))throw new Error("invalid affine point");return new S(k,K,ne,u(k*K))}static normalizeZ(w){let k=r.invertBatch(w.map(K=>K.ez));return w.map((K,V)=>K.toAffine(k[V])).map(S.fromAffine)}_setWindowSize(w){this._WINDOW_SIZE=w,x.delete(this)}assertValidity(){let{a:w,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:V,ez:W,et:Y}=this,et=u(K*K),X=u(V*V),J=u(W*W),gt=u(J*J),dt=u(et*w),qt=u(J*u(dt+X)),Ht=u(gt+u(k*u(et*X)));if(qt!==Ht)throw new Error("bad point: equation left != right (1)");let Dt=u(K*V),Gt=u(W*Y);if(Dt!==Gt)throw new Error("bad point: equation left != right (2)")}equals(w){A(w);let{ex:k,ey:K,ez:V}=this,{ex:W,ey:Y,ez:et}=w,X=u(k*et),J=u(W*V),gt=u(K*et),dt=u(Y*V);return X===J&&gt===dt}is0(){return this.equals(S.ZERO)}negate(){return new S(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:w}=t,{ex:k,ey:K,ez:V}=this,W=u(k*k),Y=u(K*K),et=u(_i*u(V*V)),X=u(w*W),J=k+K,gt=u(u(J*J)-W-Y),dt=X+Y,qt=dt-et,Ht=X-Y,Dt=u(gt*qt),Gt=u(dt*Ht),Oe=u(gt*Ht),dr=u(qt*dt);return new S(Dt,Gt,dr,Oe)}add(w){A(w);let{a:k,d:K}=t,{ex:V,ey:W,ez:Y,et}=this,{ex:X,ey:J,ez:gt,et:dt}=w;if(k===BigInt(-1)){let o0=u((W-V)*(J+X)),s0=u((W+V)*(J-X)),Ao=u(s0-o0);if(Ao===be)return this.double();let a0=u(Y*_i*dt),c0=u(et*_i*gt),f0=c0+a0,u0=s0+o0,l0=c0-a0,Wl=u(f0*Ao),Yl=u(u0*l0),Zl=u(f0*l0),Xl=u(Ao*u0);return new S(Wl,Yl,Xl,Zl)}let qt=u(V*X),Ht=u(W*J),Dt=u(et*K*dt),Gt=u(Y*gt),Oe=u((V+W)*(X+J)-qt-Ht),dr=Gt-Dt,yn=Gt+Dt,i0=u(Ht-k*qt),Hl=u(Oe*dr),zl=u(yn*i0),Gl=u(Oe*i0),$l=u(dr*yn);return new S(Hl,zl,$l,Gl)}subtract(w){return this.add(w.negate())}wNAF(w){return _.wNAFCached(this,x,w,S.normalizeZ)}multiply(w){let{p:k,f:K}=this.wNAF(m(w,n));return S.normalizeZ([k,K])[0]}multiplyUnsafe(w){let k=v(w);return k===be?R:this.equals(R)||k===ne?this:this.equals(B)?this.wNAF(k).p:_.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(w){let{ex:k,ey:K,ez:V}=this,W=this.is0();w==null&&(w=W?Ad:r.inv(V));let Y=u(k*w),et=u(K*w),X=u(V*w);if(W)return{x:be,y:ne};if(X!==ne)throw new Error("invZ was invalid");return{x:Y,y:et}}clearCofactor(){let{h:w}=t;return w===ne?this:this.multiplyUnsafe(w)}static fromHex(w,k=!1){let{d:K,a:V}=t,W=r.BYTES;w=vt("pointHex",w,W);let Y=w.slice(),et=w[W-1];Y[W-1]=et&-129;let X=xe(Y);X===be||(k?m(X,f):m(X,r.ORDER));let J=u(X*X),gt=u(J-ne),dt=u(K*J-V),{isValid:qt,value:Ht}=l(gt,dt);if(!qt)throw new Error("Point.fromHex: invalid y coordinate");let Dt=(Ht&ne)===ne,Gt=(et&128)!==0;if(!k&&Ht===be&&Gt)throw new Error("Point.fromHex: x=0 and x_0=1");return Gt!==Dt&&(Ht=u(-Ht)),S.fromAffine({x:Ht,y:X})}static fromPrivateKey(w){return U(w).point}toRawBytes(){let{x:w,y:k}=this.toAffine(),K=He(k,r.BYTES);return K[K.length-1]|=w&ne?128:0,K}toHex(){return Ve(this.toRawBytes())}}S.BASE=new S(t.Gx,t.Gy,ne,u(t.Gx*t.Gy)),S.ZERO=new S(be,ne,ne,be);let{BASE:B,ZERO:R}=S,_=Ti(S,a*8);function O(L){return ct(L,n)}function M(L){return O(xe(L))}function U(L){let w=a;L=vt("private key",L,w);let k=vt("hashed private key",o(L),2*w),K=d(k.slice(0,w)),V=k.slice(w,2*w),W=M(K),Y=B.multiply(W),et=Y.toRawBytes();return{head:K,prefix:V,scalar:W,point:Y,pointBytes:et}}function H(L){return U(L).pointBytes}function z(L=new Uint8Array,...w){let k=ze(...w);return M(o(g(k,vt("context",L),!!i)))}function Z(L,w,k={}){L=vt("message",L),i&&(L=i(L));let{prefix:K,scalar:V,pointBytes:W}=U(w),Y=z(k.context,K,L),et=B.multiply(Y).toRawBytes(),X=z(k.context,et,W,L),J=O(Y+X*V);v(J);let gt=ze(et,He(J,r.BYTES));return vt("result",gt,a*2)}let C=Cd;function N(L,w,k,K=C){let{context:V,zip215:W}=K,Y=r.BYTES;L=vt("signature",L,2*Y),w=vt("message",w),i&&(w=i(w));let et=xe(L.slice(Y,2*Y)),X,J,gt;try{X=S.fromHex(k,W),J=S.fromHex(L.slice(0,Y),W),gt=B.multiplyUnsafe(et)}catch{return!1}if(!W&&X.isSmallOrder())return!1;let dt=z(V,J.toRawBytes(),X.toRawBytes(),w);return J.add(X.multiplyUnsafe(dt)).subtract(gt).clearCofactor().equals(S.ZERO)}return B._setWindowSize(8),{CURVE:t,getPublicKey:H,sign:Z,verify:N,ExtendedPoint:S,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(L=8,w=S.BASE){return w._setWindowSize(L),w.multiply(BigInt(3)),w}}}}var En=BigInt(0),os=BigInt(1);function Td(e){return ce(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function Q0(e){let t=Td(e),{P:r}=t,n=x=>ct(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>ts(x,r-BigInt(2),r));function f(x,A,S){let B=n(x*(A-S));return A=n(A-B),S=n(S+B),[A,S]}function u(x){if(typeof x=="bigint"&&En<=x&&x<r)return x;throw new Error("Expected valid scalar 0 < scalar < CURVE.P")}let l=(t.a-BigInt(2))/BigInt(4);function d(x,A){let S=u(x),B=u(A),R=S,_=os,O=En,M=S,U=os,H=En,z;for(let C=BigInt(i-1);C>=En;C--){let N=B>>C&os;H^=N,z=f(H,_,M),_=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1],H=N;let T=_+O,L=n(T*T),w=_-O,k=n(w*w),K=L-k,V=M+U,W=M-U,Y=n(W*T),et=n(V*w),X=Y+et,J=Y-et;M=n(X*X),U=n(R*n(J*J)),_=n(L*k),O=n(K*(L+n(l*K)))}z=f(H,_,M),_=z[0],M=z[1],z=f(H,O,U),O=z[0],U=z[1];let Z=c(O);return n(_*Z)}function g(x){return He(n(x),o)}function h(x){let A=vt("u coordinate",x,o);return s===o&&(A[s-1]&=127),xe(A)}function p(x){let A=vt("scalar",x);if(A.length!==o&&A.length!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${A.length}`);return xe(a(A))}function y(x,A){let S=h(A),B=p(x),R=d(S,B);if(R===En)throw new Error("Invalid private or public key received");return g(R)}let m=g(t.Gu);function v(x){return y(x,m)}return{scalarMult:y,scalarMultBase:v,getSharedSecret:(x,A)=>y(x,A),getPublicKey:x=>v(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:m}}var Sn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),J0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),k2=BigInt(0),_d=BigInt(1),ss=BigInt(2),Ld=BigInt(5),j0=BigInt(10),Rd=BigInt(20),Nd=BigInt(40),tc=BigInt(80);function ec(e){let t=Sn,n=e*e%t*e%t,i=wt(n,ss,t)*n%t,o=wt(i,_d,t)*e%t,s=wt(o,Ld,t)*o%t,a=wt(s,j0,t)*s%t,c=wt(a,Rd,t)*a%t,f=wt(c,Nd,t)*c%t,u=wt(f,tc,t)*f%t,l=wt(u,tc,t)*f%t,d=wt(l,j0,t)*s%t;return{pow_p_5_8:wt(d,ss,t)*e%t,b2:n}}function rc(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Dd(e,t){let r=Sn,n=ct(t*t*t,r),i=ct(n*n*t,r),o=ec(e*i).pow_p_5_8,s=ct(e*n*o,r),a=ct(t*s*s,r),c=s,f=ct(s*J0,r),u=a===e,l=a===ct(-e,r),d=a===ct(-e*J0,r);return u&&(s=c),(l||d)&&(s=f),W0(s,r)&&(s=ct(-s,r)),{isValid:u||l,value:s}}var Ge=Ii(Sn,void 0,!0),as={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Ge,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Zo,randomBytes:gr,adjustScalarBytes:rc,uvRatio:Dd},Hr=Li(as);function nc(e,t,r){if(t.length>255)throw new Error("Context is too big");return vi($o("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var U2=Li({...as,domain:nc}),K2=Li({...as,domain:nc,prehash:Zo}),Bn=Q0({P:Sn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Sn,{pow_p_5_8:r,b2:n}=ec(e);return ct(wt(r,BigInt(3),t)*n,t)},adjustScalarBytes:rc,randomBytes:gr});var Pd=(Ge.ORDER+BigInt(3))/BigInt(8),O2=Ge.pow(ss,Pd),M2=Ge.sqrt(Ge.neg(Ge.ONE)),F2=(Ge.ORDER-BigInt(5))/BigInt(8),V2=BigInt(486662);var q2=Y0(Ge,Ge.neg(BigInt(486664)));var H2=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),z2=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),G2=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),$2=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var W2=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Ri=class extends Vr{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,bn(t);let n=er(r);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?t.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=t.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(t){return Fr(this),this.iHash.update(t),this}digestInto(t){Fr(this),Go(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=o,t.blockLen=s,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},zr=(e,t,r)=>new Ri(e,t).update(r).digest();zr.create=(e,t)=>new Ri(e,t);function oc(e,t,r){return bn(e),r===void 0&&(r=new Uint8Array(e.outputLen)),zr(e,er(r),er(t))}var cs=new Uint8Array([0]),ic=new Uint8Array;function sc(e,t,r,n=32){if(bn(e),mi(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=ic);let o=new Uint8Array(i*e.outputLen),s=zr.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let f=0;f<i;f++)cs[0]=f+1,a.update(f===0?ic:c).update(r).update(cs).digestInto(c),o.set(c,e.outputLen*f),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),cs.fill(0),o.slice(0,n)}var kd=(e,t,r)=>e&t^~e&r,Ud=(e,t,r)=>e&t^e&r^t&r,Kd=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]),or=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sr=new Uint32Array(64),fs=class extends qr{constructor(){super(64,32,8,!1),this.A=or[0]|0,this.B=or[1]|0,this.C=or[2]|0,this.D=or[3]|0,this.E=or[4]|0,this.F=or[5]|0,this.G=or[6]|0,this.H=or[7]|0}get(){let{A:t,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[t,r,n,i,o,s,a,c]}set(t,r,n,i,o,s,a,c){this.A=t|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(t,r){for(let l=0;l<16;l++,r+=4)sr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=sr[l-15],g=sr[l-2],h=me(d,7)^me(d,18)^d>>>3,p=me(g,17)^me(g,19)^g>>>10;sr[l]=p+sr[l-7]+h+sr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let d=me(a,6)^me(a,11)^me(a,25),g=u+d+kd(a,c,f)+Kd[l]+sr[l]|0,p=(me(n,2)^me(n,13)^me(n,22))+Ud(n,i,o)|0;u=f,f=c,c=a,a=s+g|0,s=o,o=i,i=n,n=g+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){sr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Gr=wi(()=>new fs);var us={hashSHA256(e){return Gr(e)},getHKDF(e,t){let r=oc(Gr,t,e),i=sc(Gr,r,void 0,96),o=i.subarray(0,32),s=i.subarray(32,64),a=i.subarray(64,96);return[o,s,a]},generateX25519KeyPair(){let e=Bn.utils.randomPrivateKey();return{publicKey:Bn.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Bn.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Bn.getSharedSecret(e,t)},chaCha20Poly1305Encrypt(e,t,r,n){return zo(n,t,r).encrypt(e)},chaCha20Poly1305Decrypt(e,t,r,n,i){return zo(n,t,r).decrypt(e,i)}};var ac=us;var ys={};Pt(ys,{base10:()=>Hd});function Od(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,p++;for(var x=(v-m)*u+1>>>0,A=new Uint8Array(x);m!==v;){for(var S=h[m],B=0,R=x-1;(S!==0||B<y)&&R!==-1;R--,B++)S+=256*A[R]>>>0,A[R]=S%a>>>0,S=S/a>>>0;if(S!==0)throw new Error("Non-zero carry");y=B,m++}for(var _=x-y;_!==x&&A[_]===0;)_++;for(var O=c.repeat(p);_<x;++_)O+=e.charAt(A[_]);return O}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var p=0;if(h[p]!==" "){for(var y=0,m=0;h[p]===c;)y++,p++;for(var v=(h.length-p)*f+1>>>0,x=new Uint8Array(v);h[p];){var A=r[h.charCodeAt(p)];if(A===255)return;for(var S=0,B=v-1;(A!==0||S<m)&&B!==-1;B--,S++)A+=a*x[B]>>>0,x[B]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");m=S,p++}if(h[p]!==" "){for(var R=v-m;R!==v&&x[R]===0;)R++;for(var _=new Uint8Array(y+(v-R)),O=y;R!==v;)_[O++]=x[R++];return _}}}function g(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:g}}var Md=Od,Fd=Md,cc=Fd;var pb=new Uint8Array(0);var fc=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},$e=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var uc=e=>new TextEncoder().encode(e),lc=e=>new TextDecoder().decode(e);var ls=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},hs=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return dc(this,t)}},ds=class{constructor(t){this.decoders=t}or(t){return dc(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},dc=(e,t)=>new ds({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),ps=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ls(t,r,n),this.decoder=new hs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},$r=({name:e,prefix:t,encode:r,decode:n})=>new ps(e,t,r,n),ar=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=cc(r,t);return $r({prefix:e,name:t,encode:n,decode:o=>$e(i(o))})},Vd=(e,t,r,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[e[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},qd=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Tt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>$r({prefix:t,name:e,encode(i){return qd(i,n,r)},decode(i){return Vd(i,n,r,e)}});var Hd=ar({prefix:"9",name:"base10",alphabet:"0123456789"});var gs={};Pt(gs,{base16:()=>zd,base16upper:()=>Gd});var zd=Tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gd=Tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ms={};Pt(ms,{base2:()=>$d});var $d=Tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var xs={};Pt(xs,{base256emoji:()=>Qd});var pc=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}"),Wd=pc.reduce((e,t,r)=>(e[r]=t,e),[]),Yd=pc.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Zd(e){return e.reduce((t,r)=>(t+=Wd[r],t),"")}function Xd(e){let t=[];for(let r of e){let n=Yd[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Qd=$r({prefix:"\u{1F680}",name:"base256emoji",encode:Zd,decode:Xd});var bs={};Pt(bs,{base32:()=>ve,base32hex:()=>ep,base32hexpad:()=>np,base32hexpadupper:()=>ip,base32hexupper:()=>rp,base32pad:()=>jd,base32padupper:()=>tp,base32upper:()=>Jd,base32z:()=>op});var ve=Tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Jd=Tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jd=Tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),tp=Tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ep=Tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),rp=Tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),np=Tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ip=Tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),op=Tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vs={};Pt(vs,{base36:()=>sp,base36upper:()=>ap});var sp=ar({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ap=ar({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ws={};Pt(ws,{base58btc:()=>mt,base58flickr:()=>cp});var mt=ar({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),cp=ar({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ss={};Pt(Ss,{base64:()=>Wr,base64pad:()=>fp,base64url:()=>Es,base64urlpad:()=>up});var Wr=Tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fp=Tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Es=Tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),up=Tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Bs={};Pt(Bs,{base8:()=>lp});var lp=Tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var As={};Pt(As,{identity:()=>hp});var hp=$r({prefix:"\0",name:"identity",encode:e=>lc(e),decode:e=>uc(e)});var _b=new TextEncoder,Lb=new TextDecoder;var Ts={};Pt(Ts,{identity:()=>Se});var Ee={};Pt(Ee,{Digest:()=>br,create:()=>fe,decode:()=>we,equals:()=>Is});var yp=mc,yc=128,gp=127,mp=~gp,xp=Math.pow(2,31);function mc(e,t,r){t=t||[],r=r||0;for(var n=r;e>=xp;)t[r++]=e&255|yc,e/=128;for(;e&mp;)t[r++]=e&255|yc,e>>>=7;return t[r]=e|0,mc.bytes=r-n+1,t}var bp=Cs,vp=128,gc=127;function Cs(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Cs.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&gc)<<i:(s&gc)*Math.pow(2,i),i+=7}while(s>=vp);return Cs.bytes=o-n,r}var wp=Math.pow(2,7),Ep=Math.pow(2,14),Sp=Math.pow(2,21),Bp=Math.pow(2,28),Ap=Math.pow(2,35),Cp=Math.pow(2,42),Ip=Math.pow(2,49),Tp=Math.pow(2,56),_p=Math.pow(2,63),Lp=function(e){return e<wp?1:e<Ep?2:e<Sp?3:e<Bp?4:e<Ap?5:e<Cp?6:e<Ip?7:e<Tp?8:e<_p?9:10},Rp={encode:yp,decode:bp,encodingLength:Lp},Np=Rp,An=Np;var Cn=(e,t=0)=>[An.decode(e,t),An.decode.bytes],Yr=(e,t,r=0)=>(An.encode(e,t,r),t),Zr=e=>An.encodingLength(e);var fe=(e,t)=>{let r=t.byteLength,n=Zr(e),i=n+Zr(r),o=new Uint8Array(i+r);return Yr(e,o,0),Yr(r,o,n),o.set(t,i),new br(e,r,t,o)},we=e=>{let t=$e(e),[r,n]=Cn(t),[i,o]=Cn(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new br(r,i,s,t)},Is=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&fc(e.bytes,r.bytes)}},br=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var xc=0,Dp="identity",bc=$e,Pp=e=>fe(xc,bc(e)),Se={code:xc,name:Dp,encode:bc,digest:Pp};var Rs={};Pt(Rs,{sha256:()=>Rt,sha512:()=>kp});var Ls=({name:e,code:t,encode:r})=>new _s(e,t,r),_s=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?fe(this.code,r):r.then(n=>fe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var wc=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Rt=Ls({name:"sha2-256",code:18,encode:wc("SHA-256")}),kp=Ls({name:"sha2-512",code:19,encode:wc("SHA-512")});var Ec=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Kp(r,Ns(e),t||mt.encoder);default:return Op(r,Ns(e),t||ve.encoder)}};var Sc=new WeakMap,Ns=e=>{let t=Sc.get(e);if(t==null){let r=new Map;return Sc.set(e,r),r}return t},jt=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==In)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Mp)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=fe(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Is(t.multihash,n.multihash)}toString(t){return Ec(this,t)}toJSON(){return{"/":Ec(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new e(n,i,o,s||Bc(n,i,o.bytes))}else if(r[Fp]===!0){let{version:n,multihash:i,code:o}=r,s=we(i);return e.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==In)throw new Error(`Version 0 CID must use dag-pb (code: ${In}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Bc(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,In,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=$e(t.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 br(r.multihashCode,r.digestSize,o,i);return[r.version===0?e.createV0(s):e.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=Cn(t.subarray(r));return r+=d,l},i=n(),o=In;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(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(t,r){let[n,i]=Up(t,r),o=e.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ns(o).set(n,t),o}},Up=(e,t)=>{switch(e[0]){case"Q":{let r=t||mt;return[mt.prefix,r.decode(`${mt.prefix}${e}`)]}case mt.prefix:{let r=t||mt;return[mt.prefix,r.decode(e)]}case ve.prefix:{let r=t||ve;return[ve.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Kp=(e,t,r)=>{let{prefix:n}=r;if(n!==mt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Op=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},In=112,Mp=18,Bc=(e,t,r)=>{let n=Zr(e),i=n+Zr(t),o=new Uint8Array(i+r.byteLength);return Yr(e,o,0),Yr(t,o,n),o.set(r,i),o},Fp=Symbol.for("@ipld/js-cid/CID");var ie={...As,...ms,...Bs,...ys,...gs,...bs,...vs,...ws,...Ss,...xs},$b={...Rs,...Ts};function Cc(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Ac=Cc("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ds=Cc("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=kt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Vp={utf8:Ac,"utf-8":Ac,hex:ie.base16,latin1:Ds,ascii:Ds,binary:Ds,...ie},Di=Vp;function It(e,t="utf8"){let r=Di[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Me(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function nt(e,t="utf8"){let r=Di[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Xr=e=>{let t=kt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Xr.bytes=2;var Tn=e=>{if(e.length<2)throw RangeError("Could not decode int16BE");return e instanceof Uint8Array?new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1):e.getUint16(0)};Tn.bytes=2;function Ic(e){return ut([e.ne,e.ciphertext],e.ne.length+e.ciphertext.length)}function Tc(e){return ut([e.ne,e.ns,e.ciphertext],e.ne.length+e.ns.length+e.ciphertext.length)}function _c(e){return ut([e.ns,e.ciphertext],e.ns.length+e.ciphertext.length)}function Lc(e){if(e.length<32)throw new Error("Cannot decode stage 0 MessageBuffer: length less than 32 bytes.");return{ne:e.subarray(0,32),ciphertext:e.subarray(32,e.length),ns:rt(0)}}function Rc(e){if(e.length<80)throw new Error("Cannot decode stage 1 MessageBuffer: length less than 80 bytes.");return{ne:e.subarray(0,32),ns:e.subarray(32,80),ciphertext:e.subarray(80,e.length)}}function Nc(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:rt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var Pc=16;function kc(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65519){let o=i+65519;o>n.length&&(o=n.length);let s=e.encrypt(n.subarray(i,o),e.session);t?.encryptedPackets.increment(),yield ut([Xr(s.byteLength),s],2+s.byteLength)}}}function Uc(e,t){return async function*(r){for await(let n of r)for(let i=0;i<n.length;i+=65535){let o=i+65535;if(o>n.length&&(o=n.length),o-Pc<i)throw new Error("Invalid chunk");let s=n.subarray(i,o),a=n.subarray(i,o-Pc),{plaintext:c,valid:f}=e.decrypt(s,e.session,a);if(!f)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var ot=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}},Ln=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},vr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var c8=Zt(Pn(),1),f8=Zt(jf(),1);var Xg=Zt(yt(),1);var ma={};Pt(ma,{Ed25519PrivateKey:()=>Rr,Ed25519PublicKey:()=>Fn,generateKeyPair:()=>Sg,generateKeyPairFromSeed:()=>pu,unmarshalEd25519PrivateKey:()=>wg,unmarshalEd25519PublicKey:()=>Eg});var en=32,Xe=64,Ji=32;async function tu(){let e=Hr.utils.randomPrivateKey(),t=Hr.getPublicKey(e);return{privateKey:iu(e,t),publicKey:t}}async function eu(e){if(e.length!==Ji)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=Hr.getPublicKey(t);return{privateKey:iu(t,r),publicKey:r}}async function ru(e,t){let r=e.subarray(0,Ji);return Hr.sign(t,r)}async function nu(e,t,r){return Hr.verify(t,r,e)}function iu(e,t){let r=new Uint8Array(Xe);for(let n=0;n<Ji;n++)r[n]=e[n],r[Ji+n]=t[n];return r}var ee={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var ra={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function na(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=ee.get();r*=8;async function c(l,d){let g=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=It(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",ra,{name:"AES-GCM"},!0,["encrypt"]);try{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,x,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",ra,{name:"AES-GCM"},!0,["encrypt"])}}else{let v={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(v,x,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(p,y,l);return ut([g,p.iv,new Uint8Array(m)])}async function f(l,d){let g=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),y={name:t,iv:h};typeof d=="string"&&(d=It(d));let m;if(d.length===0)try{let x={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,A,{name:t,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",ra,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},A=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,A,{name:t,length:r},!0,["decrypt"])}let v=await a.subtle.decrypt(y,m,p);return new Uint8Array(v)}return{encrypt:c,decrypt:f}}async function rn(e,t){let n=await na().encrypt(e,t);return Wr.encode(n)}var ia=new Float32Array([-0]),hr=new Uint8Array(ia.buffer);function su(e,t,r){ia[0]=e,t[r]=hr[0],t[r+1]=hr[1],t[r+2]=hr[2],t[r+3]=hr[3]}function au(e,t){return hr[0]=e[t],hr[1]=e[t+1],hr[2]=e[t+2],hr[3]=e[t+3],ia[0]}var oa=new Float64Array([-0]),Yt=new Uint8Array(oa.buffer);function cu(e,t,r){oa[0]=e,t[r]=Yt[0],t[r+1]=Yt[1],t[r+2]=Yt[2],t[r+3]=Yt[3],t[r+4]=Yt[4],t[r+5]=Yt[5],t[r+6]=Yt[6],t[r+7]=Yt[7]}function fu(e,t){return Yt[0]=e[t],Yt[1]=e[t+1],Yt[2]=e[t+2],Yt[3]=e[t+3],Yt[4]=e[t+4],Yt[5]=e[t+5],Yt[6]=e[t+6],Yt[7]=e[t+7],oa[0]}var dg=BigInt(Number.MAX_SAFE_INTEGER),pg=BigInt(Number.MIN_SAFE_INTEGER),re=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Cr;if(t<dg&&t>pg)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>uu&&(i=0n,++n>uu&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Cr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Cr}},Cr=new re(0,0);Cr.toBigInt=function(){return 0n};Cr.zzEncode=Cr.zzDecode=function(){return this};Cr.length=function(){return 1};var uu=4294967296n;function lu(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function hu(e,t,r){if(r-t<1)return"";let i,o=[],s=0,a;for(;t<r;)a=e[t++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function sa(e,t,r){let n=r,i,o;for(let s=0;s<e.length;++s)i=e.charCodeAt(s),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((o=e.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function Ce(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function ji(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var aa=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ce(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ce(this,4);return ji(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ce(this,4);return ji(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ce(this,4);let t=au(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ce(this,4);let t=fu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ce(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return hu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ce(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ce(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new re(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Ce(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Ce(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ce(this,8);let t=ji(this.buf,this.pos+=4),r=ji(this.buf,this.pos+=4);return new re(t,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ca(e){return new aa(e instanceof Uint8Array?e:e.subarray())}function Ir(e,t){let r=ca(e);return t.decode(r)}function fa(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return kt(s);i+s>t&&(n=kt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Tr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function ua(){}var ha=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},yg=fa();function gg(e){return globalThis.Buffer!=null?kt(e):yg(e)}var Mn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Tr(ua,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Tr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new da((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Kn,10,re.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=re.fromBigInt(t);return this._push(Kn,r.length(),r)}uint64Number(t){let r=re.fromNumber(t);return this._push(Kn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=re.fromBigInt(t).zzEncode();return this._push(Kn,r.length(),r)}sint64Number(t){let r=re.fromNumber(t).zzEncode();return this._push(Kn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(la,1,t?1:0)}fixed32(t){return this._push(On,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=re.fromBigInt(t);return this._push(On,4,r.lo)._push(On,4,r.hi)}fixed64Number(t){let r=re.fromNumber(t);return this._push(On,4,r.lo)._push(On,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(su,4,t)}double(t){return this._push(cu,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(la,1,0):this.uint32(r)._push(xg,r,t)}string(t){let r=lu(t);return r!==0?this.uint32(r)._push(sa,r,t):this._push(la,1,0)}fork(){return this.states=new ha(this),this.head=this.tail=new Tr(ua,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Tr(ua,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=gg(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function la(e,t,r){t[r]=e&255}function mg(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var da=class extends Tr{next;constructor(t,r){super(mg,t,r),this.next=void 0}};function Kn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function On(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function xg(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Mn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(bg,t,e),this},Mn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(vg,t,e),this});function bg(e,t,r){t.set(e,r)}function vg(e,t,r){e.length<40?sa(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(It(e),r)}function pa(){return new Mn}function _r(e,t){let r=pa();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var nn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(nn||(nn={}));function to(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function ya(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return to("enum",nn.VARINT,r,n)}function Lr(e,t){return to("message",nn.LENGTH_DELIMITED,e,t)}var Ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Ct||(Ct={}));var ga;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ga||(ga={}));(function(e){e.codec=()=>ya(ga)})(Ct||(Ct={}));var Pe;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ct.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=Ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(Pe||(Pe={}));var ke;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Ct.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=Ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(ke||(ke={}));var Fn=class{_key;constructor(t){this._key=on(t,en)}async verify(t,r){return nu(this._key,r,t)}marshal(){return this._key}get bytes(){return Pe.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}},Rr=class{_key;_publicKey;constructor(t,r){this._key=on(t,Xe),this._publicKey=on(r,en)}async sign(t){return ru(this._key,t)}get public(){return new Fn(this._publicKey)}marshal(){return this._key}get bytes(){return ke.encode({Type:Ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}async id(){let t=Se.digest(this.public.bytes);return mt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return rn(this.bytes,t);throw new ot(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function wg(e){if(e.length>Xe){e=on(e,Xe+en);let n=e.subarray(0,Xe),i=e.subarray(Xe,e.length);return new Rr(n,i)}e=on(e,Xe);let t=e.subarray(0,Xe),r=e.subarray(en);return new Rr(t,r)}function Eg(e){return e=on(e,en),new Fn(e)}async function Sg(){let{privateKey:e,publicKey:t}=await tu();return new Rr(e,t)}async function pu(e){let{privateKey:t,publicKey:r}=await eu(e);return new Rr(t,r)}function on(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new ot(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Uw=Zt(Nt(),1),Kw=Zt(Yi(),1),yu=Zt(yt(),1);function Ie(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return nt(r,"base64url")}function oe(e){let t=gu(e);return new yu.default.jsbn.BigInteger(nt(t,"base16"),16)}function gu(e,t){let r=It(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return r}var Bg={"P-256":256,"P-384":384,"P-521":521},Ag=Object.keys(Bg),Yw=Ag.join(" / ");var Ea={};Pt(Ea,{MAX_KEY_SIZE:()=>zn,RsaPrivateKey:()=>sn,RsaPublicKey:()=>Hn,fromJwk:()=>Ug,generateKeyPair:()=>Kg,unmarshalRsaPrivateKey:()=>Pg,unmarshalRsaPublicKey:()=>kg});var qn=Zt(yt(),1);var NE=Zt(wu(),1);function ro(e){if(isNaN(e)||e<=0)throw new ot("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return gr(e)}var pE=Zt(Qi(),1),va=Zt(yt(),1);function Eu(e,t){return t.map(r=>oe(e[r]))}function Su(e){return va.default.pki.setRsaPrivateKey(...Eu(e,["n","e","d","p","q","dp","dq","qi"]))}function Bu(e){return va.default.pki.setRsaPublicKey(...Eu(e,["n","e"]))}var Dr={};Pt(Dr,{jwkToPkcs1:()=>_g,jwkToPkix:()=>Rg,pkcs1ToJwk:()=>Tg,pkixToJwk:()=>Lg});var mE=Zt(Pn(),1),xE=Zt(Qi(),1);var Qe=Zt(yt(),1);function Tg(e){let t=Qe.default.asn1.fromDer(nt(e,"ascii")),r=Qe.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dp:Ie(r.dP),dq:Ie(r.dQ),qi:Ie(r.qInv),alg:"RS256"}}function _g(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new ot("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Qe.default.pki.privateKeyToAsn1({n:oe(e.n),e:oe(e.e),d:oe(e.d),p:oe(e.p),q:oe(e.q),dP:oe(e.dp),dQ:oe(e.dq),qInv:oe(e.qi)});return It(Qe.default.asn1.toDer(t).getBytes(),"ascii")}function Lg(e){let t=Qe.default.asn1.fromDer(nt(e,"ascii")),r=Qe.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e)}}function Rg(e){if(e.n==null||e.e==null)throw new ot("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Qe.default.pki.publicKeyToAsn1({n:oe(e.n),e:oe(e.e)});return It(Qe.default.asn1.toDer(t).getBytes(),"ascii")}async function Au(e){let t=await ee.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Tu(t);return{privateKey:r[0],publicKey:r[1]}}async function wa(e){let r=[await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ng(e)],n=await Tu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Cu(e,t){let r=await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ee.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Iu(e,t,r){let n=await ee.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ee.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Tu(e){if(e.privateKey==null||e.publicKey==null)throw new ot("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ee.get().subtle.exportKey("jwk",e.privateKey),ee.get().subtle.exportKey("jwk",e.publicKey)])}async function Ng(e){return ee.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function _u(e,t,r,n){let i=t?Bu(e):Su(e),o=nt(Uint8Array.from(r),"ascii"),s=n(o,i);return It(s,"ascii")}function Lu(e,t){return _u(e,!0,t,(r,n)=>n.encrypt(r))}function Ru(e,t){return _u(e,!1,t,(r,n)=>n.decrypt(r))}function no(e){if(e.kty!=="RSA")throw new ot("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new ot("invalid key modulus","ERR_INVALID_KEY_MODULUS");return It(e.n,"base64url").length*8}var zn=8192,Hn=class{_key;constructor(t){this._key=t}async verify(t,r){return Iu(this._key,r,t)}marshal(){return Dr.jwkToPkix(this._key)}get bytes(){return Pe.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Lu(this._key,t)}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}},sn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return ro(16)}async sign(t){return Cu(this._key,t)}get public(){if(this._publicKey==null)throw new ot("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hn(this._publicKey)}decrypt(t){return Ru(this._key,t)}marshal(){return Dr.jwkToPkcs1(this._key)}get bytes(){return ke.encode({Type:Ct.RSA,Data:this.marshal()}).subarray()}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return nt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new qn.default.util.ByteBuffer(this.marshal()),i=qn.default.asn1.fromDer(n),o=qn.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return qn.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return rn(this.bytes,t);throw new ot(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Pg(e){let t=Dr.pkcs1ToJwk(e);if(no(t)>zn)throw new ot("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await wa(t);return new sn(r.privateKey,r.publicKey)}function kg(e){let t=Dr.pkixToJwk(e);if(no(t)>zn)throw new ot("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hn(t)}async function Ug(e){if(no(e)>zn)throw new ot("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await wa(e);return new sn(t.privateKey,t.publicKey)}async function Kg(e){if(e>zn)throw new ot("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Au(e);return new sn(t.privateKey,t.publicKey)}var Ca={};Pt(Ca,{Secp256k1PrivateKey:()=>$n,Secp256k1PublicKey:()=>Gn,generateKeyPair:()=>Zg,unmarshalSecp256k1PrivateKey:()=>Wg,unmarshalSecp256k1PublicKey:()=>Yg});function Og(e){let t=wn(e);ce(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=t;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Mg,hexToBytes:Fg}=Ai,Pr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Pr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Mg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Pr,r=typeof e=="string"?Fg(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:o}=Pr._parseInt(r.subarray(2)),{d:s,l:a}=Pr._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=t(r(e.s)),i=t(r(e.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}`}},Je=BigInt(0),he=BigInt(1),OE=BigInt(2),Nu=BigInt(3),ME=BigInt(4);function Vg(e){let t=Og(e),{Fp:r}=t,n=t.toBytes||((h,p,y)=>{let m=p.toAffine();return ze(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),m=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function o(h){let{a:p,b:y}=t,m=r.sqr(h),v=r.mul(m,h);return r.add(r.add(v,r.mul(h,p)),y)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&Je<h&&h<t.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:m,n:v}=t;if(p&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Ve(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let x;try{x=typeof h=="bigint"?h:qe(vt("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return m&&(x=ct(x,v)),a(x),x}let f=new Map;function u(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,m){if(this.px=p,this.py=y,this.pz=m,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(m==null||!r.isValid(m))throw new Error("z required")}static fromAffine(p){let{x:y,y:m}=p||{};if(!p||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let v=x=>r.eql(x,r.ZERO);return v(y)&&v(m)?l.ZERO:new l(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(m=>m.pz));return p.map((m,v)=>m.toAffine(y[v])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(vt("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),v=o(p);if(!r.eql(m,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:y,py:m,pz:v}=this,{px:x,py:A,pz:S}=p,B=r.eql(r.mul(y,S),r.mul(x,v)),R=r.eql(r.mul(m,S),r.mul(A,v));return B&&R}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=t,m=r.mul(y,Nu),{px:v,py:x,pz:A}=this,S=r.ZERO,B=r.ZERO,R=r.ZERO,_=r.mul(v,v),O=r.mul(x,x),M=r.mul(A,A),U=r.mul(v,x);return U=r.add(U,U),R=r.mul(v,A),R=r.add(R,R),S=r.mul(p,R),B=r.mul(m,M),B=r.add(S,B),S=r.sub(O,B),B=r.add(O,B),B=r.mul(S,B),S=r.mul(U,S),R=r.mul(m,R),M=r.mul(p,M),U=r.sub(_,M),U=r.mul(p,U),U=r.add(U,R),R=r.add(_,_),_=r.add(R,_),_=r.add(_,M),_=r.mul(_,U),B=r.add(B,_),M=r.mul(x,A),M=r.add(M,M),_=r.mul(M,U),S=r.sub(S,_),R=r.mul(M,O),R=r.add(R,R),R=r.add(R,R),new l(S,B,R)}add(p){u(p);let{px:y,py:m,pz:v}=this,{px:x,py:A,pz:S}=p,B=r.ZERO,R=r.ZERO,_=r.ZERO,O=t.a,M=r.mul(t.b,Nu),U=r.mul(y,x),H=r.mul(m,A),z=r.mul(v,S),Z=r.add(y,m),C=r.add(x,A);Z=r.mul(Z,C),C=r.add(U,H),Z=r.sub(Z,C),C=r.add(y,v);let N=r.add(x,S);return C=r.mul(C,N),N=r.add(U,z),C=r.sub(C,N),N=r.add(m,v),B=r.add(A,S),N=r.mul(N,B),B=r.add(H,z),N=r.sub(N,B),_=r.mul(O,C),B=r.mul(M,z),_=r.add(B,_),B=r.sub(H,_),_=r.add(H,_),R=r.mul(B,_),H=r.add(U,U),H=r.add(H,U),z=r.mul(O,z),C=r.mul(M,C),H=r.add(H,z),z=r.sub(U,z),z=r.mul(O,z),C=r.add(C,z),U=r.mul(H,C),R=r.add(R,U),U=r.mul(N,C),B=r.mul(Z,B),B=r.sub(B,U),U=r.mul(Z,H),_=r.mul(N,_),_=r.add(_,U),new l(B,R,_)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return g.wNAFCached(this,f,p,y=>{let m=r.invertBatch(y.map(v=>v.pz));return y.map((v,x)=>v.toAffine(m[x])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===Je)return y;if(a(p),p===he)return this;let{endo:m}=t;if(!m)return g.unsafeLadder(this,p);let{k1neg:v,k1:x,k2neg:A,k2:S}=m.splitScalar(p),B=y,R=y,_=this;for(;x>Je||S>Je;)x&he&&(B=B.add(_)),S&he&&(R=R.add(_)),_=_.double(),x>>=he,S>>=he;return v&&(B=B.negate()),A&&(R=R.negate()),R=new l(r.mul(R.px,m.beta),R.py,R.pz),B.add(R)}multiply(p){a(p);let y=p,m,v,{endo:x}=t;if(x){let{k1neg:A,k1:S,k2neg:B,k2:R}=x.splitScalar(y),{p:_,f:O}=this.wNAF(S),{p:M,f:U}=this.wNAF(R);_=g.constTimeNegate(A,_),M=g.constTimeNegate(B,M),M=new l(r.mul(M.px,x.beta),M.py,M.pz),m=_.add(M),v=O.add(U)}else{let{p:A,f:S}=this.wNAF(y);m=A,v=S}return l.normalizeZ([m,v])[0]}multiplyAndAddUnsafe(p,y,m){let v=l.BASE,x=(S,B)=>B===Je||B===he||!S.equals(v)?S.multiplyUnsafe(B):S.multiply(B),A=x(this,y).add(x(p,m));return A.is0()?void 0:A}toAffine(p){let{px:y,py:m,pz:v}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(v));let A=r.mul(y,p),S=r.mul(m,p),B=r.mul(v,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(B,r.ONE))throw new Error("invZ was invalid");return{x:A,y:S}}isTorsionFree(){let{h:p,isTorsionFree:y}=t;if(p===he)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=t;return p===he?this:y?y(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ve(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let d=t.nBitLength,g=Ti(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function qg(e){let t=wn(e);return ce(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Du(e){let t=qg(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return Je<C&&C<r.ORDER}function a(C){return ct(C,n)}function c(C){return Ci(C,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:d}=Vg({...t,toBytes(C,N,T){let L=N.toAffine(),w=r.toBytes(L.x),k=ze;return T?k(Uint8Array.from([N.hasEvenY()?2:3]),w):k(Uint8Array.from([4]),w,r.toBytes(L.y))},fromBytes(C){let N=C.length,T=C[0],L=C.subarray(1);if(N===i&&(T===2||T===3)){let w=qe(L);if(!s(w))throw new Error("Point is not on curve");let k=l(w),K=r.sqrt(k),V=(K&he)===he;return(T&1)===1!==V&&(K=r.neg(K)),{x:w,y:K}}else if(N===o&&T===4){let w=r.fromBytes(L.subarray(0,r.BYTES)),k=r.fromBytes(L.subarray(r.BYTES,2*r.BYTES));return{x:w,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),g=C=>Ve(ir(C,t.nByteLength));function h(C){let N=n>>he;return C>N}function p(C){return h(C)?a(-C):C}let y=(C,N,T)=>qe(C.slice(N,T));class m{constructor(N,T,L){this.r=N,this.s=T,this.recovery=L,this.assertValidity()}static fromCompact(N){let T=t.nByteLength;return N=vt("compactSignature",N,T*2),new m(y(N,0,T),y(N,T,2*T))}static fromDER(N){let{r:T,s:L}=Pr.toSig(vt("DER",N));return new m(T,L)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new m(this.r,this.s,N)}recoverPublicKey(N){let{r:T,s:L,recovery:w}=this,k=R(vt("msgHash",N));if(w==null||![0,1,2,3].includes(w))throw new Error("recovery id invalid");let K=w===2||w===3?T+t.n:T;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let V=w&1?"03":"02",W=f.fromHex(V+g(K)),Y=c(K),et=a(-k*Y),X=a(L*Y),J=f.BASE.multiplyAndAddUnsafe(W,et,X);if(!J)throw new Error("point at infinify");return J.assertValidity(),J}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return mr(this.toDERHex())}toDERHex(){return Pr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return mr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}let v={isValidPrivateKey(C){try{return u(C),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let C=ns(t.n);return X0(t.randomBytes(C),t.n)},precompute(C=8,N=f.BASE){return N._setWindowSize(C),N.multiply(BigInt(3)),N}};function x(C,N=!0){return f.fromPrivateKey(C).toRawBytes(N)}function A(C){let N=C instanceof Uint8Array,T=typeof C=="string",L=(N||T)&&C.length;return N?L===i||L===o:T?L===2*i||L===2*o:C instanceof f}function S(C,N,T=!0){if(A(C))throw new Error("first arg must be private key");if(!A(N))throw new Error("second arg must be public key");return f.fromHex(N).multiply(u(C)).toRawBytes(T)}let B=t.bits2int||function(C){let N=qe(C),T=C.length*8-t.nBitLength;return T>0?N>>BigInt(T):N},R=t.bits2int_modN||function(C){return a(B(C))},_=vn(t.nBitLength);function O(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(Je<=C&&C<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return ir(C,t.nByteLength)}function M(C,N,T=U){if(["recovered","canonical"].some(dt=>dt in T))throw new Error("sign() legacy options not supported");let{hash:L,randomBytes:w}=t,{lowS:k,prehash:K,extraEntropy:V}=T;k==null&&(k=!0),C=vt("msgHash",C),K&&(C=vt("prehashed msgHash",L(C)));let W=R(C),Y=u(N),et=[O(Y),O(W)];if(V!=null){let dt=V===!0?w(r.BYTES):V;et.push(vt("extraEntropy",dt))}let X=ze(...et),J=W;function gt(dt){let qt=B(dt);if(!d(qt))return;let Ht=c(qt),Dt=f.BASE.multiply(qt).toAffine(),Gt=a(Dt.x);if(Gt===Je)return;let Oe=a(Ht*a(J+Gt*Y));if(Oe===Je)return;let dr=(Dt.x===Gt?0:2)|Number(Dt.y&he),yn=Oe;return k&&h(Oe)&&(yn=p(Oe),dr^=1),new m(Gt,yn,dr)}return{seed:X,k2sig:gt}}let U={lowS:t.lowS,prehash:!1},H={lowS:t.lowS,prehash:!1};function z(C,N,T=U){let{seed:L,k2sig:w}=M(C,N,T),k=t;return Jo(k.hash.outputLen,k.nByteLength,k.hmac)(L,w)}f.BASE._setWindowSize(8);function Z(C,N,T,L=H){let w=C;if(N=vt("msgHash",N),T=vt("publicKey",T),"strict"in L)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:K}=L,V,W;try{if(typeof w=="string"||w instanceof Uint8Array)try{V=m.fromDER(w)}catch(Dt){if(!(Dt instanceof Pr.Err))throw Dt;V=m.fromCompact(w)}else if(typeof w=="object"&&typeof w.r=="bigint"&&typeof w.s=="bigint"){let{r:Dt,s:Gt}=w;V=new m(Dt,Gt)}else throw new Error("PARSE");W=f.fromHex(T)}catch(Dt){if(Dt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&V.hasHighS())return!1;K&&(N=t.hash(N));let{r:Y,s:et}=V,X=R(N),J=c(et),gt=a(X*J),dt=a(Y*J),qt=f.BASE.multiplyAndAddUnsafe(W,gt,dt)?.toAffine();return qt?a(qt.x)===Y:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:S,sign:z,verify:Z,ProjectivePoint:f,Signature:m,utils:v}}function Hg(e){return{hash:e,hmac:(t,...r)=>zr(e,t,vi(...r)),randomBytes:gr}}function Pu(e,t){let r=n=>Du({...e,...Hg(n)});return Object.freeze({...r(t),create:r})}var Ku=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ku=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),zg=BigInt(1),Sa=BigInt(2),Uu=(e,t)=>(e+t/Sa)/t;function Gg(e){let t=Ku,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=e*e*e%t,u=f*f*e%t,l=wt(u,r,t)*u%t,d=wt(l,r,t)*u%t,g=wt(d,Sa,t)*f%t,h=wt(g,i,t)*g%t,p=wt(h,o,t)*h%t,y=wt(p,a,t)*p%t,m=wt(y,c,t)*y%t,v=wt(m,a,t)*p%t,x=wt(v,r,t)*u%t,A=wt(x,s,t)*h%t,S=wt(A,n,t)*f%t,B=wt(S,Sa,t);if(!Ba.eql(Ba.sqr(B),e))throw new Error("Cannot find square root");return B}var Ba=Ii(Ku,void 0,void 0,{sqrt:Gg}),je=Pu({a:BigInt(0),b:BigInt(7),Fp:Ba,n:ku,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=ku,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-zg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Uu(o*e,t),c=Uu(-n*e,t),f=ct(e-a*r-c*i,t),u=ct(-a*n-c*o,t),l=f>s,d=u>s;if(l&&(f=t-f),d&&(u=t-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:f,k2neg:d,k2:u}}}},Gr),YE=BigInt(0);var ZE=je.ProjectivePoint;function Ou(){return je.utils.randomPrivateKey()}async function Mu(e,t){let{digest:r}=await Rt.digest(t);try{return je.sign(r,e).toDERRawBytes()}catch(n){throw new ot(String(n),"ERR_INVALID_INPUT")}}async function Fu(e,t,r){try{let{digest:n}=await Rt.digest(r);return je.verify(t,n,e)}catch(n){throw new ot(String(n),"ERR_INVALID_INPUT")}}function Vu(e){return je.ProjectivePoint.fromHex(e).toRawBytes(!0)}function qu(e){try{je.getPublicKey(e,!0)}catch(t){throw new ot(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Aa(e){try{je.ProjectivePoint.fromHex(e)}catch(t){throw new ot(String(t),"ERR_INVALID_PUBLIC_KEY")}}function Hu(e){try{return je.getPublicKey(e,!0)}catch(t){throw new ot(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Gn=class{_key;constructor(t){Aa(t),this._key=t}async verify(t,r){return Fu(this._key,r,t)}marshal(){return Vu(this._key)}get bytes(){return Pe.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}},$n=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??Hu(t),qu(this._key),Aa(this._publicKey)}async sign(t){return Mu(this._key,t)}get public(){return new Gn(this._publicKey)}marshal(){return this._key}get bytes(){return ke.encode({Type:Ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return bt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Rt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return nt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return rn(this.bytes,t);throw new ot(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Wg(e){return new $n(e)}function Yg(e){return new Gn(e)}async function Zg(){let e=Ou();return new $n(e)}var kr={rsa:Ea,ed25519:ma,secp256k1:Ca};function zu(e){let t=Object.keys(kr).join(" / ");return new ot(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Gu(e){let t=Pe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return kr.rsa.unmarshalRsaPublicKey(r);case Ct.Ed25519:return kr.ed25519.unmarshalEd25519PublicKey(r);case Ct.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw zu(t.Type??"unknown")}}async function $u(e){let t=ke.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Ct.RSA:return kr.rsa.unmarshalRsaPrivateKey(r);case Ct.Ed25519:return kr.ed25519.unmarshalEd25519PrivateKey(r);case Ct.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw zu(t.Type??"RSA")}}var Wu=Symbol.for("@libp2p/peer-id");var Qg=Symbol.for("nodejs.util.inspect.custom"),Yu=Object.values(ie).map(e=>e.decoder).reduce((e,t)=>e.or(t),ie.identity.decoder),Zu=114,Ia=36,Ta=37,Wn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Wu]=!0;toString(){return this.string==null&&(this.string=mt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return jt.createV1(Zu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return bt(this.multihash.bytes,t);if(typeof t=="string")return Jg(t).equals(this);if(t?.multihash?.bytes!=null)return bt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Qg](){return`PeerId(${this.toString()})`}},an=class extends Wn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},cn=class extends Wn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},fn=class extends Wn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Jg(e,t){if(t=t??Yu,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=we(mt.decode(`z${e}`));return e.startsWith("12D")?new cn({multihash:r}):e.startsWith("16U")?new fn({multihash:r}):new an({multihash:r})}return jg(Yu.decode(e))}function jg(e){try{let t=we(e);if(t.code===Se.code){if(t.digest.length===Ia)return new cn({multihash:t});if(t.digest.length===Ta)return new fn({multihash:t})}if(t.code===Rt.code)return new an({multihash:t})}catch{return tm(jt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function tm(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Zu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Rt.code)return new an({multihash:e.multihash});if(t.code===Se.code){if(t.digest.length===Ia)return new cn({multihash:e.multihash});if(t.digest.length===Ta)return new fn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function _a(e,t){return e.length===Ia?new cn({multihash:fe(Se.code,e),privateKey:t}):e.length===Ta?new fn({multihash:fe(Se.code,e),privateKey:t}):new an({multihash:await Rt.digest(e),publicKey:e,privateKey:t})}var io;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.webtransportCerthashes!=null)for(let o of r.webtransportCerthashes)n.uint32(10),n.bytes(o);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={webtransportCerthashes:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.webtransportCerthashes.push(r.bytes());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(io||(io={}));var Yn;(function(e){let t;e.codec=()=>(t==null&&(t=Lr((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.identityKey!=null&&r.identityKey.byteLength>0&&(n.uint32(10),n.bytes(r.identityKey)),r.identitySig!=null&&r.identitySig.byteLength>0&&(n.uint32(18),n.bytes(r.identitySig)),r.extensions!=null&&(n.uint32(34),io.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:rt(0),identitySig:rt(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:{i.identityKey=r.bytes();break}case 2:{i.identitySig=r.bytes();break}case 4:{i.extensions=io.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>_r(r,e.codec()),e.decode=r=>Ir(r,e.codec())})(Yn||(Yn={}));async function Xu(e,t,r){let n=await rm(e,Qu(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return em(e.publicKey,n,r)}function em(e,t,r){return Yn.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function rm(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await $u(e.privateKey)).sign(t)}async function La(e){return _a(e.identityKey)}function Ra(e){return Yn.decode(e)}function Qu(e){let t=It("noise-libp2p-static-key:");return ut([t,e],t.length+e.length)}async function Na(e,t,r){let n=await _a(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Qu(e);if(n.publicKey==null)throw new Error("PublicKey was missing from PeerId");if(t.identitySig==null)throw new Error("Signature was missing from message");if(!await Gu(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Zn(e){return!(!(e instanceof Uint8Array)||e.length!==32)}var ae=Zt(rl(),1);ae.default.formatters.b=e=>e==null?"undefined":mt.baseEncode(e);ae.default.formatters.t=e=>e==null?"undefined":ve.baseEncode(e);ae.default.formatters.m=e=>e==null?"undefined":Wr.baseEncode(e);ae.default.formatters.p=e=>e==null?"undefined":e.toString();ae.default.formatters.c=e=>e==null?"undefined":e.toString();ae.default.formatters.k=e=>e==null?"undefined":e.toString();ae.default.formatters.a=e=>e==null?"undefined":e.toString();function ym(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function nl(e){let t=ym(`${e}:trace`);return ae.default.enabled(`${e}:trace`)&&ae.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ae.default)(`${e}:trace`)),Object.assign((0,ae.default)(e),{error:(0,ae.default)(`${e}:error`),trace:t})}var Vt=nl("libp2p:noise");var de;I0?de=Vt:de=Object.assign(()=>{},{enabled:!1,trace:()=>{},error:()=>{}});function il(e){de(`LOCAL_STATIC_PUBLIC_KEY ${nt(e.publicKey,"hex")}`),de(`LOCAL_STATIC_PRIVATE_KEY ${nt(e.privateKey,"hex")}`)}function Da(e){e?(de(`LOCAL_PUBLIC_EPHEMERAL_KEY ${nt(e.publicKey,"hex")}`),de(`LOCAL_PRIVATE_EPHEMERAL_KEY ${nt(e.privateKey,"hex")}`)):de("Missing local ephemeral keys.")}function ol(e){de(`REMOTE_STATIC_PUBLIC_KEY ${nt(e,"hex")}`)}function Pa(e){de(`REMOTE_EPHEMERAL_PUBLIC_KEY ${nt(e,"hex")}`)}function sl(e){e.cs1&&e.cs2?(de(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${nt(e.cs1.k,"hex")}`),de(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${nt(e.cs2.k,"hex")}`)):de("Missing cipher state.")}var gm=0,mm=4294967295,xm="Cipherstate has reached maximum n, a new handshake must be performed",ao=class{n;bytes;view;constructor(t=gm){this.n=t,this.bytes=rt(12),this.view=new DataView(this.bytes.buffer,this.bytes.byteOffset,this.bytes.byteLength),this.view.setUint32(4,t,!0)}increment(){this.n++,this.view.setUint32(4,this.n,!0)}getBytes(){return this.bytes}getUint64(){return this.n}assertValue(){if(this.n>mm)throw new Error(xm)}};var co=class{crypto;constructor(t){this.crypto=t}encryptWithAd(t,r,n){let i=this.encrypt(t.k,t.n,r,n);return t.n.increment(),i}decryptWithAd(t,r,n,i){let{plaintext:o,valid:s}=this.decrypt(t.k,t.n,r,n,i);return s&&t.n.increment(),{plaintext:o,valid:s}}hasKey(t){return!this.isEmptyKey(t.k)}createEmptyKey(){return rt(32)}isEmptyKey(t){let r=this.createEmptyKey();return bt(r,t)}encrypt(t,r,n,i){return r.assertValue(),this.crypto.chaCha20Poly1305Encrypt(i,r.getBytes(),n,t)}encryptAndHash(t,r){let n;return this.hasKey(t.cs)?n=this.encryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,n),n}decrypt(t,r,n,i,o){r.assertValue();let s=this.crypto.chaCha20Poly1305Decrypt(i,r.getBytes(),n,t,o);return s?{plaintext:s,valid:!0}:{plaintext:rt(0),valid:!1}}decryptAndHash(t,r){let n,i=!0;return this.hasKey(t.cs)?{plaintext:n,valid:i}=this.decryptWithAd(t.cs,t.h,r):n=r,this.mixHash(t,r),{plaintext:n,valid:i}}dh(t,r){try{let n=this.crypto.generateX25519SharedKey(t,r);return n.length===32?n:n.subarray(0,32)}catch(n){let i=n;return Vt.error(i),rt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(ut([t,r],t.length+r.length))}mixKey(t,r){let[n,i]=this.crypto.getHKDF(t.ck,r);t.cs=this.initializeKey(i),t.ck=n}initializeKey(t){return{k:t,n:new ao}}initializeSymmetric(t){let r=It(t,"utf-8"),n=this.hashProtocolName(r),i=n,o=this.createEmptyKey();return{cs:this.initializeKey(o),ck:i,h:n}}hashProtocolName(t){if(t.length<=32){let r=rt(32);return r.set(t),r}else return this.getHash(t,rt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,rt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,rt(0),r),i=this.createEmptyKey(),o=rt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,rt(0),r.ciphertext)}};var fo=class extends co{initializeInitiator(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=rt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let o="Noise_XX_25519_ChaChaPoly_SHA256",s=this.initializeSymmetric(o);this.mixHash(s,t);let a=rt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=rt(0);n!==void 0?t.e=n:t.e=this.crypto.generateX25519KeyPair();let o=t.e.publicKey;this.mixHash(t.ss,o);let s=this.encryptAndHash(t.ss,r);return{ne:o,ns:i,ciphertext:s}}writeMessageB(t,r){t.e=this.crypto.generateX25519KeyPair();let n=t.e.publicKey;this.mixHash(t.ss,n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let i=t.s.publicKey,o=this.encryptAndHash(t.ss,i);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let s=this.encryptAndHash(t.ss,r);return{ne:n,ns:o,ciphertext:s}}writeMessageC(t,r){let n=t.s.publicKey,i=this.encryptAndHash(t.ss,n);this.mixKey(t.ss,this.dh(t.s.privateKey,t.re));let o=this.encryptAndHash(t.ss,r),a={ne:this.createEmptyKey(),ns:i,ciphertext:o},{cs1:c,cs2:f}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:f}}readMessageA(t,r){return Zn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Zn(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.re));let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);i&&Zn(n)&&(t.rs=n),this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext);return{plaintext:o,valid:i&&s}}readMessageC(t,r){let{plaintext:n,valid:i}=this.decryptAndHash(t.ss,r.ns);if(i&&Zn(n)&&(t.rs=n),!t.e)throw new Error("Handshake state `e` param is missing.");this.mixKey(t.ss,this.dh(t.e.privateKey,t.rs));let{plaintext:o,valid:s}=this.decryptAndHash(t.ss,r.ciphertext),{cs1:a,cs2:c}=this.split(t.ss);return{h:t.ss.h,plaintext:o,valid:i&&s,cs1:a,cs2:c}}initSession(t,r,n){let i=this.createEmptyKey(),o=rt(32),s;return t?s=this.initializeInitiator(r,n,o,i):s=this.initializeResponder(r,n,o,i),{hs:s,i:t,mc:0}}sendMessage(t,r,n){let i;if(t.mc===0)i=this.writeMessageA(t.hs,r,n);else if(t.mc===1)i=this.writeMessageB(t.hs,r);else if(t.mc===2){let{h:o,messageBuffer:s,cs1:a,cs2:c}=this.writeMessageC(t.hs,r);i=s,t.h=o,t.cs1=a,t.cs2=c}else if(t.mc>2)if(t.i){if(!t.cs1)throw new Error("CS1 (cipher state) is not defined");i=this.writeMessageRegular(t.cs1,r)}else{if(!t.cs2)throw new Error("CS2 (cipher state) is not defined");i=this.writeMessageRegular(t.cs2,r)}else throw new Error("Session invalid.");return t.mc++,i}recvMessage(t,r){let n=rt(0),i=!1;if(t.mc===0)({plaintext:n,valid:i}=this.readMessageA(t.hs,r));else if(t.mc===1)({plaintext:n,valid:i}=this.readMessageB(t.hs,r));else if(t.mc===2){let{h:o,plaintext:s,valid:a,cs1:c,cs2:f}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=f}return t.mc++,{plaintext:n,valid:i}}};var uo=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;constructor(t,r,n,i,o,s,a,c){this.isInitiator=t,this.payload=r,this.prologue=n,this.staticKeypair=o,this.connection=s,a&&(this.remotePeer=a),this.xx=c??new fo(i),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(il(this.session.hs.s),this.isInitiator){Vt.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,rt(0));await this.connection.write(Ic(t)),Vt.trace("Stage 0 - Initiator finished sending first message."),Da(this.session.hs.e)}else{Vt.trace("Stage 0 - Responder waiting to receive first message...");let t=Lc((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new vr("xx handshake stage 0 validation fail");Vt.trace("Stage 0 - Responder received first message."),Pa(this.session.hs.re)}}async exchange(){if(this.isInitiator){Vt.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Rc((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new vr("xx handshake stage 1 validation fail");Vt.trace("Stage 1 - Initiator received the message."),Pa(this.session.hs.re),ol(this.session.hs.rs),Vt.trace("Initiator going to check remote's signature...");try{let i=Ra(r);this.remotePeer=this.remotePeer||await La(i),await Na(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ln(`Error occurred while verifying signed payload: ${o.message}`)}Vt.trace("All good with the signature!")}else{Vt.trace("Stage 1 - Responder sending out first message with signed payload and static key.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Tc(t)),Vt.trace("Stage 1 - Responder sent the second handshake message with signed payload."),Da(this.session.hs.e)}}async finish(){if(this.isInitiator){Vt.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(_c(t)),Vt.trace("Stage 2 - Initiator sent message with signed payload.")}else{Vt.trace("Stage 2 - Responder waiting for third handshake message...");let t=Nc((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new vr("xx handshake stage 2 validation fail");Vt.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=Ra(r);this.remotePeer=this.remotePeer||await La(i),await Na(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ln(`Error occurred while verifying signed payload: ${o.message}`)}}sl(this.session)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,rt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,rt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new vr("Handshake not completed properly, cipher state does not exist.");return this.isInitiator?r?t.cs1:t.cs2:r?t.cs2:t.cs1}setRemoteNoiseExtension(t){t&&(this.remoteExtensions=t)}};function al(e){return{xxHandshakeSuccesses:e.registerCounter("libp2p_noise_xxhandshake_successes_total",{help:"Total count of noise xxHandshakes successes_"}),xxHandshakeErrors:e.registerCounter("libp2p_noise_xxhandshake_error_total",{help:"Total count of noise xxHandshakes errors"}),encryptedPackets:e.registerCounter("libp2p_noise_encrypted_packets_total",{help:"Total count of noise encrypted packets successfully"}),decryptedPackets:e.registerCounter("libp2p_noise_decrypted_packets_total",{help:"Total count of noise decrypted packets"}),decryptErrors:e.registerCounter("libp2p_noise_decrypt_errors_total",{help:"Total count of noise decrypt errors"})}}var lo=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;constructor(t={}){let{staticNoiseKey:r,extensions:n,crypto:i,prologueBytes:o,metrics:s}=t;this.crypto=i??ac,this.extensions=n,this.metrics=s?al(s):void 0,r?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(r):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=o??rt(0)}async secureOutbound(t,r,n){let i=Do(r,{lengthEncoder:Xr,lengthDecoder:Tn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=Do(r,{lengthEncoder:Xr,lengthDecoder:Tn,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n});return{conn:await this.createSecureConnection(i,o),remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Xu(t.localPeer,this.staticKeys.publicKey,this.extensions);return this.performXXHandshake(t,r)}async performXXHandshake(t,r){let{isInitiator:n,remotePeer:i,connection:o}=t,s=new uo(n,r,this.prologue,this.crypto,this.staticKeys,o,i);try{await s.propose(),await s.exchange(),await s.finish(),this.metrics?.xxHandshakeSuccesses.increment()}catch(a){if(this.metrics?.xxHandshakeErrors.increment(),a instanceof Error)throw a.message=`Error occurred during XX handshake: ${a.message}`,a}return s}async createSecureConnection(t,r){let[n,i]=E0(),o=t.unwrap();return await B0(n,kc(r,this.metrics),o,s=>xn(s,{lengthDecoder:Tn}),Uc(r,this.metrics),n),i}};function cl(e={}){return()=>new lo(e)}var R4=Symbol.for("@libp2p/connection");var D4=Symbol.for("@libp2p/content-routing");var U4=Symbol.for("@libp2p/peer-discovery");var fl=Symbol.for("@libp2p/peer-id");var M4=Symbol.for("@libp2p/peer-routing");var ul;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(ul||(ul={}));var hl=Symbol.for("@libp2p/transport");var ll;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(ll||(ll={}));var Xn=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ka=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Y4=globalThis.CustomEvent??ka;var ho=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let 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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var dl=45,bm=15,dn=new ho;function Ua(e){if(!(e.length>bm))return dn.new(e).parseWith(()=>dn.readIPv4Addr())}function Ka(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>dl))return dn.new(e).parseWith(()=>dn.readIPv6Addr())}function po(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>dl))return dn.new(e).parseWith(()=>dn.readIPAddr())}function yo(e){return!!Ua(e)}function go(e){return!!Ka(e)}function mo(e){return!!po(e)}var xo=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var R3=parseInt("0xFFFF",16),N3=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var gl=yo,Bm=go,Oa=function(e){let t=0;if(e=e.toString().trim(),gl(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Bm(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=gl(r[n]),s;o&&(s=Oa(r[n]),r[n]=nt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,nt(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},ml=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var pn={},Ma={},Cm=[[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"]];Cm.forEach(e=>{let t=Im(...e);Ma[t.code]=t,pn[t.name]=t});function Im(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function ht(e){if(typeof e=="number"){if(Ma[e]!=null)return Ma[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(pn[e]!=null)return pn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var dS=ht("ip4"),pS=ht("ip6"),yS=ht("ipcidr");function Va(e,t){switch(ht(e).code){case 4:case 41:return _m(t);case 42:return vl(t);case 6:case 273:case 33:case 132:return El(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return vl(t);case 421:return Dm(t);case 444:return wl(t);case 445:return wl(t);case 466:return Nm(t);default:return nt(t,"base16")}}function qa(e,t){switch(ht(e).code){case 4:return xl(t);case 41:return xl(t);case 42:return bl(t);case 6:case 273:case 33:case 132:return Ha(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return bl(t);case 421:return Lm(t);case 444:return Pm(t);case 445:return km(t);case 466:return Rm(t);default:return It(t,"base16")}}var Fa=Object.values(ie).map(e=>e.decoder),Tm=function(){let e=Fa[0].or(Fa[1]);return Fa.slice(2).forEach(t=>e=e.or(t)),e}();function xl(e){if(!mo(e))throw new Error("invalid ip address");return Oa(e)}function _m(e){let t=ml(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!mo(t))throw new Error("invalid ip address");return t}function Ha(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function El(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function bl(e){let t=It(e),r=Uint8Array.from(tr(t.length));return ut([r,t],r.length+t.length)}function vl(e){let t=ye(e);if(e=e.slice(Wt(t)),e.length!==t)throw new Error("inconsistent lengths");return nt(e)}function Lm(e){let t;e[0]==="Q"||e[0]==="1"?t=we(mt.decode(`z${e}`)).bytes:t=jt.parse(e).multihash.bytes;let r=Uint8Array.from(tr(t.length));return ut([r,t],r.length+t.length)}function Rm(e){let t=Tm.decode(e),r=Uint8Array.from(tr(t.length));return ut([r,t],r.length+t.length)}function Nm(e){let t=ye(e),r=e.slice(Wt(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+nt(r,"base64url")}function Dm(e){let t=ye(e),r=e.slice(Wt(t));if(r.length!==t)throw new Error("inconsistent lengths");return nt(r,"base58btc")}function Pm(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ve.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ha(n);return ut([r,i],r.length+i.length)}function km(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ve.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ha(n);return ut([r,i],r.length+i.length)}function wl(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=nt(t,"base32"),i=El(r);return`${n}:${i}`}function Sl(e){e=za(e);let t=[],r=[],n=null,i=e.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ht(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Al("invalid address: "+e);if(a.path===!0){n=za(i.slice(o).join("/")),t.push([a.code,qa(a.code,n)]),r.push([a.code,n]);break}let c=qa(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Va(a.code,c)])}return{string:Bl(r),bytes:$a(t),tuples:t,stringTuples:r,path:n}}function Ga(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=ye(e,i),s=Wt(o),a=ht(o),c=Um(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let f=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw Al("Invalid address Uint8Array: "+nt(e,"base16"));t.push([o,f]);let u=Va(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(e),string:Bl(r),tuples:t,stringTuples:r,path:n}}function Bl(e){let t=[];return e.map(r=>{let n=ht(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),za(t.join("/"))}function $a(e){return ut(e.map(t=>{let r=ht(t[0]),n=Uint8Array.from(tr(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n}))}function Um(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=ye(t instanceof Uint8Array?t:Uint8Array.from(t));return r+Wt(r)}}function za(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Al(e){return new Error("Error parsing address: "+e)}var Km=Symbol.for("nodejs.util.inspect.custom"),Ya=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Om=[ht("dns").code,ht("dns4").code,ht("dns6").code,ht("dnsaddr").code],Wa=class e{bytes;#e;#t;#r;#n;[Ya]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ga(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Sl(t)}else if(Il(t))r=Ga(t.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 t,r,n,i,o="",s=ht("tcp"),a=ht("udp"),c=ht("ip4"),f=ht("ip6"),u=ht("dns6"),l=ht("ip6zone");for(let[g,h]of this.stringTuples())g===l.code&&(o=`%${h??""}`),Om.includes(g)&&(r=s.name,i=443,n=`${h??""}${o}`,t=g===u.code?6:4),(g===s.code||g===a.code)&&(r=ht(g).name,i=parseInt(h??"")),(g===c.code||g===f.code)&&(r=ht(g).name,n=`${h??""}${o}`,t=g===f.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#t.map(([t])=>Object.assign({},ht(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>ht(t).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e($a(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===pn.p2p.code&&t.push([n,i]),n===pn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?nt(mt.decode(`z${n}`),"base58btc"):nt(jt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return bt(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Cl.get(r.name);if(n==null)throw new xo(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new e(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Km](){return`Multiaddr(${this.#e})`}};var Cl=new Map;function Il(e){return!!e?.[Ya]}var Mm=e=>e.toString().split("/").slice(1),Qn=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),_t=e=>({match:t=>Qn(r=>r===e).match(t),pattern:e}),wo=()=>({match:e=>Qn(t=>typeof t=="string").match(e),pattern:"{string}"}),Tl=()=>({match:e=>Qn(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),pe=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{mt.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),bo=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{Es.decode(e[1])}catch{return!1}return e.slice(2)},pattern:"/certhash/{certhash}"}),Ue=e=>({match:t=>{let r=e.match(t);return r===!1?t:r},pattern:`optional(${e.pattern})`}),Ke=(...e)=>({match:t=>{let r;for(let n of e){let i=n.match(t);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${e.map(t=>t.pattern).join(", ")})`}),Lt=(...e)=>({match:t=>{for(let r of e){let n=r.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${e.map(t=>t.pattern).join(", ")})`});function Kt(...e){function t(i){let o=Mm(i);for(let s of e){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return t(i)!==!1}function n(i){let o=t(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var Xa=Lt(_t("dns4"),wo()),Qa=Lt(_t("dns6"),wo()),Ja=Lt(_t("dnsaddr"),wo()),_l=Lt(_t("dns"),wo()),GS=Kt(Xa),$S=Kt(Qa),WS=Kt(Ja),YS=Kt(Ke(_l,Ja,Xa,Qa)),Ll=Lt(_t("ip4"),Qn(yo)),Rl=Lt(_t("ip6"),Qn(go)),Nl=Ke(Ll,Rl),Jn=Ke(Nl,_l,Xa,Qa,Ja),ZS=Kt(Jn),XS=Kt(Ll),QS=Kt(Rl),JS=Kt(Nl),Eo=Lt(Jn,_t("tcp"),Tl()),jn=Lt(Jn,_t("udp"),Tl()),Fm=Ke(Eo,jn),jS=Kt(Eo),t6=Kt(jn),ja=Lt(jn,_t("quic")),So=Lt(jn,_t("quic-v1")),Vm=Ke(ja,So),e6=Kt(ja),r6=Kt(So),Za=Ke(Jn,Eo,jn,ja,So),Dl=Ke(Lt(Za,_t("ws"),Ue(pe()))),n6=Kt(Dl),Pl=Ke(Lt(Za,_t("wss"),Ue(pe())),Lt(Za,_t("tls"),_t("ws"),Ue(pe()))),i6=Kt(Pl),kl=Lt(Fm,_t("webrtc-direct"),bo(),Ue(bo()),Ue(pe())),o6=Kt(kl),Ul=Lt(So,_t("webtransport"),bo(),bo(),Ue(pe())),Bo=Kt(Ul),vo=Ke(Dl,Pl,Lt(Eo,Ue(pe())),Lt(Vm,Ue(pe())),Lt(Jn,Ue(pe())),kl,Ul,pe()),s6=Kt(vo),qm=Lt(vo,_t("p2p-circuit"),pe()),a6=Kt(qm),Hm=Ke(Lt(vo,_t("p2p-circuit"),_t("webrtc"),pe()),Lt(vo,_t("webrtc"),Ue(pe())),_t("webrtc")),c6=Kt(Hm);async function t0(e,t,r,n,i,o){let s=o.forComponent(`libp2p:webtransport:stream:${r}:${t}`),a=e.writable.getWriter(),c=e.readable.getReader();await a.ready;function f(){let h=n.findIndex(p=>p===g);h!==-1&&(n.splice(h,1),g.timeline.close=Date.now(),i?.(g))}let u=!1,l=!1;(async function(){let h=await a.closed.catch(p=>p);if(h!=null){let p=h.message;p.includes("aborted by the remote server")||p.includes("STOP_SENDING")||s.error(`WebTransport writer closed unexpectedly: streamId=${t} err=${h.message}`)}u=!0,u&&l&&f()})().catch(()=>{s.error("WebTransport failed to cleanup closed stream")}),async function(){let h=await c.closed.catch(p=>p);h!=null&&s.error(`WebTransport reader closed unexpectedly: streamId=${t} err=${h.message}`),l=!0,u&&l&&f()}().catch(()=>{s.error("WebTransport failed to cleanup closed stream")});let d=!1,g={id:t,status:"open",writeStatus:"ready",readStatus:"ready",abort(h){u||(a.abort(h).catch(p=>{s.error("could not abort stream",p)}),u=!0),l=!0,this.status="aborted",this.writeStatus="closed",this.readStatus="closed",this.timeline.reset=this.timeline.close=this.timeline.closeRead=this.timeline.closeWrite=Date.now(),f()},async close(h){this.status="closing",await Promise.all([g.closeRead(h),g.closeWrite(h)]),f(),this.status="closed",this.timeline.close=Date.now()},async closeRead(h){if(!l){this.readStatus="closing";try{await c.cancel()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(u=!0)}this.timeline.closeRead=Date.now(),this.readStatus="closed",l=!0}u&&f()},async closeWrite(h){if(!u){u=!0,this.writeStatus="closing";try{await a.close()}catch(p){p.toString().includes("RESET_STREAM")===!0&&(l=!0)}this.timeline.closeWrite=Date.now(),this.writeStatus="closed"}l&&f()},direction:r,timeline:{open:Date.now()},metadata:{},source:async function*(){for(;;){let h=await c.read();if(h.done){l=!0,u&&f();return}yield new Jt(h.value)}}(),sink:async function(h){if(d)throw new Error("sink already called on stream");d=!0;try{this.writeStatus="writing";for await(let p of h)if(p instanceof Uint8Array)await a.write(p);else for(let y of p)await a.write(y);this.writeStatus="done"}finally{this.timeline.closeWrite=Date.now(),this.writeStatus="closed",await g.closeWrite()}},log:s};return g}function e0(){return{source:{[Symbol.asyncIterator](){return{async next(){return new Promise(()=>{})}}}},sink:async e=>new Promise(()=>{})}}function Kl(e,t){return t.filter(n=>!!e.find(i=>bt(n,i))).length===t.length}var zm=Symbol.for("nodejs.util.inspect.custom"),Ol=Object.values(ie).map(e=>e.decoder).reduce((e,t)=>e.or(t),ie.identity.decoder),Ml=114,Fl=36,Vl=37,ti=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[fl]=!0;toString(){return this.string==null&&(this.string=mt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return jt.createV1(Ml,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return bt(this.multihash.bytes,t);if(typeof t=="string")return r0(t).equals(this);if(t?.multihash?.bytes!=null)return bt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[zm](){return`PeerId(${this.toString()})`}},ei=class extends ti{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},ri=class extends ti{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},ni=class extends ti{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function r0(e,t){if(t=t??Ol,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=we(mt.decode(`z${e}`));return e.startsWith("12D")?new ri({multihash:r}):e.startsWith("16U")?new ni({multihash:r}):new ei({multihash:r})}return Gm(Ol.decode(e))}function Gm(e){try{let t=we(e);if(t.code===Se.code){if(t.digest.length===Fl)return new ri({multihash:t});if(t.digest.length===Vl)return new ni({multihash:t})}if(t.code===Rt.code)return new ei({multihash:t})}catch{return $m(jt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function $m(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Ml)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Rt.code)return new ei({multihash:e.multihash});if(t.code===Se.code){if(t.digest.length===Fl)return new ri({multihash:e.multihash});if(t.digest.length===Vl)return new ni({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}var Wm=Object.values(ie).map(e=>e.decoder).reduce((e,t)=>e.or(t));function Ym(e){return Ee.decode(Wm.decode(e))}function ql(e){if(!Bo.matches(e))throw new Xn("Invalid multiaddr, was not a WebTransport address","ERR_INVALID_MULTIADDR");let t=e.stringTuples(),r=t.filter(([s,a])=>s===ht("certhash").code).map(([s,a])=>Ym(a??"")),n=t.filter(([s,a])=>s===ht("p2p").code).map(([s,a])=>r0(a??""))[0],i=e.toOptions(),o=i.host;return i.family===6&&o?.includes(":")&&(o=`[${o}]`),{url:`https://${o}:${i.port}`,certhashes:r,remotePeer:n}}var n0=class{log;components;config;metrics;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webtransport"),this.components=t,this.config={maxInboundStreams:r.maxInboundStreams??1e3},t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webtransport_dialer_events_total",{label:"event",help:"Total count of WebTransport dialer events by type"})})}[Symbol.toStringTag]="@libp2p/webtransport";[hl]=!0;async dial(t,r){r?.signal?.throwIfAborted(),this.log("dialing %s",t);let n=this.components.peerId;if(n===void 0)throw new Error("Need a local peerid");r=r??{};let{url:i,certhashes:o,remotePeer:s}=ql(t);if(s==null)throw new Error("Need a target peerid");if(o.length===0)throw new Error("Expected multiaddr to contain certhashes");let a,c,f=()=>{},u=!1,l=!1,d=!1;try{this.metrics?.dialerEvents.increment({pending:!0});let g=new WebTransport(`${i}/.well-known/libp2p-webtransport?type=noise`,{serverCertificateHashes:o.map(h=>({algorithm:"sha-256",value:h.digest}))});if(f=h=>{if(!u)try{this.metrics?.dialerEvents.increment({[h]:!0}),g.close()}catch(p){this.log.error("error closing wt session",p)}finally{c!=null&&(c.timeline.close=Date.now()),u=!0}},a=()=>{f(l?"noise_timeout":"ready_timeout")},r.signal?.addEventListener("abort",a,{once:!0}),await Promise.race([g.closed,g.ready]),l=!0,this.metrics?.dialerEvents.increment({ready:!0}),g.closed.catch(h=>{this.log.error("error on remote wt session close",h)}).finally(()=>{f("remote_close")}),!await this.authenticateWebTransport(g,n,s,o))throw new Error("Failed to authenticate webtransport");return this.metrics?.dialerEvents.increment({open:!0}),c={close:async()=>{this.log("Closing webtransport"),f("close")},abort:h=>{this.log("aborting webtransport due to passed err",h),f("abort")},remoteAddr:t,timeline:{open:Date.now()},log:this.components.logger.forComponent("libp2p:webtransport:maconn"),...e0()},d=!0,await r.upgrader.upgradeOutbound(c,{skipEncryption:!0,muxerFactory:this.webtransportMuxer(g),skipProtection:!0})}catch(g){throw this.log.error("caught wt session err",g),f(d?"upgrade_error":l?"noise_error":"ready_error"),g}finally{a!=null&&r.signal?.removeEventListener("abort",a)}}async authenticateWebTransport(t,r,n,i){let o=await t.createBidirectionalStream(),s=o.writable.getWriter(),a=o.readable.getReader();await s.ready;let c={source:async function*(){for(;;){let l=await a.read();if(l.value!=null&&(yield l.value),l.done)break}}(),sink:async function(l){for await(let d of l)d instanceof Uint8Array?await s.write(d):await s.write(d.subarray())}},f=cl()(),{remoteExtensions:u}=await f.secureOutbound(r,c,n);if(s.close().catch(l=>{this.log.error(`Failed to close authentication stream writer: ${l.message}`)}),a.cancel().catch(l=>{this.log.error(`Failed to close authentication stream reader: ${l.message}`)}),!Kl(u?.webtransportCerthashes??[],i.map(l=>l.bytes)))throw new Error("Our certhashes are not a subset of the remote's reported certhashes");return!0}webtransportMuxer(t){let r=0,n=this.config,i=this;return{protocol:"webtransport",createStreamMuxer:o=>{typeof o=="function"&&(o={onIncomingStream:o});let s=[];return async function(){let c=t.incomingBidirectionalStreams.getReader();for(;;){let{done:f,value:u}=await c.read();if(f)break;if(s.length>=n.maxInboundStreams)u.writable.close().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)}),u.readable.cancel().catch(l=>{i.log.error(`Failed to close inbound stream that crossed our maxInboundStream limit: ${l.message}`)});else{let l=await t0(u,String(r++),"inbound",s,o?.onStreamEnd,i.components.logger);s.push(l),o?.onIncomingStream?.(l)}}}().catch(()=>{this.log.error("WebTransport failed to receive incoming stream")}),{protocol:"webtransport",streams:s,newStream:async c=>{let f=await t.createBidirectionalStream(),u=await t0(f,String(r++),o?.direction??"outbound",s,o?.onStreamEnd,i.components.logger);return s.push(u),u},close:async c=>{this.log("Closing webtransport muxer"),await Promise.all(s.map(async f=>f.close(c)))},abort:c=>{this.log("Aborting webtransport muxer with err:",c);for(let f of s)f.abort(c)},...e0()}}}}createListener(t){throw new Error("Webtransport servers are not supported in Node or the browser")}filter(t){return t.filter(Bo.exactMatch)}};function Zm(e={}){return t=>new n0(t,e)}return rh(Xm);})();
16
16
  //! TODO unclear how to add backpressure here?
17
17
  /*! Bundled license information:
18
18