@libp2p/webrtc 4.0.13 → 4.0.14-4691f4173

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.Libp2PWebrtc = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PWebrtc=(()=>{var d2=Object.create;var ji=Object.defineProperty;var p2=Object.getOwnPropertyDescriptor;var y2=Object.getOwnPropertyNames;var m2=Object.getPrototypeOf,g2=Object.prototype.hasOwnProperty;var ht=(e,t)=>()=>(e&&(t=e(e=0)),t);var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ut=(e,t)=>{for(var r in t)ji(e,r,{get:t[r],enumerable:!0})},Au=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of y2(t))!g2.call(e,i)&&i!==r&&ji(e,i,{get:()=>t[i],enumerable:!(n=p2(t,i))||n.enumerable});return e};var jt=(e,t,r)=>(r=e!=null?d2(m2(e)):{},Au(t||!e||!e.__esModule?ji(r,"default",{value:e,enumerable:!0}):r,e)),Ji=e=>Au(ji({},"__esModule",{value:!0}),e);var Qf=ot((G6,Zf)=>{"use strict";function Xf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Im(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 Xf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Xf(new i,r)}}Zf.exports=Im});var xt=ot((RB,vh)=>{vh.exports={options:{usePureJavaScript:!1}}});var Ah=ot((LB,Sh)=>{var Qc={};Sh.exports=Qc;var Eh={};Qc.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=Tx(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,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;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 f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
- `)}return n};Qc.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=Eh[t];if(!r){r=Eh[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,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Tx(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 Ot=ot((NB,Ih)=>{var Dh=xt(),Ch=Ah(),v=Ih.exports=Dh.util=Dh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){v.nextTick=process.nextTick,typeof setImmediate=="function"?v.setImmediate=setImmediate:v.setImmediate=v.nextTick;return}if(typeof setImmediate=="function"){v.setImmediate=function(){return setImmediate.apply(void 0,arguments)},v.nextTick=function(a){return setImmediate(a)};return}if(v.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];v.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=v.setImmediate;v.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}v.nextTick=v.setImmediate})();v.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;v.globalScope=function(){return v.isNodejs?globalThis:typeof self>"u"?window:self}();v.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};v.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};v.isArrayBufferView=function(e){return e&&v.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function _i(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}v.ByteBuffer=jc;function jc(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(v.isArrayBuffer(e)||v.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 jc||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}v.ByteStringBuffer=jc;var _x=4096;v.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>_x&&(this.data.substr(0,1),this._constructedStringLength=0)};v.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};v.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};v.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};v.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};v.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};v.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(v.encodeUtf8(e))};v.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.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))};v.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};v.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};v.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))};v.ByteStringBuffer.prototype.putInt=function(e,t){_i(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};v.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};v.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};v.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};v.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt=function(e){_i(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};v.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};v.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};v.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};v.ByteStringBuffer.prototype.copy=function(){var e=v.createBuffer(this.data);return e.read=this.read,e};v.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};v.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};v.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};v.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};v.ByteStringBuffer.prototype.toString=function(){return v.decodeUtf8(this.bytes())};function kx(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=v.isArrayBuffer(e),n=v.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)}v.DataBuffer=kx;v.DataBuffer.prototype.length=function(){return this.write-this.read};v.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};v.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};v.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};v.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};v.DataBuffer.prototype.putBytes=function(e,t){if(v.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(v.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 v.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&v.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 v.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+=v.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+=v.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=v.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=v.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};v.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};v.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};v.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};v.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};v.DataBuffer.prototype.putInt=function(e,t){_i(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};v.DataBuffer.prototype.putSignedInt=function(e,t){return _i(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};v.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};v.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};v.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};v.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};v.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};v.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};v.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};v.DataBuffer.prototype.getInt=function(e){_i(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};v.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};v.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};v.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};v.DataBuffer.prototype.copy=function(){return new v.DataBuffer(this)};v.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};v.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};v.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};v.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};v.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return v.binary.raw.encode(t);if(e==="hex")return v.binary.hex.encode(t);if(e==="base64")return v.binary.base64.encode(t);if(e==="utf8")return v.text.utf8.decode(t);if(e==="utf16")return v.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};v.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=v.encodeUtf8(e)),new v.ByteBuffer(e)};v.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};v.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};v.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};v.bytesToHex=function(e){return v.createBuffer(e).toHex()};v.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var _r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",kr=[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],Bh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";v.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+=_r.charAt(i>>2),r+=_r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=_r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":_r.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
- `,r=r.substr(t));return n+=r,n};v.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=kr[e.charCodeAt(s++)-43],n=kr[e.charCodeAt(s++)-43],i=kr[e.charCodeAt(s++)-43],o=kr[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};v.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};v.decodeUtf8=function(e){return decodeURIComponent(escape(e))};v.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Ch.encode,decode:Ch.decode}};v.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};v.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};v.binary.hex.encode=v.bytesToHex;v.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};v.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+=_r.charAt(i>>2),r+=_r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=_r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":_r.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
- `,r=r.substr(t));return n+=r,n};v.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,u=r;c<e.length;)i=kr[e.charCodeAt(c++)-43],o=kr[e.charCodeAt(c++)-43],s=kr[e.charCodeAt(c++)-43],a=kr[e.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};v.binary.base58.encode=function(e,t){return v.binary.baseN.encode(e,Bh,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,Bh,t)};v.text={utf8:{},utf16:{}};v.text.utf8.encode=function(e,t,r){e=v.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};v.text.utf8.decode=function(e){return v.decodeUtf8(String.fromCharCode.apply(null,e))};v.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};v.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};v.deflate=function(e,t,r){if(t=v.decode64(e.deflate(v.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};v.inflate=function(e,t,r){var n=e.inflate(v.encode64(t)).rval;return n===null?null:v.decode64(n)};var Jc=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=v.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}},t0=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(v.decode64(r))),r},Rx=function(e,t,r,n){var i=t0(e,t);i===null&&(i={}),i[r]=n,Jc(e,t,i)},Lx=function(e,t,r){var n=t0(e,t);return n!==null&&(n=r in n?n[r]:null),n},Nx=function(e,t,r){var n=t0(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),Jc(e,t,n)}},Px=function(e,t){Jc(e,t,null)},ns=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};v.setItem=function(e,t,r,n,i){ns(Rx,arguments,i)};v.getItem=function(e,t,r,n){return ns(Lx,arguments,n)};v.removeItem=function(e,t,r,n){ns(Nx,arguments,n)};v.clearItems=function(e,t,r){ns(Px,arguments,r)};v.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};v.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("")};v.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?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};v.formatSize=function(e){return e>=1073741824?e=v.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=v.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=v.formatNumber(e/1024,0)+" KiB":e=v.formatNumber(e,0)+" bytes",e};v.bytesFromIP=function(e){return e.indexOf(".")!==-1?v.bytesFromIPv4(e):e.indexOf(":")!==-1?v.bytesFromIPv6(e):null};v.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=v.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};v.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=v.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=v.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};v.bytesToIP=function(e){return e.length===4?v.bytesToIPv4(e):e.length===16?v.bytesToIPv6(e):null};v.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(".")};v.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=v.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(":")};v.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in v&&!e.update)return t(null,v.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return v.cores=navigator.hardwareConcurrency,t(null,v.cores);if(typeof Worker>"u")return v.cores=1,t(null,v.cores);if(typeof Blob>"u")return v.cores=2,t(null,v.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return v.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,v.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var m=0;m<s;++m)c[m].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],d=0;d<s;++d)if(u!==d){var m=a[d];(f.st>m.st&&f.st<m.et||m.st>f.st&&m.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var is=ot((PB,Th)=>{var ki=xt();ki.pki=ki.pki||{};var e0=Th.exports=ki.pki.oids=ki.oids=ki.oids||{};function N(e,t){e0[e]=t,e0[t]=e}function mt(e,t){e0[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");mt("2.5.29.1","authorityKeyIdentifier");mt("2.5.29.2","keyAttributes");mt("2.5.29.3","certificatePolicies");mt("2.5.29.4","keyUsageRestriction");mt("2.5.29.5","policyMapping");mt("2.5.29.6","subtreesConstraint");mt("2.5.29.7","subjectAltName");mt("2.5.29.8","issuerAltName");mt("2.5.29.9","subjectDirectoryAttributes");mt("2.5.29.10","basicConstraints");mt("2.5.29.11","nameConstraints");mt("2.5.29.12","policyConstraints");mt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");mt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");mt("2.5.29.20","cRLNumber");mt("2.5.29.21","cRLReason");mt("2.5.29.22","expirationDate");mt("2.5.29.23","instructionCode");mt("2.5.29.24","invalidityDate");mt("2.5.29.25","cRLDistributionPoints");mt("2.5.29.26","issuingDistributionPoint");mt("2.5.29.27","deltaCRLIndicator");mt("2.5.29.28","issuingDistributionPoint");mt("2.5.29.29","certificateIssuer");mt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");mt("2.5.29.33","policyMappings");mt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");mt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");mt("2.5.29.46","freshestCRL");mt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Li=ot((UB,kh)=>{var At=xt();Ot();is();var V=kh.exports=At.asn1=At.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(At.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||At.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(At.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.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:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(At.util.isArray(e)){if(!At.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.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&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.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 Ri(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 Ux=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;Ri(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.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=At.util.createBuffer(e));var r=e.length(),n=os(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 os(e,t,r,n){var i;Ri(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=Ux(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Ri(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(os(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(os(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var m=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Ri(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var y={strict:!0,decodeBitStrings:!0},g=os(e,t,r+1,y),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=m,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===V.Type.BMPSTRING)for(f="";c>0;c-=2)Ri(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var S=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,S)}V.toDer=function(e){var t=At.util.createBuffer(),r=e.tagClass|e.type,n=At.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.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(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.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};V.oidToDer=function(e){var t=e.split("."),r=At.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};V.derToOid=function(e){var t;typeof e=="string"&&(e=At.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};V.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),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.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,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var m=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=m*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};V.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};V.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};V.integerToDer=function(e){var t=At.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};V.derToInteger=function(e){typeof e=="string"&&(e=At.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)};V.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&&At.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=V.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 _h=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
2
+ "use strict";var Libp2PWebrtc=(()=>{var X1=Object.create;var Yi=Object.defineProperty;var Z1=Object.getOwnPropertyDescriptor;var Q1=Object.getOwnPropertyNames;var j1=Object.getPrototypeOf,J1=Object.prototype.hasOwnProperty;var dt=(e,t)=>()=>(e&&(t=e(e=0)),t);var st=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ft=(e,t)=>{for(var r in t)Yi(e,r,{get:t[r],enumerable:!0})},yu=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Q1(t))!J1.call(e,i)&&i!==r&&Yi(e,i,{get:()=>t[i],enumerable:!(n=Z1(t,i))||n.enumerable});return e};var Jt=(e,t,r)=>(r=e!=null?X1(j1(e)):{},yu(t||!e||!e.__esModule?Yi(r,"default",{value:e,enumerable:!0}):r,e)),Xi=e=>yu(Yi({},"__esModule",{value:!0}),e);var Lf=st((Q5,Rf)=>{"use strict";function kf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function im(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 kf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),kf(new i,r)}}Rf.exports=im});var xt=st((KC,nh)=>{nh.exports={options:{usePureJavaScript:!1}}});var sh=st((MC,oh)=>{var Hc={};oh.exports=Hc;var ih={};Hc.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=ox(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,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;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 f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
+ `)}return n};Hc.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=ih[t];if(!r){r=ih[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,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function ox(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 Mt=st((FC,fh)=>{var ah=xt(),ch=sh(),w=fh.exports=ah.util=ah.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};w.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};w.isArrayBufferView=function(e){return e&&w.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Ci(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}w.ByteBuffer=qc;function qc(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(w.isArrayBuffer(e)||w.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 qc||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}w.ByteStringBuffer=qc;var sx=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>sx&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};w.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};w.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};w.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(w.encodeUtf8(e))};w.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(e,t){Ci(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};w.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(e){Ci(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var e=w.createBuffer(this.data);return e.read=this.read,e};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function ax(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=w.isArrayBuffer(e),n=w.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)}w.DataBuffer=ax;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};w.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};w.DataBuffer.prototype.putBytes=function(e,t){if(w.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(w.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 w.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&w.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 w.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+=w.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+=w.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=w.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};w.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};w.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};w.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(e,t){Ci(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(e,t){return Ci(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};w.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};w.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};w.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};w.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};w.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};w.DataBuffer.prototype.getInt=function(e){Ci(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};w.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};w.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};w.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};w.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};w.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var 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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return w.binary.raw.encode(t);if(e==="hex")return w.binary.hex.encode(t);if(e==="base64")return w.binary.base64.encode(t);if(e==="utf8")return w.text.utf8.decode(t);if(e==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};w.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=w.encodeUtf8(e)),new w.ByteBuffer(e)};w.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};w.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};w.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};w.bytesToHex=function(e){return w.createBuffer(e).toHex()};w.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_r=[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],uh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=Tr.charAt(i>>2),r+=Tr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Tr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Tr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
4
+ `,r=r.substr(t));return n+=r,n};w.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=_r[e.charCodeAt(s++)-43],n=_r[e.charCodeAt(s++)-43],i=_r[e.charCodeAt(s++)-43],o=_r[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};w.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};w.decodeUtf8=function(e){return decodeURIComponent(escape(e))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:ch.encode,decode:ch.decode}};w.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};w.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};w.binary.hex.encode=w.bytesToHex;w.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};w.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+=Tr.charAt(i>>2),r+=Tr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Tr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Tr.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
5
+ `,r=r.substr(t));return n+=r,n};w.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,u=r;c<e.length;)i=_r[e.charCodeAt(c++)-43],o=_r[e.charCodeAt(c++)-43],s=_r[e.charCodeAt(c++)-43],a=_r[e.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return t?u-r:n.subarray(0,u)};w.binary.base58.encode=function(e,t){return w.binary.baseN.encode(e,uh,t)};w.binary.base58.decode=function(e,t){return w.binary.baseN.decode(e,uh,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(e,t,r){e=w.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};w.text.utf8.decode=function(e){return w.decodeUtf8(String.fromCharCode.apply(null,e))};w.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};w.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};w.deflate=function(e,t,r){if(t=w.decode64(e.deflate(w.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(e,t,r){var n=e.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var zc=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=w.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}},Gc=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(w.decode64(r))),r},cx=function(e,t,r,n){var i=Gc(e,t);i===null&&(i={}),i[r]=n,zc(e,t,i)},ux=function(e,t,r){var n=Gc(e,t);return n!==null&&(n=r in n?n[r]:null),n},fx=function(e,t,r){var n=Gc(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),zc(e,t,n)}},lx=function(e,t){zc(e,t,null)},Jo=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};w.setItem=function(e,t,r,n,i){Jo(cx,arguments,i)};w.getItem=function(e,t,r,n){return Jo(ux,arguments,n)};w.removeItem=function(e,t,r,n){Jo(fx,arguments,n)};w.clearItems=function(e,t,r){Jo(lx,arguments,r)};w.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};w.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("")};w.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?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(e){return e>=1073741824?e=w.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=w.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=w.formatNumber(e/1024,0)+" KiB":e=w.formatNumber(e,0)+" bytes",e};w.bytesFromIP=function(e){return e.indexOf(".")!==-1?w.bytesFromIPv4(e):e.indexOf(":")!==-1?w.bytesFromIPv6(e):null};w.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=w.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.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=w.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(e){return e.length===4?w.bytesToIPv4(e):e.length===16?w.bytesToIPv6(e):null};w.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(".")};w.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=w.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(":")};w.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in w&&!e.update)return t(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,t(null,w.cores);if(typeof Worker>"u")return w.cores=1,t(null,w.cores);if(typeof Blob>"u")return w.cores=2,t(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,w.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var y=0;y<s;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],d=0;d<s;++d)if(u!==d){var y=a[d];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(d)}return c.reduce(function(h,p){return Math.max(h,p.length)},0)}}});var ts=st((VC,lh)=>{var Bi=xt();Bi.pki=Bi.pki||{};var Wc=lh.exports=Bi.pki.oids=Bi.oids=Bi.oids||{};function N(e,t){Wc[e]=t,Wc[t]=e}function mt(e,t){Wc[e]=t}N("1.2.840.113549.1.1.1","rsaEncryption");N("1.2.840.113549.1.1.4","md5WithRSAEncryption");N("1.2.840.113549.1.1.5","sha1WithRSAEncryption");N("1.2.840.113549.1.1.7","RSAES-OAEP");N("1.2.840.113549.1.1.8","mgf1");N("1.2.840.113549.1.1.9","pSpecified");N("1.2.840.113549.1.1.10","RSASSA-PSS");N("1.2.840.113549.1.1.11","sha256WithRSAEncryption");N("1.2.840.113549.1.1.12","sha384WithRSAEncryption");N("1.2.840.113549.1.1.13","sha512WithRSAEncryption");N("1.3.101.112","EdDSA25519");N("1.2.840.10040.4.3","dsa-with-sha1");N("1.3.14.3.2.7","desCBC");N("1.3.14.3.2.26","sha1");N("1.3.14.3.2.29","sha1WithRSASignature");N("2.16.840.1.101.3.4.2.1","sha256");N("2.16.840.1.101.3.4.2.2","sha384");N("2.16.840.1.101.3.4.2.3","sha512");N("2.16.840.1.101.3.4.2.4","sha224");N("2.16.840.1.101.3.4.2.5","sha512-224");N("2.16.840.1.101.3.4.2.6","sha512-256");N("1.2.840.113549.2.2","md2");N("1.2.840.113549.2.5","md5");N("1.2.840.113549.1.7.1","data");N("1.2.840.113549.1.7.2","signedData");N("1.2.840.113549.1.7.3","envelopedData");N("1.2.840.113549.1.7.4","signedAndEnvelopedData");N("1.2.840.113549.1.7.5","digestedData");N("1.2.840.113549.1.7.6","encryptedData");N("1.2.840.113549.1.9.1","emailAddress");N("1.2.840.113549.1.9.2","unstructuredName");N("1.2.840.113549.1.9.3","contentType");N("1.2.840.113549.1.9.4","messageDigest");N("1.2.840.113549.1.9.5","signingTime");N("1.2.840.113549.1.9.6","counterSignature");N("1.2.840.113549.1.9.7","challengePassword");N("1.2.840.113549.1.9.8","unstructuredAddress");N("1.2.840.113549.1.9.14","extensionRequest");N("1.2.840.113549.1.9.20","friendlyName");N("1.2.840.113549.1.9.21","localKeyId");N("1.2.840.113549.1.9.22.1","x509Certificate");N("1.2.840.113549.1.12.10.1.1","keyBag");N("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");N("1.2.840.113549.1.12.10.1.3","certBag");N("1.2.840.113549.1.12.10.1.4","crlBag");N("1.2.840.113549.1.12.10.1.5","secretBag");N("1.2.840.113549.1.12.10.1.6","safeContentsBag");N("1.2.840.113549.1.5.13","pkcs5PBES2");N("1.2.840.113549.1.5.12","pkcs5PBKDF2");N("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");N("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");N("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");N("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");N("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");N("1.2.840.113549.2.7","hmacWithSHA1");N("1.2.840.113549.2.8","hmacWithSHA224");N("1.2.840.113549.2.9","hmacWithSHA256");N("1.2.840.113549.2.10","hmacWithSHA384");N("1.2.840.113549.2.11","hmacWithSHA512");N("1.2.840.113549.3.7","des-EDE3-CBC");N("2.16.840.1.101.3.4.1.2","aes128-CBC");N("2.16.840.1.101.3.4.1.22","aes192-CBC");N("2.16.840.1.101.3.4.1.42","aes256-CBC");N("2.5.4.3","commonName");N("2.5.4.4","surname");N("2.5.4.5","serialNumber");N("2.5.4.6","countryName");N("2.5.4.7","localityName");N("2.5.4.8","stateOrProvinceName");N("2.5.4.9","streetAddress");N("2.5.4.10","organizationName");N("2.5.4.11","organizationalUnitName");N("2.5.4.12","title");N("2.5.4.13","description");N("2.5.4.15","businessCategory");N("2.5.4.17","postalCode");N("2.5.4.42","givenName");N("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");N("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");N("2.16.840.1.113730.1.1","nsCertType");N("2.16.840.1.113730.1.13","nsComment");mt("2.5.29.1","authorityKeyIdentifier");mt("2.5.29.2","keyAttributes");mt("2.5.29.3","certificatePolicies");mt("2.5.29.4","keyUsageRestriction");mt("2.5.29.5","policyMapping");mt("2.5.29.6","subtreesConstraint");mt("2.5.29.7","subjectAltName");mt("2.5.29.8","issuerAltName");mt("2.5.29.9","subjectDirectoryAttributes");mt("2.5.29.10","basicConstraints");mt("2.5.29.11","nameConstraints");mt("2.5.29.12","policyConstraints");mt("2.5.29.13","basicConstraints");N("2.5.29.14","subjectKeyIdentifier");N("2.5.29.15","keyUsage");mt("2.5.29.16","privateKeyUsagePeriod");N("2.5.29.17","subjectAltName");N("2.5.29.18","issuerAltName");N("2.5.29.19","basicConstraints");mt("2.5.29.20","cRLNumber");mt("2.5.29.21","cRLReason");mt("2.5.29.22","expirationDate");mt("2.5.29.23","instructionCode");mt("2.5.29.24","invalidityDate");mt("2.5.29.25","cRLDistributionPoints");mt("2.5.29.26","issuingDistributionPoint");mt("2.5.29.27","deltaCRLIndicator");mt("2.5.29.28","issuingDistributionPoint");mt("2.5.29.29","certificateIssuer");mt("2.5.29.30","nameConstraints");N("2.5.29.31","cRLDistributionPoints");N("2.5.29.32","certificatePolicies");mt("2.5.29.33","policyMappings");mt("2.5.29.34","policyConstraints");N("2.5.29.35","authorityKeyIdentifier");mt("2.5.29.36","policyConstraints");N("2.5.29.37","extKeyUsage");mt("2.5.29.46","freshestCRL");mt("2.5.29.54","inhibitAnyPolicy");N("1.3.6.1.4.1.11129.2.4.2","timestampList");N("1.3.6.1.5.5.7.1.1","authorityInfoAccess");N("1.3.6.1.5.5.7.3.1","serverAuth");N("1.3.6.1.5.5.7.3.2","clientAuth");N("1.3.6.1.5.5.7.3.3","codeSigning");N("1.3.6.1.5.5.7.3.4","emailProtection");N("1.3.6.1.5.5.7.3.8","timeStamping")});var Ti=st((HC,dh)=>{var At=xt();Mt();ts();var V=dh.exports=At.asn1=At.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(e,t,r,n,i){if(At.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||At.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(e,t){var r;if(At.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(V.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:V.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};V.equals=function(e,t,r){if(At.util.isArray(e)){if(!At.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!V.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&&V.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};V.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 Ii(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 hx=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;Ii(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.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=At.util.createBuffer(e));var r=e.length(),n=es(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 es(e,t,r,n){var i;Ii(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=hx(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(Ii(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(es(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(es(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var y=e.read,h=t,p=0;if(a===V.Type.BITSTRING&&(Ii(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},g=es(e,t,r+1,m),b=i-e.length();t-=b,a==V.Type.BITSTRING&&b++;var x=g.tagClass;b===c&&(x===V.Class.UNIVERSAL||x===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(e.read=y,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===V.Type.BMPSTRING)for(f="";c>0;c-=2)Ii(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var D=l===void 0?null:{bitStringContents:l};return V.create(s,a,d,f,D)}V.toDer=function(e){var t=At.util.createBuffer(),r=e.tagClass|e.type,n=At.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=V.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(V.toDer(e.value[o]))}else if(e.type===V.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===V.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};V.oidToDer=function(e){var t=e.split("."),r=At.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};V.derToOid=function(e){var t;typeof e=="string"&&(e=At.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};V.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),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};V.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,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var y=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=y*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};V.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};V.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};V.integerToDer=function(e){var t=At.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};V.derToInteger=function(e){typeof e=="string"&&(e=At.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)};V.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&&At.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=V.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 hh=/[^\\u0000-\\u00ff]/;V.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 V.Class.UNIVERSAL:n+="Universal:";break;case V.Class.APPLICATION:n+="Application:";break;case V.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case V.Class.PRIVATE:n+="Private:";break}if(e.tagClass===V.Class.UNIVERSAL)switch(n+=e.type,e.type){case V.Type.NONE:n+=" (None)";break;case V.Type.BOOLEAN:n+=" (Boolean)";break;case V.Type.INTEGER:n+=" (Integer)";break;case V.Type.BITSTRING:n+=" (Bit string)";break;case V.Type.OCTETSTRING:n+=" (Octet string)";break;case V.Type.NULL:n+=" (Null)";break;case V.Type.OID:n+=" (Object Identifier)";break;case V.Type.ODESC:n+=" (Object Descriptor)";break;case V.Type.EXTERNAL:n+=" (External or Instance of)";break;case V.Type.REAL:n+=" (Real)";break;case V.Type.ENUMERATED:n+=" (Enumerated)";break;case V.Type.EMBEDDED:n+=" (Embedded PDV)";break;case V.Type.UTF8:n+=" (UTF8)";break;case V.Type.ROID:n+=" (Relative Object Identifier)";break;case V.Type.SEQUENCE:n+=" (Sequence)";break;case V.Type.SET:n+=" (Set)";break;case V.Type.PRINTABLESTRING:n+=" (Printable String)";break;case V.Type.IA5String:n+=" (IA5String (ASCII))";break;case V.Type.UTCTIME:n+=" (UTC time)";break;case V.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case V.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+=V.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===V.Type.OID){var c=V.derToOid(e.value);n+=c,At.pki&&At.pki.oids&&c in At.pki.oids&&(n+=" ("+At.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+At.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+At.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===V.Type.OCTETSTRING)_h.test(e.value)||(n+="("+e.value+") "),n+="0x"+At.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=At.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+At.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:_h.test(e.value)?n+="0x"+At.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var n0=ot((OB,Rh)=>{var qt=xt();Ot();Rh.exports=qt.cipher=qt.cipher||{};qt.cipher.algorithms=qt.cipher.algorithms||{};qt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=qt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new qt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};qt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=qt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new qt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};qt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),qt.cipher.algorithms[e]=t};qt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in qt.cipher.algorithms?qt.cipher.algorithms[e]:null};var r0=qt.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)};r0.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=qt.util.createBuffer(),this.output=e.output||qt.util.createBuffer(),this.mode.start(t)};r0.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()};r0.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 o0=ot((KB,Lh)=>{var zt=xt();Ot();zt.cipher=zt.cipher||{};var at=Lh.exports=zt.cipher.modes=zt.cipher.modes||{};at.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)};at.ecb.prototype.start=function(e){};at.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])};at.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])};at.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};at.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)};at.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)};at.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=ss(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};at.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};at.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)};at.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};at.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)};at.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=zt.util.createBuffer(),this._partialBytes=0};at.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ss(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};at.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};at.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};at.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=zt.util.createBuffer(),this._partialBytes=0};at.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ss(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};at.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};at.ofb.prototype.decrypt=at.ofb.prototype.encrypt;at.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=zt.util.createBuffer(),this._partialBytes=0};at.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=ss(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};at.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}as(this._inBlock)};at.ctr.prototype.decrypt=at.ctr.prototype.encrypt;at.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=zt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};at.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=zt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=zt.util.createBuffer(e.additionalData):r=zt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=zt.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(i0(n*8)))}this._inBlock=this._j0.slice(0),as(this._inBlock),this._partialBytes=0,r=zt.util.createBuffer(r),this._aDataLength=i0(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()])};at.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),as(this._inBlock)};at.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),as(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};at.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=zt.util.createBuffer();var n=this._aDataLength.concat(i0(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};at.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};at.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)};at.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};at.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)};at.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,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};at.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 u=i[o^n];i[o]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function ss(e,t){if(typeof e=="string"&&(e=zt.util.createBuffer(e)),zt.util.isArray(e)&&e.length>4){var r=e;e=zt.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(!zt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function as(e){e[e.length-1]=e[e.length-1]+1&4294967295}function i0(e){return[e/4294967296|0,e&4294967295]}});var u0=ot((MB,Oh)=>{var vt=xt();n0();o0();Ot();Oh.exports=vt.aes=vt.aes||{};vt.aes.startEncrypting=function(e,t,r,n){var i=cs({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};vt.aes.createEncryptionCipher=function(e,t){return cs({key:e,output:null,decrypt:!1,mode:t})};vt.aes.startDecrypting=function(e,t,r,n){var i=cs({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};vt.aes.createDecryptionCipher=function(e,t){return cs({key:e,output:null,decrypt:!0,mode:t})};vt.aes.Algorithm=function(e,t){c0||Ph();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return a0(r._w,n,i,!1)},decrypt:function(n,i){return a0(r._w,n,i,!0)}}}),r._init=!1};vt.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=vt.util.createBuffer(t);else if(vt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=vt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!vt.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(!vt.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=Uh(t,e.decrypt&&!s),this._init=!0}};vt.aes._expandKey=function(e,t){return c0||Ph(),Uh(e,t)};vt.aes._updateBlock=a0;Vn("AES-ECB",vt.cipher.modes.ecb);Vn("AES-CBC",vt.cipher.modes.cbc);Vn("AES-CFB",vt.cipher.modes.cfb);Vn("AES-OFB",vt.cipher.modes.ofb);Vn("AES-CTR",vt.cipher.modes.ctr);Vn("AES-GCM",vt.cipher.modes.gcm);function Vn(e,t){var r=function(){return new vt.aes.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var c0=!1,Fn=4,re,s0,Nh,en,Te;function Ph(){c0=!0,Nh=[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;re=new Array(256),s0=new Array(256),en=new Array(4),Te=new Array(4);for(var t=0;t<4;++t)en[t]=new Array(256),Te[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,re[r]=a,s0[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)en[l][r]=u,Te[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function Uh(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Fn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=re[n>>>16&255]<<24^re[n>>>8&255]<<16^re[n&255]<<8^re[n>>>24]^Nh[i]<<24,i++):o>6&&c%o===4&&(n=re[n>>>24]<<24^re[n>>>16&255]<<16^re[n>>>8&255]<<8^re[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Te[0],l=Te[1],d=Te[2],m=Te[3],h=r.slice(0);a=r.length;for(var c=0,p=a-Fn;c<a;c+=Fn,p-=Fn)if(c===0||c===a-Fn)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<Fn;++y)u=r[p+y],h[c+(3&-y)]=f[re[u>>>24]]^l[re[u>>>16&255]]^d[re[u>>>8&255]]^m[re[u&255]];r=h}return r}function a0(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Te[0],s=Te[1],a=Te[2],c=Te[3],u=s0):(o=en[0],s=en[1],a=en[2],c=en[3],u=re);var f,l,d,m,h,p,y;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],m=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[m&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[m>>>8&255]^c[f&255]^e[++g],y=o[d>>>24]^s[m>>>16&255]^a[f>>>8&255]^c[l&255]^e[++g],m=o[m>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++g],f=h,l=p,d=y;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[m&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[m>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>24]<<24^u[m>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++g],r[n?1:3]=u[m>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++g]}function cs(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof vt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Fh=ot((FB,Mh)=>{var It=xt();n0();o0();Ot();Mh.exports=It.des=It.des||{};It.des.startEncrypting=function(e,t,r,n){var i=us({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};It.des.createEncryptionCipher=function(e,t){return us({key:e,output:null,decrypt:!1,mode:t})};It.des.startDecrypting=function(e,t,r,n){var i=us({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};It.des.createDecryptionCipher=function(e,t){return us({key:e,output:null,decrypt:!0,mode:t})};It.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Kh(r._keys,n,i,!1)},decrypt:function(n,i){return Kh(r._keys,n,i,!0)}}}),r._init=!1};It.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=It.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=Gx(t),this._init=!0}};Ke("DES-ECB",It.cipher.modes.ecb);Ke("DES-CBC",It.cipher.modes.cbc);Ke("DES-CFB",It.cipher.modes.cfb);Ke("DES-OFB",It.cipher.modes.ofb);Ke("DES-CTR",It.cipher.modes.ctr);Ke("3DES-ECB",It.cipher.modes.ecb);Ke("3DES-CBC",It.cipher.modes.cbc);Ke("3DES-CFB",It.cipher.modes.cfb);Ke("3DES-OFB",It.cipher.modes.ofb);Ke("3DES-CTR",It.cipher.modes.ctr);function Ke(e,t){var r=function(){return new It.des.Algorithm(e,t)};It.cipher.registerAlgorithm(e,r)}var Ox=[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],Kx=[-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],Mx=[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],Fx=[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],Vx=[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],Hx=[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],qx=[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],zx=[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 Gx(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],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],m=[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=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,x,S=0;S<p;S++){var w=e.getInt32(),E=e.getInt32();x=(w>>>4^E)&252645135,E^=x,w^=x<<4,x=(E>>>-16^w)&65535,w^=x,E^=x<<-16,x=(w>>>2^E)&858993459,E^=x,w^=x<<2,x=(E>>>-16^w)&65535,w^=x,E^=x<<-16,x=(w>>>1^E)&1431655765,E^=x,w^=x<<1,x=(E>>>8^w)&16711935,w^=x,E^=x<<8,x=(w>>>1^E)&1431655765,E^=x,w^=x<<1,x=w<<8|E>>>20&240,w=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(w=w<<2|w>>>26,E=E<<2|E>>>26):(w=w<<1|w>>>27,E=E<<1|E>>>27),w&=-15,E&=-15;var B=t[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|o[w>>>12&15]|s[w>>>8&15]|a[w>>>4&15],U=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|m[E>>>8&15]|h[E>>>4&15];x=(U>>>16^B)&65535,y[b++]=B^x,y[b++]=U^x<<16}}return y}function Kh(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 u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],d=o[u];d!=f;d+=l){var m=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(Kx[m>>>24&63]|Fx[m>>>16&63]|Hx[m>>>8&63]|zx[m&63]|Ox[h>>>24&63]|Mx[h>>>16&63]|Vx[h>>>8&63]|qx[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 us(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=It.cipher.createDecipher(r,e.key):n=It.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof It.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var rn=ot((VB,Vh)=>{var fs=xt();Vh.exports=fs.md=fs.md||{};fs.md.algorithms=fs.md.algorithms||{}});var qh=ot((HB,Hh)=>{var ar=xt();rn();Ot();var Wx=Hh.exports=ar.hmac=ar.hmac||{};Wx.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 ar.md.algorithms)t=ar.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=ar.util.createBuffer(s);else if(ar.util.isArray(s)){var a=s;s=ar.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=ar.util.createBuffer(),n=ar.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,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 ls=ot(()=>{});var Gh=ot((GB,zh)=>{var ne=xt();qh();rn();Ot();var $x=ne.pkcs5=ne.pkcs5||{},cr;ne.util.isNodejs&&!ne.options.usePureJavaScript&&(cr=ls());zh.exports=ne.pbkdf2=$x.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ne.util.isNodejs&&!ne.options.usePureJavaScript&&cr.pbkdf2&&(i===null||typeof i!="object")&&(cr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?cr.pbkdf2Sync.length===4?cr.pbkdf2(e,t,r,n,function(x,S){if(x)return o(x);o(null,S.toString("binary"))}):cr.pbkdf2(e,t,r,n,i,function(x,S){if(x)return o(x);o(null,S.toString("binary"))}):cr.pbkdf2Sync.length===4?cr.pbkdf2Sync(e,t,r,n).toString("binary"):cr.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ne.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ne.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=ne.hmac.create();f.start(i,e);var l="",d,m,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ne.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(h),m=f.digest().getBytes(),d=ne.util.xorBytes(d,m,s),h=m;l+=p<c?d:d.substr(0,u)}return l}var p=1,y;function g(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(ne.util.int32ToBytes(p)),d=h=f.digest().getBytes(),y=2,b()}function b(){if(y<=r)return f.start(null,null),f.update(h),m=f.digest().getBytes(),d=ne.util.xorBytes(d,m,s),h=m,++y,ne.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var Yh=ot((WB,$h)=>{var ds=xt();Ot();var Wh=$h.exports=ds.pem=ds.pem||{};Wh.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+=hs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=hs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=hs(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=hs(e.headers[i]);return e.procType&&(r+=`\r
10
- `),r+=ds.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+=V.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===V.Type.OID){var c=V.derToOid(e.value);n+=c,At.pki&&At.pki.oids&&c in At.pki.oids&&(n+=" ("+At.pki.oids[c]+") ")}if(e.type===V.Type.INTEGER)try{n+=V.derToInteger(e.value)}catch{n+="0x"+At.util.bytesToHex(e.value)}else if(e.type===V.Type.BITSTRING){if(e.value.length>1?n+="0x"+At.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===V.Type.OCTETSTRING)hh.test(e.value)||(n+="("+e.value+") "),n+="0x"+At.util.bytesToHex(e.value);else if(e.type===V.Type.UTF8)try{n+=At.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+At.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===V.Type.PRINTABLESTRING||e.type===V.Type.IA5String?n+=e.value:hh.test(e.value)?n+="0x"+At.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var Yc=st((qC,ph)=>{var zt=xt();Mt();ph.exports=zt.cipher=zt.cipher||{};zt.cipher.algorithms=zt.cipher.algorithms||{};zt.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=zt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new zt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};zt.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=zt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new zt.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};zt.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),zt.cipher.algorithms[e]=t};zt.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in zt.cipher.algorithms?zt.cipher.algorithms[e]:null};var $c=zt.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)};$c.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=zt.util.createBuffer(),this.output=e.output||zt.util.createBuffer(),this.mode.start(t)};$c.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()};$c.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 Zc=st((zC,yh)=>{var Gt=xt();Mt();Gt.cipher=Gt.cipher||{};var ct=yh.exports=Gt.cipher.modes=Gt.cipher.modes||{};ct.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)};ct.ecb.prototype.start=function(e){};ct.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])};ct.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])};ct.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ct.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)};ct.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)};ct.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=rs(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};ct.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};ct.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)};ct.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};ct.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)};ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=rs(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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};ct.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};ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=rs(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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};ct.ofb.prototype.decrypt=ct.ofb.prototype.encrypt;ct.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=Gt.util.createBuffer(),this._partialBytes=0};ct.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=rs(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};ct.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}ns(this._inBlock)};ct.ctr.prototype.decrypt=ct.ctr.prototype.encrypt;ct.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=Gt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};ct.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Gt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Gt.util.createBuffer(e.additionalData):r=Gt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Gt.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(Xc(n*8)))}this._inBlock=this._j0.slice(0),ns(this._inBlock),this._partialBytes=0,r=Gt.util.createBuffer(r),this._aDataLength=Xc(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()])};ct.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),ns(this._inBlock)};ct.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),ns(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};ct.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Gt.util.createBuffer();var n=this._aDataLength.concat(Xc(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};ct.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};ct.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)};ct.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};ct.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)};ct.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,u=(n-1-s%n)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};ct.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 u=i[o^n];i[o]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function rs(e,t){if(typeof e=="string"&&(e=Gt.util.createBuffer(e)),Gt.util.isArray(e)&&e.length>4){var r=e;e=Gt.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(!Gt.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function ns(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Xc(e){return[e/4294967296|0,e&4294967295]}});var t0=st((GC,bh)=>{var vt=xt();Yc();Zc();Mt();bh.exports=vt.aes=vt.aes||{};vt.aes.startEncrypting=function(e,t,r,n){var i=is({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};vt.aes.createEncryptionCipher=function(e,t){return is({key:e,output:null,decrypt:!1,mode:t})};vt.aes.startDecrypting=function(e,t,r,n){var i=is({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};vt.aes.createDecryptionCipher=function(e,t){return is({key:e,output:null,decrypt:!0,mode:t})};vt.aes.Algorithm=function(e,t){Jc||gh();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return jc(r._w,n,i,!1)},decrypt:function(n,i){return jc(r._w,n,i,!0)}}}),r._init=!1};vt.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=vt.util.createBuffer(t);else if(vt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=vt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!vt.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(!vt.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=xh(t,e.decrypt&&!s),this._init=!0}};vt.aes._expandKey=function(e,t){return Jc||gh(),xh(e,t)};vt.aes._updateBlock=jc;Fn("AES-ECB",vt.cipher.modes.ecb);Fn("AES-CBC",vt.cipher.modes.cbc);Fn("AES-CFB",vt.cipher.modes.cfb);Fn("AES-OFB",vt.cipher.modes.ofb);Fn("AES-CTR",vt.cipher.modes.ctr);Fn("AES-GCM",vt.cipher.modes.gcm);function Fn(e,t){var r=function(){return new vt.aes.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var Jc=!1,Mn=4,ne,Qc,mh,tn,Te;function gh(){Jc=!0,mh=[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;ne=new Array(256),Qc=new Array(256),tn=new Array(4),Te=new Array(4);for(var t=0;t<4;++t)tn[t]=new Array(256),Te[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ne[r]=a,Qc[a]=r,c=e[a],i=e[r],o=e[i],s=e[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)tn[l][r]=u,Te[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function xh(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Mn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=ne[n>>>16&255]<<24^ne[n>>>8&255]<<16^ne[n&255]<<8^ne[n>>>24]^mh[i]<<24,i++):o>6&&c%o===4&&(n=ne[n>>>24]<<24^ne[n>>>16&255]<<16^ne[n>>>8&255]<<8^ne[n&255]),r[c]=r[c-o]^n;if(t){var u,f=Te[0],l=Te[1],d=Te[2],y=Te[3],h=r.slice(0);a=r.length;for(var c=0,p=a-Mn;c<a;c+=Mn,p-=Mn)if(c===0||c===a-Mn)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 m=0;m<Mn;++m)u=r[p+m],h[c+(3&-m)]=f[ne[u>>>24]]^l[ne[u>>>16&255]]^d[ne[u>>>8&255]]^y[ne[u&255]];r=h}return r}function jc(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=Te[0],s=Te[1],a=Te[2],c=Te[3],u=Qc):(o=tn[0],s=tn[1],a=tn[2],c=tn[3],u=ne);var f,l,d,y,h,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],y=t[n?1:3]^e[3];for(var g=3,b=1;b<i;++b)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[y&255]^e[++g],p=o[l>>>24]^s[d>>>16&255]^a[y>>>8&255]^c[f&255]^e[++g],m=o[d>>>24]^s[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++g],y=o[y>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++g],f=h,l=p,d=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[y&255]^e[++g],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++g],r[2]=u[d>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++g],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++g]}function is(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof vt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Eh=st((WC,vh)=>{var Tt=xt();Yc();Zc();Mt();vh.exports=Tt.des=Tt.des||{};Tt.des.startEncrypting=function(e,t,r,n){var i=os({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Tt.des.createEncryptionCipher=function(e,t){return os({key:e,output:null,decrypt:!1,mode:t})};Tt.des.startDecrypting=function(e,t,r,n){var i=os({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Tt.des.createDecryptionCipher=function(e,t){return os({key:e,output:null,decrypt:!0,mode:t})};Tt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return wh(r._keys,n,i,!1)},decrypt:function(n,i){return wh(r._keys,n,i,!0)}}}),r._init=!1};Tt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=Tt.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=vx(t),this._init=!0}};Ke("DES-ECB",Tt.cipher.modes.ecb);Ke("DES-CBC",Tt.cipher.modes.cbc);Ke("DES-CFB",Tt.cipher.modes.cfb);Ke("DES-OFB",Tt.cipher.modes.ofb);Ke("DES-CTR",Tt.cipher.modes.ctr);Ke("3DES-ECB",Tt.cipher.modes.ecb);Ke("3DES-CBC",Tt.cipher.modes.cbc);Ke("3DES-CFB",Tt.cipher.modes.cfb);Ke("3DES-OFB",Tt.cipher.modes.ofb);Ke("3DES-CTR",Tt.cipher.modes.ctr);function Ke(e,t){var r=function(){return new Tt.des.Algorithm(e,t)};Tt.cipher.registerAlgorithm(e,r)}var dx=[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],px=[-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],yx=[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],mx=[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],gx=[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],xx=[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],bx=[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],wx=[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 vx(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],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,m=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],b=0,x,D=0;D<p;D++){var v=e.getInt32(),E=e.getInt32();x=(v>>>4^E)&252645135,E^=x,v^=x<<4,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>2^E)&858993459,E^=x,v^=x<<2,x=(E>>>-16^v)&65535,v^=x,E^=x<<-16,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=(E>>>8^v)&16711935,v^=x,E^=x<<8,x=(v>>>1^E)&1431655765,E^=x,v^=x<<1,x=v<<8|E>>>20&240,v=E<<24|E<<8&16711680|E>>>8&65280|E>>>24&240,E=x;for(var C=0;C<g.length;++C){g[C]?(v=v<<2|v>>>26,E=E<<2|E>>>26):(v=v<<1|v>>>27,E=E<<1|E>>>27),v&=-15,E&=-15;var B=t[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|o[v>>>12&15]|s[v>>>8&15]|a[v>>>4&15],O=c[E>>>28]|u[E>>>24&15]|f[E>>>20&15]|l[E>>>16&15]|d[E>>>12&15]|y[E>>>8&15]|h[E>>>4&15];x=(O>>>16^B)&65535,m[b++]=B^x,m[b++]=O^x<<16}}return m}function wh(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 u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],d=o[u];d!=f;d+=l){var y=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(px[y>>>24&63]|mx[y>>>16&63]|xx[y>>>8&63]|wx[y&63]|dx[h>>>24&63]|yx[h>>>16&63]|gx[h>>>8&63]|bx[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 os(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=Tt.cipher.createDecipher(r,e.key):n=Tt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Tt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var en=st(($C,Sh)=>{var ss=xt();Sh.exports=ss.md=ss.md||{};ss.md.algorithms=ss.md.algorithms||{}});var Dh=st((YC,Ah)=>{var sr=xt();en();Mt();var Ex=Ah.exports=sr.hmac=sr.hmac||{};Ex.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 sr.md.algorithms)t=sr.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=sr.util.createBuffer(s);else if(sr.util.isArray(s)){var a=s;s=sr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=sr.util.createBuffer(),n=sr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<t.blockLength)for(var a=t.blockLength-u,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 as=st(()=>{});var Bh=st((QC,Ch)=>{var ie=xt();Dh();en();Mt();var Sx=ie.pkcs5=ie.pkcs5||{},ar;ie.util.isNodejs&&!ie.options.usePureJavaScript&&(ar=as());Ch.exports=ie.pbkdf2=Sx.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ie.util.isNodejs&&!ie.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?ar.pbkdf2Sync.length===4?ar.pbkdf2(e,t,r,n,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):ar.pbkdf2(e,t,r,n,i,function(x,D){if(x)return o(x);o(null,D.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(e,t,r,n).toString("binary"):ar.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ie.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ie.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=ie.hmac.create();f.start(i,e);var l="",d,y,h;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),d=h=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ie.util.xorBytes(d,y,s),h=y;l+=p<c?d:d.substr(0,u)}return l}var p=1,m;function g(){if(p>c)return o(null,l);f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),d=h=f.digest().getBytes(),m=2,b()}function b(){if(m<=r)return f.start(null,null),f.update(h),y=f.digest().getBytes(),d=ie.util.xorBytes(d,y,s),h=y,++m,ie.util.setImmediate(b);l+=p<c?d:d.substr(0,u),++p,g()}g()}});var _h=st((jC,Th)=>{var us=xt();Mt();var Ih=Th.exports=us.pem=us.pem||{};Ih.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+=cs(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=cs(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=cs(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=cs(e.headers[i]);return e.procType&&(r+=`\r
10
+ `),r+=us.util.encode64(e.body,t.maxline||64)+`\r
11
11
  `,r+="-----END "+e.type+`-----\r
12
- `,r};Wh.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:ds.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var m={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)m.values.push(Yx(h[p]));if(a.procType)if(!a.contentDomain&&m.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&m.name==="DEK-Info"){if(m.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(m);else{if(m.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(m.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function hs(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
12
+ `,r};Ih.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:us.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var y={name:o[1],values:[]},h=o[2].split(","),p=0;p<h.length;++p)y.values.push(Ax(h[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function cs(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
13
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 Yx(e){return e.replace(/^\s+/,"")}});var td=ot(($B,Jh)=>{var Me=xt();rn();Ot();var Zh=Jh.exports=Me.sha256=Me.sha256||{};Me.md.sha256=Me.md.algorithms.sha256=Zh;Zh.create=function(){Qh||Xx();var e=null,t=Me.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=Me.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=Me.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),Xh(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Me.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(f0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};Xh(l,r,i);var d=Me.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 f0=null,Qh=!1,jh=null;function Xx(){f0="\x80",f0+=Me.util.fillString("\0",64),jh=[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],Qh=!0}function Xh(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,m,h,p,y,g,b=r.length();b>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,m=e.h3,h=e.h4,p=e.h5,y=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(p^y),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+jh[u]+t[u],i=o+c,g=y,y=p,p=h,h=m+n>>>0,m=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+m|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+y|0,e.h7=e.h7+g|0,b-=64}}});var rd=ot((YB,ed)=>{var Fe=xt();Ot();var ps=null;Fe.util.isNodejs&&!Fe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ps=ls());var Zx=ed.exports=Fe.prng=Fe.prng||{};Zx.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,m=t.plugin.formatKey,h=t.plugin.formatSeed,p=Fe.util.createBuffer();t.key=null,y();function y(g){if(g)return f(g);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Fe.util.nextTick(function(){o(y)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=m(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Fe.util.setImmediate(y)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,m=t.plugin.formatSeed;t.key=null;for(var h=Fe.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=m(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Fe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(w){return d.getRandomValues(w)});var m=Fe.util.createBuffer();if(f)for(;m.length()<u;){var h=Math.max(1,Math.min(u-m.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var y=0;y<p.length;++y)m.putInt32(p[y])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(m.length()<u)for(var g,b,x,S=Math.floor(Math.random()*65536);m.length()<u;){b=16807*(S&65535),g=16807*(S>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),S=b&4294967295;for(var y=0;y<3;++y)x=S>>>(y<<3),x^=Math.floor(Math.random()*256),m.putByte(x&255)}return m.getBytes(u)}return ps?(t.seedFile=function(u,f){ps.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return ps.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function m(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",m),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",m),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(m,h){u.postMessage({forge:{prng:{err:m,bytes:h}}})})};u.addEventListener("message",f)}},t}});var Ni=ot((XB,l0)=>{var Gt=xt();u0();td();rd();Ot();(function(){if(Gt.random&&Gt.random.getBytes){l0.exports=Gt.random;return}(function(e){var t={},r=new Array(4),n=Gt.util.createBuffer();t.formatKey=function(l){var d=Gt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Gt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Gt.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 Gt.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=Gt.md.sha256;function i(){var l=Gt.prng.create(t);return l.getBytes=function(d,m){return l.generate(d,m)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Gt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Gt.options.usePureJavaScript||!Gt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}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(!Gt.random)Gt.random=o;else for(var f in o)Gt.random[f]=o[f];Gt.random.createInstance=i,l0.exports=Gt.random})(typeof jQuery<"u"?jQuery:null)})()});var sd=ot((ZB,od)=>{var ce=xt();Ot();var h0=[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],nd=[1,2,3,5],Qx=function(e,t){return e<<t&65535|(e&65535)>>16-t},jx=function(e,t){return(e&65535)>>t|e<<16-t&65535};od.exports=ce.rc2=ce.rc2||{};ce.rc2.expandKey=function(e,t){typeof e=="string"&&(e=ce.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(h0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,h0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,h0[r.at(a+1)^r.at(a+o)]);return r};var id=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=ce.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=Qx(h[u],nd[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=jx(h[u],nd[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){var p=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}f=r?0:63;for(var g=0;g<h.length;g++)for(var b=0;b<h[g][0];b++)h[g][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},m=null;return m={start:function(h,p){h&&typeof h=="string"&&(h=ce.util.createBuffer(h)),n=!1,i=ce.util.createBuffer(),o=p||new ce.util.createBuffer,s=h,m.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,m.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},m};ce.rc2.startEncrypting=function(e,t,r){var n=ce.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createEncryptionCipher=function(e,t){return id(e,t,!0)};ce.rc2.startDecrypting=function(e,t,r){var n=ce.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createDecryptionCipher=function(e,t){return id(e,t,!1)}});var gs=ot((QB,pd)=>{var d0=xt();pd.exports=d0.jsbn=d0.jsbn||{};var ur,Jx=0xdeadbeefcafe,ad=(Jx&16777215)==15715070;function L(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))}d0.jsbn.BigInteger=L;function ft(){return new L(null)}function tb(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 eb(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function cd(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(L.prototype.am=cd,ur=28):ad&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=eb,ur=30):ad&&navigator.appName!="Netscape"?(L.prototype.am=tb,ur=26):(L.prototype.am=cd,ur=28);L.prototype.DB=ur;L.prototype.DM=(1<<ur)-1;L.prototype.DV=1<<ur;var p0=52;L.prototype.FV=Math.pow(2,p0);L.prototype.F1=p0-ur;L.prototype.F2=2*ur-p0;var rb="0123456789abcdefghijklmnopqrstuvwxyz",ys=new Array,Hn,ye;Hn=48;for(ye=0;ye<=9;++ye)ys[Hn++]=ye;Hn=97;for(ye=10;ye<36;++ye)ys[Hn++]=ye;Hn=65;for(ye=10;ye<36;++ye)ys[Hn++]=ye;function ud(e){return rb.charAt(e)}function fd(e,t){var r=ys[e.charCodeAt(t)];return r??-1}function nb(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 ib(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 Rr(e){var t=ft();return t.fromInt(e),t}function ob(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:fd(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&&L.ZERO.subTo(this,this)}function sb(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function ab(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=ud(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+=ud(n));return i?o:"0"}function cb(){var e=ft();return L.ZERO.subTo(this,e),e}function ub(){return this.s<0?this.negate():this}function fb(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 ms(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 lb(){return this.t<=0?0:this.DB*(this.t-1)+ms(this.data[this.t-1]^this.s&this.DM)}function hb(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 db(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 pb(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 yb(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 mb(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 gb(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&&L.ZERO.subTo(t,t)}function xb(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 bb(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=ft());var o=ft(),s=this.s,a=e.s,c=this.DB-ms(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/l,m=(1<<this.F1)/l,h=1<<this.F2,p=r.t,y=p-u,g=t??ft();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*m);if((r.data[p]+=o.am(0,b,r,y,0,u))<b)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function wb(e){var t=ft();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function nn(e){this.m=e}function vb(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Eb(e){return e}function Sb(e){e.divRemTo(this.m,null,e)}function Ab(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Db(e,t){e.squareTo(t),this.reduce(t)}nn.prototype.convert=vb;nn.prototype.revert=Eb;nn.prototype.reduce=Sb;nn.prototype.mulTo=Ab;nn.prototype.sqrTo=Db;function Cb(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function on(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Bb(e){var t=ft();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function Ib(e){var t=ft();return e.copyTo(t),this.reduce(t),t}function Tb(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 _b(e,t){e.squareTo(t),this.reduce(t)}function kb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}on.prototype.convert=Bb;on.prototype.revert=Ib;on.prototype.reduce=Tb;on.prototype.mulTo=kb;on.prototype.sqrTo=_b;function Rb(){return(this.t>0?this.data[0]&1:this.s)==0}function Lb(e,t){if(e>4294967295||e<1)return L.ONE;var r=ft(),n=ft(),i=t.convert(this),o=ms(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 Nb(e,t){var r;return e<256||t.isEven()?r=new nn(t):r=new on(t),this.exp(e,r)}L.prototype.copyTo=nb;L.prototype.fromInt=ib;L.prototype.fromString=ob;L.prototype.clamp=sb;L.prototype.dlShiftTo=hb;L.prototype.drShiftTo=db;L.prototype.lShiftTo=pb;L.prototype.rShiftTo=yb;L.prototype.subTo=mb;L.prototype.multiplyTo=gb;L.prototype.squareTo=xb;L.prototype.divRemTo=bb;L.prototype.invDigit=Cb;L.prototype.isEven=Rb;L.prototype.exp=Lb;L.prototype.toString=ab;L.prototype.negate=cb;L.prototype.abs=ub;L.prototype.compareTo=fb;L.prototype.bitLength=lb;L.prototype.mod=wb;L.prototype.modPowInt=Nb;L.ZERO=Rr(0);L.ONE=Rr(1);function Pb(){var e=ft();return this.copyTo(e),e}function Ub(){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 Ob(){return this.t==0?this.s:this.data[0]<<24>>24}function Kb(){return this.t==0?this.s:this.data[0]<<16>>16}function Mb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Fb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Vb(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=Rr(r),i=ft(),o=ft(),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 Hb(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=fd(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&&L.ZERO.subTo(this,this)}function qb(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(L.ONE.shiftLeft(e-1),y0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.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 zb(){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 Gb(e){return this.compareTo(e)==0}function Wb(e){return this.compareTo(e)<0?this:e}function $b(e){return this.compareTo(e)>0?this:e}function Yb(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 Xb(e,t){return e&t}function Zb(e){var t=ft();return this.bitwiseTo(e,Xb,t),t}function y0(e,t){return e|t}function Qb(e){var t=ft();return this.bitwiseTo(e,y0,t),t}function ld(e,t){return e^t}function jb(e){var t=ft();return this.bitwiseTo(e,ld,t),t}function hd(e,t){return e&~t}function Jb(e){var t=ft();return this.bitwiseTo(e,hd,t),t}function tw(){for(var e=ft(),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 ew(e){var t=ft();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function rw(e){var t=ft();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function nw(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 iw(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+nw(this.data[e]);return this.s<0?this.t*this.DB:-1}function ow(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function sw(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=ow(this.data[r]^t);return e}function aw(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function cw(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function uw(e){return this.changeBit(e,y0)}function fw(e){return this.changeBit(e,hd)}function lw(e){return this.changeBit(e,ld)}function hw(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 dw(e){var t=ft();return this.addTo(e,t),t}function pw(e){var t=ft();return this.subTo(e,t),t}function yw(e){var t=ft();return this.multiplyTo(e,t),t}function mw(e){var t=ft();return this.divRemTo(e,t,null),t}function gw(e){var t=ft();return this.divRemTo(e,null,t),t}function xw(e){var t=ft(),r=ft();return this.divRemTo(e,t,r),new Array(t,r)}function bw(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function ww(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 Pi(){}function dd(e){return e}function vw(e,t,r){e.multiplyTo(t,r)}function Ew(e,t){e.squareTo(t)}Pi.prototype.convert=dd;Pi.prototype.revert=dd;Pi.prototype.mulTo=vw;Pi.prototype.sqrTo=Ew;function Sw(e){return this.exp(e,new Pi)}function Aw(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 Dw(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 qn(e){this.r2=ft(),this.q3=ft(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Cw(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=ft();return e.copyTo(t),this.reduce(t),t}function Bw(e){return e}function Iw(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 Tw(e,t){e.squareTo(t),this.reduce(t)}function _w(e,t,r){e.multiplyTo(t,r),this.reduce(r)}qn.prototype.convert=Cw;qn.prototype.revert=Bw;qn.prototype.reduce=Iw;qn.prototype.mulTo=_w;qn.prototype.sqrTo=Tw;function kw(e,t){var r=e.bitLength(),n,i=Rr(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 nn(t):t.isEven()?o=new qn(t):o=new on(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=ft();for(o.sqrTo(s[1],f);a<=u;)s[a]=ft(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,m=!0,h=ft(),p;for(r=ms(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(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),m)s[d].copyTo(i),m=!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 Rw(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 Lw(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 Nw(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=Rr(1),o=Rr(0),s=Rr(0),a=Rr(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(L.ONE)!=0)return L.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 _e=[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],Pw=(1<<26)/_e[_e.length-1];function Uw(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=_e[_e.length-1]){for(t=0;t<_e.length;++t)if(r.data[0]==_e[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<_e.length;){for(var n=_e[t],i=t+1;i<_e.length&&n<Pw;)n*=_e[i++];for(n=r.modInt(n);t<i;)if(n%_e[t++]==0)return!1}return r.millerRabin(e)}function Ow(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Kw(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Kw(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=Mb;L.prototype.toRadix=Vb;L.prototype.fromRadix=Hb;L.prototype.fromNumber=qb;L.prototype.bitwiseTo=Yb;L.prototype.changeBit=cw;L.prototype.addTo=hw;L.prototype.dMultiply=bw;L.prototype.dAddOffset=ww;L.prototype.multiplyLowerTo=Aw;L.prototype.multiplyUpperTo=Dw;L.prototype.modInt=Lw;L.prototype.millerRabin=Ow;L.prototype.clone=Pb;L.prototype.intValue=Ub;L.prototype.byteValue=Ob;L.prototype.shortValue=Kb;L.prototype.signum=Fb;L.prototype.toByteArray=zb;L.prototype.equals=Gb;L.prototype.min=Wb;L.prototype.max=$b;L.prototype.and=Zb;L.prototype.or=Qb;L.prototype.xor=jb;L.prototype.andNot=Jb;L.prototype.not=tw;L.prototype.shiftLeft=ew;L.prototype.shiftRight=rw;L.prototype.getLowestSetBit=iw;L.prototype.bitCount=sw;L.prototype.testBit=aw;L.prototype.setBit=uw;L.prototype.clearBit=fw;L.prototype.flipBit=lw;L.prototype.add=dw;L.prototype.subtract=pw;L.prototype.multiply=yw;L.prototype.divide=mw;L.prototype.remainder=gw;L.prototype.divideAndRemainder=xw;L.prototype.modPow=kw;L.prototype.modInverse=Nw;L.prototype.pow=Sw;L.prototype.gcd=Rw;L.prototype.isProbablePrime=Uw});var bd=ot((jB,xd)=>{var Ve=xt();rn();Ot();var md=xd.exports=Ve.sha1=Ve.sha1||{};Ve.md.sha1=Ve.md.algorithms.sha1=md;md.create=function(){gd||Mw();var e=null,t=Ve.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=Ve.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ve.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),yd(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ve.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(m0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};yd(l,r,i);var d=Ve.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 m0=null,gd=!1;function Mw(){m0="\x80",m0+=Ve.util.fillString("\0",64),gd=!0}function yd(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;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 Ed=ot((JB,vd)=>{var He=xt();Ot();Ni();bd();var wd=vd.exports=He.pkcs1=He.pkcs1||{};wd.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=He.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 u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,m=0;m<d;m++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=He.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=xs(i,a-o.digestLength-1,s),y=He.util.xorBytes(h,p,h.length),g=xs(y,o.digestLength,s),b=He.util.xorBytes(i,g,i.length);return"\0"+b+y};wd.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=He.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),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=xs(f,i.digestLength,o),d=He.util.xorBytes(u,l,u.length),m=xs(d,s-i.digestLength-1,o),h=He.util.xorBytes(f,m,f.length),p=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,S=i.digestLength;S<h.length;S++){var w=h.charCodeAt(S),E=w&1^1,C=b?65534:0;y|=w&C,b=b&E,x+=b}if(y||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function xs(e,t,r){r||(r=He.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 Sd=ot((tI,g0)=>{var Lr=xt();Ot();gs();Ni();(function(){if(Lr.prime){g0.exports=Lr.prime;return}var e=g0.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,m){typeof d=="function"&&(m=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(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,y,h.options,m);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,m,h){return"workers"in m?c(l,d,m,h):s(l,d,m,h)}function s(l,d,m,h){var p=u(l,d),y=0,g=f(p.bitLength());"millerRabinTests"in m&&(g=m.millerRabinTests);var b=10;"maxBlockTime"in m&&(b=m.maxBlockTime),a(p,l,d,y,g,b,h)}function a(l,d,m,h,p,y,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,m)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-b<y);Lr.util.setImmediate(function(){a(l,d,m,h,p,y,g)})}function c(l,d,m,h){if(typeof Worker>"u")return s(l,d,m,h);var p=u(l,d),y=m.workers,g=m.workLoad||100,b=g*30/8,x=m.workerScript||"forge/prime.worker.js";if(y===-1)return Lr.util.estimateCores(function(w,E){w&&(E=2),y=E-1,S()});S();function S(){y=Math.max(1,y);for(var w=[],E=0;E<y;++E)w[E]=new Worker(x);for(var C=y,E=0;E<y;++E)w[E].addEventListener("message",U);var B=!1;function U(K){if(!B){--C;var O=K.data;if(O.found){for(var F=0;F<w.length;++F)w[F].terminate();return B=!0,h(null,new t(O.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var m=new t(l,d),h=l-1;return m.testBit(h)||m.bitwiseTo(t.ONE.shiftLeft(h),i,m),m.dAddOffset(31-m.mod(n).byteValue(),0),m}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var ws=ot((eI,_d)=>{var Y=xt();Li();gs();is();Ed();Sd();Ni();Ot();typeof ct>"u"&&(ct=Y.jsbn.BigInteger);var ct,x0=Y.util.isNodejs?ls():null,D=Y.asn1,me=Y.util;Y.pki=Y.pki||{};_d.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,Fw=[6,4,2,4,2,4,6,2],Vw={name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Hw={name:"RSAPrivateKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},qw={name:"RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},zw=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Gw={name:"DigestInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:D.Class.UNIVERSAL,type:D.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Ww=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=D.oidToDer(t).getBytes(),i=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]),o=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]);o.value.push(D.create(D.Class.UNIVERSAL,D.Type.OID,!1,n)),o.value.push(D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,""));var s=D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),D.toDer(i).getBytes()},Id=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(ct.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(ct.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new ct(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(ct.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};tt.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=Td(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new ct(i.toHex(),16),a=Id(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.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 ct(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Id(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?bs(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new ct(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};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new ct(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,u=c-1;e.pqState===0?(e.num=new ct(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(ct.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Yw(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Fw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(ct.ONE).gcd(e.e).compareTo(ct.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(ct.ONE),e.q1=e.q.subtract(ct.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(ct.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 f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.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),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Ad("generateKeyPair"))return x0.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(Dd("generateKey")&&Dd("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Bd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(D.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(Cd("generateKey")&&Cd("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Bd(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(D.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Ad("generateKeyPairSync")){var o=x0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;$w(s,r,n)};tt.setRsaPublicKey=tt.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,u){return Td(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.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 tt.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=bs(u,r,!0);var f=D.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!D.validate(f,Gw,l,d)){var m=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw m.errors=d,m}var h=D.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var m=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw m.oid=h,m}if((h===Y.oids.md2||h===Y.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=bs(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.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(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:bs};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(m,h){return Y.pkcs1.decode_rsa_oaep(h,m,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(m){return m}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Ww},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(tt.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,D.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(D.validate(e,Vw,t,r)&&(e=D.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!D.validate(e,Hw,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,u,f,l;return i=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new ct(i,16),new ct(o,16),new ct(s,16),new ct(a,16),new ct(c,16),new ct(u,16),new ct(f,16),new ct(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.e)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.d)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.p)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.q)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.dP)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.dQ)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(D.validate(e,zw,t,r)){var n=D.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!D.validate(e,qw,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=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new ct(o,16),new ct(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(tt.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,qe(e.e))])};function Td(e,t,r){var n=Y.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 u=0,f=Y.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function bs(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.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 u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function $w(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){Y.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 u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(ct.ONE).gcd(e.e).compareTo(ct.ONE)!==0){e.p=null,i();return}if(e.q.subtract(ct.ONE).gcd(e.e).compareTo(ct.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(ct.ONE),e.q1=e.q.subtract(ct.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(ct.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 f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function qe(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.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 Yw(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 Ad(e){return Y.util.isNodejs&&typeof x0[e]=="function"}function Dd(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function Cd(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function Bd(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var Ud=ot((rI,Pd)=>{var z=xt();u0();Li();Fh();rn();is();Gh();Yh();Ni();sd();ws();Ot();typeof kd>"u"&&(kd=z.jsbn.BigInteger);var kd,T=z.asn1,nt=z.pki=z.pki||{};Pd.exports=nt.pbe=z.pbe=z.pbe||{};var sn=nt.oids,Xw={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Zw={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Qw={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.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=z.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=sn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=sn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=sn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=sn.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var m="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Nd(m),p=z.pkcs5.pbkdf2(t,n,i,s,h),y=z.random.getBytesSync(u),g=l(p);g.start(y),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes();var b=jw(n,o,s,m);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(sn.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(sn.pkcs5PBKDF2).getBytes()),b]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),y=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(y),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(sn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var S=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return S};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!T.validate(e,Xw,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=T.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.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 T.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.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=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(T.fromDer(r),t):r=T.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),m=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(m/u),y=new z.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(t.at(a%m));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=y;x.putBuffer(b);for(var S=Math.ceil(i/c),w=1;w<=S;w++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var U=Math.ceil(m/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<U;s++){var O=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+O.at(a),O.setAt(a,F&255);K.putBuffer(O)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.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}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!T.validate(t,Zw,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=T.derToOid(n.kdfOid),e!==nt.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=T.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.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=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=Ld(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,m=u(l);return m.start(d),m};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!T.validate(t,Qw,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,y){var g=z.rc2.createDecryptionCipher(p,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=Ld(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var m=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,m)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[Rd(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Rd(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Rd(e,t){return e.start().update(t).digest().getBytes()}function Ld(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[T.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Nd(t)}function Nd(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.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 jw(e,t,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,e),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(nt.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Zd=ot((WI,Xd)=>{var Dt=xt();rn();Ot();var Oi=Xd.exports=Dt.sha512=Dt.sha512||{};Dt.md.sha512=Dt.md.algorithms.sha512=Oi;var $d=Dt.sha384=Dt.sha512.sha384=Dt.sha512.sha384||{};$d.create=function(){return Oi.create("SHA-384")};Dt.md.sha384=Dt.md.algorithms.sha384=$d;Dt.sha512.sha256=Dt.sha512.sha256||{create:function(){return Oi.create("SHA-512/256")}};Dt.md["sha512/256"]=Dt.md.algorithms["sha512/256"]=Dt.sha512.sha256;Dt.sha512.sha224=Dt.sha512.sha224||{create:function(){return Oi.create("SHA-512/224")}};Dt.md["sha512/224"]=Dt.md.algorithms["sha512/224"]=Dt.sha512.sha224;Oi.create=function(e){if(Yd||sv(),typeof e>"u"&&(e="SHA-512"),!(e in cn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=cn[e],r=null,n=Dt.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,u=0;u<c;++u)a.fullMessageLength.push(0);n=Dt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Dt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Wd(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Dt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(S0.substr(0,a.blockLength-f));for(var l,d,m=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,m+=d,c.putInt32(m>>>0),m=l>>>0;c.putInt32(m);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);Wd(p,i,c);var y=Dt.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)y.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&y.putInt32(p[h][1]);return y},a};var S0=null,Yd=!1,A0=null,cn=null;function sv(){S0="\x80",S0+=Dt.util.fillString("\0",128),A0=[[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]],cn={},cn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],cn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],cn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],cn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Yd=!0}function Wd(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,m,h,p,y,g,b,x,S,w,E,C,B,U,K,O,F,G,Q,I,R,_,k,A,P,M,H=r.length();H>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)k=t[I-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[I-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,A=t[I-7],M=t[I-16],_=i+A[1]+s+M[1],t[I][0]=n+A[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],y=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],S=e[2][1],w=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],U=e[5][0],K=e[5][1],O=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],I=0;I<80;++I)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(O^C&(U^O))>>>0,d=(F^B&(K^F))>>>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,m=(p&g|x&(p^g))>>>0,h=(y&b|S&(y^b))>>>0,_=Q+f+d+A0[I][1]+t[I][1],n=G+u+l+A0[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+m+(_/4294967296>>>0)>>>0,s=_>>>0,G=O,Q=F,O=U,F=K,U=C,K=B,_=E+i,C=w+n+(_/4294967296>>>0)>>>0,B=_>>>0,w=x,E=S,x=g,S=b,g=p,b=y,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,y=_>>>0;_=e[0][1]+y,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+S,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+w+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+U+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+O+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var _p=ot((uk,Tp)=>{"use strict";function Pv(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var h=0,p=0,y=0,g=m.length;y!==g&&m[y]===0;)y++,h++;for(var b=(g-y)*u+1>>>0,x=new Uint8Array(b);y!==g;){for(var S=m[y],w=0,E=b-1;(S!==0||w<p)&&E!==-1;E--,w++)S+=256*x[E]>>>0,x[E]=S%s>>>0,S=S/s>>>0;if(S!==0)throw new Error("Non-zero carry");p=w,y++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var h=0;if(m[h]!==" "){for(var p=0,y=0;m[h]===a;)p++,h++;for(var g=(m.length-h)*c+1>>>0,b=new Uint8Array(g);m[h];){var x=t[m.charCodeAt(h)];if(x===255)return;for(var S=0,w=g-1;(x!==0||S<y)&&w!==-1;w--,S++)x+=s*b[w]>>>0,b[w]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");y=S,h++}if(m[h]!==" "){for(var E=g-y;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(m){var h=l(m);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}Tp.exports=Pv});var ks=ot((fk,kp)=>{"use strict";var Uv=new TextDecoder,Ov=e=>Uv.decode(e),Kv=new TextEncoder,Mv=e=>Kv.encode(e);function Fv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}kp.exports={decodeText:Ov,encodeText:Mv,concat:Fv}});var Lp=ot((lk,Rp)=>{"use strict";var{encodeText:Vv}=ks(),O0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=Vv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};Rp.exports=O0});var Pp=ot((hk,Np)=>{"use strict";var Hv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},qv=(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},zv=e=>t=>({encode(r){return qv(r,t,e)},decode(r){return Hv(r,t,e)}});Np.exports={rfc4648:zv}});var Mp=ot((dk,Kp)=>{"use strict";var Gi=_p(),Gv=Lp(),{rfc4648:Zt}=Pp(),{decodeText:Wv,encodeText:$v}=ks(),Yv=()=>({encode:Wv,decode:$v}),Up=[["identity","\0",Yv,""],["base2","0",Zt(1),"01"],["base8","7",Zt(3),"01234567"],["base10","9",Gi,"0123456789"],["base16","f",Zt(4),"0123456789abcdef"],["base16upper","F",Zt(4),"0123456789ABCDEF"],["base32hex","v",Zt(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",Zt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",Zt(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",Zt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",Zt(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",Zt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",Zt(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",Zt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",Zt(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Gi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Gi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Gi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Gi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",Zt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",Zt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",Zt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",Zt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],Op=Up.reduce((e,t)=>(e[t[0]]=new Gv(t[0],t[1],t[2],t[3]),e),{}),Xv=Up.reduce((e,t)=>(e[t[1]]=Op[t[0]],e),{});Kp.exports={names:Op,codes:Xv}});var Hp=ot((dr,Vp)=>{"use strict";var Yn=Mp(),{encodeText:Zv,decodeText:Rs,concat:Fp}=ks();function Qv(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=hn(e);return e8(r,t),Fp([n,t],n.length+t.length)}function jv(e,t){let r=hn(e),n=Zv(r.encode(t));return Fp([r.codeBuf,n],r.codeBuf.length+n.length)}function Jv(e){e instanceof Uint8Array&&(e=Rs(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),hn(e[0]).decode(e.substring(1))}function t8(e){if(e instanceof Uint8Array&&(e=Rs(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return hn(e[0]).name}catch{return!1}}function e8(e,t){hn(e).decode(Rs(t))}function hn(e){if(Object.prototype.hasOwnProperty.call(Yn.names,e))return Yn.names[e];if(Object.prototype.hasOwnProperty.call(Yn.codes,e))return Yn.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function r8(e){return e instanceof Uint8Array&&(e=Rs(e)),hn(e[0])}dr=Vp.exports=Qv;dr.encode=jv;dr.decode=Jv;dr.isEncoded=t8;dr.encoding=hn;dr.encodingFromData=r8;var n8=Object.freeze(Yn.names),i8=Object.freeze(Yn.codes);dr.names=n8;dr.codes=i8});var Wp=ot((pk,Gp)=>{Gp.exports=zp;var qp=128,o8=127,s8=~o8,a8=Math.pow(2,31);function zp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=a8;)t[r++]=e&255|qp,e/=128;for(;e&s8;)t[r++]=e&255|qp,e>>>=7;return t[r]=e|0,zp.bytes=r-n+1,t}});var Xp=ot((yk,Yp)=>{Yp.exports=K0;var c8=128,$p=127;function K0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw K0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&$p)<<i:(s&$p)*Math.pow(2,i),i+=7}while(s>=c8);return K0.bytes=o-n,r}});var Qp=ot((mk,Zp)=>{var u8=Math.pow(2,7),f8=Math.pow(2,14),l8=Math.pow(2,21),h8=Math.pow(2,28),d8=Math.pow(2,35),p8=Math.pow(2,42),y8=Math.pow(2,49),m8=Math.pow(2,56),g8=Math.pow(2,63);Zp.exports=function(e){return e<u8?1:e<f8?2:e<l8?3:e<h8?4:e<d8?5:e<p8?6:e<y8?7:e<m8?8:e<g8?9:10}});var Jp=ot((gk,jp)=>{jp.exports={encode:Wp(),decode:Xp(),encodingLength:Qp()}});var e1=ot((xk,t1)=>{"use strict";var x8=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});t1.exports={names:x8}});function b8(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),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,S=new Uint8Array(x);g!==b;){for(var w=h[g],E=0,C=x-1;(w!==0||E<y)&&C!==-1;C--,E++)w+=256*S[C]>>>0,S[C]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");y=E,g++}for(var B=x-y;B!==x&&S[B]===0;)B++;for(var U=c.repeat(p);B<x;++B)U+=e.charAt(S[B]);return U}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,g=0;h[p]===c;)y++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var S=r[h.charCodeAt(p)];if(S===255)return;for(var w=0,E=b-1;(S!==0||w<g)&&E!==-1;E--,w++)S+=a*x[E]>>>0,x[E]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=w,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(y+(b-C)),U=y;C!==b;)B[U++]=x[C++];return B}}}function m(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:m}}var w8,v8,r1,n1=ht(()=>{w8=b8,v8=w8,r1=v8});var wk,i1,pr,o1,s1,Nr=ht(()=>{wk=new Uint8Array(0),i1=(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},pr=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")},o1=e=>new TextEncoder().encode(e),s1=e=>new TextDecoder().decode(e)});var M0,F0,V0,c1,H0,Xn,Pr,E8,S8,kt,Le=ht(()=>{n1();Nr();M0=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")}},F0=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 c1(this,t)}},V0=class{constructor(t){this.decoders=t}or(t){return c1(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`)}},c1=(e,t)=>new V0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),H0=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new M0(t,r,n),this.decoder=new F0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Xn=({name:e,prefix:t,encode:r,decode:n})=>new H0(e,t,r,n),Pr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=r1(r,t);return Xn({prefix:e,name:t,encode:n,decode:o=>pr(i(o))})},E8=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},S8=(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},kt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Xn({prefix:t,name:e,encode(i){return S8(i,n,r)},decode(i){return E8(i,n,r,e)}})});var q0={};ut(q0,{identity:()=>A8});var A8,u1=ht(()=>{Le();Nr();A8=Xn({prefix:"\0",name:"identity",encode:e=>s1(e),decode:e=>o1(e)})});var z0={};ut(z0,{base2:()=>D8});var D8,f1=ht(()=>{Le();D8=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var G0={};ut(G0,{base8:()=>C8});var C8,l1=ht(()=>{Le();C8=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var W0={};ut(W0,{base10:()=>B8});var B8,h1=ht(()=>{Le();B8=Pr({prefix:"9",name:"base10",alphabet:"0123456789"})});var $0={};ut($0,{base16:()=>I8,base16upper:()=>T8});var I8,T8,d1=ht(()=>{Le();I8=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),T8=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var Y0={};ut(Y0,{base32:()=>Zn,base32hex:()=>L8,base32hexpad:()=>P8,base32hexpadupper:()=>U8,base32hexupper:()=>N8,base32pad:()=>k8,base32padupper:()=>R8,base32upper:()=>_8,base32z:()=>O8});var Zn,_8,k8,R8,L8,N8,P8,U8,O8,X0=ht(()=>{Le();Zn=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_8=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),k8=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),R8=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),L8=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),N8=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),P8=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),U8=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),O8=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var Z0={};ut(Z0,{base36:()=>K8,base36upper:()=>M8});var K8,M8,p1=ht(()=>{Le();K8=Pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),M8=Pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var Q0={};ut(Q0,{base58btc:()=>We,base58flickr:()=>F8});var We,F8,j0=ht(()=>{Le();We=Pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),F8=Pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var J0={};ut(J0,{base64:()=>V8,base64pad:()=>H8,base64url:()=>q8,base64urlpad:()=>z8});var V8,H8,q8,z8,y1=ht(()=>{Le();V8=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),H8=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),q8=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),z8=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var tu={};ut(tu,{base256emoji:()=>X8});function $8(e){return e.reduce((t,r)=>(t+=G8[r],t),"")}function Y8(e){let t=[];for(let r of e){let n=W8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var m1,G8,W8,X8,g1=ht(()=>{Le();m1=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}"),G8=m1.reduce((e,t,r)=>(e[r]=t,e),[]),W8=m1.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);X8=Xn({prefix:"\u{1F680}",name:"base256emoji",encode:$8,decode:Y8})});function w1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=J8;)t[r++]=e&255|x1,e/=128;for(;e&j8;)t[r++]=e&255|x1,e>>>=7;return t[r]=e|0,w1.bytes=r-n+1,t}function eu(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw eu.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&b1)<<i:(s&b1)*Math.pow(2,i),i+=7}while(s>=eE);return eu.bytes=o-n,r}var Z8,x1,Q8,j8,J8,tE,eE,b1,rE,nE,iE,oE,sE,aE,cE,uE,fE,lE,hE,dE,Wi,v1=ht(()=>{Z8=w1,x1=128,Q8=127,j8=~Q8,J8=Math.pow(2,31);tE=eu,eE=128,b1=127;rE=Math.pow(2,7),nE=Math.pow(2,14),iE=Math.pow(2,21),oE=Math.pow(2,28),sE=Math.pow(2,35),aE=Math.pow(2,42),cE=Math.pow(2,49),uE=Math.pow(2,56),fE=Math.pow(2,63),lE=function(e){return e<rE?1:e<nE?2:e<iE?3:e<oE?4:e<sE?5:e<aE?6:e<cE?7:e<uE?8:e<fE?9:10},hE={encode:Z8,decode:tE,encodingLength:lE},dE=hE,Wi=dE});var $i,Qn,jn,Ns=ht(()=>{v1();$i=(e,t=0)=>[Wi.decode(e,t),Wi.decode.bytes],Qn=(e,t,r=0)=>(Wi.encode(e,t,r),t),jn=e=>Wi.encodingLength(e)});var dn,E1,S1,Jn,Xi=ht(()=>{Nr();Ns();dn=(e,t)=>{let r=t.byteLength,n=jn(e),i=n+jn(r),o=new Uint8Array(i+r);return Qn(e,o,0),Qn(r,o,n),o.set(t,i),new Jn(e,r,t,o)},E1=e=>{let t=pr(e),[r,n]=$i(t),[i,o]=$i(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Jn(r,i,s,t)},S1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&i1(e.bytes,t.bytes),Jn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var nu,ru,iu=ht(()=>{Xi();nu=({name:e,code:t,encode:r})=>new ru(e,t,r),ru=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?dn(this.code,r):r.then(n=>dn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var ou={};ut(ou,{sha256:()=>pE,sha512:()=>yE});var D1,pE,yE,C1=ht(()=>{iu();D1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),pE=nu({name:"sha2-256",code:18,encode:D1("SHA-256")}),yE=nu({name:"sha2-512",code:19,encode:D1("SHA-512")})});var su={};ut(su,{identity:()=>xE});var B1,mE,I1,gE,xE,T1=ht(()=>{Nr();Xi();B1=0,mE="identity",I1=pr,gE=e=>dn(B1,I1(e)),xE={code:B1,name:mE,encode:I1,digest:gE}});var _1=ht(()=>{Nr()});var Vk,Hk,k1=ht(()=>{Vk=new TextEncoder,Hk=new TextDecoder});var Os,vE,EE,SE,Zi,AE,R1,L1,Ps,Us,DE,CE,BE,N1=ht(()=>{Ns();Xi();j0();X0();Nr();Os=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Us,byteLength:Us,code:Ps,version:Ps,multihash:Ps,bytes:Ps,_baseCache:Us,asCID:Us})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==Zi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==AE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=dn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&S1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return EE(r,i,t||We.encoder);default:return SE(r,i,t||Zn.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return CE(/^0\.0/,BE),!!(t&&(t[L1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||R1(r,n,i.bytes))}else if(t!=null&&t[L1]===!0){let{version:r,multihash:n,code:i}=t,o=E1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==Zi)throw new Error(`Version 0 CID must use dag-pb (code: ${Zi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=R1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Zi,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=pr(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 Jn(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]=$i(t.subarray(r));return r+=d,l},i=n(),o=Zi;if(i===18?(i=0,r=0):i===1&&(o=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=vE(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},vE=(e,t)=>{switch(e[0]){case"Q":{let r=t||We;return[We.prefix,r.decode(`${We.prefix}${e}`)]}case We.prefix:{let r=t||We;return[We.prefix,r.decode(e)]}case Zn.prefix:{let r=t||Zn;return[Zn.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)]}}},EE=(e,t,r)=>{let{prefix:n}=r;if(n!==We.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},SE=(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},Zi=112,AE=18,R1=(e,t,r)=>{let n=jn(e),i=n+jn(t),o=new Uint8Array(i+r.byteLength);return Qn(e,o,0),Qn(t,o,n),o.set(r,i),o},L1=Symbol.for("@ipld/js-cid/CID"),Ps={writable:!1,configurable:!1,enumerable:!0},Us={writable:!1,enumerable:!1,configurable:!1},DE="0.0.0-dev",CE=(e,t)=>{if(e.test(DE))console.warn(t);else throw new Error(t)},BE=`CID.isCID(v) is deprecated and will be removed in the next major release.
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 Ax(e){return e.replace(/^\s+/,"")}});var Uh=st((JC,Ph)=>{var Me=xt();en();Mt();var Rh=Ph.exports=Me.sha256=Me.sha256||{};Me.md.sha256=Me.md.algorithms.sha256=Rh;Rh.create=function(){Lh||Dx();var e=null,t=Me.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=Me.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=Me.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),kh(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Me.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(e0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};kh(l,r,i);var d=Me.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 e0=null,Lh=!1,Nh=null;function Dx(){e0="\x80",e0+=Me.util.fillString("\0",64),Nh=[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],Lh=!0}function kh(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b=r.length();b>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,y=e.h3,h=e.h4,p=e.h5,m=e.h6,g=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(p^m),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=g+s+a+Nh[u]+t[u],i=o+c,g=m,m=p,p=h,h=y+n>>>0,y=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+y|0,e.h4=e.h4+h|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+g|0,b-=64}}});var Kh=st((tB,Oh)=>{var Fe=xt();Mt();var fs=null;Fe.util.isNodejs&&!Fe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(fs=as());var Cx=Oh.exports=Fe.prng=Fe.prng||{};Cx.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,y=t.plugin.formatKey,h=t.plugin.formatSeed,p=Fe.util.createBuffer();t.key=null,m();function m(g){if(g)return f(g);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Fe.util.nextTick(function(){o(m)});var b=l(t.key,t.seed);t.generated+=b.length,p.putBytes(b),t.key=y(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Fe.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var h=Fe.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var p=f(t.key,t.seed);t.generated+=p.length,h.putBytes(p),t.key=d(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=Fe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(v){return d.getRandomValues(v)});var y=Fe.util.createBuffer();if(f)for(;y.length()<u;){var h=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(h));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(y.length()<u)for(var g,b,x,D=Math.floor(Math.random()*65536);y.length()<u;){b=16807*(D&65535),g=16807*(D>>16),b+=(g&32767)<<16,b+=g>>15,b=(b&2147483647)+(b>>31),D=b&4294967295;for(var m=0;m<3;++m)x=D>>>(m<<3),x^=Math.floor(Math.random()*256),y.putByte(x&255)}return y.getBytes(u)}return fs?(t.seedFile=function(u,f){fs.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return fs.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function y(h){var p=h.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),d(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(y,h){u.postMessage({forge:{prng:{err:y,bytes:h}}})})};u.addEventListener("message",f)}},t}});var _i=st((eB,r0)=>{var Wt=xt();t0();Uh();Kh();Mt();(function(){if(Wt.random&&Wt.random.getBytes){r0.exports=Wt.random;return}(function(e){var t={},r=new Array(4),n=Wt.util.createBuffer();t.formatKey=function(l){var d=Wt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Wt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Wt.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 Wt.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=Wt.md.sha256;function i(){var l=Wt.prng.create(t);return l.getBytes=function(d,y){return l.generate(d,y)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Wt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Wt.options.usePureJavaScript||!Wt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}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(!Wt.random)Wt.random=o;else for(var f in o)Wt.random[f]=o[f];Wt.random.createInstance=i,r0.exports=Wt.random})(typeof jQuery<"u"?jQuery:null)})()});var Hh=st((rB,Vh)=>{var ce=xt();Mt();var n0=[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],Mh=[1,2,3,5],Bx=function(e,t){return e<<t&65535|(e&65535)>>16-t},Ix=function(e,t){return(e&65535)>>t|e<<16-t&65535};Vh.exports=ce.rc2=ce.rc2||{};ce.rc2.expandKey=function(e,t){typeof e=="string"&&(e=ce.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(n0[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,n0[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,n0[r.at(a+1)^r.at(a+o)]);return r};var Fh=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=ce.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=Bx(h[u],Mh[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=Ix(h[u],Mh[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var d=function(h){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();s!==null&&(r?m^=s.getInt16Le():s.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var g=0;g<h.length;g++)for(var b=0;b<h[g][0];b++)h[g][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},y=null;return y={start:function(h,p){h&&typeof h=="string"&&(h=ce.util.createBuffer(h)),n=!1,i=ce.util.createBuffer(),o=p||new ce.util.createBuffer,s=h,y.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 m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(h)p=h(8,o,!r);else{var g=o.length(),b=o.at(g-1);b>g?p=!1:o.truncate(b)}return p}},y};ce.rc2.startEncrypting=function(e,t,r){var n=ce.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createEncryptionCipher=function(e,t){return Fh(e,t,!0)};ce.rc2.startDecrypting=function(e,t,r){var n=ce.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};ce.rc2.createDecryptionCipher=function(e,t){return Fh(e,t,!1)}});var ds=st((nB,Zh)=>{var i0=xt();Zh.exports=i0.jsbn=i0.jsbn||{};var cr,Tx=0xdeadbeefcafe,qh=(Tx&16777215)==15715070;function L(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))}i0.jsbn.BigInteger=L;function lt(){return new L(null)}function _x(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 kx(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*s;c=s*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function zh(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*s;c=s*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(L.prototype.am=zh,cr=28):qh&&navigator.appName=="Microsoft Internet Explorer"?(L.prototype.am=kx,cr=30):qh&&navigator.appName!="Netscape"?(L.prototype.am=_x,cr=26):(L.prototype.am=zh,cr=28);L.prototype.DB=cr;L.prototype.DM=(1<<cr)-1;L.prototype.DV=1<<cr;var o0=52;L.prototype.FV=Math.pow(2,o0);L.prototype.F1=o0-cr;L.prototype.F2=2*cr-o0;var Rx="0123456789abcdefghijklmnopqrstuvwxyz",ls=new Array,Vn,ye;Vn=48;for(ye=0;ye<=9;++ye)ls[Vn++]=ye;Vn=97;for(ye=10;ye<36;++ye)ls[Vn++]=ye;Vn=65;for(ye=10;ye<36;++ye)ls[Vn++]=ye;function Gh(e){return Rx.charAt(e)}function Wh(e,t){var r=ls[e.charCodeAt(t)];return r??-1}function Lx(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 Nx(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 kr(e){var t=lt();return t.fromInt(e),t}function Px(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:Wh(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&&L.ZERO.subTo(this,this)}function Ux(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Ox(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=Gh(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+=Gh(n));return i?o:"0"}function Kx(){var e=lt();return L.ZERO.subTo(this,e),e}function Mx(){return this.s<0?this.negate():this}function Fx(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 hs(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 Vx(){return this.t<=0?0:this.DB*(this.t-1)+hs(this.data[this.t-1]^this.s&this.DM)}function Hx(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 qx(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 zx(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 Gx(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 Wx(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 $x(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&&L.ZERO.subTo(t,t)}function Yx(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 Xx(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=lt());var o=lt(),s=this.s,a=e.s,c=this.DB-hs(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/l,y=(1<<this.F1)/l,h=1<<this.F2,p=r.t,m=p-u,g=t??lt();for(o.dlShiftTo(m,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),L.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--m>=0;){var b=r.data[--p]==f?this.DM:Math.floor(r.data[p]*d+(r.data[p-1]+h)*y);if((r.data[p]+=o.am(0,b,r,m,0,u))<b)for(o.dlShiftTo(m,g),r.subTo(g,r);r.data[p]<--b;)r.subTo(g,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&L.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&L.ZERO.subTo(r,r)}}}function Zx(e){var t=lt();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(L.ZERO)>0&&e.subTo(t,t),t}function rn(e){this.m=e}function Qx(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function jx(e){return e}function Jx(e){e.divRemTo(this.m,null,e)}function tb(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function eb(e,t){e.squareTo(t),this.reduce(t)}rn.prototype.convert=Qx;rn.prototype.revert=jx;rn.prototype.reduce=Jx;rn.prototype.mulTo=tb;rn.prototype.sqrTo=eb;function rb(){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 nn(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 nb(e){var t=lt();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(L.ZERO)>0&&this.m.subTo(t,t),t}function ib(e){var t=lt();return e.copyTo(t),this.reduce(t),t}function ob(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 sb(e,t){e.squareTo(t),this.reduce(t)}function ab(e,t,r){e.multiplyTo(t,r),this.reduce(r)}nn.prototype.convert=nb;nn.prototype.revert=ib;nn.prototype.reduce=ob;nn.prototype.mulTo=ab;nn.prototype.sqrTo=sb;function cb(){return(this.t>0?this.data[0]&1:this.s)==0}function ub(e,t){if(e>4294967295||e<1)return L.ONE;var r=lt(),n=lt(),i=t.convert(this),o=hs(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 fb(e,t){var r;return e<256||t.isEven()?r=new rn(t):r=new nn(t),this.exp(e,r)}L.prototype.copyTo=Lx;L.prototype.fromInt=Nx;L.prototype.fromString=Px;L.prototype.clamp=Ux;L.prototype.dlShiftTo=Hx;L.prototype.drShiftTo=qx;L.prototype.lShiftTo=zx;L.prototype.rShiftTo=Gx;L.prototype.subTo=Wx;L.prototype.multiplyTo=$x;L.prototype.squareTo=Yx;L.prototype.divRemTo=Xx;L.prototype.invDigit=rb;L.prototype.isEven=cb;L.prototype.exp=ub;L.prototype.toString=Ox;L.prototype.negate=Kx;L.prototype.abs=Mx;L.prototype.compareTo=Fx;L.prototype.bitLength=Vx;L.prototype.mod=Zx;L.prototype.modPowInt=fb;L.ZERO=kr(0);L.ONE=kr(1);function lb(){var e=lt();return this.copyTo(e),e}function hb(){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 db(){return this.t==0?this.s:this.data[0]<<24>>24}function pb(){return this.t==0?this.s:this.data[0]<<16>>16}function yb(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function mb(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function gb(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=kr(r),i=lt(),o=lt(),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 xb(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=Wh(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&&L.ZERO.subTo(this,this)}function bb(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(L.ONE.shiftLeft(e-1),s0,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(L.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 wb(){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 vb(e){return this.compareTo(e)==0}function Eb(e){return this.compareTo(e)<0?this:e}function Sb(e){return this.compareTo(e)>0?this:e}function Ab(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 Db(e,t){return e&t}function Cb(e){var t=lt();return this.bitwiseTo(e,Db,t),t}function s0(e,t){return e|t}function Bb(e){var t=lt();return this.bitwiseTo(e,s0,t),t}function $h(e,t){return e^t}function Ib(e){var t=lt();return this.bitwiseTo(e,$h,t),t}function Yh(e,t){return e&~t}function Tb(e){var t=lt();return this.bitwiseTo(e,Yh,t),t}function _b(){for(var e=lt(),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 kb(e){var t=lt();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Rb(e){var t=lt();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Lb(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 Nb(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Lb(this.data[e]);return this.s<0?this.t*this.DB:-1}function Pb(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Ub(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Pb(this.data[r]^t);return e}function Ob(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Kb(e,t){var r=L.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Mb(e){return this.changeBit(e,s0)}function Fb(e){return this.changeBit(e,Yh)}function Vb(e){return this.changeBit(e,$h)}function Hb(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 qb(e){var t=lt();return this.addTo(e,t),t}function zb(e){var t=lt();return this.subTo(e,t),t}function Gb(e){var t=lt();return this.multiplyTo(e,t),t}function Wb(e){var t=lt();return this.divRemTo(e,t,null),t}function $b(e){var t=lt();return this.divRemTo(e,null,t),t}function Yb(e){var t=lt(),r=lt();return this.divRemTo(e,t,r),new Array(t,r)}function Xb(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Zb(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function ki(){}function Xh(e){return e}function Qb(e,t,r){e.multiplyTo(t,r)}function jb(e,t){e.squareTo(t)}ki.prototype.convert=Xh;ki.prototype.revert=Xh;ki.prototype.mulTo=Qb;ki.prototype.sqrTo=jb;function Jb(e){return this.exp(e,new ki)}function tw(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 ew(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 Hn(e){this.r2=lt(),this.q3=lt(),L.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function rw(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=lt();return e.copyTo(t),this.reduce(t),t}function nw(e){return e}function iw(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 ow(e,t){e.squareTo(t),this.reduce(t)}function sw(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Hn.prototype.convert=rw;Hn.prototype.revert=nw;Hn.prototype.reduce=iw;Hn.prototype.mulTo=sw;Hn.prototype.sqrTo=ow;function aw(e,t){var r=e.bitLength(),n,i=kr(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 rn(t):t.isEven()?o=new Hn(t):o=new nn(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=lt();for(o.sqrTo(s[1],f);a<=u;)s[a]=lt(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,y=!0,h=lt(),p;for(r=hs(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(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),y)s[d].copyTo(i),y=!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 cw(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 uw(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 fw(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return L.ZERO;for(var r=e.clone(),n=this.clone(),i=kr(1),o=kr(0),s=kr(0),a=kr(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(L.ONE)!=0)return L.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 _e=[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],lw=(1<<26)/_e[_e.length-1];function hw(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=_e[_e.length-1]){for(t=0;t<_e.length;++t)if(r.data[0]==_e[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<_e.length;){for(var n=_e[t],i=t+1;i<_e.length&&n<lw;)n*=_e[i++];for(n=r.modInt(n);t<i;)if(n%_e[t++]==0)return!1}return r.millerRabin(e)}function dw(e){var t=this.subtract(L.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=pw(),o,s=0;s<e;++s){do o=new L(this.bitLength(),i);while(o.compareTo(L.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(L.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(L.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function pw(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}L.prototype.chunkSize=yb;L.prototype.toRadix=gb;L.prototype.fromRadix=xb;L.prototype.fromNumber=bb;L.prototype.bitwiseTo=Ab;L.prototype.changeBit=Kb;L.prototype.addTo=Hb;L.prototype.dMultiply=Xb;L.prototype.dAddOffset=Zb;L.prototype.multiplyLowerTo=tw;L.prototype.multiplyUpperTo=ew;L.prototype.modInt=uw;L.prototype.millerRabin=dw;L.prototype.clone=lb;L.prototype.intValue=hb;L.prototype.byteValue=db;L.prototype.shortValue=pb;L.prototype.signum=mb;L.prototype.toByteArray=wb;L.prototype.equals=vb;L.prototype.min=Eb;L.prototype.max=Sb;L.prototype.and=Cb;L.prototype.or=Bb;L.prototype.xor=Ib;L.prototype.andNot=Tb;L.prototype.not=_b;L.prototype.shiftLeft=kb;L.prototype.shiftRight=Rb;L.prototype.getLowestSetBit=Nb;L.prototype.bitCount=Ub;L.prototype.testBit=Ob;L.prototype.setBit=Mb;L.prototype.clearBit=Fb;L.prototype.flipBit=Vb;L.prototype.add=qb;L.prototype.subtract=zb;L.prototype.multiply=Gb;L.prototype.divide=Wb;L.prototype.remainder=$b;L.prototype.divideAndRemainder=Yb;L.prototype.modPow=aw;L.prototype.modInverse=fw;L.prototype.pow=Jb;L.prototype.gcd=cw;L.prototype.isProbablePrime=hw});var ed=st((iB,td)=>{var Ve=xt();en();Mt();var jh=td.exports=Ve.sha1=Ve.sha1||{};Ve.md.sha1=Ve.md.algorithms.sha1=jh;jh.create=function(){Jh||yw();var e=null,t=Ve.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=Ve.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ve.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),Qh(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ve.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(a0.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Qh(l,r,i);var d=Ve.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 a0=null,Jh=!1;function yw(){a0="\x80",a0+=Ve.util.fillString("\0",64),Jh=!0}function Qh(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;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 id=st((oB,nd)=>{var He=xt();Mt();_i();ed();var rd=nd.exports=He.pkcs1=He.pkcs1||{};rd.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=He.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 u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,y=0;y<d;y++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=He.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=ps(i,a-o.digestLength-1,s),m=He.util.xorBytes(h,p,h.length),g=ps(m,o.digestLength,s),b=He.util.xorBytes(i,g,i.length);return"\0"+b+m};rd.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 m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=s,m}if(i===void 0?i=He.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),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=ps(f,i.digestLength,o),d=He.util.xorBytes(u,l,u.length),y=ps(d,s-i.digestLength-1,o),h=He.util.xorBytes(f,y,f.length),p=h.substring(0,i.digestLength),m=c!=="\0",g=0;g<i.digestLength;++g)m|=a.charAt(g)!==p.charAt(g);for(var b=1,x=i.digestLength,D=i.digestLength;D<h.length;D++){var v=h.charCodeAt(D),E=v&1^1,C=b?65534:0;m|=v&C,b=b&E,x+=b}if(m||h.charCodeAt(x)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(x+1)};function ps(e,t,r){r||(r=He.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 od=st((sB,c0)=>{var Rr=xt();Mt();ds();_i();(function(){if(Rr.prime){c0.exports=Rr.prime;return}var e=c0.exports=Rr.prime=Rr.prime||{},t=Rr.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,y){typeof d=="function"&&(y=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var p=d.prng||Rr.random,m={nextBytes:function(g){for(var b=p.getBytesSync(g.length),x=0;x<g.length;++x)g[x]=b.charCodeAt(x)}};if(h.name==="PRIMEINC")return o(l,m,h.options,y);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,y,h){return"workers"in y?c(l,d,y,h):s(l,d,y,h)}function s(l,d,y,h){var p=u(l,d),m=0,g=f(p.bitLength());"millerRabinTests"in y&&(g=y.millerRabinTests);var b=10;"maxBlockTime"in y&&(b=y.maxBlockTime),a(p,l,d,m,g,b,h)}function a(l,d,y,h,p,m,g){var b=+new Date;do{if(l.bitLength()>d&&(l=u(d,y)),l.isProbablePrime(p))return g(null,l);l.dAddOffset(r[h++%8],0)}while(m<0||+new Date-b<m);Rr.util.setImmediate(function(){a(l,d,y,h,p,m,g)})}function c(l,d,y,h){if(typeof Worker>"u")return s(l,d,y,h);var p=u(l,d),m=y.workers,g=y.workLoad||100,b=g*30/8,x=y.workerScript||"forge/prime.worker.js";if(m===-1)return Rr.util.estimateCores(function(v,E){v&&(E=2),m=E-1,D()});D();function D(){m=Math.max(1,m);for(var v=[],E=0;E<m;++E)v[E]=new Worker(x);for(var C=m,E=0;E<m;++E)v[E].addEventListener("message",O);var B=!1;function O(K){if(!B){--C;var U=K.data;if(U.found){for(var F=0;F<v.length;++F)v[F].terminate();return B=!0,h(null,new t(U.prime,16))}p.bitLength()>l&&(p=u(l,d));var G=p.toString(16);K.target.postMessage({hex:G,workLoad:g}),p.dAddOffset(b,0)}}}}function u(l,d){var y=new t(l,d),h=l-1;return y.testBit(h)||y.bitwiseTo(t.ONE.shiftLeft(h),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var ms=st((aB,hd)=>{var Y=xt();Ti();ds();ts();id();od();_i();Mt();typeof ut>"u"&&(ut=Y.jsbn.BigInteger);var ut,u0=Y.util.isNodejs?as():null,A=Y.asn1,me=Y.util;Y.pki=Y.pki||{};hd.exports=Y.pki.rsa=Y.rsa=Y.rsa||{};var tt=Y.pki,mw=[6,4,2,4,2,4,6,2],gw={name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},xw={name:"RSAPrivateKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},bw={name:"RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ww=Y.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},vw={name:"DigestInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Ew=function(e){var t;if(e.algorithm in tt.oids)t=tt.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=A.oidToDer(t).getBytes(),i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]),o=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[]);o.value.push(A.create(A.Class.UNIVERSAL,A.Type.OID,!1,n)),o.value.push(A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,""));var s=A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(o),i.value.push(s),A.toDer(i).getBytes()},fd=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(ut.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(ut.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new ut(Y.util.bytesToHex(Y.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(ut.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};tt.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=ld(e,t,r)):(i=Y.util.createBuffer(),i.putBytes(e));for(var s=new ut(i.toHex(),16),a=fd(s,t,n),c=a.toString(16),u=Y.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),u.getBytes()};tt.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 ut(Y.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=fd(s,t,r),c=a.toString(16),u=Y.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(Y.util.hexToBytes(c)),n!==!1?ys(u.getBytes(),t,r):u.getBytes()};tt.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||Y.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new ut(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};tt.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new ut(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,u=c-1;e.pqState===0?(e.num=new ut(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(ut.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Aw(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(mw[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(ut.ONE).gcd(e.e).compareTo(ut.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(ut.ONE),e.q1=e.q.subtract(ut.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(ut.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 f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};tt.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),!Y.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(sd("generateKeyPair"))return u0.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:tt.privateKeyFromPem(u),publicKey:tt.publicKeyFromPem(c)})});if(ad("generateKey")&&ad("exportKey"))return me.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:ud(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return me.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(a)));n(null,{privateKey:c,publicKey:tt.setRsaPublicKey(c.n,c.e)})}});if(cd("generateKey")&&cd("exportKey")){var i=me.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:ud(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=me.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=tt.privateKeyFromAsn1(A.fromDer(Y.util.createBuffer(l)));n(null,{privateKey:d,publicKey:tt.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(sd("generateKeyPairSync")){var o=u0.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:tt.privateKeyFromPem(o.privateKey),publicKey:tt.publicKeyFromPem(o.publicKey)}}}var s=tt.rsa.createKeyPairGenerationState(e,t,r);if(!n)return tt.rsa.stepKeyPairGenerationState(s,0),s.keys;Sw(s,r,n)};tt.setRsaPublicKey=tt.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,u){return ld(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return Y.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 tt.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=ys(u,r,!0);var f=A.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!A.validate(f,vw,l,d)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=d,y}var h=A.derToOid(l.algorithmIdentifier);if(!(h===Y.oids.md2||h===Y.oids.md5||h===Y.oids.sha1||h===Y.oids.sha224||h===Y.oids.sha256||h===Y.oids.sha384||h===Y.oids.sha512||h===Y.oids["sha512-224"]||h===Y.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=h,y}if((h===Y.oids.md2||h===Y.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=ys(u,r,!0),c===u}});var a=tt.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};tt.setRsaPrivateKey=tt.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(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=tt.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:ys};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,h){return Y.pkcs1.decode_rsa_oaep(h,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Ew},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return tt.rsa.encrypt(d,c,l)},c};tt.wrapRsaPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,A.toDer(e).getBytes())])};tt.privateKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,gw,t,r)&&(e=A.fromDer(Y.util.createBuffer(t.privateKey))),t={},r=[],!A.validate(e,xw,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,u,f,l;return i=Y.util.createBuffer(t.privateKeyModulus).toHex(),o=Y.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=Y.util.createBuffer(t.privateKeyPrime1).toHex(),c=Y.util.createBuffer(t.privateKeyPrime2).toHex(),u=Y.util.createBuffer(t.privateKeyExponent1).toHex(),f=Y.util.createBuffer(t.privateKeyExponent2).toHex(),l=Y.util.createBuffer(t.privateKeyCoefficient).toHex(),tt.setRsaPrivateKey(new ut(i,16),new ut(o,16),new ut(s,16),new ut(a,16),new ut(c,16),new ut(u,16),new ut(f,16),new ut(l,16))};tt.privateKeyToAsn1=tt.privateKeyToRSAPrivateKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,A.integerToDer(0).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.e)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.d)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.p)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.q)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.dP)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.dQ)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.qInv))])};tt.publicKeyFromAsn1=function(e){var t={},r=[];if(A.validate(e,ww,t,r)){var n=A.derToOid(t.publicKeyOid);if(n!==tt.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!A.validate(e,bw,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=Y.util.createBuffer(t.publicKeyModulus).toHex(),s=Y.util.createBuffer(t.publicKeyExponent).toHex();return tt.setRsaPublicKey(new ut(o,16),new ut(s,16))};tt.publicKeyToAsn1=tt.publicKeyToSubjectPublicKeyInfo=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(tt.oids.rsaEncryption).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")]),A.create(A.Class.UNIVERSAL,A.Type.BITSTRING,!1,[tt.publicKeyToRSAPublicKey(e)])])};tt.publicKeyToRSAPublicKey=function(e){return A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.n)),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,qe(e.e))])};function ld(e,t,r){var n=Y.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 u=0,f=Y.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(e),n}function ys(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=Y.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 u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Sw(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){Y.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 u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(ut.ONE).gcd(e.e).compareTo(ut.ONE)!==0){e.p=null,i();return}if(e.q.subtract(ut.ONE).gcd(e.e).compareTo(ut.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(ut.ONE),e.q1=e.q.subtract(ut.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(ut.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 f=e.e.modInverse(e.phi);e.keys={privateKey:tt.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:tt.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function qe(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=Y.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 Aw(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 sd(e){return Y.util.isNodejs&&typeof u0[e]=="function"}function ad(e){return typeof me.globalScope<"u"&&typeof me.globalScope.crypto=="object"&&typeof me.globalScope.crypto.subtle=="object"&&typeof me.globalScope.crypto.subtle[e]=="function"}function cd(e){return typeof me.globalScope<"u"&&typeof me.globalScope.msCrypto=="object"&&typeof me.globalScope.msCrypto.subtle=="object"&&typeof me.globalScope.msCrypto.subtle[e]=="function"}function ud(e){for(var t=Y.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var xd=st((cB,gd)=>{var z=xt();t0();Ti();Eh();en();ts();Bh();_h();_i();Hh();ms();Mt();typeof dd>"u"&&(dd=z.jsbn.BigInteger);var dd,T=z.asn1,nt=z.pki=z.pki||{};gd.exports=nt.pbe=z.pbe=z.pbe||{};var on=nt.oids,Dw={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Cw={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Bw={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};nt.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=z.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=on["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=on["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=on["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=on.desCBC,l=z.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),h=md(y),p=z.pkcs5.pbkdf2(t,n,i,s,h),m=z.random.getBytesSync(u),g=l(p);g.start(m),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes();var b=Iw(n,o,s,y);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(on.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(on.pkcs5PBKDF2).getBytes()),b]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){s=24;var x=new z.util.ByteBuffer(n),p=nt.pbe.generatePkcs12Key(t,x,1,i,s),m=nt.pbe.generatePkcs12Key(t,x,2,i,s),g=z.des.createEncryptionCipher(p);g.start(m),g.update(T.toDer(e)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(on["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var D=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return D};nt.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!T.validate(e,Dw,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=T.derToOid(n.encryptionOid),a=nt.pbe.getCipher(s,n.encryptionParams,t),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};nt.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(e).getBytes()};return z.pem.encode(r,{maxline:t})};nt.encryptedPrivateKeyFromPem=function(e){var t=z.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 T.fromDer(t.body)};nt.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=nt.wrapRsaPrivateKey(nt.privateKeyToAsn1(e));return n=nt.encryptPrivateKeyInfo(n,t,r),nt.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=z.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(nt.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};nt.decryptRsaPrivateKey=function(e,t){var r=null,n=z.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=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.rc2.createDecryptionCipher(l,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=nt.decryptPrivateKeyInfo(T.fromDer(r),t):r=T.fromDer(r),r!==null&&(r=nt.privateKeyFromAsn1(r)),r};nt.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),y=t.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new z.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var g=u*Math.ceil(d/u),b=new z.util.ByteBuffer;for(a=0;a<g;a++)b.putByte(l.at(a%d));var x=m;x.putBuffer(b);for(var D=Math.ceil(i/c),v=1;v<=D;v++){var E=new z.util.ByteBuffer;E.putBytes(h.bytes()),E.putBytes(x.bytes());for(var C=0;C<n;C++)o.start(),o.update(E.getBytes()),E=o.digest();var B=new z.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(E.at(a%c));var O=Math.ceil(y/u)+Math.ceil(d/u),K=new z.util.ByteBuffer;for(s=0;s<O;s++){var U=new z.util.ByteBuffer(x.getBytes(u)),F=511;for(a=B.length()-1;a>=0;a--)F=F>>8,F+=B.at(a)+U.at(a),U.setAt(a,F&255);K.putBuffer(U)}x=K,f.putBuffer(E)}return f.truncate(f.length()-i),f};nt.pbe.getCipher=function(e,t,r){switch(e){case nt.oids.pkcs5PBES2:return nt.pbe.getCipherForPBES2(e,t,r);case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:return nt.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}};nt.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!T.validate(t,Cw,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=T.derToOid(n.kdfOid),e!==nt.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=T.derToOid(n.encOid),e!==nt.oids["aes128-CBC"]&&e!==nt.oids["aes192-CBC"]&&e!==nt.oids["aes256-CBC"]&&e!==nt.oids["des-EDE3-CBC"]&&e!==nt.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=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(nt.oids[e]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=yd(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,y=u(l);return y.start(d),y};nt.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!T.validate(t,Bw,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case nt.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case nt.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var g=z.rc2.createDecryptionCipher(p,40);return g.start(m,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=yd(n.prfOid),d=nt.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=nt.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,y)};nt.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}t===null&&(t="");for(var i=[pd(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(pd(n,i[s-1]+e+t));return i.join("").substr(0,r)};function pd(e,t){return e.start().update(t).digest().getBytes()}function yd(e){var t;if(!e)t="hmacWithSHA1";else if(t=nt.oids[T.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return md(t)}function md(e){var t=z.md;switch(e){case"hmacWithSHA224":t=z.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 Iw(e,t,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,e),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(nt.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Rd=st((jB,kd)=>{var Dt=xt();en();Mt();var Li=kd.exports=Dt.sha512=Dt.sha512||{};Dt.md.sha512=Dt.md.algorithms.sha512=Li;var Td=Dt.sha384=Dt.sha512.sha384=Dt.sha512.sha384||{};Td.create=function(){return Li.create("SHA-384")};Dt.md.sha384=Dt.md.algorithms.sha384=Td;Dt.sha512.sha256=Dt.sha512.sha256||{create:function(){return Li.create("SHA-512/256")}};Dt.md["sha512/256"]=Dt.md.algorithms["sha512/256"]=Dt.sha512.sha256;Dt.sha512.sha224=Dt.sha512.sha224||{create:function(){return Li.create("SHA-512/224")}};Dt.md["sha512/224"]=Dt.md.algorithms["sha512/224"]=Dt.sha512.sha224;Li.create=function(e){if(_d||Uw(),typeof e>"u"&&(e="SHA-512"),!(e in an))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=an[e],r=null,n=Dt.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,u=0;u<c;++u)a.fullMessageLength.push(0);n=Dt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Dt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Id(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Dt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(p0.substr(0,a.blockLength-f));for(var l,d,y=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,y+=d,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),h=0;h<r.length;++h)p[h]=r[h].slice(0);Id(p,i,c);var m=Dt.util.createBuffer(),g;e==="SHA-512"?g=p.length:e==="SHA-384"?g=p.length-2:g=p.length-4;for(var h=0;h<g;++h)m.putInt32(p[h][0]),(h!==g-1||e!=="SHA-512/224")&&m.putInt32(p[h][1]);return m},a};var p0=null,_d=!1,y0=null,an=null;function Uw(){p0="\x80",p0+=Dt.util.fillString("\0",128),y0=[[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]],an={},an["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],an["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],an["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],an["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],_d=!0}function Id(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b,x,D,v,E,C,B,O,K,U,F,G,Q,I,R,_,k,S,P,M,H=r.length();H>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)k=t[I-2],R=k[0],_=k[1],n=((R>>>19|_<<13)^(_>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|_>>>19)^(_<<3|R>>>29)^(R<<26|_>>>6))>>>0,P=t[I-15],R=P[0],_=P[1],o=((R>>>1|_<<31)^(R>>>8|_<<24)^R>>>7)>>>0,s=((R<<31|_>>>1)^(R<<24|_>>>8)^(R<<25|_>>>7))>>>0,S=t[I-7],M=t[I-16],_=i+S[1]+s+M[1],t[I][0]=n+S[0]+o+M[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],m=e[0][1],g=e[1][0],b=e[1][1],x=e[2][0],D=e[2][1],v=e[3][0],E=e[3][1],C=e[4][0],B=e[4][1],O=e[5][0],K=e[5][1],U=e[6][0],F=e[6][1],G=e[7][0],Q=e[7][1],I=0;I<80;++I)u=((C>>>14|B<<18)^(C>>>18|B<<14)^(B>>>9|C<<23))>>>0,f=((C<<18|B>>>14)^(C<<14|B>>>18)^(B<<23|C>>>9))>>>0,l=(U^C&(O^U))>>>0,d=(F^B&(K^F))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&g|x&(p^g))>>>0,h=(m&b|D&(m^b))>>>0,_=Q+f+d+y0[I][1]+t[I][1],n=G+u+l+y0[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+h,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,G=U,Q=F,U=O,F=K,O=C,K=B,_=E+i,C=v+n+(_/4294967296>>>0)>>>0,B=_>>>0,v=x,E=D,x=g,D=b,g=p,b=m,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+b,e[1][0]=e[1][0]+g+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+D,e[2][0]=e[2][0]+x+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+E,e[3][0]=e[3][0]+v+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+B,e[4][0]=e[4][0]+C+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+K,e[5][0]=e[5][0]+O+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+F,e[6][0]=e[6][0]+U+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Q,e[7][0]=e[7][0]+G+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,H-=128}}});var hp=st((y_,lp)=>{"use strict";function lv(e){if(e.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),r=0;r<t.length;r++)t[r]=255;for(var n=0;n<e.length;n++){var i=e.charAt(n),o=i.charCodeAt(0);if(t[o]!==255)throw new TypeError(i+" is ambiguous");t[o]=n}var s=e.length,a=e.charAt(0),c=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(y){if(y instanceof Uint8Array||(ArrayBuffer.isView(y)?y=new Uint8Array(y.buffer,y.byteOffset,y.byteLength):Array.isArray(y)&&(y=Uint8Array.from(y))),!(y instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(y.length===0)return"";for(var h=0,p=0,m=0,g=y.length;m!==g&&y[m]===0;)m++,h++;for(var b=(g-m)*u+1>>>0,x=new Uint8Array(b);m!==g;){for(var D=y[m],v=0,E=b-1;(D!==0||v<p)&&E!==-1;E--,v++)D+=256*x[E]>>>0,x[E]=D%s>>>0,D=D/s>>>0;if(D!==0)throw new Error("Non-zero carry");p=v,m++}for(var C=b-p;C!==b&&x[C]===0;)C++;for(var B=a.repeat(h);C<b;++C)B+=e.charAt(x[C]);return B}function l(y){if(typeof y!="string")throw new TypeError("Expected String");if(y.length===0)return new Uint8Array;var h=0;if(y[h]!==" "){for(var p=0,m=0;y[h]===a;)p++,h++;for(var g=(y.length-h)*c+1>>>0,b=new Uint8Array(g);y[h];){var x=t[y.charCodeAt(h)];if(x===255)return;for(var D=0,v=g-1;(x!==0||D<m)&&v!==-1;v--,D++)x+=s*b[v]>>>0,b[v]=x%256>>>0,x=x/256>>>0;if(x!==0)throw new Error("Non-zero carry");m=D,h++}if(y[h]!==" "){for(var E=g-m;E!==g&&b[E]===0;)E++;for(var C=new Uint8Array(p+(g-E)),B=p;E!==g;)C[B++]=b[E++];return C}}}function d(y){var h=l(y);if(h)return h;throw new Error("Non-base"+s+" character")}return{encode:f,decodeUnsafe:l,decode:d}}lp.exports=lv});var Bs=st((m_,dp)=>{"use strict";var hv=new TextDecoder,dv=e=>hv.decode(e),pv=new TextEncoder,yv=e=>pv.encode(e);function mv(e,t){let r=new Uint8Array(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return r}dp.exports={decodeText:dv,encodeText:yv,concat:mv}});var yp=st((g_,pp)=>{"use strict";var{encodeText:gv}=Bs(),I0=class{constructor(t,r,n,i){this.name=t,this.code=r,this.codeBuf=gv(this.code),this.alphabet=i,this.codec=n(i)}encode(t){return this.codec.encode(t)}decode(t){for(let r of t)if(this.alphabet&&this.alphabet.indexOf(r)<0)throw new Error(`invalid character '${r}' in '${t}'`);return this.codec.decode(t)}};pp.exports=I0});var gp=st((x_,mp)=>{"use strict";var xv=(e,t,r)=>{let n={};for(let u=0;u<t.length;++u)n[t[u]]=u;let i=e.length;for(;e[i-1]==="=";)--i;let o=new Uint8Array(i*r/8|0),s=0,a=0,c=0;for(let u=0;u<i;++u){let f=n[e[u]];if(f===void 0)throw new SyntaxError("Invalid character "+e[u]);a=a<<r|f,s+=r,s>=8&&(s-=8,o[c++]=255&a>>s)}if(s>=r||255&a<<8-s)throw new SyntaxError("Unexpected end of data");return o},bv=(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},wv=e=>t=>({encode(r){return bv(r,t,e)},decode(r){return xv(r,t,e)}});mp.exports={rfc4648:wv}});var vp=st((b_,wp)=>{"use strict";var Vi=hp(),vv=yp(),{rfc4648:Qt}=gp(),{decodeText:Ev,encodeText:Sv}=Bs(),Av=()=>({encode:Ev,decode:Sv}),xp=[["identity","\0",Av,""],["base2","0",Qt(1),"01"],["base8","7",Qt(3),"01234567"],["base10","9",Vi,"0123456789"],["base16","f",Qt(4),"0123456789abcdef"],["base16upper","F",Qt(4),"0123456789ABCDEF"],["base32hex","v",Qt(5),"0123456789abcdefghijklmnopqrstuv"],["base32hexupper","V",Qt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV"],["base32hexpad","t",Qt(5),"0123456789abcdefghijklmnopqrstuv="],["base32hexpadupper","T",Qt(5),"0123456789ABCDEFGHIJKLMNOPQRSTUV="],["base32","b",Qt(5),"abcdefghijklmnopqrstuvwxyz234567"],["base32upper","B",Qt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"],["base32pad","c",Qt(5),"abcdefghijklmnopqrstuvwxyz234567="],["base32padupper","C",Qt(5),"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567="],["base32z","h",Qt(5),"ybndrfg8ejkmcpqxot1uwisza345h769"],["base36","k",Vi,"0123456789abcdefghijklmnopqrstuvwxyz"],["base36upper","K",Vi,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"],["base58btc","z",Vi,"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"],["base58flickr","Z",Vi,"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"],["base64","m",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"],["base64pad","M",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="],["base64url","u",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"],["base64urlpad","U",Qt(6),"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_="]],bp=xp.reduce((e,t)=>(e[t[0]]=new vv(t[0],t[1],t[2],t[3]),e),{}),Dv=xp.reduce((e,t)=>(e[t[1]]=bp[t[0]],e),{});wp.exports={names:bp,codes:Dv}});var Ap=st((hr,Sp)=>{"use strict";var $n=vp(),{encodeText:Cv,decodeText:Is,concat:Ep}=Bs();function Bv(e,t){if(!t)throw new Error("requires an encoded Uint8Array");let{name:r,codeBuf:n}=ln(e);return kv(r,t),Ep([n,t],n.length+t.length)}function Iv(e,t){let r=ln(e),n=Cv(r.encode(t));return Ep([r.codeBuf,n],r.codeBuf.length+n.length)}function Tv(e){e instanceof Uint8Array&&(e=Is(e));let t=e[0];return["f","F","v","V","t","T","b","B","c","C","h","k","K"].includes(t)&&(e=e.toLowerCase()),ln(e[0]).decode(e.substring(1))}function _v(e){if(e instanceof Uint8Array&&(e=Is(e)),Object.prototype.toString.call(e)!=="[object String]")return!1;try{return ln(e[0]).name}catch{return!1}}function kv(e,t){ln(e).decode(Is(t))}function ln(e){if(Object.prototype.hasOwnProperty.call($n.names,e))return $n.names[e];if(Object.prototype.hasOwnProperty.call($n.codes,e))return $n.codes[e];throw new Error(`Unsupported encoding: ${e}`)}function Rv(e){return e instanceof Uint8Array&&(e=Is(e)),ln(e[0])}hr=Sp.exports=Bv;hr.encode=Iv;hr.decode=Tv;hr.isEncoded=_v;hr.encoding=ln;hr.encodingFromData=Rv;var Lv=Object.freeze($n.names),Nv=Object.freeze($n.codes);hr.names=Lv;hr.codes=Nv});var Ip=st((w_,Bp)=>{Bp.exports=Cp;var Dp=128,Pv=127,Uv=~Pv,Ov=Math.pow(2,31);function Cp(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Ov;)t[r++]=e&255|Dp,e/=128;for(;e&Uv;)t[r++]=e&255|Dp,e>>>=7;return t[r]=e|0,Cp.bytes=r-n+1,t}});var kp=st((v_,_p)=>{_p.exports=T0;var Kv=128,Tp=127;function T0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw T0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Tp)<<i:(s&Tp)*Math.pow(2,i),i+=7}while(s>=Kv);return T0.bytes=o-n,r}});var Lp=st((E_,Rp)=>{var Mv=Math.pow(2,7),Fv=Math.pow(2,14),Vv=Math.pow(2,21),Hv=Math.pow(2,28),qv=Math.pow(2,35),zv=Math.pow(2,42),Gv=Math.pow(2,49),Wv=Math.pow(2,56),$v=Math.pow(2,63);Rp.exports=function(e){return e<Mv?1:e<Fv?2:e<Vv?3:e<Hv?4:e<qv?5:e<zv?6:e<Gv?7:e<Wv?8:e<$v?9:10}});var Pp=st((S_,Np)=>{Np.exports={encode:Ip(),decode:kp(),encodingLength:Lp()}});var Op=st((A_,Up)=>{"use strict";var Yv=Object.freeze({identity:0,sha1:17,"sha2-256":18,"sha2-512":19,"sha3-512":20,"sha3-384":21,"sha3-256":22,"sha3-224":23,"shake-128":24,"shake-256":25,"keccak-224":26,"keccak-256":27,"keccak-384":28,"keccak-512":29,blake3:30,"murmur3-128":34,"murmur3-32":35,"dbl-sha2-256":86,md4:212,md5:213,bmt:214,"sha2-256-trunc254-padded":4114,"ripemd-128":4178,"ripemd-160":4179,"ripemd-256":4180,"ripemd-320":4181,x11:4352,kangarootwelve:7425,"sm3-256":21325,"blake2b-8":45569,"blake2b-16":45570,"blake2b-24":45571,"blake2b-32":45572,"blake2b-40":45573,"blake2b-48":45574,"blake2b-56":45575,"blake2b-64":45576,"blake2b-72":45577,"blake2b-80":45578,"blake2b-88":45579,"blake2b-96":45580,"blake2b-104":45581,"blake2b-112":45582,"blake2b-120":45583,"blake2b-128":45584,"blake2b-136":45585,"blake2b-144":45586,"blake2b-152":45587,"blake2b-160":45588,"blake2b-168":45589,"blake2b-176":45590,"blake2b-184":45591,"blake2b-192":45592,"blake2b-200":45593,"blake2b-208":45594,"blake2b-216":45595,"blake2b-224":45596,"blake2b-232":45597,"blake2b-240":45598,"blake2b-248":45599,"blake2b-256":45600,"blake2b-264":45601,"blake2b-272":45602,"blake2b-280":45603,"blake2b-288":45604,"blake2b-296":45605,"blake2b-304":45606,"blake2b-312":45607,"blake2b-320":45608,"blake2b-328":45609,"blake2b-336":45610,"blake2b-344":45611,"blake2b-352":45612,"blake2b-360":45613,"blake2b-368":45614,"blake2b-376":45615,"blake2b-384":45616,"blake2b-392":45617,"blake2b-400":45618,"blake2b-408":45619,"blake2b-416":45620,"blake2b-424":45621,"blake2b-432":45622,"blake2b-440":45623,"blake2b-448":45624,"blake2b-456":45625,"blake2b-464":45626,"blake2b-472":45627,"blake2b-480":45628,"blake2b-488":45629,"blake2b-496":45630,"blake2b-504":45631,"blake2b-512":45632,"blake2s-8":45633,"blake2s-16":45634,"blake2s-24":45635,"blake2s-32":45636,"blake2s-40":45637,"blake2s-48":45638,"blake2s-56":45639,"blake2s-64":45640,"blake2s-72":45641,"blake2s-80":45642,"blake2s-88":45643,"blake2s-96":45644,"blake2s-104":45645,"blake2s-112":45646,"blake2s-120":45647,"blake2s-128":45648,"blake2s-136":45649,"blake2s-144":45650,"blake2s-152":45651,"blake2s-160":45652,"blake2s-168":45653,"blake2s-176":45654,"blake2s-184":45655,"blake2s-192":45656,"blake2s-200":45657,"blake2s-208":45658,"blake2s-216":45659,"blake2s-224":45660,"blake2s-232":45661,"blake2s-240":45662,"blake2s-248":45663,"blake2s-256":45664,"skein256-8":45825,"skein256-16":45826,"skein256-24":45827,"skein256-32":45828,"skein256-40":45829,"skein256-48":45830,"skein256-56":45831,"skein256-64":45832,"skein256-72":45833,"skein256-80":45834,"skein256-88":45835,"skein256-96":45836,"skein256-104":45837,"skein256-112":45838,"skein256-120":45839,"skein256-128":45840,"skein256-136":45841,"skein256-144":45842,"skein256-152":45843,"skein256-160":45844,"skein256-168":45845,"skein256-176":45846,"skein256-184":45847,"skein256-192":45848,"skein256-200":45849,"skein256-208":45850,"skein256-216":45851,"skein256-224":45852,"skein256-232":45853,"skein256-240":45854,"skein256-248":45855,"skein256-256":45856,"skein512-8":45857,"skein512-16":45858,"skein512-24":45859,"skein512-32":45860,"skein512-40":45861,"skein512-48":45862,"skein512-56":45863,"skein512-64":45864,"skein512-72":45865,"skein512-80":45866,"skein512-88":45867,"skein512-96":45868,"skein512-104":45869,"skein512-112":45870,"skein512-120":45871,"skein512-128":45872,"skein512-136":45873,"skein512-144":45874,"skein512-152":45875,"skein512-160":45876,"skein512-168":45877,"skein512-176":45878,"skein512-184":45879,"skein512-192":45880,"skein512-200":45881,"skein512-208":45882,"skein512-216":45883,"skein512-224":45884,"skein512-232":45885,"skein512-240":45886,"skein512-248":45887,"skein512-256":45888,"skein512-264":45889,"skein512-272":45890,"skein512-280":45891,"skein512-288":45892,"skein512-296":45893,"skein512-304":45894,"skein512-312":45895,"skein512-320":45896,"skein512-328":45897,"skein512-336":45898,"skein512-344":45899,"skein512-352":45900,"skein512-360":45901,"skein512-368":45902,"skein512-376":45903,"skein512-384":45904,"skein512-392":45905,"skein512-400":45906,"skein512-408":45907,"skein512-416":45908,"skein512-424":45909,"skein512-432":45910,"skein512-440":45911,"skein512-448":45912,"skein512-456":45913,"skein512-464":45914,"skein512-472":45915,"skein512-480":45916,"skein512-488":45917,"skein512-496":45918,"skein512-504":45919,"skein512-512":45920,"skein1024-8":45921,"skein1024-16":45922,"skein1024-24":45923,"skein1024-32":45924,"skein1024-40":45925,"skein1024-48":45926,"skein1024-56":45927,"skein1024-64":45928,"skein1024-72":45929,"skein1024-80":45930,"skein1024-88":45931,"skein1024-96":45932,"skein1024-104":45933,"skein1024-112":45934,"skein1024-120":45935,"skein1024-128":45936,"skein1024-136":45937,"skein1024-144":45938,"skein1024-152":45939,"skein1024-160":45940,"skein1024-168":45941,"skein1024-176":45942,"skein1024-184":45943,"skein1024-192":45944,"skein1024-200":45945,"skein1024-208":45946,"skein1024-216":45947,"skein1024-224":45948,"skein1024-232":45949,"skein1024-240":45950,"skein1024-248":45951,"skein1024-256":45952,"skein1024-264":45953,"skein1024-272":45954,"skein1024-280":45955,"skein1024-288":45956,"skein1024-296":45957,"skein1024-304":45958,"skein1024-312":45959,"skein1024-320":45960,"skein1024-328":45961,"skein1024-336":45962,"skein1024-344":45963,"skein1024-352":45964,"skein1024-360":45965,"skein1024-368":45966,"skein1024-376":45967,"skein1024-384":45968,"skein1024-392":45969,"skein1024-400":45970,"skein1024-408":45971,"skein1024-416":45972,"skein1024-424":45973,"skein1024-432":45974,"skein1024-440":45975,"skein1024-448":45976,"skein1024-456":45977,"skein1024-464":45978,"skein1024-472":45979,"skein1024-480":45980,"skein1024-488":45981,"skein1024-496":45982,"skein1024-504":45983,"skein1024-512":45984,"skein1024-520":45985,"skein1024-528":45986,"skein1024-536":45987,"skein1024-544":45988,"skein1024-552":45989,"skein1024-560":45990,"skein1024-568":45991,"skein1024-576":45992,"skein1024-584":45993,"skein1024-592":45994,"skein1024-600":45995,"skein1024-608":45996,"skein1024-616":45997,"skein1024-624":45998,"skein1024-632":45999,"skein1024-640":46e3,"skein1024-648":46001,"skein1024-656":46002,"skein1024-664":46003,"skein1024-672":46004,"skein1024-680":46005,"skein1024-688":46006,"skein1024-696":46007,"skein1024-704":46008,"skein1024-712":46009,"skein1024-720":46010,"skein1024-728":46011,"skein1024-736":46012,"skein1024-744":46013,"skein1024-752":46014,"skein1024-760":46015,"skein1024-768":46016,"skein1024-776":46017,"skein1024-784":46018,"skein1024-792":46019,"skein1024-800":46020,"skein1024-808":46021,"skein1024-816":46022,"skein1024-824":46023,"skein1024-832":46024,"skein1024-840":46025,"skein1024-848":46026,"skein1024-856":46027,"skein1024-864":46028,"skein1024-872":46029,"skein1024-880":46030,"skein1024-888":46031,"skein1024-896":46032,"skein1024-904":46033,"skein1024-912":46034,"skein1024-920":46035,"skein1024-928":46036,"skein1024-936":46037,"skein1024-944":46038,"skein1024-952":46039,"skein1024-960":46040,"skein1024-968":46041,"skein1024-976":46042,"skein1024-984":46043,"skein1024-992":46044,"skein1024-1000":46045,"skein1024-1008":46046,"skein1024-1016":46047,"skein1024-1024":46048,"poseidon-bls12_381-a2-fc1":46081,"poseidon-bls12_381-a2-fc1-sc":46082});Up.exports={names:Yv}});function Xv(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),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);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 m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var Zv,Qv,Kp,Mp=dt(()=>{Zv=Xv,Qv=Zv,Kp=Qv});var C_,Fp,dr,Vp,Hp,Lr=dt(()=>{C_=new Uint8Array(0),Fp=(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},dr=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")},Vp=e=>new TextEncoder().encode(e),Hp=e=>new TextDecoder().decode(e)});var _0,k0,R0,zp,L0,Yn,Nr,jv,Jv,Rt,Le=dt(()=>{Mp();Lr();_0=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")}},k0=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 zp(this,t)}},R0=class{constructor(t){this.decoders=t}or(t){return zp(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`)}},zp=(e,t)=>new R0({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),L0=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new _0(t,r,n),this.decoder=new k0(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Yn=({name:e,prefix:t,encode:r,decode:n})=>new L0(e,t,r,n),Nr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Kp(r,t);return Yn({prefix:e,name:t,encode:n,decode:o=>dr(i(o))})},jv=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Jv=(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},Rt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Yn({prefix:t,name:e,encode(i){return Jv(i,n,r)},decode(i){return jv(i,n,r,e)}})});var N0={};ft(N0,{identity:()=>t8});var t8,Gp=dt(()=>{Le();Lr();t8=Yn({prefix:"\0",name:"identity",encode:e=>Hp(e),decode:e=>Vp(e)})});var P0={};ft(P0,{base2:()=>e8});var e8,Wp=dt(()=>{Le();e8=Rt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var U0={};ft(U0,{base8:()=>r8});var r8,$p=dt(()=>{Le();r8=Rt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var O0={};ft(O0,{base10:()=>n8});var n8,Yp=dt(()=>{Le();n8=Nr({prefix:"9",name:"base10",alphabet:"0123456789"})});var K0={};ft(K0,{base16:()=>i8,base16upper:()=>o8});var i8,o8,Xp=dt(()=>{Le();i8=Rt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),o8=Rt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var M0={};ft(M0,{base32:()=>Xn,base32hex:()=>u8,base32hexpad:()=>l8,base32hexpadupper:()=>h8,base32hexupper:()=>f8,base32pad:()=>a8,base32padupper:()=>c8,base32upper:()=>s8,base32z:()=>d8});var Xn,s8,a8,c8,u8,f8,l8,h8,d8,F0=dt(()=>{Le();Xn=Rt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),s8=Rt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),a8=Rt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),c8=Rt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),u8=Rt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),f8=Rt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),l8=Rt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),h8=Rt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),d8=Rt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var V0={};ft(V0,{base36:()=>p8,base36upper:()=>y8});var p8,y8,Zp=dt(()=>{Le();p8=Nr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),y8=Nr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var H0={};ft(H0,{base58btc:()=>We,base58flickr:()=>m8});var We,m8,q0=dt(()=>{Le();We=Nr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),m8=Nr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var z0={};ft(z0,{base64:()=>g8,base64pad:()=>x8,base64url:()=>b8,base64urlpad:()=>w8});var g8,x8,b8,w8,Qp=dt(()=>{Le();g8=Rt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),x8=Rt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),b8=Rt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),w8=Rt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var G0={};ft(G0,{base256emoji:()=>D8});function S8(e){return e.reduce((t,r)=>(t+=v8[r],t),"")}function A8(e){let t=[];for(let r of e){let n=E8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var jp,v8,E8,D8,Jp=dt(()=>{Le();jp=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}"),v8=jp.reduce((e,t,r)=>(e[r]=t,e),[]),E8=jp.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);D8=Yn({prefix:"\u{1F680}",name:"base256emoji",encode:S8,decode:A8})});function r1(e,t,r){t=t||[],r=r||0;for(var n=r;e>=T8;)t[r++]=e&255|t1,e/=128;for(;e&I8;)t[r++]=e&255|t1,e>>>=7;return t[r]=e|0,r1.bytes=r-n+1,t}function W0(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw W0.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&e1)<<i:(s&e1)*Math.pow(2,i),i+=7}while(s>=k8);return W0.bytes=o-n,r}var C8,t1,B8,I8,T8,_8,k8,e1,R8,L8,N8,P8,U8,O8,K8,M8,F8,V8,H8,q8,Hi,n1=dt(()=>{C8=r1,t1=128,B8=127,I8=~B8,T8=Math.pow(2,31);_8=W0,k8=128,e1=127;R8=Math.pow(2,7),L8=Math.pow(2,14),N8=Math.pow(2,21),P8=Math.pow(2,28),U8=Math.pow(2,35),O8=Math.pow(2,42),K8=Math.pow(2,49),M8=Math.pow(2,56),F8=Math.pow(2,63),V8=function(e){return e<R8?1:e<L8?2:e<N8?3:e<P8?4:e<U8?5:e<O8?6:e<K8?7:e<M8?8:e<F8?9:10},H8={encode:C8,decode:_8,encodingLength:V8},q8=H8,Hi=q8});var qi,Zn,Qn,_s=dt(()=>{n1();qi=(e,t=0)=>[Hi.decode(e,t),Hi.decode.bytes],Zn=(e,t,r=0)=>(Hi.encode(e,t,r),t),Qn=e=>Hi.encodingLength(e)});var hn,i1,o1,jn,Gi=dt(()=>{Lr();_s();hn=(e,t)=>{let r=t.byteLength,n=Qn(e),i=n+Qn(r),o=new Uint8Array(i+r);return Zn(e,o,0),Zn(r,o,n),o.set(t,i),new jn(e,r,t,o)},i1=e=>{let t=dr(e),[r,n]=qi(t),[i,o]=qi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new jn(r,i,s,t)},o1=(e,t)=>e===t?!0:e.code===t.code&&e.size===t.size&&Fp(e.bytes,t.bytes),jn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}}});var Y0,$0,X0=dt(()=>{Gi();Y0=({name:e,code:t,encode:r})=>new $0(e,t,r),$0=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?hn(this.code,r):r.then(n=>hn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var Z0={};ft(Z0,{sha256:()=>z8,sha512:()=>G8});var a1,z8,G8,c1=dt(()=>{X0();a1=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),z8=Y0({name:"sha2-256",code:18,encode:a1("SHA-256")}),G8=Y0({name:"sha2-512",code:19,encode:a1("SHA-512")})});var Q0={};ft(Q0,{identity:()=>Y8});var u1,W8,f1,$8,Y8,l1=dt(()=>{Lr();Gi();u1=0,W8="identity",f1=dr,$8=e=>hn(u1,f1(e)),Y8={code:u1,name:W8,encode:f1,digest:$8}});var h1=dt(()=>{Lr()});var $_,Y_,d1=dt(()=>{$_=new TextEncoder,Y_=new TextDecoder});var Ls,Q8,j8,J8,Wi,tE,p1,y1,ks,Rs,eE,rE,nE,m1=dt(()=>{_s();Gi();q0();F0();Lr();Ls=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Rs,byteLength:Rs,code:ks,version:ks,multihash:ks,bytes:ks,_baseCache:Rs,asCID:Rs})}toV0(){switch(this.version){case 0:return this;default:{let{code:t,multihash:r}=this;if(t!==Wi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==tE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=hn(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(t){return t&&this.code===t.code&&this.version===t.version&&o1(this.multihash,t.multihash)}toString(t){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return j8(r,i,t||We.encoder);default:return J8(r,i,t||Xn.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(t){return rE(/^0\.0/,nE),!!(t&&(t[y1]||t.asCID===t))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(t){if(t instanceof e)return t;if(t!=null&&t.asCID===t){let{version:r,code:n,multihash:i,bytes:o}=t;return new e(r,n,i,o||p1(r,n,i.bytes))}else if(t!=null&&t[y1]===!0){let{version:r,multihash:n,code:i}=t,o=i1(n);return e.create(r,i,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(t){case 0:{if(r!==Wi)throw new Error(`Version 0 CID must use dag-pb (code: ${Wi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=p1(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Wi,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=dr(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 jn(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]=qi(t.subarray(r));return r+=d,l},i=n(),o=Wi;if(i===18?(i=0,r=0):i===1&&(o=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Q8(t,r),o=e.decode(i);return o._baseCache.set(n,t),o}},Q8=(e,t)=>{switch(e[0]){case"Q":{let r=t||We;return[We.prefix,r.decode(`${We.prefix}${e}`)]}case We.prefix:{let r=t||We;return[We.prefix,r.decode(e)]}case Xn.prefix:{let r=t||Xn;return[Xn.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)]}}},j8=(e,t,r)=>{let{prefix:n}=r;if(n!==We.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},J8=(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},Wi=112,tE=18,p1=(e,t,r)=>{let n=Qn(e),i=n+Qn(t),o=new Uint8Array(i+r.byteLength);return Zn(e,o,0),Zn(t,o,n),o.set(r,i),o},y1=Symbol.for("@ipld/js-cid/CID"),ks={writable:!1,configurable:!1,enumerable:!0},Rs={writable:!1,enumerable:!1,configurable:!1},eE="0.0.0-dev",rE=(e,t)=>{if(e.test(eE))console.warn(t);else throw new Error(t)},nE=`CID.isCID(v) is deprecated and will be removed in the next major release.
16
16
  Following code pattern:
17
17
 
18
18
  if (CID.isCID(value)) {
@@ -26,7 +26,7 @@ if (cid) {
26
26
  // Make sure to use cid instead of value
27
27
  doSomethingWithCID(cid)
28
28
  }
29
- `});var P1=ht(()=>{N1();Ns();Nr();iu();Xi()});var au,Zk,U1=ht(()=>{u1();f1();l1();h1();d1();X0();p1();j0();y1();g1();C1();T1();_1();k1();P1();au={...q0,...z0,...G0,...W0,...$0,...Y0,...Z0,...Q0,...J0,...tu},Zk={...ou,...su}});function ti(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ks=ht(()=>{});function Ms(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?ti(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var cu=ht(()=>{Ks()});function K1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var O1,uu,IE,Fs,fu=ht(()=>{U1();cu();O1=K1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),uu=K1("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=Ms(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),IE={utf8:O1,"utf-8":O1,hex:au.base16,latin1:uu,ascii:uu,binary:uu,...au},Fs=IE});var M1={};ut(M1,{toString:()=>TE});function TE(e,t="utf8"){let r=Fs[t];if(!r)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 F1=ht(()=>{fu()});var V1={};ut(V1,{fromString:()=>_E});function _E(e,t="utf8"){let r=Fs[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ti(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var H1=ht(()=>{fu();Ks()});var q1={};ut(q1,{concat:()=>kE});function kE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Ms(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return ti(r)}var z1=ht(()=>{cu();Ks()});var hu=ot((uR,Z1)=>{"use strict";var G1=Hp(),ei=Jp(),{names:Qi}=e1(),{toString:Vs}=(F1(),Ji(M1)),{fromString:RE}=(H1(),Ji(V1)),{concat:LE}=(z1(),Ji(q1)),ri={};for(let e in Qi){let t=e;ri[Qi[t]]=t}Object.freeze(ri);function NE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Vs(e,"base16")}function PE(e){return RE(e,"base16")}function UE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Vs(G1.encode("base58btc",e)).slice(1)}function OE(e){let t=e instanceof Uint8Array?Vs(e):e;return G1.decode("z"+t)}function W1(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=ei.decode(e);if(!Y1(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(ei.decode.bytes);let r=ei.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(ei.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Vs(e,"base16")}`);return{code:t,name:ri[t],length:r,digest:e}}function KE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=$1(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=ei.encode(n),o=ei.encode(r);return LE([i,o,e],i.length+o.length+e.length)}function $1(e){let t=e;if(typeof e=="string"){if(Qi[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=Qi[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(ri[t]===void 0&&!lu(t))throw new Error(`Unrecognized function code: ${t}`);return t}function lu(e){return e>0&&e<16}function Y1(e){return!!(lu(e)||ri[e])}function X1(e){W1(e)}function ME(e){return X1(e),e.subarray(0,2)}Z1.exports={names:Qi,codes:ri,toHexString:NE,fromHexString:PE,toB58String:UE,fromB58String:OE,decode:W1,encode:KE,coerceCode:$1,isAppCode:lu,validate:X1,prefix:ME,isValidCode:Y1}});var XE={};ut(XE,{webRTC:()=>YE,webRTCDirect:()=>$E});var QE=Symbol.for("@libp2p/connection");var JE=Symbol.for("@libp2p/content-routing");var r3=Symbol.for("@libp2p/peer-discovery");var Du=Symbol.for("@libp2p/peer-id");var o3=Symbol.for("@libp2p/peer-routing");var Cu;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Cu||(Cu={}));var to=Symbol.for("@libp2p/transport");var Bu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(Bu||(Bu={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var eo=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new x2(t,r))}},Gs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},x2=globalThis.CustomEvent??Gs;var Iu=(e,...t)=>{try{[...t]}catch{}};var Zs={};ut(Zs,{base58btc:()=>Mt,base58flickr:()=>A2});var F3=new Uint8Array(0);function Tu(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function Ye(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")}function _u(e){return new TextEncoder().encode(e)}function ku(e){return new TextDecoder().decode(e)}function b2(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),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,S=new Uint8Array(x);g!==b;){for(var w=h[g],E=0,C=x-1;(w!==0||E<y)&&C!==-1;C--,E++)w+=256*S[C]>>>0,S[C]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");y=E,g++}for(var B=x-y;B!==x&&S[B]===0;)B++;for(var U=c.repeat(p);B<x;++B)U+=e.charAt(S[B]);return U}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,g=0;h[p]===c;)y++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var S=r[h.charCodeAt(p)];if(S===255)return;for(var w=0,E=b-1;(S!==0||w<g)&&E!==-1;E--,w++)S+=a*x[E]>>>0,x[E]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=w,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(y+(b-C)),U=y;C!==b;)B[U++]=x[C++];return B}}}function m(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:m}}var w2=b2,v2=w2,Lu=v2;var Ws=class{name;prefix;baseEncode;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")}},$s=class{name;prefix;baseDecode;prefixCodePoint;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 Nu(this,t)}},Ys=class{decoders;constructor(t){this.decoders=t}or(t){return Nu(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Nu(e,t){return new Ys({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Xs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ws(t,r,n),this.decoder=new $s(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function pn({name:e,prefix:t,encode:r,decode:n}){return new Xs(e,t,r,n)}function yr({name:e,prefix:t,alphabet:r}){let{encode:n,decode:i}=Lu(r,e);return pn({prefix:t,name:e,encode:n,decode:o=>Ye(i(o))})}function E2(e,t,r,n){let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function S2(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!==0&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function _t({name:e,prefix:t,bitsPerChar:r,alphabet:n}){return pn({prefix:t,name:e,encode(i){return S2(i,n,r)},decode(i){return E2(i,n,r,e)}})}var Mt=yr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),A2=yr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qs={};ut(Qs,{base10:()=>D2});var D2=yr({prefix:"9",name:"base10",alphabet:"0123456789"});var js={};ut(js,{base16:()=>C2,base16upper:()=>B2});var C2=_t({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),B2=_t({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Js={};ut(Js,{base2:()=>I2});var I2=_t({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ta={};ut(ta,{base256emoji:()=>L2});var Pu=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}"),T2=Pu.reduce((e,t,r)=>(e[r]=t,e),[]),_2=Pu.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function k2(e){return e.reduce((t,r)=>(t+=T2[r],t),"")}function R2(e){let t=[];for(let r of e){let n=_2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var L2=pn({prefix:"\u{1F680}",name:"base256emoji",encode:k2,decode:R2});var ea={};ut(ea,{base32:()=>Xe,base32hex:()=>O2,base32hexpad:()=>M2,base32hexpadupper:()=>F2,base32hexupper:()=>K2,base32pad:()=>P2,base32padupper:()=>U2,base32upper:()=>N2,base32z:()=>V2});var Xe=_t({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),N2=_t({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),P2=_t({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),U2=_t({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),O2=_t({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K2=_t({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),M2=_t({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),F2=_t({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),V2=_t({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ra={};ut(ra,{base36:()=>H2,base36upper:()=>q2});var H2=yr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),q2=yr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var na={};ut(na,{base64:()=>ro,base64pad:()=>z2,base64url:()=>G2,base64urlpad:()=>W2});var ro=_t({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),z2=_t({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),G2=_t({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),W2=_t({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ia={};ut(ia,{base8:()=>$2});var $2=_t({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var oa={};ut(oa,{identity:()=>Y2});var Y2=pn({prefix:"\0",name:"identity",encode:e=>ku(e),decode:e=>_u(e)});var r4=new TextEncoder,n4=new TextDecoder;var aa={};ut(aa,{identity:()=>mr});var Q2=Ku,Uu=128,j2=127,J2=~j2,ty=Math.pow(2,31);function Ku(e,t,r){t=t||[],r=r||0;for(var n=r;e>=ty;)t[r++]=e&255|Uu,e/=128;for(;e&J2;)t[r++]=e&255|Uu,e>>>=7;return t[r]=e|0,Ku.bytes=r-n+1,t}var ey=sa,ry=128,Ou=127;function sa(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw sa.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Ou)<<i:(s&Ou)*Math.pow(2,i),i+=7}while(s>=ry);return sa.bytes=o-n,r}var ny=Math.pow(2,7),iy=Math.pow(2,14),oy=Math.pow(2,21),sy=Math.pow(2,28),ay=Math.pow(2,35),cy=Math.pow(2,42),uy=Math.pow(2,49),fy=Math.pow(2,56),ly=Math.pow(2,63),hy=function(e){return e<ny?1:e<iy?2:e<oy?3:e<sy?4:e<ay?5:e<cy?6:e<uy?7:e<fy?8:e<ly?9:10},dy={encode:Q2,decode:ey,encodingLength:hy},py=dy,ii=py;function oi(e,t=0){return[ii.decode(e,t),ii.decode.bytes]}function yn(e,t,r=0){return ii.encode(e,t,r),t}function mn(e){return ii.encodingLength(e)}function Ne(e,t){let r=t.byteLength,n=mn(e),i=n+mn(r),o=new Uint8Array(i+r);return yn(e,o,0),yn(r,o,n),o.set(t,i),new gn(e,r,t,o)}function Or(e){let t=Ye(e),[r,n]=oi(t),[i,o]=oi(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new gn(r,i,s,t)}function Mu(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Tu(e.bytes,r.bytes)}}var gn=class{code;size;digest;bytes;constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Fu=0,yy="identity",Vu=Ye;function my(e){return Ne(Fu,Vu(e))}var mr={code:Fu,name:yy,encode:Vu,digest:my};var fa={};ut(fa,{sha256:()=>Yt,sha512:()=>gy});function ua({name:e,code:t,encode:r}){return new ca(e,t,r)}var ca=class{name;code;encode;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?Ne(this.code,r):r.then(n=>Ne(this.code,n))}else throw Error("Unknown type, must be binary type")}};function qu(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Yt=ua({name:"sha2-256",code:18,encode:qu("SHA-256")}),gy=ua({name:"sha2-512",code:19,encode:qu("SHA-512")});function zu(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return by(r,la(e),t??Mt.encoder);default:return wy(r,la(e),t??Xe.encoder)}}var Gu=new WeakMap;function la(e){let t=Gu.get(e);if(t==null){let r=new Map;return Gu.set(e,r),r}return t}var be=class e{code;version;multihash;bytes;"/";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!==si)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==vy)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=Ne(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!=null&&t.code===n.code&&t.version===n.version&&Mu(t.multihash,n.multihash)}toString(t){return zu(this,t)}toJSON(){return{"/":zu(this)}}link(){return this}[Symbol.toStringTag]="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??Wu(n,i,o.bytes))}else if(r[Ey]===!0){let{version:n,multihash:i,code:o}=r,s=Or(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!==si)throw new Error(`Version 0 CID must use dag-pb (code: ${si}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Wu(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,si,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=Ye(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 gn(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]=oi(t.subarray(r));return r+=d,l},i=n(),o=si;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=xy(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 la(o).set(n,t),o}};function xy(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 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)]}}}function by(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}function wy(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}var si=112,vy=18;function Wu(e,t,r){let n=mn(e),i=n+mn(t),o=new Uint8Array(i+r.byteLength);return yn(e,o,0),yn(t,o,n),o.set(r,i),o}var Ey=Symbol.for("@ipld/js-cid/CID");var Pe={...oa,...Js,...ia,...Qs,...js,...ea,...ra,...Zs,...na,...ta},A4={...fa,...aa};function Ht(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 Sy=Symbol.for("nodejs.util.inspect.custom"),$u=Object.values(Pe).map(e=>e.decoder).reduce((e,t)=>e.or(t),Pe.identity.decoder),Yu=114,ha=36,da=37,ai=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()})`}[Du]=!0;toString(){return this.string==null&&(this.string=Mt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(Yu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Ht(this.multihash.bytes,t);if(typeof t=="string")return Mr(t).equals(this);if(t?.multihash?.bytes!=null)return Ht(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Sy](){return`PeerId(${this.toString()})`}},xn=class extends ai{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},bn=class extends ai{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},wn=class extends ai{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Mr(e,t){if(t=t??$u,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Or(Mt.decode(`z${e}`));return e.startsWith("12D")?new bn({multihash:r}):e.startsWith("16U")?new wn({multihash:r}):new xn({multihash:r})}return Ay($u.decode(e))}function Ay(e){try{let t=Or(e);if(t.code===mr.code){if(t.digest.length===ha)return new bn({multihash:t});if(t.digest.length===da)return new wn({multihash:t})}if(t.code===Yt.code)return new xn({multihash:t})}catch{return Dy(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Dy(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Yu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Yt.code)return new xn({multihash:e.multihash});if(t.code===mr.code){if(t.digest.length===ha)return new bn({multihash:e.multihash});if(t.digest.length===da)return new wn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function pa(e,t){return e.length===ha?new bn({multihash:Ne(mr.code,e),privateKey:t}):e.length===da?new wn({multihash:Ne(mr.code,e),privateKey:t}):new xn({multihash:await Yt.digest(e),publicKey:e,privateKey:t})}function Ze(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function dt(e=0){return globalThis.Buffer?.alloc!=null?Ze(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ie(e=0){return globalThis.Buffer?.allocUnsafe!=null?Ze(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Zu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Xu=Zu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),ya=Zu("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=ie(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),By={utf8:Xu,"utf-8":Xu,hex:Pe.base16,latin1:ya,ascii:ya,binary:ya,...Pe},io=By;function st(e,t="utf8"){let r=io[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 Iy=Math.pow(2,7),Ty=Math.pow(2,14),_y=Math.pow(2,21),ma=Math.pow(2,28),ga=Math.pow(2,35),xa=Math.pow(2,42),ba=Math.pow(2,49),pt=128,Jt=127;function te(e){if(e<Iy)return 1;if(e<Ty)return 2;if(e<_y)return 3;if(e<ma)return 4;if(e<ga)return 5;if(e<xa)return 6;if(e<ba)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function ky(e,t,r=0){switch(te(e)){case 8:t[r++]=e&255|pt,e/=128;case 7:t[r++]=e&255|pt,e/=128;case 6:t[r++]=e&255|pt,e/=128;case 5:t[r++]=e&255|pt,e/=128;case 4:t[r++]=e&255|pt,e>>>=7;case 3:t[r++]=e&255|pt,e>>>=7;case 2:t[r++]=e&255|pt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Ry(e,t,r=0){switch(te(e)){case 8:t.set(r++,e&255|pt),e/=128;case 7:t.set(r++,e&255|pt),e/=128;case 6:t.set(r++,e&255|pt),e/=128;case 5:t.set(r++,e&255|pt),e/=128;case 4:t.set(r++,e&255|pt),e>>>=7;case 3:t.set(r++,e&255|pt),e>>>=7;case 2:t.set(r++,e&255|pt),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Ly(e,t){let r=e[t],n=0;if(n+=r&Jt,r<pt||(r=e[t+1],n+=(r&Jt)<<7,r<pt)||(r=e[t+2],n+=(r&Jt)<<14,r<pt)||(r=e[t+3],n+=(r&Jt)<<21,r<pt)||(r=e[t+4],n+=(r&Jt)*ma,r<pt)||(r=e[t+5],n+=(r&Jt)*ga,r<pt)||(r=e[t+6],n+=(r&Jt)*xa,r<pt)||(r=e[t+7],n+=(r&Jt)*ba,r<pt))return n;throw new RangeError("Could not decode varint")}function Ny(e,t){let r=e.get(t),n=0;if(n+=r&Jt,r<pt||(r=e.get(t+1),n+=(r&Jt)<<7,r<pt)||(r=e.get(t+2),n+=(r&Jt)<<14,r<pt)||(r=e.get(t+3),n+=(r&Jt)<<21,r<pt)||(r=e.get(t+4),n+=(r&Jt)*ma,r<pt)||(r=e.get(t+5),n+=(r&Jt)*ga,r<pt)||(r=e.get(t+6),n+=(r&Jt)*xa,r<pt)||(r=e.get(t+7),n+=(r&Jt)*ba,r<pt))return n;throw new RangeError("Could not decode varint")}function gr(e,t,r=0){return t==null&&(t=ie(te(e))),t instanceof Uint8Array?ky(e,t,r):Ry(e,t,r)}function we(e,t=0){return e instanceof Uint8Array?Ly(e,t):Ny(e,t)}function Rt(e,t){if(globalThis.Buffer!=null)return Ze(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ie(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Ze(r)}var oo=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",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let 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 Qu=45,Py=15,vn=new oo;function wa(e){if(!(e.length>Py))return vn.new(e).parseWith(()=>vn.readIPv4Addr())}function va(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Qu))return vn.new(e).parseWith(()=>vn.readIPv6Addr())}function so(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Qu))return vn.new(e).parseWith(()=>vn.readIPAddr())}var rS=parseInt("0xFFFF",16),nS=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wt(e,t="utf8"){let r=io[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ze(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function ao(e){return!!wa(e)}function co(e){return!!va(e)}function uo(e){return!!so(e)}var tf=ao,Fy=co,Ea=function(e){let t=0;if(e=e.toString().trim(),tf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Fy(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=tf(r[n]),s;o&&(s=Ea(r[n]),r[n]=st(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,st(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")},ef=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 En={},Sa={},Hy=[[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"]];Hy.forEach(e=>{let t=qy(...e);Sa[t.code]=t,En[t.name]=t});function qy(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(Sa[e]!=null)return Sa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(En[e]!=null)return En[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var qS=yt("ip4"),zS=yt("ip6"),GS=yt("ipcidr");function Da(e,t){switch(yt(e).code){case 4:case 41:return Gy(t);case 42:return of(t);case 6:case 273:case 33:case 132:return af(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return of(t);case 421:return Xy(t);case 444:return sf(t);case 445:return sf(t);case 466:return Yy(t);default:return st(t,"base16")}}function Ca(e,t){switch(yt(e).code){case 4:return rf(t);case 41:return rf(t);case 42:return nf(t);case 6:case 273:case 33:case 132:return Ba(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return nf(t);case 421:return Wy(t);case 444:return Zy(t);case 445:return Qy(t);case 466:return $y(t);default:return wt(t,"base16")}}var Aa=Object.values(Pe).map(e=>e.decoder),zy=function(){let e=Aa[0].or(Aa[1]);return Aa.slice(2).forEach(t=>e=e.or(t)),e}();function rf(e){if(!uo(e))throw new Error("invalid ip address");return Ea(e)}function Gy(e){let t=ef(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!uo(t))throw new Error("invalid ip address");return t}function Ba(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function af(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function nf(e){let t=wt(e),r=Uint8Array.from(gr(t.length));return Rt([r,t],r.length+t.length)}function of(e){let t=we(e);if(e=e.slice(te(t)),e.length!==t)throw new Error("inconsistent lengths");return st(e)}function Wy(e){let t;e[0]==="Q"||e[0]==="1"?t=Or(Mt.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(gr(t.length));return Rt([r,t],r.length+t.length)}function $y(e){let t=zy.decode(e),r=Uint8Array.from(gr(t.length));return Rt([r,t],r.length+t.length)}function Yy(e){let t=we(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+st(r,"base64url")}function Xy(e){let t=we(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return st(r,"base58btc")}function Zy(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=Ba(n);return Rt([r,i],r.length+i.length)}function Qy(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=Ba(n);return Rt([r,i],r.length+i.length)}function sf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=st(t,"base32"),i=af(r);return`${n}:${i}`}function cf(e){e=Ia(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=yt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw ff("invalid address: "+e);if(a.path===!0){n=Ia(i.slice(o).join("/")),t.push([a.code,Ca(a.code,n)]),r.push([a.code,n]);break}let c=Ca(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Da(a.code,c)])}return{string:uf(r),bytes:_a(t),tuples:t,stringTuples:r,path:n}}function Ta(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=we(e,i),s=te(o),a=yt(o),c=jy(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw ff("Invalid address Uint8Array: "+st(e,"base16"));t.push([o,u]);let f=Da(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:uf(r),tuples:t,stringTuples:r,path:n}}function uf(e){let t=[];return e.map(r=>{let n=yt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ia(t.join("/"))}function _a(e){return Rt(e.map(t=>{let r=yt(t[0]),n=Uint8Array.from(gr(r.code));return t.length>1&&t[1]!=null&&(n=Rt([n,t[1]])),n}))}function jy(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=we(t instanceof Uint8Array?t:Uint8Array.from(t));return r+te(r)}}function Ia(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function ff(e){return new Error("Error parsing address: "+e)}var Jy=Symbol.for("nodejs.util.inspect.custom"),ka=Symbol.for("@multiformats/js-multiaddr/multiaddr"),tm=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],fo=class e{bytes;#t;#e;#r;#n;[ka]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ta(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=cf(t)}else if(hf(t))r=Ta(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=yt("tcp"),a=yt("udp"),c=yt("ip4"),u=yt("ip6"),f=yt("dns6"),l=yt("ip6zone");for(let[m,h]of this.stringTuples())m===l.code&&(o=`%${h??""}`),tm.includes(m)&&(r=s.name,i=443,n=`${h??""}${o}`,t=m===f.code?6:4),(m===s.code||m===a.code)&&(r=yt(m).name,i=parseInt(h??"")),(m===c.code||m===u.code)&&(r=yt(m).name,n=`${h??""}${o}`,t=m===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},yt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>yt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(_a(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===En.p2p.code&&t.push([n,i]),n===En["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?st(Mt.decode(`z${n}`),"base58btc"):st(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Ht(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=lf.get(r.name);if(n==null)throw new W(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(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)}[Jy](){return`Multiaddr(${this.#t})`}};var lf=new Map;function hf(e){return!!e?.[ka]}function Qe(e){return new fo(e)}function em(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),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,y=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,S=new Uint8Array(x);g!==b;){for(var w=h[g],E=0,C=x-1;(w!==0||E<y)&&C!==-1;C--,E++)w+=256*S[C]>>>0,S[C]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");y=E,g++}for(var B=x-y;B!==x&&S[B]===0;)B++;for(var U=c.repeat(p);B<x;++B)U+=e.charAt(S[B]);return U}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,g=0;h[p]===c;)y++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var S=r[h.charCodeAt(p)];if(S===255)return;for(var w=0,E=b-1;(S!==0||w<g)&&E!==-1;E--,w++)S+=a*x[E]>>>0,x[E]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");g=w,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(y+(b-C)),U=y;C!==b;)B[U++]=x[C++];return B}}}function m(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:m}}var rm=em,nm=rm,df=nm;var g5=new Uint8Array(0);var pf=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 Ra=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")}},La=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 yf(this,t)}},Na=class{constructor(t){this.decoders=t}or(t){return yf(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`)}},yf=(e,t)=>new Na({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Pa=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ra(t,r,n),this.decoder=new La(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},mf=({name:e,prefix:t,encode:r,decode:n})=>new Pa(e,t,r,n),Ua=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=df(r,t);return mf({prefix:e,name:t,encode:n,decode:o=>pf(i(o))})},im=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},om=(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},ui=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>mf({prefix:t,name:e,encode(i){return om(i,n,r)},decode(i){return im(i,n,r,e)}});var gf=Ua({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),S5=Ua({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var C5=ui({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),B5=ui({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xf=ui({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),I5=ui({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var sm=e=>e.toString().split("/").slice(1),fi=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Lt=e=>({match:t=>fi(r=>r===e).match(t),pattern:e}),po=()=>({match:e=>fi(t=>typeof t=="string").match(e),pattern:"{string}"}),bf=()=>({match:e=>fi(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{gf.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),lo=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{xf.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})`}),Oe=(...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(", ")})`}),Nt=(...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 Ft(...e){function t(i){let o=sm(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 Ka=Nt(Lt("dns4"),po()),Ma=Nt(Lt("dns6"),po()),Fa=Nt(Lt("dnsaddr"),po()),wf=Nt(Lt("dns"),po()),N5=Ft(Ka),P5=Ft(Ma),U5=Ft(Fa),O5=Ft(Oe(wf,Fa,Ka,Ma)),vf=Nt(Lt("ip4"),fi(ao)),Ef=Nt(Lt("ip6"),fi(co)),Sf=Oe(vf,Ef),li=Oe(Sf,wf,Ka,Ma,Fa),K5=Ft(li),M5=Ft(vf),F5=Ft(Ef),V5=Ft(Sf),yo=Nt(li,Lt("tcp"),bf()),hi=Nt(li,Lt("udp"),bf()),am=Oe(yo,hi),H5=Ft(yo),q5=Ft(hi),Va=Nt(hi,Lt("quic")),mo=Nt(hi,Lt("quic-v1")),cm=Oe(Va,mo),z5=Ft(Va),G5=Ft(mo),Oa=Oe(li,yo,hi,Va,mo),Af=Oe(Nt(Oa,Lt("ws"),Ue(de()))),W5=Ft(Af),Df=Oe(Nt(Oa,Lt("wss"),Ue(de())),Nt(Oa,Lt("tls"),Lt("ws"),Ue(de()))),$5=Ft(Df),Cf=Nt(am,Lt("webrtc-direct"),lo(),Ue(lo()),Ue(de())),Bf=Ft(Cf),If=Nt(mo,Lt("webtransport"),lo(),lo(),Ue(de())),Y5=Ft(If),ho=Oe(Af,Df,Nt(yo,Ue(de())),Nt(cm,Ue(de())),Nt(li,Ue(de())),Cf,If,de()),X5=Ft(ho),um=Nt(ho,Lt("p2p-circuit"),de()),Z5=Ft(um),fm=Oe(Nt(ho,Lt("p2p-circuit"),Lt("webrtc"),de()),Nt(ho,Lt("webrtc"),Ue(de())),Lt("webrtc")),Tf=Ft(fm);var fe;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(fe||(fe={}));var xr=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Ha=class extends xr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,fe.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function Ya(e,t){return new Ha(e,t)}var qa=class extends xr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,fe.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function go(e){return new qa(e)}var za=class extends xr{constructor(t){super(`There was a problem with a provided argument: ${t}`,fe.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function di(e){return new za(e)}var Ga=class extends xr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,fe.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function Xa(e,t){return new Ga(e,t)}var Wa=class extends xr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,fe.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function _f(e){return new Wa(e)}var $a=class extends xr{constructor(t){super(`unsupported hash algorithm: ${t}`,fe.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function kf(e){return new $a(e)}var Rf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},lm=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var hm=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var dm=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var pm=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var ym=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var mm=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,gm=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Lf=3,xm=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",mm]],Nf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Uf(e){return e?Pf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new ym:typeof navigator<"u"?Pf(navigator.userAgent):vm()}function bm(e){return e!==""&&xm.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function Pf(e){var t=bm(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new pm;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<Lf&&(i=Rf(Rf([],i,!0),Em(Lf-i.length),!0)):i=[];var o=i.join("."),s=wm(e),a=gm.exec(e);return a&&a[1]?new dm(r,o,s,a[1]):new lm(r,o,s)}function wm(e){for(var t=0,r=Nf.length;t<r;t++){var n=Nf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function vm(){var e=typeof process<"u"&&process.version;return e?new hm(process.version.slice(1)):null}function Em(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Ut(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Sn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Za=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Of=e=>globalThis.DOMException===void 0?new Za(e):new DOMException(e),Kf=e=>{let t=e.reason===void 0?Of("This operation was aborted."):e.reason;return t instanceof Error?t:Of(t)};function Fr(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:d}=t;d.aborted&&f(Kf(d)),d.addEventListener("abort",()=>{f(Kf(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new Sn;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Mf=Uf(),pi=Mf!=null&&Mf.name==="firefox",xo=async function*(){},bo=async e=>{},Sm=30*1e3;function Ff(e,t,r=Sm,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Ut(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Fr(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Vr=class{log;peerConnection;remoteAddr;timeline;metrics;source=xo();sink=bo;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var wo=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}},An=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new wo(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 wo(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 Qa=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function br(e={}){return Am(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 Am(e,t){t=t??{};let r=t.onEnd,n=new An,i,o,s,a=Ut(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=b=>{o=null,n.push(b);try{y(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ut()})}},u=y=>o!=null?o(y):(n.push(y),i),f=y=>(n=new An,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 u({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?f(y):u({done:!0})),m=()=>(n=new An,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:m,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((S,w)=>{x=()=>{w(new Qa)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.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}var vo=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 wr(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new vo(r?.errorMessage,r?.errorCode));let n,i=new vo(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)}}function yi(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function je(e=0){return globalThis.Buffer?.alloc!=null?yi(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function mi(e=0){return globalThis.Buffer?.allocUnsafe!=null?yi(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ja(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=mi(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return yi(r)}function Vf(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 qf=Symbol.for("@achingbrain/uint8arraylist");function Hf(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 Dn(e){return!!e?.[qf]}var Ct=class e{bufs;length;[qf]=!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(Dn(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(Dn(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=Hf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Hf(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(Dn(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 ja(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ja(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 u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Dn(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,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let d=u;d>=0;d--){let m=this.get(l+d);if(n[d]!==m){f=Math.max(1,d-a[m]);break}}if(f===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=mi(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=je(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=je(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=je(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=mi(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=je(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=je(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=je(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=je(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=je(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(!Vf(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 zf(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Gf(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function Wf(e,t){let r=zf(e).return?.();Gf(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var Dm="ERR_STREAM_RESET",Cm="ERR_SINK_INVALID_STATE",Bm=5e3;function Ja(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var Eo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Ut(),this.closed=Ut(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??Bm,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=br({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,Cm);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);Ja(i)&&await i}let n=()=>{Wf(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new Ct(i):i;let o=this.sendData(i,r);Ja(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await wr(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await wr(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),wr(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();Ja(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",Dm);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function $f(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Yf(e=0){return globalThis.Buffer?.allocUnsafe!=null?$f(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function So(e){return e[Symbol.asyncIterator]!=null}var Ao=e=>{let t=te(e),r=Yf(t);return gr(e,r),Ao.bytes=t,r};Ao.bytes=0;function vr(e,t){t=t??{};let r=t.lengthEncoder??Ao;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return So(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}vr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Ao;return new Ct(r(e.byteLength),e)};var Cn=jt(Qf(),1);var Tm=8,_m=1024*1024*4,Hr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Hr||(Hr={}));var tc=e=>{let t=we(e);return tc.bytes=te(t),t};tc.bytes=0;function qr(e,t){let r=new Ct,n=Hr.LENGTH,i=-1,o=t?.lengthDecoder??tc,s=t?.maxLengthLength??Tm,a=t?.maxDataLength??_m;function*c(){for(;r.byteLength>0;){if(n===Hr.LENGTH)try{if(i=o(r),i<0)throw(0,Cn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Cn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Hr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Cn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Hr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Hr.LENGTH}}}return So(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Cn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Cn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}qr.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 qr(n,{...t??{},onLength:o=>{r=o}})};var km=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function Rm(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=km(e),l=(...m)=>{let h=r.multiArgs?m:m[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=m=>{n(),s(m)};n=()=>{for(let m of a)f(m,l);for(let m of r.rejectionEvents)f(m,d)};for(let m of a)u(m,l);for(let m of r.rejectionEvents)u(m,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Fr(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function ec(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Rm(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var rc=new Float32Array([-0]),Er=new Uint8Array(rc.buffer);function Jf(e,t,r){rc[0]=e,t[r]=Er[0],t[r+1]=Er[1],t[r+2]=Er[2],t[r+3]=Er[3]}function tl(e,t){return Er[0]=e[t],Er[1]=e[t+1],Er[2]=e[t+2],Er[3]=e[t+3],rc[0]}var nc=new Float64Array([-0]),ee=new Uint8Array(nc.buffer);function el(e,t,r){nc[0]=e,t[r]=ee[0],t[r+1]=ee[1],t[r+2]=ee[2],t[r+3]=ee[3],t[r+4]=ee[4],t[r+5]=ee[5],t[r+6]=ee[6],t[r+7]=ee[7]}function rl(e,t){return ee[0]=e[t],ee[1]=e[t+1],ee[2]=e[t+2],ee[3]=e[t+3],ee[4]=e[t+4],ee[5]=e[t+5],ee[6]=e[t+6],ee[7]=e[t+7],nc[0]}var Lm=BigInt(Number.MAX_SAFE_INTEGER),Nm=BigInt(Number.MIN_SAFE_INTEGER),oe=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 zr;if(t<Lm&&t>Nm)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>nl&&(i=0n,++n>nl&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return zr;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):zr}},zr=new oe(0,0);zr.toBigInt=function(){return 0n};zr.zzEncode=zr.zzDecode=function(){return this};zr.length=function(){return 1};var nl=4294967296n;function il(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 ol(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 ic(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 ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Do(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var oc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ve(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ve(this,4);return Do(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return Do(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let t=tl(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ve(this,4);let t=rl(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return ol(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new oe(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ve(this,8);let t=Do(this.buf,this.pos+=4),r=Do(this.buf,this.pos+=4);return new oe(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 sc(e){return new oc(e instanceof Uint8Array?e:e.subarray())}function Ee(e,t){let r=sc(e);return t.decode(r)}function ac(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return ie(s);i+s>t&&(n=ie(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Gr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function cc(){}var fc=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Pm=ac();function Um(e){return globalThis.Buffer!=null?ie(e):Pm(e)}var bi=class{len;head;tail;states;constructor(){this.len=0,this.head=new Gr(cc,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Gr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new lc((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(gi,10,oe.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=oe.fromBigInt(t);return this._push(gi,r.length(),r)}uint64Number(t){let r=oe.fromNumber(t);return this._push(gi,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=oe.fromBigInt(t).zzEncode();return this._push(gi,r.length(),r)}sint64Number(t){let r=oe.fromNumber(t).zzEncode();return this._push(gi,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(uc,1,t?1:0)}fixed32(t){return this._push(xi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=oe.fromBigInt(t);return this._push(xi,4,r.lo)._push(xi,4,r.hi)}fixed64Number(t){let r=oe.fromNumber(t);return this._push(xi,4,r.lo)._push(xi,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(el,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(uc,1,0):this.uint32(r)._push(Km,r,t)}string(t){let r=il(t);return r!==0?this.uint32(r)._push(ic,r,t):this._push(uc,1,0)}fork(){return this.states=new fc(this),this.head=this.tail=new Gr(cc,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 Gr(cc,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=Um(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function uc(e,t,r){t[r]=e&255}function Om(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var lc=class extends Gr{next;constructor(t,r){super(Om,t,r),this.next=void 0}};function gi(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 xi(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 Km(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(bi.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Mm,t,e),this},bi.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Fm,t,e),this});function Mm(e,t,r){t.set(e,r)}function Fm(e,t,r){e.length<40?ic(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(wt(e),r)}function hc(){return new bi}function Se(e,t){let r=hc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Bn;(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"})(Bn||(Bn={}));function Co(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Wr(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 Co("enum",Bn.VARINT,r,n)}function Ae(e,t){return Co("message",Bn.LENGTH_DELIMITED,e,t)}var se;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>Wr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(se||(se={}));var Vm=16*1024*1024,Hm=30*1e3,qm=5,zm=2,Gm=16*1024,Wm=5e3,$m=5e3,dc=class extends Eo{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Fr(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=br(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??Hm,this.maxBufferedAmount=t.maxBufferedAmount??Vm,this.maxMessageSize=(t.maxMessageSize??Gm)-qm-zm,this.receiveFinAck=Ut(),this.finAckTimeout=t.closeTimeout??Wm,this.openTimeout=t.openTimeout??$m,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of qr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new Ct(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await ec(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof Sn?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await ec(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=se.encode({message:n}),o=vr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(se.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(se.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await wr(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(se.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=se.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===se.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(se.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===se.Flag.RESET&&this.reset(),r.flag===se.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===se.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=se.encode({flag:t}),n=vr.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function In(e){let{channel:t,direction:r}=e;return new dc({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var al="/webrtc",$r=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??al,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=In({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new pc(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},pc=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??al,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=In({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Ff(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=xo();sink=bo;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=In({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var Tn=globalThis.RTCPeerConnection,Bo=globalThis.RTCSessionDescription,cl=globalThis.RTCIceCandidate;var yc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ut(),this.haveNext=Ut()}[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=Ut(),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=Ut(),await wr(this.needNext.promise,r?.signal,r)}};function ul(){return new yc}var Io=class extends Error{code;constructor(t,r){super(t),this.code=r}},mc=class extends Io{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function fl(e,t){let r=ul();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 Ct;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new mc("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new Ct:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Io("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var To=class extends Error{code;constructor(t,r){super(t),this.code=r}},ll=e=>we(e);ll.bytes=0;function wi(e,t={}){let r=fl(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=te(t.maxDataLength)),{read:async i=>{let o=-1,s=new Ct,a=t?.lengthDecoder??ll;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 To("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new To("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(vr.single(i,t),o)},writeV:async(i,o)=>{let s=new Ct(...i.map(a=>vr.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function _o(e,t){let r=wi(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var ae;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>Wr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(ae||(ae={}));var ko=async(e,t,r)=>{try{let n=Ut();for(Xm(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==ae.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new cl(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function Ym(e){return pi?e.iceConnectionState:e.connectionState}function Xm(e,t){e[pi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(Ym(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function hl({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=dl(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Mr(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Ro,{signal:t,runOnTransientConnection:!0}),m=_o(d).pb(ae);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),m.write({type:ae.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(S=>{s.error("error sending ICE candidate",S)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await m.write({type:ae.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let y=await m.read({signal:t});if(y.type!==ae.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",y.data);let g=new Bo({type:"answer",sdp:y.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await ko(e,m,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await m.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var Zm=q("dns4"),Qm=q("dns6"),jm=q("dnsaddr"),Yr=Pt(q("dns"),jm,Zm,Qm),Po=Pt(q("ip4"),q("ip6")),_n=Pt(X(Po,q("tcp")),X(Yr,q("tcp"))),Uo=X(Po,q("udp")),Jm=X(Uo,q("utp")),tg=X(Uo,q("quic")),eg=X(Uo,q("quic-v1")),gc=Pt(X(_n,q("ws")),X(Yr,q("ws"))),Lo=Pt(X(gc,q("p2p")),gc),xc=Pt(X(_n,q("wss")),X(Yr,q("wss")),X(_n,q("tls"),q("ws")),X(Yr,q("tls"),q("ws"))),No=Pt(X(xc,q("p2p")),xc),bc=Pt(X(_n,q("http")),X(Po,q("http")),X(Yr,q("http"))),wc=Pt(X(_n,q("https")),X(Po,q("https")),X(Yr,q("https"))),pl=X(Uo,q("webrtc-direct"),q("certhash")),gl=Pt(X(pl,q("p2p")),pl),yl=X(eg,q("webtransport"),q("certhash"),q("certhash")),xl=Pt(X(yl,q("p2p")),yl),bl=Pt(X(Lo,q("p2p-webrtc-star"),q("p2p")),X(No,q("p2p-webrtc-star"),q("p2p")),X(Lo,q("p2p-webrtc-star")),X(No,q("p2p-webrtc-star"))),wD=Pt(X(Lo,q("p2p-websocket-star"),q("p2p")),X(No,q("p2p-websocket-star"),q("p2p")),X(Lo,q("p2p-websocket-star")),X(No,q("p2p-websocket-star"))),wl=Pt(X(bc,q("p2p-webrtc-direct"),q("p2p")),X(wc,q("p2p-webrtc-direct"),q("p2p")),X(bc,q("p2p-webrtc-direct")),X(wc,q("p2p-webrtc-direct"))),Xr=Pt(gc,xc,bc,wc,bl,wl,_n,Jm,tg,Yr,gl,xl),vD=Pt(X(Xr,q("p2p-stardust"),q("p2p")),X(Xr,q("p2p-stardust"))),Sr=Pt(X(Xr,q("p2p")),bl,wl,gl,xl,q("p2p")),ml=Pt(X(Sr,q("p2p-circuit"),Sr),X(Sr,q("p2p-circuit")),X(q("p2p-circuit"),Sr),X(Xr,q("p2p-circuit")),X(q("p2p-circuit"),Xr),q("p2p-circuit")),vl=()=>Pt(X(ml,vl),ml),Je=vl(),ED=Pt(X(Je,Sr,Je),X(Sr,Je),X(Je,Sr),Je,Sr);var SD=Pt(X(Je,q("webrtc"),q("p2p")),X(Je,q("webrtc")),X(Xr,q("webrtc"),q("p2p")),X(Xr,q("webrtc")),q("webrtc"));function El(e){function t(r){let n;try{n=Qe(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:El(t),partialMatch:t}}function Pt(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:El(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Qe(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var Oo=class extends eo{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>Je.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function Sl({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=_o(t).pb(ae);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:ae.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==ae.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new Bo({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:ae.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await ko(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Qe(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var rg="/webrtc",ng="/p2p-circuit",Ro="/webrtc-signaling/0.0.1",ig=30*1e3,Ko=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,Iu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Ro,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Ro),this._started=!1}createListener(t){return new Oo(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[to]=!0;filter(t){return t.filter(Tf.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new Tn(this.init.rtcConfiguration),i=new $r(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await hl({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Vr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??ig),i=new Tn(this.init.rtcConfiguration),o=new $r(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await Sl({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Vr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function dl(e){let t=e.toString().split(rg+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);if(!t[0].includes(ng))throw new W("p2p-circuit protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);let r=Qe(t[0]),i=Qe("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",fe.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",fe.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Mr(i)}}function vc(){let e=Ut(),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 Al(){let e=vc(),t=vc();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function og(e){return e[Symbol.asyncIterator]!=null}function sg(...e){let t=[];for(let r of e)og(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=br({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 Dl=sg;function Cl(e,...t){if(e==null)throw new Error("Empty pipeline");if(Ec(e)){let n=e;e=()=>n.source}else if(Il(e)||Bl(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&Ec(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++)Ec(r[n])&&(r[n]=cg(r[n]));return ag(...r)}var ag=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},Bl=e=>e?.[Symbol.asyncIterator]!=null,Il=e=>e?.[Symbol.iterator]!=null,Ec=e=>e==null?!1:e.sink!=null&&e.source!=null,cg=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=br({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(Bl(o))i=async function*(){yield*o,n.end()};else if(Il(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Dl(n,i())}return e.source};var kn=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var tr=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));function Tl(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var _l=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),ug=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!ug)throw new Error("Non little-endian hardware is not supported");function Mo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Fo(e){if(typeof e=="string")e=Mo(e);else if(Tl(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var fg=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function kl(e,t){if(t!==void 0&&(typeof t!="object"||!fg(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function Zr(e,t){if(!Tl(e))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function Rl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}var Sc=(e,t)=>(Object.assign(t,e),t);function Ac(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,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Vo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`wrong positive integer: ${e}`)}function Dc(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function lg(e){return e!=null&&typeof e=="object"&&(e instanceof Uint8Array||e.constructor.name==="Uint8Array")}function Rn(e,...t){if(!lg(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Cc(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 Ll(e,t){Rn(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Xt=(e,t)=>e[t++]&255|(e[t++]&255)<<8,Bc=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=Fo(t),Zr(t,32);let r=Xt(t,0),n=Xt(t,2),i=Xt(t,4),o=Xt(t,6),s=Xt(t,8),a=Xt(t,10),c=Xt(t,12),u=Xt(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|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Xt(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],m=s[6],h=s[7],p=s[8],y=s[9],g=Xt(t,r+0),b=Xt(t,r+2),x=Xt(t,r+4),S=Xt(t,r+6),w=Xt(t,r+8),E=Xt(t,r+10),C=Xt(t,r+12),B=Xt(t,r+14),U=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),O=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|S<<9)&8191),G=o[4]+((S>>>4|w<<12)&8191),Q=o[5]+(w>>>1&8191),I=o[6]+((w>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),A=0,P=A+U*a+K*(5*y)+O*(5*p)+F*(5*h)+G*(5*m);A=P>>>13,P&=8191,P+=Q*(5*d)+I*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),A+=P>>>13,P&=8191;let M=A+U*c+K*a+O*(5*y)+F*(5*p)+G*(5*h);A=M>>>13,M&=8191,M+=Q*(5*m)+I*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),A+=M>>>13,M&=8191;let H=A+U*u+K*c+O*a+F*(5*y)+G*(5*p);A=H>>>13,H&=8191,H+=Q*(5*h)+I*(5*m)+R*(5*d)+_*(5*l)+k*(5*f),A+=H>>>13,H&=8191;let Z=A+U*f+K*u+O*c+F*a+G*(5*y);A=Z>>>13,Z&=8191,Z+=Q*(5*p)+I*(5*h)+R*(5*m)+_*(5*d)+k*(5*l),A+=Z>>>13,Z&=8191;let j=A+U*l+K*f+O*u+F*c+G*a;A=j>>>13,j&=8191,j+=Q*(5*y)+I*(5*p)+R*(5*h)+_*(5*m)+k*(5*d),A+=j>>>13,j&=8191;let it=A+U*d+K*l+O*f+F*u+G*c;A=it>>>13,it&=8191,it+=Q*a+I*(5*y)+R*(5*p)+_*(5*h)+k*(5*m),A+=it>>>13,it&=8191;let J=A+U*m+K*d+O*l+F*f+G*u;A=J>>>13,J&=8191,J+=Q*c+I*a+R*(5*y)+_*(5*p)+k*(5*h),A+=J>>>13,J&=8191;let et=A+U*h+K*m+O*d+F*l+G*f;A=et>>>13,et&=8191,et+=Q*u+I*c+R*a+_*(5*y)+k*(5*p),A+=et>>>13,et&=8191;let bt=A+U*p+K*h+O*m+F*d+G*l;A=bt>>>13,bt&=8191,bt+=Q*f+I*u+R*c+_*a+k*(5*y),A+=bt>>>13,bt&=8191;let gt=A+U*y+K*p+O*h+F*m+G*d;A=gt>>>13,gt&=8191,gt+=Q*l+I*f+R*u+_*c+k*a,A+=gt>>>13,gt&=8191,A=(A<<2)+A|0,A=A+P|0,P=A&8191,A=A>>>13,M+=A,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=bt,o[9]=gt}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){Cc(this);let{buffer:r,blockLen:n}=this;t=Fo(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){Cc(this),Ll(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 hg(e){let t=(n,i)=>e(i).update(Fo(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var Nl=hg(e=>new Bc(e));var dg=Mo("expand 16-byte k"),pg=Mo("expand 32-byte k"),yg=tr(dg),mg=tr(pg);function $(e,t){return e<<t|e>>>32-t}function Ic(e){return e.byteOffset%4===0}var Ho=64,gg=16,Ul=2**32-1,Pl=new Uint32Array;function xg(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array(Ho),f=tr(u),l=Ic(i)&&Ic(o),d=l?tr(i):Pl,m=l?tr(o):Pl;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=Ul)throw new Error("arx: counter overflow");let p=Math.min(Ho,c-h);if(l&&p===Ho){let y=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<gg;g++)b=y+g,m[b]=d[b]^f[g];h+=Ho;continue}for(let y=0,g;y<p;y++)g=h+y,o[g]=i[g]^u[y];h+=p}}function Tc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=kl({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return Vo(i),Vo(s),Dc(o),Dc(r),(a,c,u,f,l=0)=>{Rn(a),Rn(c),Rn(u);let d=u.length;if(f||(f=new Uint8Array(d)),Rn(f),Vo(l),l<0||l>=Ul)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let m=[],h=a.length,p,y;if(h===32)p=a.slice(),m.push(p),y=mg;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),y=yg,m.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);Ic(c)||(c=c.slice(),m.push(c));let g=tr(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(y,g,tr(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let S=new Uint8Array(12);S.set(c,o?0:12-c.length),c=S,m.push(c)}let x=tr(c);for(xg(e,y,g,x,u,f,l,s);m.length>0;)m.pop().fill(0);return f}}function Ml(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],m=t[3],h=t[4],p=t[5],y=t[6],g=t[7],b=i,x=r[0],S=r[1],w=r[2],E=s,C=a,B=c,U=u,K=f,O=l,F=d,G=m,Q=h,I=p,R=y,_=g,k=b,A=x,P=S,M=w;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+O|0,A=$(A^C,16),I=I+A|0,O=$(O^I,12),C=C+O|0,A=$(A^C,8),I=I+A|0,O=$(O^I,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),U=U+G|0,M=$(M^U,16),_=_+M|0,G=$(G^_,12),U=U+G|0,M=$(M^U,8),_=_+M|0,G=$(G^_,7),E=E+O|0,M=$(M^E,16),R=R+M|0,O=$(O^R,12),E=E+O|0,M=$(M^E,8),R=R+M|0,O=$(O^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,A=$(A^B,16),Q=Q+A|0,G=$(G^Q,12),B=B+G|0,A=$(A^B,8),Q=Q+A|0,G=$(G^Q,7),U=U+K|0,P=$(P^U,16),I=I+P|0,K=$(K^I,12),U=U+K|0,P=$(P^U,8),I=I+P|0,K=$(K^I,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+U|0,n[H++]=f+K|0,n[H++]=l+O|0,n[H++]=d+F|0,n[H++]=m+G|0,n[H++]=h+Q|0,n[H++]=p+I|0,n[H++]=y+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+A|0,n[H++]=S+P|0,n[H++]=w+M|0}function bg(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],m=t[5],h=t[6],p=t[7],y=r[0],g=r[1],b=r[2],x=r[3];for(let w=0;w<20;w+=2)i=i+c|0,y=$(y^i,16),d=d+y|0,c=$(c^d,12),i=i+c|0,y=$(y^i,8),d=d+y|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),m=m+g|0,u=$(u^m,12),o=o+u|0,g=$(g^o,8),m=m+g|0,u=$(u^m,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,y=$(y^o,16),p=p+y|0,f=$(f^p,12),o=o+f|0,y=$(y^o,8),p=p+y|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),m=m+b|0,c=$(c^m,12),a=a+c|0,b=$(b^a,8),m=m+b|0,c=$(c^m,7);let S=0;n[S++]=i,n[S++]=o,n[S++]=s,n[S++]=a,n[S++]=y,n[S++]=g,n[S++]=b,n[S++]=x}var wg=Tc(Ml,{counterRight:!1,counterLength:4,allowShortKeys:!1}),vg=Tc(Ml,{counterRight:!1,counterLength:8,extendNonceFn:bg,allowShortKeys:!1});var Eg=new Uint8Array(16),Ol=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(Eg.subarray(r))},Sg=new Uint8Array(32);function Kl(e,t,r,n,i){let o=e(t,r,Sg),s=Nl.create(o);i&&Ol(s,i),Ol(s,n);let a=new Uint8Array(16),c=_l(a);Ac(c,0,BigInt(i?i.length:0),!0),Ac(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var Fl=e=>(t,r,n)=>(Zr(t,32),Zr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?Zr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=Kl(e,t,r,s.subarray(0,-16),n);return s.set(u,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?Zr(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=Kl(e,t,r,u,n);if(!Rl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),_c=Sc({blockSize:64,nonceLength:12,tagLength:16},Fl(wg)),mC=Sc({blockSize:64,nonceLength:24,tagLength:16},Fl(vg));function qo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Ag(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function kc(e,...t){if(!Ag(e))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 vi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");qo(e.outputLen),qo(e.blockLen)}function Ln(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 Vl(e,t){kc(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var zo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Hl(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Go=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),De=(e,t)=>e<<32-t|e>>>t,Dg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Dg)throw new Error("Non little-endian hardware is not supported");function Rc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Ar(e){if(typeof e=="string"&&(e=Rc(e)),!Hl(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Wo(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];if(!Hl(i))throw new Error("Uint8Array expected");t+=i.length}let r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var Nn=class{clone(){return this._cloneInto()}},vC={}.toString;function $o(e){let t=n=>e().update(Ar(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Qr(e=32){if(zo&&typeof zo.getRandomValues=="function")return zo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Cg(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,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Pn=class extends Nn{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=Go(this.buffer)}update(t){Ln(this);let{view:r,buffer:n,blockLen:i}=this;t=Ar(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=Go(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){Ln(this),Vl(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;Cg(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Go(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer: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 Yo=BigInt(4294967295),Lc=BigInt(32);function ql(e,t=!1){return t?{h:Number(e&Yo),l:Number(e>>Lc&Yo)}:{h:Number(e>>Lc&Yo)|0,l:Number(e&Yo)|0}}function Bg(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}=ql(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Ig=(e,t)=>BigInt(e>>>0)<<Lc|BigInt(t>>>0),Tg=(e,t,r)=>e>>>r,_g=(e,t,r)=>e<<32-r|t>>>r,kg=(e,t,r)=>e>>>r|t<<32-r,Rg=(e,t,r)=>e<<32-r|t>>>r,Lg=(e,t,r)=>e<<64-r|t>>>r-32,Ng=(e,t,r)=>e>>>r-32|t<<64-r,Pg=(e,t)=>t,Ug=(e,t)=>e,Og=(e,t,r)=>e<<r|t>>>32-r,Kg=(e,t,r)=>t<<r|e>>>32-r,Mg=(e,t,r)=>t<<r-32|e>>>64-r,Fg=(e,t,r)=>e<<r-32|t>>>64-r;function Vg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Hg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),qg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,zg=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Gg=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Wg=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),$g=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Yg={fromBig:ql,split:Bg,toBig:Ig,shrSH:Tg,shrSL:_g,rotrSH:kg,rotrSL:Rg,rotrBH:Lg,rotrBL:Ng,rotr32H:Pg,rotr32L:Ug,rotlSH:Og,rotlSL:Kg,rotlBH:Mg,rotlBL:Fg,add:Vg,add3L:Hg,add3H:qg,add4L:zg,add4H:Gg,add5H:$g,add5L:Wg},rt=Yg;var[Xg,Zg]=rt.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))),Dr=new Uint32Array(80),Cr=new Uint32Array(80),Nc=class extends Pn{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:u,El:f,Fh:l,Fl:d,Gh:m,Gl:h,Hh:p,Hl:y}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,m,h,p,y]}set(t,r,n,i,o,s,a,c,u,f,l,d,m,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=u|0,this.El=f|0,this.Fh=l|0,this.Fl=d|0,this.Gh=m|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)Dr[x]=t.getUint32(r),Cr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let S=Dr[x-15]|0,w=Cr[x-15]|0,E=rt.rotrSH(S,w,1)^rt.rotrSH(S,w,8)^rt.shrSH(S,w,7),C=rt.rotrSL(S,w,1)^rt.rotrSL(S,w,8)^rt.shrSL(S,w,7),B=Dr[x-2]|0,U=Cr[x-2]|0,K=rt.rotrSH(B,U,19)^rt.rotrBH(B,U,61)^rt.shrSH(B,U,6),O=rt.rotrSL(B,U,19)^rt.rotrBL(B,U,61)^rt.shrSL(B,U,6),F=rt.add4L(C,O,Cr[x-7],Cr[x-16]),G=rt.add4H(F,E,K,Dr[x-7],Dr[x-16]);Dr[x]=G|0,Cr[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:m,Fl:h,Gh:p,Gl:y,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let S=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),w=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&m^~l&p,C=d&h^~d&y,B=rt.add5L(b,w,C,Zg[x],Cr[x]),U=rt.add5H(B,g,S,E,Xg[x],Dr[x]),K=B|0,O=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=y|0,p=m|0,y=h|0,m=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,U|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let I=rt.add3L(K,F,Q);n=rt.add3H(I,U,O,G),i=I|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:m,l:h}=rt.add(this.Fh|0,this.Fl|0,m|0,h|0),{h:p,l:y}=rt.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,m,h,p,y,g,b)}roundClean(){Dr.fill(0),Cr.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 Pc=$o(()=>new Nc);var Zo={};ut(Zo,{bitGet:()=>nx,bitLen:()=>rx,bitMask:()=>Ei,bitSet:()=>ix,bytesToHex:()=>rr,bytesToNumberBE:()=>nr,bytesToNumberLE:()=>Be,concatBytes:()=>or,createHmacDrbg:()=>Kc,ensureBytes:()=>Et,equalBytes:()=>tx,hexToBytes:()=>jr,hexToNumber:()=>Oc,isBytes:()=>Ce,numberToBytesBE:()=>Br,numberToBytesLE:()=>ir,numberToHexUnpadded:()=>$l,numberToVarBytesBE:()=>Jg,utf8ToBytes:()=>ex,validateObject:()=>pe});var Wl=BigInt(0),Xo=BigInt(1),Qg=BigInt(2);function Ce(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var jg=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function rr(e){if(!Ce(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=jg[e[r]];return t}function $l(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Oc(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}var er={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function zl(e){if(e>=er._0&&e<=er._9)return e-er._0;if(e>=er._A&&e<=er._F)return e-(er._A-10);if(e>=er._a&&e<=er._f)return e-(er._a-10)}function jr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=zl(e.charCodeAt(o)),a=zl(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function nr(e){return Oc(rr(e))}function Be(e){if(!Ce(e))throw new Error("Uint8Array expected");return Oc(rr(Uint8Array.from(e).reverse()))}function Br(e,t){return jr(e.toString(16).padStart(t*2,"0"))}function ir(e,t){return Br(e,t).reverse()}function Jg(e){return jr($l(e))}function Et(e,t,r){let n;if(typeof t=="string")try{n=jr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Ce(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 or(...e){let t=0;for(let i=0;i<e.length;i++){let o=e[i];if(!Ce(o))throw new Error("Uint8Array expected");t+=o.length}let r=new Uint8Array(t),n=0;for(let i=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function tx(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function ex(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function rx(e){let t;for(t=0;e>Wl;e>>=Xo,t+=1);return t}function nx(e,t){return e>>BigInt(t)&Xo}var ix=(e,t,r)=>e|(r?Xo:Wl)<<BigInt(t),Ei=e=>(Qg<<BigInt(e-1))-Xo,Uc=e=>new Uint8Array(e),Gl=e=>Uint8Array.from(e);function Kc(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=Uc(e),i=Uc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Uc())=>{i=a(Gl([0]),l),n=a(),l.length!==0&&(i=a(Gl([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let m=n.slice();d.push(m),l+=n.length}return or(...d)};return(l,d)=>{s(),c(l);let m;for(;!(m=d(u()));)c();return s(),m}}var ox={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"||Ce(e),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 pe(e,t,r={}){let n=(i,o,s)=>{let a=ox[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 Vt=BigInt(0),Bt=BigInt(1),Jr=BigInt(2),sx=BigInt(3),Mc=BigInt(4),Yl=BigInt(5),Xl=BigInt(8),ax=BigInt(9),cx=BigInt(16);function lt(e,t){let r=e%t;return r>=Vt?r:t+r}function Fc(e,t,r){if(r<=Vt||t<Vt)throw new Error("Expected power/modulo > 0");if(r===Bt)return Vt;let n=Bt;for(;t>Vt;)t&Bt&&(n=n*e%r),e=e*e%r,t>>=Bt;return n}function St(e,t,r){let n=e;for(;t-- >Vt;)n*=n,n%=r;return n}function Qo(e,t){if(e===Vt||t<=Vt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=lt(e,t),n=t,i=Vt,o=Bt,s=Bt,a=Vt;for(;r!==Vt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Bt)throw new Error("invert: does not exist");return lt(i,t)}function ux(e){let t=(e-Bt)/Jr,r,n,i;for(r=e-Bt,n=0;r%Jr===Vt;r/=Jr,n++);for(i=Jr;i<e&&Fc(i,t,e)!==e-Bt;i++);if(n===1){let s=(e+Bt)/Mc;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Bt)/Jr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let m=1;for(let p=a.sqr(d);m<u&&!a.eql(p,a.ONE);m++)p=a.sqr(p);let h=a.pow(f,Bt<<BigInt(u-m-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=m}return l}}function fx(e){if(e%Mc===sx){let t=(e+Bt)/Mc;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%Xl===Yl){let t=(e-Yl)/Xl;return function(n,i){let o=n.mul(i,Jr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,Jr),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%cx,ux(e)}var Zl=(e,t)=>(lt(e,t)&Bt)===Bt,lx=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Vc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=lx.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function hx(e,t,r){if(r<Vt)throw new Error("Expected power > 0");if(r===Vt)return e.ONE;if(r===Bt)return t;let n=e.ONE,i=t;for(;r>Vt;)r&Bt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=Bt;return n}function dx(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 Hc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function jo(e,t,r=!1,n={}){if(e<=Vt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Hc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=fx(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:Ei(i),ZERO:Vt,ONE:Bt,create:c=>lt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Vt<=c&&c<e},is0:c=>c===Vt,isOdd:c=>(c&Bt)===Bt,neg:c=>lt(-c,e),eql:(c,u)=>c===u,sqr:c=>lt(c*c,e),add:(c,u)=>lt(c+u,e),sub:(c,u)=>lt(c-u,e),mul:(c,u)=>lt(c*u,e),pow:(c,u)=>hx(a,c,u),div:(c,u)=>lt(c*Qo(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Qo(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>dx(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?ir(c,o):Br(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Be(c):nr(c)}});return Object.freeze(a)}function Ql(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 jl(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 qc(e){let t=jl(e);return t+Math.ceil(t/2)}function Jl(e,t,r=!1){let n=e.length,i=jl(t),o=qc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?nr(e):Be(e),a=lt(s,t-Bt)+Bt;return r?ir(a,i):Br(a,i)}var yx=BigInt(0),zc=BigInt(1);function Jo(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>yx;)o&zc&&(s=s.add(a)),a=a.double(),o>>=zc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let d=1;d<a;d++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),d=2**i,m=BigInt(i);for(let h=0;h<a;h++){let p=h*c,y=Number(s&l);s>>=m,y>c&&(y-=d,s+=zc);let g=p,b=p+Math.abs(y)-1,x=h%2!==0,S=y<0;y===0?f=f.add(r(x,o[g])):u=u.add(r(S,o[b]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Si(e){return Vc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Hc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ie=BigInt(0),le=BigInt(1),ts=BigInt(2),mx=BigInt(8),gx={zip215:!0};function xx(e){let t=Si(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function es(e){let t=xx(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=ts<<BigInt(a*8)-le,f=r.create,l=t.uvRatio||((k,A)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(A))}}catch{return{isValid:!1,value:Ie}}}),d=t.adjustScalarBytes||(k=>k),m=t.domain||((k,A,P)=>{if(A.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Ie<k,p=(k,A)=>h(k)&&h(A)&&k<A,y=k=>k===Ie||p(k,u);function g(k,A){if(p(k,A))return k;throw new Error(`Expected valid scalar < ${A}, got ${typeof k} ${k}`)}function b(k){return k===Ie?k:g(k,n)}let x=new Map;function S(k){if(!(k instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(A,P,M,H){if(this.ex=A,this.ey=P,this.ez=M,this.et=H,!y(A))throw new Error("x required");if(!y(P))throw new Error("y required");if(!y(M))throw new Error("z required");if(!y(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(A){if(A instanceof w)throw new Error("extended point not allowed");let{x:P,y:M}=A||{};if(!y(P)||!y(M))throw new Error("invalid affine point");return new w(P,M,le,f(P*M))}static normalizeZ(A){let P=r.invertBatch(A.map(M=>M.ez));return A.map((M,H)=>M.toAffine(P[H])).map(w.fromAffine)}_setWindowSize(A){this._WINDOW_SIZE=A,x.delete(this)}assertValidity(){let{a:A,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),bt=f(et*et),gt=f(it*A),Wt=f(et*f(gt+J)),$t=f(bt+f(P*f(it*J)));if(Wt!==$t)throw new Error("bad point: equation left != right (1)");let Kt=f(M*H),Qt=f(Z*j);if(Kt!==Qt)throw new Error("bad point: equation left != right (2)")}equals(A){S(A);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=A,J=f(P*it),et=f(Z*H),bt=f(M*it),gt=f(j*H);return J===et&&bt===gt}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:A}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(ts*f(H*H)),J=f(A*Z),et=P+M,bt=f(f(et*et)-Z-j),gt=J+j,Wt=gt-it,$t=J-j,Kt=f(bt*Wt),Qt=f(gt*$t),$e=f(bt*$t),Ur=f(Wt*gt);return new w(Kt,Qt,Ur,$e)}add(A){S(A);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:bt,et:gt}=A;if(P===BigInt(-1)){let gu=f((Z-H)*(et+J)),xu=f((Z+H)*(et-J)),zs=f(xu-gu);if(zs===Ie)return this.double();let bu=f(j*ts*gt),wu=f(it*ts*bt),vu=wu+bu,Eu=xu+gu,Su=wu-bu,u2=f(vu*zs),f2=f(Eu*Su),l2=f(vu*Su),h2=f(zs*Eu);return new w(u2,f2,h2,l2)}let Wt=f(H*J),$t=f(Z*et),Kt=f(it*M*gt),Qt=f(j*bt),$e=f((H+Z)*(J+et)-Wt-$t),Ur=Qt-Kt,ni=Qt+Kt,mu=f($t-P*Wt),o2=f($e*Ur),s2=f(ni*mu),a2=f($e*mu),c2=f(Ur*ni);return new w(o2,s2,c2,a2)}subtract(A){return this.add(A.negate())}wNAF(A){return B.wNAFCached(this,x,A,w.normalizeZ)}multiply(A){let{p:P,f:M}=this.wNAF(g(A,n));return w.normalizeZ([P,M])[0]}multiplyUnsafe(A){let P=b(A);return P===Ie?C:this.equals(C)||P===le?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(A){let{ex:P,ey:M,ez:H}=this,Z=this.is0();A==null&&(A=Z?mx:r.inv(H));let j=f(P*A),it=f(M*A),J=f(H*A);if(Z)return{x:Ie,y:le};if(J!==le)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:A}=t;return A===le?this:this.multiplyUnsafe(A)}static fromHex(A,P=!1){let{d:M,a:H}=t,Z=r.BYTES;A=Et("pointHex",A,Z);let j=A.slice(),it=A[Z-1];j[Z-1]=it&-129;let J=Be(j);J===Ie||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),bt=f(et-le),gt=f(M*et-H),{isValid:Wt,value:$t}=l(bt,gt);if(!Wt)throw new Error("Point.fromHex: invalid y coordinate");let Kt=($t&le)===le,Qt=(it&128)!==0;if(!P&&$t===Ie&&Qt)throw new Error("Point.fromHex: x=0 and x_0=1");return Qt!==Kt&&($t=f(-$t)),w.fromAffine({x:$t,y:J})}static fromPrivateKey(A){return O(A).point}toRawBytes(){let{x:A,y:P}=this.toAffine(),M=ir(P,r.BYTES);return M[M.length-1]|=A&le?128:0,M}toHex(){return rr(this.toRawBytes())}}w.BASE=new w(t.Gx,t.Gy,le,f(t.Gx*t.Gy)),w.ZERO=new w(Ie,le,le,Ie);let{BASE:E,ZERO:C}=w,B=Jo(w,a*8);function U(k){return lt(k,n)}function K(k){return U(Be(k))}function O(k){let A=a;k=Et("private key",k,A);let P=Et("hashed private key",o(k),2*A),M=d(P.slice(0,A)),H=P.slice(A,2*A),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return O(k).pointBytes}function G(k=new Uint8Array,...A){let P=or(...A);return K(o(m(P,Et("context",k),!!i)))}function Q(k,A,P={}){k=Et("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=O(A),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=U(j+J*H);b(et);let bt=or(it,ir(et,r.BYTES));return Et("result",bt,a*2)}let I=gx;function R(k,A,P,M=I){let{context:H,zip215:Z}=M,j=r.BYTES;k=Et("signature",k,2*j),A=Et("message",A),i&&(A=i(A));let it=Be(k.slice(j,2*j)),J,et,bt;try{J=w.fromHex(P,Z),et=w.fromHex(k.slice(0,j),Z),bt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let gt=G(H,et.toRawBytes(),J.toRawBytes(),A);return et.add(J.multiplyUnsafe(gt)).subtract(bt).clearCofactor().equals(w.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:w,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,A=w.BASE){return A._setWindowSize(k),A.multiply(BigInt(3)),A}}}}var Ai=BigInt(0),Gc=BigInt(1);function bx(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function th(e){let t=bx(e),{P:r}=t,n=x=>lt(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>Fc(x,r-BigInt(2),r));function u(x,S,w){let E=n(x*(S-w));return S=n(S-E),w=n(w+E),[S,w]}function f(x){if(typeof x=="bigint"&&Ai<=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,S){let w=f(x),E=f(S),C=w,B=Gc,U=Ai,K=w,O=Gc,F=Ai,G;for(let I=BigInt(i-1);I>=Ai;I--){let R=E>>I&Gc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,U,O),U=G[0],O=G[1],F=R;let _=B+U,k=n(_*_),A=B-U,P=n(A*A),M=k-P,H=K+O,Z=K-O,j=n(Z*_),it=n(H*A),J=j+it,et=j-it;K=n(J*J),O=n(C*n(et*et)),B=n(k*P),U=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,U,O),U=G[0],O=G[1];let Q=c(U);return n(B*Q)}function m(x){return ir(n(x),o)}function h(x){let S=Et("u coordinate",x,o);return s===32&&(S[31]&=127),Be(S)}function p(x){let S=Et("scalar",x),w=S.length;if(w!==o&&w!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${w}`);return Be(a(S))}function y(x,S){let w=h(S),E=p(x),C=d(w,E);if(C===Ai)throw new Error("Invalid private or public key received");return m(C)}let g=m(t.Gu);function b(x){return y(x,g)}return{scalarMult:y,scalarMultBase:b,getSharedSecret:(x,S)=>y(x,S),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var Di=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),eh=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),$C=BigInt(0),wx=BigInt(1),Wc=BigInt(2),vx=BigInt(5),rh=BigInt(10),Ex=BigInt(20),Sx=BigInt(40),nh=BigInt(80);function ih(e){let t=Di,n=e*e%t*e%t,i=St(n,Wc,t)*n%t,o=St(i,wx,t)*e%t,s=St(o,vx,t)*o%t,a=St(s,rh,t)*s%t,c=St(a,Ex,t)*a%t,u=St(c,Sx,t)*c%t,f=St(u,nh,t)*u%t,l=St(f,nh,t)*u%t,d=St(l,rh,t)*s%t;return{pow_p_5_8:St(d,Wc,t)*e%t,b2:n}}function oh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Ax(e,t){let r=Di,n=lt(t*t*t,r),i=lt(n*n*t,r),o=ih(e*i).pow_p_5_8,s=lt(e*n*o,r),a=lt(t*s*s,r),c=s,u=lt(s*eh,r),f=a===e,l=a===lt(-e,r),d=a===lt(-e*eh,r);return f&&(s=c),(l||d)&&(s=u),Zl(s,r)&&(s=lt(-s,r)),{isValid:f||l,value:s}}var sr=jo(Di,void 0,!0),$c={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:sr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Pc,randomBytes:Qr,adjustScalarBytes:oh,uvRatio:Ax},Un=es($c);function sh(e,t,r){if(t.length>255)throw new Error("Context is too big");return Wo(Rc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var YC=es({...$c,domain:sh}),XC=es({...$c,domain:sh,prehash:Pc}),Ci=th({P:Di,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=Di,{pow_p_5_8:r,b2:n}=ih(e);return lt(St(r,BigInt(3),t)*n,t)},adjustScalarBytes:oh,randomBytes:Qr});var Dx=(sr.ORDER+BigInt(3))/BigInt(8),ZC=sr.pow(Wc,Dx),QC=sr.sqrt(sr.neg(sr.ONE)),jC=(sr.ORDER-BigInt(5))/BigInt(8),JC=BigInt(486662);var tB=Ql(sr,sr.neg(BigInt(486664)));var eB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),rB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),nB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),iB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var oB=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var rs=class extends Nn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,vi(t);let n=Ar(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 Ln(this),this.iHash.update(t),this}digestInto(t){Ln(this),kc(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()}},On=(e,t,r)=>new rs(e,t).update(r).digest();On.create=(e,t)=>new rs(e,t);function ch(e,t,r){return vi(e),r===void 0&&(r=new Uint8Array(e.outputLen)),On(e,Ar(r),Ar(t))}var Yc=new Uint8Array([0]),ah=new Uint8Array;function uh(e,t,r,n=32){if(vi(e),qo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=ah);let o=new Uint8Array(i*e.outputLen),s=On.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)Yc[0]=u+1,a.update(u===0?ah:c).update(r).update(Yc).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Yc.fill(0),o.slice(0,n)}var Cx=(e,t,r)=>e&t^~e&r,Bx=(e,t,r)=>e&t^e&r^t&r,Ix=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]),Ir=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Tr=new Uint32Array(64),Xc=class extends Pn{constructor(){super(64,32,8,!1),this.A=Ir[0]|0,this.B=Ir[1]|0,this.C=Ir[2]|0,this.D=Ir[3]|0,this.E=Ir[4]|0,this.F=Ir[5]|0,this.G=Ir[6]|0,this.H=Ir[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)Tr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let d=Tr[l-15],m=Tr[l-2],h=De(d,7)^De(d,18)^d>>>3,p=De(m,17)^De(m,19)^m>>>10;Tr[l]=p+Tr[l-7]+h+Tr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let d=De(a,6)^De(a,11)^De(a,25),m=f+d+Cx(a,c,u)+Ix[l]+Tr[l]|0,p=(De(n,2)^De(n,13)^De(n,22))+Bx(n,i,o)|0;f=u,u=c,c=a,a=s+m|0,s=o,o=i,i=n,n=m+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){Tr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Kn=$o(()=>new Xc);var Zc={hashSHA256(e){return Kn(e.subarray())},getHKDF(e,t){let r=ch(Kn,t,e),i=uh(Kn,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=Ci.utils.randomPrivateKey();return{publicKey:Ci.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ci.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ci.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return _c(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return _c(n,t,r).decrypt(e.subarray(),i)}};var fh=Zc;var Mn=e=>{let t=ie(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Mn.bytes=2;var Bi=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)};Bi.bytes=2;function lh(e){return new Ct(e.ne,e.ciphertext)}function hh(e){return new Ct(e.ne,e.ns,e.ciphertext)}function dh(e){return new Ct(e.ns,e.ciphertext)}function ph(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:dt(0)}}function yh(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 mh(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:dt(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var xh=16;function bh(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;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new Ct(Mn(s.byteLength),s)}}}function wh(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-xh<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-xh),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Ti=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},tn=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var $T=jt(Li(),1),YT=jt(Ud(),1);var Tv=jt(xt(),1);var E0={};ut(E0,{Ed25519PrivateKey:()=>an,Ed25519PublicKey:()=>Ui,generateKeyPair:()=>rv,generateKeyPairFromSeed:()=>Gd,unmarshalEd25519PrivateKey:()=>tv,unmarshalEd25519PublicKey:()=>ev});var nI=jt(Ot(),1),iI=jt(gs(),1),Od=jt(xt(),1);function ke(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=Rt([new Uint8Array(t-r.length),r])}return st(r,"base64url")}function he(e){let t=Kd(e);return new Od.default.jsbn.BigInteger(st(t,"base16"),16)}function Kd(e,t){let r=wt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Rt([new Uint8Array(t-r.length),r])}return r}function ge(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var zn=32,fr=64,vs=32;function Md(){let e=Un.utils.randomPrivateKey(),t=Un.getPublicKey(e);return{privateKey:qd(e,t),publicKey:t}}function Fd(e){if(e.length!==vs)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=Un.getPublicKey(t);return{privateKey:qd(t,r),publicKey:r}}function Vd(e,t){let r=e.subarray(0,vs);return Un.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Hd(e,t,r){return Un.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function qd(e,t){let r=new Uint8Array(fr);for(let n=0;n<vs;n++)r[n]=e[n],r[vs+n]=t[n];return r}var ue={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 b0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function w0(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=ue.get();r*=8;async function c(l,d){let m=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=wt(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",b0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:m,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",b0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:m,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,y,l);return Rt([m,p.iv,new Uint8Array(g)])}async function u(l,d){let m=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),y={name:t,iv:h};typeof d=="string"&&(d=wt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:m,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,S,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",b0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:m,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,S,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(y,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function Gn(e,t){let n=await w0().encrypt(e,t);return ro.encode(n)}var Tt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(Tt||(Tt={}));var v0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(v0||(v0={}));(function(e){e.codec=()=>Wr(v0)})(Tt||(Tt={}));var ze;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Tt.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=Tt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(ze||(ze={}));var Ge;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Tt.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=Tt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Ge||(Ge={}));var Ui=class{_key;constructor(t){this._key=Wn(t,zn)}verify(t,r){return Hd(this._key,r,t)}marshal(){return this._key}get bytes(){return ze.encode({Type:Tt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ht(this.bytes,t.bytes)}hash(){let t=Yt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},an=class{_key;_publicKey;constructor(t,r){this._key=Wn(t,fr),this._publicKey=Wn(r,zn)}sign(t){return Vd(this._key,t)}get public(){return new Ui(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:Tt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ht(this.bytes,t.bytes)}async hash(){let t=Yt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=mr.digest(this.public.bytes);return Mt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Gn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function tv(e){if(e.length>fr){e=Wn(e,fr+zn);let n=e.subarray(0,fr),i=e.subarray(fr,e.length);return new an(n,i)}e=Wn(e,fr);let t=e.subarray(0,fr),r=e.subarray(zn);return new an(t,r)}function ev(e){return e=Wn(e,zn),new Ui(e)}async function rv(){let{privateKey:e,publicKey:t}=Md();return new an(e,t)}async function Gd(e){let{privateKey:t,publicKey:r}=Fd(e);return new an(t,r)}function Wn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var nv={"P-256":256,"P-384":384,"P-521":521},iv=Object.keys(nv),_I=iv.join(" / ");var B0={};ut(B0,{MAX_KEY_SIZE:()=>Fi,RsaPrivateKey:()=>$n,RsaPublicKey:()=>Mi,fromJwk:()=>yv,generateKeyPair:()=>mv,unmarshalRsaPrivateKey:()=>dv,unmarshalRsaPublicKey:()=>pv});var Ki=jt(xt(),1);var pT=jt(Zd(),1);function Ss(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Qr(e)}var ZI=jt(ws(),1),D0=jt(xt(),1);function Qd(e,t){return t.map(r=>he(e[r]))}function jd(e){return D0.default.pki.setRsaPrivateKey(...Qd(e,["n","e","d","p","q","dp","dq","qi"]))}function Jd(e){return D0.default.pki.setRsaPublicKey(...Qd(e,["n","e"]))}var un={};ut(un,{jwkToPkcs1:()=>cv,jwkToPkix:()=>fv,pkcs1ToJwk:()=>av,pkixToJwk:()=>uv});var JI=jt(Li(),1),tT=jt(ws(),1);var lr=jt(xt(),1);function av(e){let t=lr.default.asn1.fromDer(st(e,"ascii")),r=lr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:ke(r.n),e:ke(r.e),d:ke(r.d),p:ke(r.p),q:ke(r.q),dp:ke(r.dP),dq:ke(r.dQ),qi:ke(r.qInv),alg:"RS256"}}function cv(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return wt(lr.default.asn1.toDer(t).getBytes(),"ascii")}function uv(e){let t=lr.default.asn1.fromDer(st(e,"ascii")),r=lr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:ke(r.n),e:ke(r.e)}}function fv(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return wt(lr.default.asn1.toDer(t).getBytes(),"ascii")}async function tp(e){let t=await ue.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 np(t);return{privateKey:r[0],publicKey:r[1]}}async function C0(e){let r=[await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await lv(e)],n=await np({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ep(e,t){let r=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ue.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function rp(e,t,r){let n=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ue.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function np(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ue.get().subtle.exportKey("jwk",e.privateKey),ue.get().subtle.exportKey("jwk",e.publicKey)])}async function lv(e){return ue.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 ip(e,t,r,n){let i=t?Jd(e):jd(e),o=st(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return wt(s,"ascii")}function op(e,t){return ip(e,!0,t,(r,n)=>n.encrypt(r))}function sp(e,t){return ip(e,!1,t,(r,n)=>n.decrypt(r))}function As(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return wt(e.n,"base64url").length*8}var Fi=8192,Mi=class{_key;constructor(t){this._key=t}verify(t,r){return rp(this._key,r,t)}marshal(){return un.jwkToPkix(this._key)}get bytes(){return ze.encode({Type:Tt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return op(this._key,t)}equals(t){return Ht(this.bytes,t.bytes)}hash(){let t=Yt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},$n=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Ss(16)}sign(t){return ep(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Mi(this._publicKey)}decrypt(t){return sp(this._key,t)}marshal(){return un.jwkToPkcs1(this._key)}get bytes(){return Ge.encode({Type:Tt.RSA,Data:this.marshal()}).subarray()}equals(t){return Ht(this.bytes,t.bytes)}hash(){let t=Yt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return st(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ki.default.util.ByteBuffer(this.marshal()),i=Ki.default.asn1.fromDer(n),o=Ki.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ki.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return Gn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function dv(e){let t=un.pkcs1ToJwk(e);if(As(t)>Fi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await C0(t);return new $n(r.privateKey,r.publicKey)}function pv(e){let t=un.pkixToJwk(e);if(As(t)>Fi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Mi(t)}async function yv(e){if(As(e)>Fi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await C0(e);return new $n(t.privateKey,t.publicKey)}async function mv(e){if(e>Fi)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await tp(e);return new $n(t.privateKey,t.publicKey)}var k0={};ut(k0,{Secp256k1PrivateKey:()=>Hi,Secp256k1PublicKey:()=>Vi,generateKeyPair:()=>Iv,unmarshalSecp256k1PrivateKey:()=>Cv,unmarshalSecp256k1PublicKey:()=>Bv});function gv(e){let t=Si(e);pe(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:xv,hexToBytes:bv}=Zo,fn={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=fn;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:xv(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=fn,r=typeof e=="string"?bv(e):e;if(!Ce(r))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}=fn._parseInt(r.subarray(2)),{d:s,l:a}=fn._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=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}`}},hr=BigInt(0),xe=BigInt(1),vT=BigInt(2),ap=BigInt(3),ET=BigInt(4);function wv(e){let t=gv(e),{Fp:r}=t,n=t.toBytes||((h,p,y)=>{let g=p.toAffine();return or(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),g=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function o(h){let{a:p,b:y}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,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"&&hr<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:g,n:b}=t;if(p&&typeof h!="bigint"){if(Ce(h)&&(h=rr(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:nr(Et("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=lt(x,b)),a(x),x}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,g){if(this.px=p,this.py=y,this.pz=g,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(p){let{x:y,y:g}=p||{};if(!p||!r.isValid(y)||!r.isValid(g))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let b=x=>r.eql(x,r.ZERO);return b(y)&&b(g)?l.ZERO:new l(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(g=>g.pz));return p.map((g,b)=>g.toAffine(y[b])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(Et("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.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 g=r.sqr(y),b=o(p);if(!r.eql(g,b))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:y,py:g,pz:b}=this,{px:x,py:S,pz:w}=p,E=r.eql(r.mul(y,w),r.mul(x,b)),C=r.eql(r.mul(g,w),r.mul(S,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=t,g=r.mul(y,ap),{px:b,py:x,pz:S}=this,w=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),U=r.mul(x,x),K=r.mul(S,S),O=r.mul(b,x);return O=r.add(O,O),C=r.mul(b,S),C=r.add(C,C),w=r.mul(p,C),E=r.mul(g,K),E=r.add(w,E),w=r.sub(U,E),E=r.add(U,E),E=r.mul(w,E),w=r.mul(O,w),C=r.mul(g,C),K=r.mul(p,K),O=r.sub(B,K),O=r.mul(p,O),O=r.add(O,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,O),E=r.add(E,B),K=r.mul(x,S),K=r.add(K,K),B=r.mul(K,O),w=r.sub(w,B),C=r.mul(K,U),C=r.add(C,C),C=r.add(C,C),new l(w,E,C)}add(p){f(p);let{px:y,py:g,pz:b}=this,{px:x,py:S,pz:w}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,U=t.a,K=r.mul(t.b,ap),O=r.mul(y,x),F=r.mul(g,S),G=r.mul(b,w),Q=r.add(y,g),I=r.add(x,S);Q=r.mul(Q,I),I=r.add(O,F),Q=r.sub(Q,I),I=r.add(y,b);let R=r.add(x,w);return I=r.mul(I,R),R=r.add(O,G),I=r.sub(I,R),R=r.add(g,b),E=r.add(S,w),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(U,I),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(O,O),F=r.add(F,O),G=r.mul(U,G),I=r.mul(K,I),F=r.add(F,G),G=r.sub(O,G),G=r.mul(U,G),I=r.add(I,G),O=r.mul(F,I),C=r.add(C,O),O=r.mul(R,I),E=r.mul(Q,E),E=r.sub(E,O),O=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,O),new l(E,C,B)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return m.wNAFCached(this,u,p,y=>{let g=r.invertBatch(y.map(b=>b.pz));return y.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===hr)return y;if(a(p),p===xe)return this;let{endo:g}=t;if(!g)return m.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:S,k2:w}=g.splitScalar(p),E=y,C=y,B=this;for(;x>hr||w>hr;)x&xe&&(E=E.add(B)),w&xe&&(C=C.add(B)),B=B.double(),x>>=xe,w>>=xe;return b&&(E=E.negate()),S&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let y=p,g,b,{endo:x}=t;if(x){let{k1neg:S,k1:w,k2neg:E,k2:C}=x.splitScalar(y),{p:B,f:U}=this.wNAF(w),{p:K,f:O}=this.wNAF(C);B=m.constTimeNegate(S,B),K=m.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=U.add(O)}else{let{p:S,f:w}=this.wNAF(y);g=S,b=w}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,y,g){let b=l.BASE,x=(w,E)=>E===hr||E===xe||!w.equals(b)?w.multiplyUnsafe(E):w.multiply(E),S=x(this,y).add(x(p,g));return S.is0()?void 0:S}toAffine(p){let{px:y,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let S=r.mul(y,p),w=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:S,y:w}}isTorsionFree(){let{h:p,isTorsionFree:y}=t;if(p===xe)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===xe?this:y?y(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return rr(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,m=Jo(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function vv(e){let t=Si(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function cp(e){let t=vv(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(I){return hr<I&&I<r.ORDER}function a(I){return lt(I,n)}function c(I){return Qo(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=wv({...t,toBytes(I,R,_){let k=R.toAffine(),A=r.toBytes(k.x),P=or;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),A):P(Uint8Array.from([4]),A,r.toBytes(k.y))},fromBytes(I){let R=I.length,_=I[0],k=I.subarray(1);if(R===i&&(_===2||_===3)){let A=nr(k);if(!s(A))throw new Error("Point is not on curve");let P=l(A),M=r.sqrt(P),H=(M&xe)===xe;return(_&1)===1!==H&&(M=r.neg(M)),{x:A,y:M}}else if(R===o&&_===4){let A=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:A,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),m=I=>rr(Br(I,t.nByteLength));function h(I){let R=n>>xe;return I>R}function p(I){return h(I)?a(-I):I}let y=(I,R,_)=>nr(I.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=Et("compactSignature",R,_*2),new g(y(R,0,_),y(R,_,2*_))}static fromDER(R){let{r:_,s:k}=fn.toSig(Et("DER",R));return new g(_,k)}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(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:A}=this,P=C(Et("msgHash",R));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let M=A===2||A===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=A&1?"03":"02",Z=u.fromHex(H+m(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return jr(this.toDERHex())}toDERHex(){return fn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return jr(this.toCompactHex())}toCompactHex(){return m(this.r)+m(this.s)}}let b={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=qc(t.n);return Jl(t.randomBytes(I),t.n)},precompute(I=8,R=u.BASE){return R._setWindowSize(I),R.multiply(BigInt(3)),R}};function x(I,R=!0){return u.fromPrivateKey(I).toRawBytes(R)}function S(I){let R=Ce(I),_=typeof I=="string",k=(R||_)&&I.length;return R?k===i||k===o:_?k===2*i||k===2*o:I instanceof u}function w(I,R,_=!0){if(S(I))throw new Error("first arg must be private key");if(!S(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(I)).toRawBytes(_)}let E=t.bits2int||function(I){let R=nr(I),_=I.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(I){return a(E(I))},B=Ei(t.nBitLength);function U(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(hr<=I&&I<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Br(I,t.nByteLength)}function K(I,R,_=O){if(["recovered","canonical"].some(gt=>gt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:A}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),I=Et("msgHash",I),M&&(I=Et("prehashed msgHash",k(I)));let Z=C(I),j=f(R),it=[U(j),U(Z)];if(H!=null){let gt=H===!0?A(r.BYTES):H;it.push(Et("extraEntropy",gt))}let J=or(...it),et=Z;function bt(gt){let Wt=E(gt);if(!d(Wt))return;let $t=c(Wt),Kt=u.BASE.multiply(Wt).toAffine(),Qt=a(Kt.x);if(Qt===hr)return;let $e=a($t*a(et+Qt*j));if($e===hr)return;let Ur=(Kt.x===Qt?0:2)|Number(Kt.y&xe),ni=$e;return P&&h($e)&&(ni=p($e),Ur^=1),new g(Qt,ni,Ur)}return{seed:J,k2sig:bt}}let O={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(I,R,_=O){let{seed:k,k2sig:A}=K(I,R,_),P=t;return Kc(P.hash.outputLen,P.nByteLength,P.hmac)(k,A)}u.BASE._setWindowSize(8);function Q(I,R,_,k=F){let A=I;if(R=Et("msgHash",R),_=Et("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof A=="string"||Ce(A))try{H=g.fromDER(A)}catch(Kt){if(!(Kt instanceof fn.Err))throw Kt;H=g.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:Kt,s:Qt}=A;H=new g(Kt,Qt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Kt){if(Kt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),bt=a(J*et),gt=a(j*et),Wt=u.BASE.multiplyAndAddUnsafe(Z,bt,gt)?.toAffine();return Wt?a(Wt.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:w,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function Ev(e){return{hash:e,hmac:(t,...r)=>On(e,t,Wo(...r)),randomBytes:Qr}}function up(e,t){let r=n=>cp({...e,...Ev(n)});return Object.freeze({...r(t),create:r})}var hp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),fp=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Sv=BigInt(1),I0=BigInt(2),lp=(e,t)=>(e+t/I0)/t;function Av(e){let t=hp,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=St(f,r,t)*f%t,d=St(l,r,t)*f%t,m=St(d,I0,t)*u%t,h=St(m,i,t)*m%t,p=St(h,o,t)*h%t,y=St(p,a,t)*p%t,g=St(y,c,t)*y%t,b=St(g,a,t)*p%t,x=St(b,r,t)*f%t,S=St(x,s,t)*h%t,w=St(S,n,t)*u%t,E=St(w,I0,t);if(!T0.eql(T0.sqr(E),e))throw new Error("Cannot find square root");return E}var T0=jo(hp,void 0,void 0,{sqrt:Av}),Re=up({a:BigInt(0),b:BigInt(7),Fp:T0,n:fp,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=fp,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Sv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=lp(o*e,t),c=lp(-n*e,t),u=lt(e-a*r-c*i,t),f=lt(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},Kn),kT=BigInt(0);var RT=Re.ProjectivePoint;function dp(){return Re.utils.randomPrivateKey()}function pp(e,t){let r=Yt.digest(t instanceof Uint8Array?t:t.subarray());if(ge(r))return r.then(({digest:n})=>Re.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return Re.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function yp(e,t,r){let n=Yt.digest(r instanceof Uint8Array?r:r.subarray());if(ge(n))return n.then(({digest:i})=>Re.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return Re.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function mp(e){return Re.ProjectivePoint.fromHex(e).toRawBytes(!0)}function gp(e){try{Re.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function _0(e){try{Re.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function xp(e){try{return Re.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Vi=class{_key;constructor(t){_0(t),this._key=t}verify(t,r){return yp(this._key,r,t)}marshal(){return mp(this._key)}get bytes(){return ze.encode({Type:Tt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ht(this.bytes,t.bytes)}async hash(){let t=Yt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}},Hi=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??xp(t),gp(this._key),_0(this._publicKey)}sign(t){return pp(this._key,t)}get public(){return new Vi(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:Tt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ht(this.bytes,t.bytes)}hash(){let t=Yt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return st(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return Gn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Cv(e){return new Hi(e)}function Bv(e){return new Vi(e)}async function Iv(){let e=dp();return new Hi(e)}var ln={rsa:B0,ed25519:E0,secp256k1:k0};function bp(e){let t=Object.keys(ln).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function wp(e){let t=ze.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Tt.RSA:return ln.rsa.unmarshalRsaPublicKey(r);case Tt.Ed25519:return ln.ed25519.unmarshalEd25519PublicKey(r);case Tt.Secp256k1:return ln.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw bp(t.Type??"unknown")}}async function vp(e){let t=Ge.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case Tt.RSA:return ln.rsa.unmarshalRsaPrivateKey(r);case Tt.Ed25519:return ln.ed25519.unmarshalEd25519PrivateKey(r);case Tt.Secp256k1:return ln.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw bp(t.Type??"RSA")}}var Ds;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((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=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Ds||(Ds={}));var qi;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((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),Ds.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:dt(0),identitySig:dt(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=Ds.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(qi||(qi={}));async function Ep(e,t,r){let n=await kv(e,Sp(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return _v(e.publicKey,n,r)}function _v(e,t,r){return qi.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function kv(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await vp(e.privateKey)).sign(t)}async function R0(e){return pa(e.identityKey)}function L0(e){return qi.decode(e)}function Sp(e){let t=wt("noise-libp2p-static-key:");return e instanceof Uint8Array?Rt([t,e],t.length+e.length):(e.prepend(t),e)}async function N0(e,t,r){let n=await pa(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=Sp(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 wp(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function zi(e){return!(!(e instanceof Uint8Array)&&!Dn(e)||e.byteLength!==32)}var Rv=0,Lv=4294967295,Nv="Cipherstate has reached maximum n, a new handshake must be performed",Cs=class{n;bytes;view;constructor(t=Rv){this.n=t,this.bytes=dt(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>Lv)throw new Error(Nv)}};var Bs=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}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 dt(32)}isEmptyKey(t){let r=this.createEmptyKey();return Ht(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:dt(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 this.log.error("error deriving shared key",i),dt(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new Ct(t,r))}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 Cs}}initializeSymmetric(t){let r=wt(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=dt(32);return r.set(t),r}else return this.getHash(t,dt(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,dt(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,dt(0),r),i=this.createEmptyKey(),o=dt(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,dt(0),r.ciphertext)}};var Is=class extends Bs{initializeInitiator(t,r,n,i){let s=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(s,t);let a=dt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let s=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(s,t);let a=dt(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=dt(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:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return zi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(zi(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&&zi(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&&zi(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=dt(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=dt(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:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function Ap(e,t){!t.enabled||!kn||(t(`LOCAL_STATIC_PUBLIC_KEY ${st(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${st(e.privateKey,"hex")}`))}function P0(e,t){!t.enabled||!kn||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${st(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${st(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function Dp(e,t){!t.enabled||!kn||t(`REMOTE_STATIC_PUBLIC_KEY ${st(e.subarray(),"hex")}`)}function U0(e,t){!t.enabled||!kn||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${st(e.subarray(),"hex")}`)}function Cp(e,t){!t.enabled||!kn||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${st(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${st(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Ts=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new Is(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(Ap(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,dt(0));await this.connection.write(lh(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),P0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=ph((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new tn("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),U0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=yh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new tn("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),U0(this.session.hs.re,this.log),Dp(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=L0(r);this.remotePeer=this.remotePeer||await R0(i),await N0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ti(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.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(hh(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),P0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(dh(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=mh((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new tn("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=L0(r);this.remotePeer=this.remotePeer||await R0(i),await N0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Ti(`Error occurred while verifying signed payload: ${o.message}`)}}Cp(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,dt(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,dt(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new tn("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 Bp(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 _s=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??fh,this.extensions=i,this.metrics=a?Bp(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??dt(0)}async secureOutbound(t,r,n){let i=wi(r,{lengthEncoder:Mn,lengthDecoder:Bi,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=wi(r,{lengthEncoder:Mn,lengthDecoder:Bi,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await Ep(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 Ts(this.components,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]=Al(),o=t.unwrap();return await Cl(n,bh(r,this.metrics),o,s=>qr(s,{lengthDecoder:Bi}),wh(r,this.metrics),n),i}};function Ip(e={}){return t=>new _s(t,e)}var i2=jt(hu(),1);var Q1=jt(hu(),1);var du=Object.values(Pe).map(e=>e.decoder).reduce((e,t)=>e.or(t));function j1(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:VE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw Xa("","no fingerprint on local certificate");return n}var FE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function VE(e){return e.match(FE)?.groups?.fingerprint}function HE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function Hs(e){let r=e.stringTuples().filter(n=>n[0]===e2).map(n=>n[1])[0];if(r===void 0||r==="")throw go(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function pu(e){let t=du.decode(e);return Q1.decode(t)}function qE(e){let t=pu(Hs(e)),r=yu(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw Xa(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function yu(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw kf(e)}}function zE(e,t){let{host:r,port:n}=e.toOptions(),i=HE(e),[o]=qE(e);return`v=0
29
+ `});var g1=dt(()=>{m1();_s();Lr();X0();Gi()});var j0,rk,x1=dt(()=>{Gp();Wp();$p();Yp();Xp();F0();Zp();q0();Qp();Jp();c1();l1();h1();d1();g1();j0={...N0,...P0,...U0,...O0,...K0,...M0,...V0,...H0,...z0,...G0},rk={...Z0,...Q0}});function Jn(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}var Ns=dt(()=>{});function Ps(e=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Jn(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}var J0=dt(()=>{Ns()});function w1(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var b1,tu,iE,Us,eu=dt(()=>{x1();J0();b1=w1("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),tu=w1("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=Ps(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),iE={utf8:b1,"utf-8":b1,hex:j0.base16,latin1:tu,ascii:tu,binary:tu,...j0},Us=iE});var v1={};ft(v1,{toString:()=>oE});function oE(e,t="utf8"){let r=Us[t];if(!r)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 E1=dt(()=>{eu()});var S1={};ft(S1,{fromString:()=>sE});function sE(e,t="utf8"){let r=Us[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Jn(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var A1=dt(()=>{eu();Ns()});var D1={};ft(D1,{concat:()=>aE});function aE(e,t){t||(t=e.reduce((i,o)=>i+o.length,0));let r=Ps(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Jn(r)}var C1=dt(()=>{J0();Ns()});var nu=st((yk,R1)=>{"use strict";var B1=Ap(),ti=Pp(),{names:$i}=Op(),{toString:Os}=(E1(),Xi(v1)),{fromString:cE}=(A1(),Xi(S1)),{concat:uE}=(C1(),Xi(D1)),ei={};for(let e in $i){let t=e;ei[$i[t]]=t}Object.freeze(ei);function fE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Os(e,"base16")}function lE(e){return cE(e,"base16")}function hE(e){if(!(e instanceof Uint8Array))throw new Error("must be passed a Uint8Array");return Os(B1.encode("base58btc",e)).slice(1)}function dE(e){let t=e instanceof Uint8Array?Os(e):e;return B1.decode("z"+t)}function I1(e){if(!(e instanceof Uint8Array))throw new Error("multihash must be a Uint8Array");if(e.length<2)throw new Error("multihash too short. must be > 2 bytes.");let t=ti.decode(e);if(!_1(t))throw new Error(`multihash unknown function code: 0x${t.toString(16)}`);e=e.slice(ti.decode.bytes);let r=ti.decode(e);if(r<0)throw new Error(`multihash invalid length: ${r}`);if(e=e.slice(ti.decode.bytes),e.length!==r)throw new Error(`multihash length inconsistent: 0x${Os(e,"base16")}`);return{code:t,name:ei[t],length:r,digest:e}}function pE(e,t,r){if(!e||t===void 0)throw new Error("multihash encode requires at least two args: digest, code");let n=T1(t);if(!(e instanceof Uint8Array))throw new Error("digest should be a Uint8Array");if(r==null&&(r=e.length),r&&e.length!==r)throw new Error("digest length should be equal to specified length.");let i=ti.encode(n),o=ti.encode(r);return uE([i,o,e],i.length+o.length+e.length)}function T1(e){let t=e;if(typeof e=="string"){if($i[e]===void 0)throw new Error(`Unrecognized hash function named: ${e}`);t=$i[e]}if(typeof t!="number")throw new Error(`Hash function code should be a number. Got: ${t}`);if(ei[t]===void 0&&!ru(t))throw new Error(`Unrecognized function code: ${t}`);return t}function ru(e){return e>0&&e<16}function _1(e){return!!(ru(e)||ei[e])}function k1(e){I1(e)}function yE(e){return k1(e),e.subarray(0,2)}R1.exports={names:$i,codes:ei,toHexString:fE,fromHexString:lE,toB58String:hE,fromB58String:dE,decode:I1,encode:pE,coerceCode:T1,isAppCode:ru,validate:k1,prefix:yE,isValidCode:_1}});var DE={};ft(DE,{webRTC:()=>AE,webRTCDirect:()=>SE});var BE=Symbol.for("@libp2p/connection");var TE=Symbol.for("@libp2p/content-routing");var RE=Symbol.for("@libp2p/peer-discovery");var mu=Symbol.for("@libp2p/peer-id");var PE=Symbol.for("@libp2p/peer-routing");var gu;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(gu||(gu={}));var Zi=Symbol.for("@libp2p/transport");var xu;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(xu||(xu={}));var W=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Qi=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r={}){return this.dispatchEvent(new t2(t,r))}},Vs=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},t2=globalThis.CustomEvent??Vs;var bu=(e,...t)=>{try{[...t]}catch{}};var Ws={};ft(Ws,{base58btc:()=>Lt,base58flickr:()=>s2});var m3=new Uint8Array(0);function wu(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}function Ye(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")}function vu(e){return new TextEncoder().encode(e)}function Eu(e){return new TextDecoder().decode(e)}function e2(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),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var p=0,m=0,g=0,b=h.length;g!==b&&h[g]===0;)g++,p++;for(var x=(b-g)*f+1>>>0,D=new Uint8Array(x);g!==b;){for(var v=h[g],E=0,C=x-1;(v!==0||E<m)&&C!==-1;C--,E++)v+=256*D[C]>>>0,D[C]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=E,g++}for(var B=x-m;B!==x&&D[B]===0;)B++;for(var O=c.repeat(p);B<x;++B)O+=e.charAt(D[B]);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 m=0,g=0;h[p]===c;)m++,p++;for(var b=(h.length-p)*u+1>>>0,x=new Uint8Array(b);h[p];){var D=r[h.charCodeAt(p)];if(D===255)return;for(var v=0,E=b-1;(D!==0||v<g)&&E!==-1;E--,v++)D+=a*x[E]>>>0,x[E]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");g=v,p++}if(h[p]!==" "){for(var C=b-g;C!==b&&x[C]===0;)C++;for(var B=new Uint8Array(m+(b-C)),O=m;C!==b;)B[O++]=x[C++];return B}}}function y(h){var p=d(h);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:y}}var r2=e2,n2=r2,Au=n2;var Hs=class{name;prefix;baseEncode;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")}},qs=class{name;prefix;baseDecode;prefixCodePoint;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 Du(this,t)}},zs=class{decoders;constructor(t){this.decoders=t}or(t){return Du(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Du(e,t){return new zs({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var Gs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Hs(t,r,n),this.decoder=new qs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function dn({name:e,prefix:t,encode:r,decode:n}){return new Gs(e,t,r,n)}function pr({name:e,prefix:t,alphabet:r}){let{encode:n,decode:i}=Au(r,e);return dn({prefix:t,name:e,encode:n,decode:o=>Ye(i(o))})}function i2(e,t,r,n){let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s}function o2(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!==0&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o}function kt({name:e,prefix:t,bitsPerChar:r,alphabet:n}){return dn({prefix:t,name:e,encode(i){return o2(i,n,r)},decode(i){return i2(i,n,r,e)}})}var Lt=pr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),s2=pr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var $s={};ft($s,{base10:()=>a2});var a2=pr({prefix:"9",name:"base10",alphabet:"0123456789"});var Ys={};ft(Ys,{base16:()=>c2,base16upper:()=>u2});var c2=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),u2=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xs={};ft(Xs,{base2:()=>f2});var f2=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Zs={};ft(Zs,{base256emoji:()=>y2});var Cu=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}"),l2=Cu.reduce((e,t,r)=>(e[r]=t,e),[]),h2=Cu.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function d2(e){return e.reduce((t,r)=>(t+=l2[r],t),"")}function p2(e){let t=[];for(let r of e){let n=h2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var y2=dn({prefix:"\u{1F680}",name:"base256emoji",encode:d2,decode:p2});var Qs={};ft(Qs,{base32:()=>Xe,base32hex:()=>b2,base32hexpad:()=>v2,base32hexpadupper:()=>E2,base32hexupper:()=>w2,base32pad:()=>g2,base32padupper:()=>x2,base32upper:()=>m2,base32z:()=>S2});var Xe=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),m2=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),g2=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),x2=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),b2=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),w2=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),v2=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),E2=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),S2=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var js={};ft(js,{base36:()=>A2,base36upper:()=>D2});var A2=pr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),D2=pr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ta={};ft(ta,{base64:()=>ji,base64pad:()=>C2,base64url:()=>Js,base64urlpad:()=>B2});var ji=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),C2=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Js=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),B2=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ea={};ft(ea,{base8:()=>I2});var I2=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ra={};ft(ra,{identity:()=>T2});var T2=dn({prefix:"\0",name:"identity",encode:e=>Eu(e),decode:e=>vu(e)});var R3=new TextEncoder,L3=new TextDecoder;var ia={};ft(ia,{identity:()=>yr});var R2=Tu,Bu=128,L2=127,N2=~L2,P2=Math.pow(2,31);function Tu(e,t,r){t=t||[],r=r||0;for(var n=r;e>=P2;)t[r++]=e&255|Bu,e/=128;for(;e&N2;)t[r++]=e&255|Bu,e>>>=7;return t[r]=e|0,Tu.bytes=r-n+1,t}var U2=na,O2=128,Iu=127;function na(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw na.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Iu)<<i:(s&Iu)*Math.pow(2,i),i+=7}while(s>=O2);return na.bytes=o-n,r}var K2=Math.pow(2,7),M2=Math.pow(2,14),F2=Math.pow(2,21),V2=Math.pow(2,28),H2=Math.pow(2,35),q2=Math.pow(2,42),z2=Math.pow(2,49),G2=Math.pow(2,56),W2=Math.pow(2,63),$2=function(e){return e<K2?1:e<M2?2:e<F2?3:e<V2?4:e<H2?5:e<q2?6:e<z2?7:e<G2?8:e<W2?9:10},Y2={encode:R2,decode:U2,encodingLength:$2},X2=Y2,ni=X2;function ii(e,t=0){return[ni.decode(e,t),ni.decode.bytes]}function pn(e,t,r=0){return ni.encode(e,t,r),t}function yn(e){return ni.encodingLength(e)}function Ne(e,t){let r=t.byteLength,n=yn(e),i=n+yn(r),o=new Uint8Array(i+r);return pn(e,o,0),pn(r,o,n),o.set(t,i),new mn(e,r,t,o)}function Ur(e){let t=Ye(e),[r,n]=ii(t),[i,o]=ii(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new mn(r,i,s,t)}function _u(e,t){if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&wu(e.bytes,r.bytes)}}var mn=class{code;size;digest;bytes;constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var ku=0,Z2="identity",Ru=Ye;function Q2(e){return Ne(ku,Ru(e))}var yr={code:ku,name:Z2,encode:Ru,digest:Q2};var aa={};ft(aa,{sha256:()=>Xt,sha512:()=>j2});function sa({name:e,code:t,encode:r}){return new oa(e,t,r)}var oa=class{name;code;encode;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?Ne(this.code,r):r.then(n=>Ne(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Nu(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var Xt=sa({name:"sha2-256",code:18,encode:Nu("SHA-256")}),j2=sa({name:"sha2-512",code:19,encode:Nu("SHA-512")});function Pu(e,t){let{bytes:r,version:n}=e;switch(n){case 0:return ty(r,ca(e),t??Lt.encoder);default:return ey(r,ca(e),t??Xe.encoder)}}var Uu=new WeakMap;function ca(e){let t=Uu.get(e);if(t==null){let r=new Map;return Uu.set(e,r),r}return t}var be=class e{code;version;multihash;bytes;"/";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!==oi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==ry)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=Ne(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!=null&&t.code===n.code&&t.version===n.version&&_u(t.multihash,n.multihash)}toString(t){return Pu(this,t)}toJSON(){return{"/":Pu(this)}}link(){return this}[Symbol.toStringTag]="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??Ou(n,i,o.bytes))}else if(r[ny]===!0){let{version:n,multihash:i,code:o}=r,s=Ur(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!==oi)throw new Error(`Version 0 CID must use dag-pb (code: ${oi}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=Ou(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,oi,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=Ye(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 mn(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]=ii(t.subarray(r));return r+=d,l},i=n(),o=oi;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=J2(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 ca(o).set(n,t),o}};function J2(e,t){switch(e[0]){case"Q":{let r=t??Lt;return[Lt.prefix,r.decode(`${Lt.prefix}${e}`)]}case Lt.prefix:{let r=t??Lt;return[Lt.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)]}}}function ty(e,t,r){let{prefix:n}=r;if(n!==Lt.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}function ey(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}var oi=112,ry=18;function Ou(e,t,r){let n=yn(e),i=n+yn(t),o=new Uint8Array(i+r.byteLength);return pn(e,o,0),pn(t,o,n),o.set(r,i),o}var ny=Symbol.for("@ipld/js-cid/CID");var Pe={...ra,...Xs,...ea,...$s,...Ys,...Qs,...js,...Ws,...ta,...Zs},t4={...aa,...ia};function Ot(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 iy=Symbol.for("nodejs.util.inspect.custom"),Ku=Object.values(Pe).map(e=>e.decoder).reduce((e,t)=>e.or(t),Pe.identity.decoder),Mu=114,ua=36,fa=37,si=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()})`}[mu]=!0;toString(){return this.string==null&&(this.string=Lt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return be.createV1(Mu,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Ot(this.multihash.bytes,t);if(typeof t=="string")return Kr(t).equals(this);if(t?.multihash?.bytes!=null)return Ot(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[iy](){return`PeerId(${this.toString()})`}},gn=class extends si{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},xn=class extends si{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},bn=class extends si{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Kr(e,t){if(t=t??Ku,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Ur(Lt.decode(`z${e}`));return e.startsWith("12D")?new xn({multihash:r}):e.startsWith("16U")?new bn({multihash:r}):new gn({multihash:r})}return oy(Ku.decode(e))}function oy(e){try{let t=Ur(e);if(t.code===yr.code){if(t.digest.length===ua)return new xn({multihash:t});if(t.digest.length===fa)return new bn({multihash:t})}if(t.code===Xt.code)return new gn({multihash:t})}catch{return sy(be.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function sy(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==Mu)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Xt.code)return new gn({multihash:e.multihash});if(t.code===yr.code){if(t.digest.length===ua)return new xn({multihash:e.multihash});if(t.digest.length===fa)return new bn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function la(e,t){return e.length===ua?new xn({multihash:Ne(yr.code,e),privateKey:t}):e.length===fa?new bn({multihash:Ne(yr.code,e),privateKey:t}):new gn({multihash:await Xt.digest(e),publicKey:e,privateKey:t})}function Ze(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function ot(e=0){return globalThis.Buffer?.alloc!=null?Ze(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function Vt(e=0){return globalThis.Buffer?.allocUnsafe!=null?Ze(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Vu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Fu=Vu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),ha=Vu("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=Vt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),cy={utf8:Fu,"utf-8":Fu,hex:Pe.base16,latin1:ha,ascii:ha,binary:ha,...Pe},to=cy;function at(e,t="utf8"){let r=to[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 uy=Math.pow(2,7),fy=Math.pow(2,14),ly=Math.pow(2,21),da=Math.pow(2,28),pa=Math.pow(2,35),ya=Math.pow(2,42),ma=Math.pow(2,49),pt=128,te=127;function ee(e){if(e<uy)return 1;if(e<fy)return 2;if(e<ly)return 3;if(e<da)return 4;if(e<pa)return 5;if(e<ya)return 6;if(e<ma)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hy(e,t,r=0){switch(ee(e)){case 8:t[r++]=e&255|pt,e/=128;case 7:t[r++]=e&255|pt,e/=128;case 6:t[r++]=e&255|pt,e/=128;case 5:t[r++]=e&255|pt,e/=128;case 4:t[r++]=e&255|pt,e>>>=7;case 3:t[r++]=e&255|pt,e>>>=7;case 2:t[r++]=e&255|pt,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function dy(e,t,r=0){switch(ee(e)){case 8:t.set(r++,e&255|pt),e/=128;case 7:t.set(r++,e&255|pt),e/=128;case 6:t.set(r++,e&255|pt),e/=128;case 5:t.set(r++,e&255|pt),e/=128;case 4:t.set(r++,e&255|pt),e>>>=7;case 3:t.set(r++,e&255|pt),e>>>=7;case 2:t.set(r++,e&255|pt),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function py(e,t){let r=e[t],n=0;if(n+=r&te,r<pt||(r=e[t+1],n+=(r&te)<<7,r<pt)||(r=e[t+2],n+=(r&te)<<14,r<pt)||(r=e[t+3],n+=(r&te)<<21,r<pt)||(r=e[t+4],n+=(r&te)*da,r<pt)||(r=e[t+5],n+=(r&te)*pa,r<pt)||(r=e[t+6],n+=(r&te)*ya,r<pt)||(r=e[t+7],n+=(r&te)*ma,r<pt))return n;throw new RangeError("Could not decode varint")}function yy(e,t){let r=e.get(t),n=0;if(n+=r&te,r<pt||(r=e.get(t+1),n+=(r&te)<<7,r<pt)||(r=e.get(t+2),n+=(r&te)<<14,r<pt)||(r=e.get(t+3),n+=(r&te)<<21,r<pt)||(r=e.get(t+4),n+=(r&te)*da,r<pt)||(r=e.get(t+5),n+=(r&te)*pa,r<pt)||(r=e.get(t+6),n+=(r&te)*ya,r<pt)||(r=e.get(t+7),n+=(r&te)*ma,r<pt))return n;throw new RangeError("Could not decode varint")}function mr(e,t,r=0){return t==null&&(t=Vt(ee(e))),t instanceof Uint8Array?hy(e,t,r):dy(e,t,r)}function we(e,t=0){return e instanceof Uint8Array?py(e,t):yy(e,t)}function Ct(e,t){if(globalThis.Buffer!=null)return Ze(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=Vt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Ze(r)}var eo=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",u=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let 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 Hu=45,my=15,wn=new eo;function ga(e){if(!(e.length>my))return wn.new(e).parseWith(()=>wn.readIPv4Addr())}function xa(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Hu))return wn.new(e).parseWith(()=>wn.readIPv6Addr())}function ro(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Hu))return wn.new(e).parseWith(()=>wn.readIPAddr())}var R4=parseInt("0xFFFF",16),L4=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function wt(e,t="utf8"){let r=to[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ze(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function no(e){return!!ga(e)}function io(e){return!!xa(e)}function oo(e){return!!ro(e)}var Gu=no,vy=io,ba=function(e){let t=0;if(e=e.toString().trim(),Gu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(vy(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=Gu(r[n]),s;o&&(s=ba(r[n]),r[n]=at(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,at(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")},Wu=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 vn={},wa={},Sy=[[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"]];Sy.forEach(e=>{let t=Ay(...e);wa[t.code]=t,vn[t.name]=t});function Ay(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(wa[e]!=null)return wa[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(vn[e]!=null)return vn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var bS=yt("ip4"),wS=yt("ip6"),vS=yt("ipcidr");function Ea(e,t){switch(yt(e).code){case 4:case 41:return Cy(t);case 42:return Xu(t);case 6:case 273:case 33:case 132:return Qu(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Xu(t);case 421:return _y(t);case 444:return Zu(t);case 445:return Zu(t);case 466:return Ty(t);default:return at(t,"base16")}}function Sa(e,t){switch(yt(e).code){case 4:return $u(t);case 41:return $u(t);case 42:return Yu(t);case 6:case 273:case 33:case 132:return Aa(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yu(t);case 421:return By(t);case 444:return ky(t);case 445:return Ry(t);case 466:return Iy(t);default:return wt(t,"base16")}}var va=Object.values(Pe).map(e=>e.decoder),Dy=function(){let e=va[0].or(va[1]);return va.slice(2).forEach(t=>e=e.or(t)),e}();function $u(e){if(!oo(e))throw new Error("invalid ip address");return ba(e)}function Cy(e){let t=Wu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!oo(t))throw new Error("invalid ip address");return t}function Aa(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Qu(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Yu(e){let t=wt(e),r=Uint8Array.from(mr(t.length));return Ct([r,t],r.length+t.length)}function Xu(e){let t=we(e);if(e=e.slice(ee(t)),e.length!==t)throw new Error("inconsistent lengths");return at(e)}function By(e){let t;e[0]==="Q"||e[0]==="1"?t=Ur(Lt.decode(`z${e}`)).bytes:t=be.parse(e).multihash.bytes;let r=Uint8Array.from(mr(t.length));return Ct([r,t],r.length+t.length)}function Iy(e){let t=Dy.decode(e),r=Uint8Array.from(mr(t.length));return Ct([r,t],r.length+t.length)}function Ty(e){let t=we(e),r=e.slice(ee(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+at(r,"base64url")}function _y(e){let t=we(e),r=e.slice(ee(t));if(r.length!==t)throw new Error("inconsistent lengths");return at(r,"base58btc")}function ky(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=Aa(n);return Ct([r,i],r.length+i.length)}function Ry(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=Aa(n);return Ct([r,i],r.length+i.length)}function Zu(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=at(t,"base32"),i=Qu(r);return`${n}:${i}`}function ju(e){e=Da(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=yt(s);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw tf("invalid address: "+e);if(a.path===!0){n=Da(i.slice(o).join("/")),t.push([a.code,Sa(a.code,n)]),r.push([a.code,n]);break}let c=Sa(a.code,i[o]);t.push([a.code,c]),r.push([a.code,Ea(a.code,c)])}return{string:Ju(r),bytes:Ba(t),tuples:t,stringTuples:r,path:n}}function Ca(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let o=we(e,i),s=ee(o),a=yt(o),c=Ly(a,e.slice(i+s));if(c===0){t.push([o]),r.push([o]),i+=s;continue}let u=e.slice(i+s,i+s+c);if(i+=c+s,i>e.length)throw tf("Invalid address Uint8Array: "+at(e,"base16"));t.push([o,u]);let f=Ea(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:Ju(r),tuples:t,stringTuples:r,path:n}}function Ju(e){let t=[];return e.map(r=>{let n=yt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Da(t.join("/"))}function Ba(e){return Ct(e.map(t=>{let r=yt(t[0]),n=Uint8Array.from(mr(r.code));return t.length>1&&t[1]!=null&&(n=Ct([n,t[1]])),n}))}function Ly(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=we(t instanceof Uint8Array?t:Uint8Array.from(t));return r+ee(r)}}function Da(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function tf(e){return new Error("Error parsing address: "+e)}var Ny=Symbol.for("nodejs.util.inspect.custom"),Ia=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Py=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],so=class e{bytes;#t;#e;#r;#n;[Ia]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ca(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=ju(t)}else if(rf(t))r=Ca(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=yt("tcp"),a=yt("udp"),c=yt("ip4"),u=yt("ip6"),f=yt("dns6"),l=yt("ip6zone");for(let[y,h]of this.stringTuples())y===l.code&&(o=`%${h??""}`),Py.includes(y)&&(r=s.name,i=443,n=`${h??""}${o}`,t=y===f.code?6:4),(y===s.code||y===a.code)&&(r=yt(y).name,i=parseInt(h??"")),(y===c.code||y===u.code)&&(r=yt(y).name,n=`${h??""}${o}`,t=y===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},yt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>yt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ba(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===vn.p2p.code&&t.push([n,i]),n===vn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?at(Lt.decode(`z${n}`),"base58btc"):at(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=ef.get(r.name);if(n==null)throw new W(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(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)}[Ny](){return`Multiaddr(${this.#t})`}};var ef=new Map;function rf(e){return!!e?.[Ia]}function Qe(e){return new so(e)}var Uy=e=>e.toString().split("/").slice(1),ci=e=>({match:t=>t.length<1?!1:e(t[0])?t.slice(1):!1,pattern:"fn"}),Nt=e=>({match:t=>ci(r=>r===e).match(t),pattern:e}),uo=()=>({match:e=>ci(t=>typeof t=="string").match(e),pattern:"{string}"}),nf=()=>({match:e=>ci(t=>!isNaN(parseInt(t))).match(e),pattern:"{number}"}),de=()=>({match:e=>{if(e.length<2||e[0]!=="p2p"&&e[0]!=="ipfs")return!1;if(e[1].startsWith("Q")||e[1].startsWith("1"))try{Lt.decode(`z${e[1]}`)}catch{return!1}else return!1;return e.slice(2)},pattern:"/p2p/{peerid}"}),ao=()=>({match:e=>{if(e.length<2||e[0]!=="certhash")return!1;try{Js.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})`}),Oe=(...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(", ")})`}),Pt=(...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 Ht(...e){function t(i){let o=Uy(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 _a=Pt(Nt("dns4"),uo()),ka=Pt(Nt("dns6"),uo()),Ra=Pt(Nt("dnsaddr"),uo()),of=Pt(Nt("dns"),uo()),ZS=Ht(_a),QS=Ht(ka),jS=Ht(Ra),JS=Ht(Oe(of,Ra,_a,ka)),sf=Pt(Nt("ip4"),ci(no)),af=Pt(Nt("ip6"),ci(io)),cf=Oe(sf,af),ui=Oe(cf,of,_a,ka,Ra),t5=Ht(ui),e5=Ht(sf),r5=Ht(af),n5=Ht(cf),fo=Pt(ui,Nt("tcp"),nf()),fi=Pt(ui,Nt("udp"),nf()),Oy=Oe(fo,fi),i5=Ht(fo),o5=Ht(fi),La=Pt(fi,Nt("quic")),lo=Pt(fi,Nt("quic-v1")),Ky=Oe(La,lo),s5=Ht(La),a5=Ht(lo),Ta=Oe(ui,fo,fi,La,lo),uf=Oe(Pt(Ta,Nt("ws"),Ue(de()))),c5=Ht(uf),ff=Oe(Pt(Ta,Nt("wss"),Ue(de())),Pt(Ta,Nt("tls"),Nt("ws"),Ue(de()))),u5=Ht(ff),lf=Pt(Oy,Nt("webrtc-direct"),ao(),Ue(ao()),Ue(de())),hf=Ht(lf),df=Pt(lo,Nt("webtransport"),ao(),ao(),Ue(de())),f5=Ht(df),co=Oe(uf,ff,Pt(fo,Ue(de())),Pt(Ky,Ue(de())),Pt(ui,Ue(de())),lf,df,de()),l5=Ht(co),My=Pt(co,Nt("p2p-circuit"),de()),h5=Ht(My),Fy=Oe(Pt(co,Nt("p2p-circuit"),Nt("webrtc"),de()),Pt(co,Nt("webrtc"),Ue(de())),Nt("webrtc")),pf=Ht(Fy);var fe;(function(e){e.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",e.ERR_DATA_CHANNEL="ERR_DATA_CHANNEL",e.ERR_CONNECTION_CLOSED="ERR_CONNECTION_CLOSED",e.ERR_HASH_NOT_SUPPORTED="ERR_HASH_NOT_SUPPORTED",e.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",e.ERR_INVALID_FINGERPRINT="ERR_INVALID_FINGERPRINT",e.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",e.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",e.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",e.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"})(fe||(fe={}));var gr=class extends W{constructor(t,r){super(`WebRTC transport error: ${t}`,r??""),this.name="WebRTCTransportError"}};var Na=class extends gr{constructor(t,r){super(`[stream: ${t}] data channel error: ${r}`,fe.ERR_DATA_CHANNEL),this.name="WebRTC/DataChannelError"}};function Fa(e,t){return new Na(e,t)}var Pa=class extends gr{constructor(t){super(`There was a problem with the Multiaddr which was passed in: ${t}`,fe.ERR_INVALID_MULTIADDR),this.name="WebRTC/InappropriateMultiaddrError"}};function ho(e){return new Pa(e)}var Ua=class extends gr{constructor(t){super(`There was a problem with a provided argument: ${t}`,fe.ERR_INVALID_PARAMETERS),this.name="WebRTC/InvalidArgumentError"}};function li(e){return new Ua(e)}var Oa=class extends gr{constructor(t,r){super(`Invalid fingerprint "${t}" within ${r}`,fe.ERR_INVALID_FINGERPRINT),this.name="WebRTC/InvalidFingerprintError"}};function Va(e,t){return new Oa(e,t)}var Ka=class extends gr{constructor(t){super(`A method (${t}) was called though it has been intentionally left unimplemented.`,fe.ERR_NOT_IMPLEMENTED),this.name="WebRTC/UnimplementedError"}};function yf(e){return new Ka(e)}var Ma=class extends gr{constructor(t){super(`unsupported hash algorithm: ${t}`,fe.ERR_HASH_NOT_SUPPORTED),this.name="WebRTC/UnsupportedHashAlgorithmError"}};function mf(e){return new Ma(e)}var gf=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Vy=function(){function e(t,r,n){this.name=t,this.version=r,this.os=n,this.type="browser"}return e}();var Hy=function(){function e(t){this.version=t,this.type="node",this.name="node",this.os=process.platform}return e}();var qy=function(){function e(t,r,n,i){this.name=t,this.version=r,this.os=n,this.bot=i,this.type="bot-device"}return e}();var zy=function(){function e(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return e}();var Gy=function(){function e(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return e}();var Wy=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,$y=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,xf=3,Yy=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Wy]],bf=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function vf(e){return e?wf(e):typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new Gy:typeof navigator<"u"?wf(navigator.userAgent):Qy()}function Xy(e){return e!==""&&Yy.reduce(function(t,r){var n=r[0],i=r[1];if(t)return t;var o=i.exec(e);return!!o&&[n,o]},!1)}function wf(e){var t=Xy(e);if(!t)return null;var r=t[0],n=t[1];if(r==="searchbot")return new zy;var i=n[1]&&n[1].split(".").join("_").split("_").slice(0,3);i?i.length<xf&&(i=gf(gf([],i,!0),jy(xf-i.length),!0)):i=[];var o=i.join("."),s=Zy(e),a=$y.exec(e);return a&&a[1]?new qy(r,o,s,a[1]):new Vy(r,o,s)}function Zy(e){for(var t=0,r=bf.length;t<r;t++){var n=bf[t],i=n[0],o=n[1],s=o.exec(e);if(s)return i}return null}function Qy(){var e=typeof process<"u"&&process.version;return e?new Hy(process.version.slice(1)):null}function jy(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}function Kt(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var En=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Ha=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Ef=e=>globalThis.DOMException===void 0?new Ha(e):new DOMException(e),Sf=e=>{let t=e.reason===void 0?Ef("This operation was aborted."):e.reason;return t instanceof Error?t:Ef(t)};function Mr(e,t){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(t.signal){let{signal:d}=t;d.aborted&&f(Sf(d)),d.addEventListener("abort",()=>{f(Sf(d))})}if(r===Number.POSITIVE_INFINITY){e.then(u,f);return}let l=new En;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){f(d)}return}typeof e.cancel=="function"&&e.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await e)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Af=vf(),hi=Af!=null&&Af.name==="firefox",po=async function*(){},yo=async e=>{},Jy=30*1e3;function Df(e,t,r=Jy,n){e.readyState==="open"&&Promise.resolve().then(async()=>{if(e.bufferedAmount>0){n.log("%s drain channel with %d buffered bytes",t,e.bufferedAmount);let i=Kt(),o=!1;e.bufferedAmountLowThreshold=0;let s=()=>{o||(n.log("%s drain channel closed before drain",t),i.resolve())};e.addEventListener("close",s,{once:!0}),e.addEventListener("bufferedamountlow",()=>{o=!0,e.removeEventListener("close",s),i.resolve()}),await Mr(i.promise,{milliseconds:r})}}).then(async()=>{e.readyState==="open"&&e.close()}).catch(i=>{n.log.error("error closing outbound stream",i)})}var Fr=class{log;peerConnection;remoteAddr;timeline;metrics;source=po();sink=yo;constructor(t,r){this.log=t.logger.forComponent("libp2p:webrtc:maconn"),this.remoteAddr=r.remoteAddr,this.timeline=r.timeline,this.peerConnection=r.peerConnection;let n=this.peerConnection.connectionState;this.peerConnection.onconnectionstatechange=()=>{this.log.trace("peer connection state change",this.peerConnection.connectionState,"initial state",n),(this.peerConnection.connectionState==="disconnected"||this.peerConnection.connectionState==="failed"||this.peerConnection.connectionState==="closed")&&(this.timeline.close=Date.now())}}async close(t){this.log.trace("closing connection"),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({close:!0})}abort(t){this.log.error("closing connection due to error",t),this.peerConnection.close(),this.timeline.close=Date.now(),this.metrics?.increment({abort:!0})}};var mo=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}},Sn=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new mo(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 mo(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 qa=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xr(e={}){return tm(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 tm(e,t){t=t??{};let r=t.onEnd,n=new Sn,i,o,s,a=Kt(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((m,g)=>{o=b=>{o=null,n.push(b);try{m(e(n))}catch(x){g(x)}return i}}):e(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Kt()})}},u=m=>o!=null?o(m):(n.push(m),i),f=m=>(n=new Sn,o!=null?o({error:m}):(n.push({error:m}),i)),l=m=>{if(s)return i;if(t?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:m})},d=m=>s?i:(s=!0,m!=null?f(m):u({done:!0})),y=()=>(n=new Sn,d(),{done:!0}),h=m=>(d(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:y,throw:h,push:l,end:d,get readableLength(){return n.size},onEmpty:async m=>{let g=m?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let b,x;g!=null&&(b=new Promise((D,v)=>{x=()=>{v(new qa)},g.addEventListener("abort",x)}));try{await Promise.race([a.promise,b])}finally{x!=null&&g!=null&&g?.removeEventListener("abort",x)}}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength},onEmpty:m=>p.onEmpty(m)},i}var go=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 br(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new go(r?.errorMessage,r?.errorCode));let n,i=new go(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 Bf=Symbol.for("@achingbrain/uint8arraylist");function Cf(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 An(e){return!!e?.[Bf]}var Bt=class e{bufs;length;[Bf]=!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(An(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(An(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=Cf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Cf(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(An(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 Ct(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ct(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 u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!An(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,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let d=u;d>=0;d--){let y=this.get(l+d);if(n[d]!==y){f=Math.max(1,d-a[y]);break}}if(f===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=Vt(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=ot(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=ot(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=ot(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=Vt(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=ot(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=ot(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=ot(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=ot(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=ot(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(!Ot(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 If(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Tf(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function _f(e,t){let r=If(e).return?.();Tf(r)&&r.catch(n=>{t.error("could not cause iterator to return",n)})}var em="ERR_STREAM_RESET",rm="ERR_SINK_INVALID_STATE",nm=5e3;function za(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var xo=class{id;direction;timeline;protocol;metadata;source;status;readStatus;writeStatus;log;sinkController;sinkEnd;closed;endErr;streamSource;onEnd;onCloseRead;onCloseWrite;onReset;onAbort;sendCloseWriteTimeout;constructor(t){this.sinkController=new AbortController,this.sinkEnd=Kt(),this.closed=Kt(),this.log=t.log,this.status="open",this.readStatus="ready",this.writeStatus="ready",this.id=t.id,this.metadata=t.metadata??{},this.direction=t.direction,this.timeline={open:Date.now()},this.sendCloseWriteTimeout=t.sendCloseWriteTimeout??nm,this.onEnd=t.onEnd,this.onCloseRead=t?.onCloseRead,this.onCloseWrite=t?.onCloseWrite,this.onReset=t?.onReset,this.onAbort=t?.onAbort,this.source=this.streamSource=xr({onEnd:r=>{r!=null?this.log.trace("source ended with error",r):this.log.trace("source ended"),this.onSourceEnd(r)}}),this.sink=this.sink.bind(this)}async sink(t){if(this.writeStatus!=="ready")throw new W(`writable end state is "${this.writeStatus}" not "ready"`,rm);try{this.writeStatus="writing";let r={signal:this.sinkController.signal};if(this.direction==="outbound"){let i=this.sendNewStream(r);za(i)&&await i}let n=()=>{_f(t,this.log)};try{this.sinkController.signal.addEventListener("abort",n),this.log.trace("sink reading from source");for await(let i of t){i=i instanceof Uint8Array?new Bt(i):i;let o=this.sendData(i,r);za(o)&&await o}}finally{this.sinkController.signal.removeEventListener("abort",n)}this.log.trace('sink finished reading from source, write status is "%s"',this.writeStatus),this.writeStatus==="writing"&&(this.writeStatus="closing",this.log.trace("send close write to remote"),await this.sendCloseWrite({signal:AbortSignal.timeout(this.sendCloseWriteTimeout)}),this.writeStatus="closed"),this.onSinkEnd()}catch(r){throw this.log.trace("sink ended with error, calling abort with error",r),this.abort(r),r}finally{this.log.trace("resolve sink end"),this.sinkEnd.resolve()}}onSourceEnd(t){this.timeline.closeRead==null&&(this.timeline.closeRead=Date.now(),this.readStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseRead?.(),this.timeline.closeWrite!=null?(this.log.trace("source and sink ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("source ended, waiting for sink to end"))}onSinkEnd(t){this.timeline.closeWrite==null&&(this.timeline.closeWrite=Date.now(),this.writeStatus="closed",t!=null&&this.endErr==null&&(this.endErr=t),this.onCloseWrite?.(),this.timeline.closeRead!=null?(this.log.trace("sink and source ended"),this.timeline.close=Date.now(),this.status!=="aborted"&&this.status!=="reset"&&(this.status="closed"),this.onEnd!=null&&this.onEnd(this.endErr),this.closed.resolve()):this.log.trace("sink ended, waiting for source to end"))}async close(t){this.log.trace("closing gracefully"),this.status="closing",await Promise.all([this.closeRead(t),this.closeWrite(t)]),await br(this.closed.promise,t?.signal),this.status="closed",this.log.trace("closed gracefully")}async closeRead(t={}){if(this.readStatus==="closing"||this.readStatus==="closed")return;this.log.trace('closing readable end of stream with starting read status "%s"',this.readStatus);let r=this.readStatus;this.readStatus="closing",this.status!=="reset"&&this.status!=="aborted"&&this.timeline.closeRead==null&&(this.log.trace("send close read to remote"),await this.sendCloseRead(t)),r==="ready"&&(this.log.trace("ending internal source queue with %d queued bytes",this.streamSource.readableLength),this.streamSource.end()),this.log.trace("closed readable end of stream")}async closeWrite(t={}){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.log.trace('closing writable end of stream with starting write status "%s"',this.writeStatus),this.writeStatus==="ready"&&(this.log.trace("sink was never sunk, sink an empty array"),await br(this.sink([]),t.signal)),this.writeStatus==="writing"&&await new Promise((r,n)=>{queueMicrotask(()=>{this.log.trace("aborting source passed to .sink"),this.sinkController.abort(),br(this.sinkEnd.promise,t.signal).then(r,n)})}),this.writeStatus="closed",this.log.trace("closed writable end of stream"))}abort(t){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;this.log("abort with error",t),this.log("try to send reset to remote");let r=this.sendReset();za(r)&&r.catch(n=>{this.log.error("error sending reset message",n)}),this.status="aborted",this.timeline.abort=Date.now(),this._closeSinkAndSource(t),this.onAbort?.(t)}reset(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset")return;let t=new W("stream reset",em);this.status="reset",this.timeline.reset=Date.now(),this._closeSinkAndSource(t),this.onReset?.()}_closeSinkAndSource(t){this._closeSink(t),this._closeSource(t)}_closeSink(t){this.writeStatus==="writing"&&(this.log.trace("end sink source"),this.sinkController.abort()),this.onSinkEnd(t)}_closeSource(t){this.readStatus!=="closing"&&this.readStatus!=="closed"&&(this.log.trace("ending source with %d bytes to be read by consumer",this.streamSource.readableLength),this.readStatus="closing",this.streamSource.end(t))}remoteCloseWrite(){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("received remote close write but local source is already closed");return}this.log.trace("remote close write"),this._closeSource()}remoteCloseRead(){if(this.writeStatus==="closing"||this.writeStatus==="closed"){this.log("received remote close read but local sink is already closed");return}this.log.trace("remote close read"),this._closeSink()}destroy(){if(this.status==="closed"||this.status==="aborted"||this.status==="reset"){this.log("received destroy but we are already closed");return}this.log.trace("stream destroyed"),this._closeSinkAndSource()}sourcePush(t){this.streamSource.push(t)}sourceReadableLength(){return this.streamSource.readableLength}};function bo(e){return e[Symbol.asyncIterator]!=null}var wo=e=>{let t=ee(e),r=Vt(t);return mr(e,r),wo.bytes=t,r};wo.bytes=0;function wr(e,t){t=t??{};let r=t.lengthEncoder??wo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return bo(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}wr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??wo;return new Bt(r(e.byteLength),e)};var Dn=Jt(Lf(),1);var om=8,sm=1024*1024*4,Vr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Vr||(Vr={}));var Ga=e=>{let t=we(e);return Ga.bytes=ee(t),t};Ga.bytes=0;function Hr(e,t){let r=new Bt,n=Vr.LENGTH,i=-1,o=t?.lengthDecoder??Ga,s=t?.maxLengthLength??om,a=t?.maxDataLength??sm;function*c(){for(;r.byteLength>0;){if(n===Vr.LENGTH)try{if(i=o(r),i<0)throw(0,Dn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Dn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Vr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,Dn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Vr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Vr.LENGTH}}}return bo(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Dn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Dn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Hr.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 Hr(n,{...t??{},onLength:o=>{r=o}})};var am=e=>{let t=e.on||e.addListener||e.addEventListener,r=e.off||e.removeListener||e.removeEventListener;if(!t||!r)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(e),removeListener:r.bind(e)}};function cm(e,t,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:f}=am(e),l=(...y)=>{let h=r.multiArgs?y:y[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},d=y=>{n(),s(y)};n=()=>{for(let y of a)f(y,l);for(let y of r.rejectionEvents)f(y,d)};for(let y of a)u(y,l);for(let y of r.rejectionEvents)u(y,d);r.signal&&r.signal.addEventListener("abort",()=>{d(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=Mr(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function Wa(e,t,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=cm(e,t,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var $a=new Float32Array([-0]),vr=new Uint8Array($a.buffer);function Pf(e,t,r){$a[0]=e,t[r]=vr[0],t[r+1]=vr[1],t[r+2]=vr[2],t[r+3]=vr[3]}function Uf(e,t){return vr[0]=e[t],vr[1]=e[t+1],vr[2]=e[t+2],vr[3]=e[t+3],$a[0]}var Ya=new Float64Array([-0]),re=new Uint8Array(Ya.buffer);function Of(e,t,r){Ya[0]=e,t[r]=re[0],t[r+1]=re[1],t[r+2]=re[2],t[r+3]=re[3],t[r+4]=re[4],t[r+5]=re[5],t[r+6]=re[6],t[r+7]=re[7]}function Kf(e,t){return re[0]=e[t],re[1]=e[t+1],re[2]=e[t+2],re[3]=e[t+3],re[4]=e[t+4],re[5]=e[t+5],re[6]=e[t+6],re[7]=e[t+7],Ya[0]}var um=BigInt(Number.MAX_SAFE_INTEGER),fm=BigInt(Number.MIN_SAFE_INTEGER),oe=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 qr;if(t<um&&t>fm)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>Mf&&(i=0n,++n>Mf&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return qr;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):qr}},qr=new oe(0,0);qr.toBigInt=function(){return 0n};qr.zzEncode=qr.zzDecode=function(){return this};qr.length=function(){return 1};var Mf=4294967296n;function Ff(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 Vf(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 Xa(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 ve(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function vo(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Za=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,ve(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw ve(this,4);return vo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw ve(this,4);return vo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw ve(this,4);let t=Uf(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw ve(this,4);let t=Kf(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Vf(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new oe(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw ve(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw ve(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw ve(this,8);let t=vo(this.buf,this.pos+=4),r=vo(this.buf,this.pos+=4);return new oe(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 Qa(e){return new Za(e instanceof Uint8Array?e:e.subarray())}function Ee(e,t){let r=Qa(e);return t.decode(r)}function ja(e){let t=e??8192,r=t>>>1,n,i=t;return function(s){if(s<1||s>r)return Vt(s);i+s>t&&(n=Vt(t),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var zr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Ja(){}var ec=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},lm=ja();function hm(e){return globalThis.Buffer!=null?Vt(e):lm(e)}var yi=class{len;head;tail;states;constructor(){this.len=0,this.head=new zr(Ja,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new zr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new rc((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(di,10,oe.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=oe.fromBigInt(t);return this._push(di,r.length(),r)}uint64Number(t){let r=oe.fromNumber(t);return this._push(di,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=oe.fromBigInt(t).zzEncode();return this._push(di,r.length(),r)}sint64Number(t){let r=oe.fromNumber(t).zzEncode();return this._push(di,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(tc,1,t?1:0)}fixed32(t){return this._push(pi,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=oe.fromBigInt(t);return this._push(pi,4,r.lo)._push(pi,4,r.hi)}fixed64Number(t){let r=oe.fromNumber(t);return this._push(pi,4,r.lo)._push(pi,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(Pf,4,t)}double(t){return this._push(Of,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(tc,1,0):this.uint32(r)._push(pm,r,t)}string(t){let r=Ff(t);return r!==0?this.uint32(r)._push(Xa,r,t):this._push(tc,1,0)}fork(){return this.states=new ec(this),this.head=this.tail=new zr(Ja,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 zr(Ja,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=hm(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function tc(e,t,r){t[r]=e&255}function dm(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var rc=class extends zr{next;constructor(t,r){super(dm,t,r),this.next=void 0}};function di(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 pi(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 pm(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(yi.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(ym,t,e),this},yi.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(mm,t,e),this});function ym(e,t,r){t.set(e,r)}function mm(e,t,r){e.length<40?Xa(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(wt(e),r)}function nc(){return new yi}function Se(e,t){let r=nc();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Cn;(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"})(Cn||(Cn={}));function Eo(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Gr(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 Eo("enum",Cn.VARINT,r,n)}function Ae(e,t){return Eo("message",Cn.LENGTH_DELIMITED,e,t)}var se;(function(e){let t;(function(i){i.FIN="FIN",i.STOP_SENDING="STOP_SENDING",i.RESET="RESET",i.FIN_ACK="FIN_ACK"})(t=e.Flag||(e.Flag={}));let r;(function(i){i[i.FIN=0]="FIN",i[i.STOP_SENDING=1]="STOP_SENDING",i[i.RESET=2]="RESET",i[i.FIN_ACK=3]="FIN_ACK"})(r||(r={})),function(i){i.codec=()=>Gr(r)}(t=e.Flag||(e.Flag={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.flag!=null&&(o.uint32(8),e.Flag.codec().encode(i.flag,o)),i.message!=null&&(o.uint32(18),o.bytes(i.message)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.flag=e.Flag.codec().decode(i);break;case 2:s.message=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(se||(se={}));var gm=16*1024*1024,xm=30*1e3,bm=5,wm=2,vm=16*1024,Em=5e3,Sm=5e3,ic=class extends xo{channel;incomingData;maxBufferedAmount;bufferedAmountLowEventTimeout;maxMessageSize;receiveFinAck;finAckTimeout;openTimeout;constructor(t){let r=t.onEnd;switch(t.onEnd=i=>{this.log.trace("readable and writeable ends closed",this.status),Promise.resolve(async()=>{if(!(this.timeline.abort!=null||this.timeline.reset!==null))try{await Mr(this.receiveFinAck.promise,{milliseconds:this.finAckTimeout})}catch(o){this.log.error("error receiving FIN_ACK",o)}}).then(()=>{this.incomingData.end(),r?.(i)}).catch(o=>{this.log.error("error ending stream",o)})},super(t),this.channel=t.channel,this.channel.binaryType="arraybuffer",this.incomingData=xr(),this.bufferedAmountLowEventTimeout=t.bufferedAmountLowEventTimeout??xm,this.maxBufferedAmount=t.maxBufferedAmount??gm,this.maxMessageSize=(t.maxMessageSize??vm)-bm-wm,this.receiveFinAck=Kt(),this.finAckTimeout=t.closeTimeout??Em,this.openTimeout=t.openTimeout??Sm,this.channel.readyState){case"open":this.timeline.open=new Date().getTime();break;case"closed":case"closing":(this.timeline.close===void 0||this.timeline.close===0)&&(this.timeline.close=Date.now());break;case"connecting":break;default:throw this.log.error("unknown datachannel state %s",this.channel.readyState),new W("Unknown datachannel state","ERR_INVALID_STATE")}this.channel.onopen=i=>{this.timeline.open=new Date().getTime()},this.channel.onclose=i=>{this.receiveFinAck.resolve(),this.close().catch(o=>{this.log.error("error closing stream after channel closed",o)})},this.channel.onerror=i=>{let o=i.error;this.abort(o)},this.channel.onmessage=async i=>{let{data:o}=i;o===null||o.byteLength===0||this.incomingData.push(new Uint8Array(o,0,o.byteLength))};let n=this;Promise.resolve().then(async()=>{for await(let i of Hr(this.incomingData)){let o=n.processIncomingProtobuf(i);o!=null&&n.sourcePush(new Bt(o))}}).catch(i=>{this.log.error("error processing incoming data channel messages",i)})}sendNewStream(){}async _sendMessage(t,r=!0){if(r&&this.channel.bufferedAmount>this.maxBufferedAmount)try{this.log('channel buffer is %d, wait for "bufferedamountlow" event',this.channel.bufferedAmount),await Wa(this.channel,"bufferedamountlow",{timeout:this.bufferedAmountLowEventTimeout})}catch(n){throw n instanceof En?new W(`Timed out waiting for DataChannel buffer to clear after ${this.bufferedAmountLowEventTimeout}ms`,"ERR_BUFFER_CLEAR_TIMEOUT"):n}if(this.channel.readyState==="closed"||this.channel.readyState==="closing")throw new W(`Invalid datachannel state - ${this.channel.readyState}`,"ERR_INVALID_STATE");this.channel.readyState!=="open"&&(this.log('channel state is "%s" and not "open", waiting for "open" event before sending data',this.channel.readyState),await Wa(this.channel,"open",{timeout:this.openTimeout}),this.log('channel state is now "%s", sending data',this.channel.readyState)),this.channel.send(t.subarray())}async sendData(t){for(t=t.sublist();t.byteLength>0;){let r=Math.min(t.byteLength,this.maxMessageSize),n=t.subarray(0,r),i=se.encode({message:n}),o=wr.single(i);await this._sendMessage(o),t.consume(r)}}async sendReset(){await this._sendFlag(se.Flag.RESET)}async sendCloseWrite(t){if(await this._sendFlag(se.Flag.FIN)){this.log.trace("awaiting FIN_ACK");try{await br(this.receiveFinAck.promise,t?.signal,{errorMessage:"sending close-write was aborted before FIN_ACK was received",errorCode:"ERR_FIN_ACK_NOT_RECEIVED"})}catch(n){this.log.error("failed to await FIN_ACK",n)}}else this.log.trace("sending FIN failed, not awaiting FIN_ACK");this.receiveFinAck.resolve()}async sendCloseRead(){await this._sendFlag(se.Flag.STOP_SENDING)}processIncomingProtobuf(t){let r=se.decode(t);if(r.flag!==void 0&&(this.log.trace('incoming flag %s, write status "%s", read status "%s"',r.flag,this.writeStatus,this.readStatus),r.flag===se.Flag.FIN&&(this.remoteCloseWrite(),this.log.trace("sending FIN_ACK"),this._sendFlag(se.Flag.FIN_ACK).catch(n=>{this.log.error("error sending FIN_ACK immediately",n)})),r.flag===se.Flag.RESET&&this.reset(),r.flag===se.Flag.STOP_SENDING&&this.remoteCloseRead(),r.flag===se.Flag.FIN_ACK&&(this.log.trace("received FIN_ACK"),this.receiveFinAck.resolve())),this.readStatus==="ready")return r.message}async _sendFlag(t){if(this.channel.readyState!=="open")return this.log.trace('not sending flag %s because channel is "%s" and not "open"',this.channel.readyState,t.toString()),!1;this.log.trace("sending flag %s",t.toString());let r=se.encode({flag:t}),n=wr.single(r);try{return await this._sendMessage(n,!1),!0}catch(i){this.log.error("could not send flag %s",t.toString(),i)}return!1}};function Bn(e){let{channel:t,direction:r}=e;return new ic({id:r==="inbound"?`i${t.id}`:`r${t.id}`,log:e.logger.forComponent(`libp2p:webrtc:stream:${r}:${t.id}`),...e})}var qf="/webrtc",Wr=class{protocol;peerConnection;bufferedStreams=[];metrics;dataChannelOptions;components;log;constructor(t,r){this.components=t,this.peerConnection=r.peerConnection,this.metrics=r.metrics,this.protocol=r.protocol??qf,this.dataChannelOptions=r.dataChannelOptions??{},this.log=t.logger.forComponent("libp2p:webrtc:datachannelmuxerfactory"),this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace('incoming early datachannel with channel id %d and label "%s"',n.id),n.label==="init"){this.log.trace("closing early init channel"),n.close();return}let i={},o=Bn({channel:n,direction:"inbound",onEnd:s=>{i.onEnd(s)},logger:t.logger,...this.dataChannelOptions});i.stream=o,i.channel=n,i.onEnd=()=>{this.bufferedStreams=this.bufferedStreams.filter(s=>s.stream.id!==o.id)},this.bufferedStreams.push(i)}}createStreamMuxer(t){return new oc(this.components,{...t,peerConnection:this.peerConnection,dataChannelOptions:this.dataChannelOptions,metrics:this.metrics,streams:this.bufferedStreams,protocol:this.protocol})}},oc=class{init;streams;protocol;log;peerConnection;dataChannelOptions;metrics;logger;constructor(t,r){this.init=r,this.log=t.logger.forComponent("libp2p:webrtc:muxer"),this.logger=t.logger,this.streams=r.streams.map(n=>n.stream),this.peerConnection=r.peerConnection,this.protocol=r.protocol??qf,this.metrics=r.metrics,this.dataChannelOptions=r.dataChannelOptions??{},this.peerConnection.ondatachannel=({channel:n})=>{if(this.log.trace("incoming datachannel with channel id %d",n.id),n.label==="init"){this.log.trace("closing init channel"),n.close();return}let i=Bn({channel:n,direction:"inbound",onEnd:()=>{this.log("incoming channel %s ended with state %s",n.id,n.readyState),this.#t(i,n)},logger:this.logger,...this.dataChannelOptions});this.streams.push(i),this.metrics?.increment({incoming_stream:!0}),r?.onIncomingStream?.(i)},this.init.streams.length>0&&queueMicrotask(()=>{this.init.streams.forEach(n=>{n.onEnd=()=>{this.log("incoming early channel %s ended with state %s",n.channel.id,n.channel.readyState),this.#t(n.stream,n.channel)},this.metrics?.increment({incoming_stream:!0}),this.init?.onIncomingStream?.(n.stream)})})}#t(t,r){this.log.trace("stream %s %s %s onEnd",t.direction,t.id,t.protocol),Df(r,`${t.direction} ${t.id} ${t.protocol}`,this.dataChannelOptions.drainTimeout,{log:this.log}),this.streams=this.streams.filter(n=>n.id!==t.id),this.metrics?.increment({stream_end:!0}),this.init?.onStreamEnd?.(t)}async close(t){try{await Promise.all(this.streams.map(async r=>r.close(t)))}catch(r){this.abort(r)}}abort(t){for(let r of this.streams)r.abort(t)}source=po();sink=yo;newStream(){let t=this.peerConnection.createDataChannel("");this.log.trace("opened outgoing datachannel with channel id %s",t.id);let r=Bn({channel:t,direction:"outbound",onEnd:()=>{this.log("outgoing channel %s ended with state %s",t.id,t.readyState),this.#t(r,t)},logger:this.logger,...this.dataChannelOptions});return this.streams.push(r),this.metrics?.increment({outgoing_stream:!0}),r}};var In=globalThis.RTCPeerConnection,So=globalThis.RTCSessionDescription,zf=globalThis.RTCIceCandidate;var sc=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Kt(),this.haveNext=Kt()}[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=Kt(),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=Kt(),await br(this.needNext.promise,r?.signal,r)}};function Gf(){return new sc}var Ao=class extends Error{code;constructor(t,r){super(t),this.code=r}},ac=class extends Ao{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Wf(e,t){let r=Gf();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 Bt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new ac("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:d}=await Promise.race([n.next(),u]);return l===!0?new Bt:d}for(;i.byteLength<s;){let{value:l,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Ao("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,s);return i.consume(s),f}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*s}()}return e}}}var Do=class extends Error{code;constructor(t,r){super(t),this.code=r}},$f=e=>we(e);$f.bytes=0;function mi(e,t={}){let r=Wf(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=ee(t.maxDataLength)),{read:async i=>{let o=-1,s=new Bt,a=t?.lengthDecoder??$f;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 Do("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(t?.maxDataLength!=null&&o>t.maxDataLength)throw new Do("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(wr.single(i,t),o)},writeV:async(i,o)=>{let s=new Bt(...i.map(a=>wr.single(a,t)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Co(e,t){let r=mi(e,t),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var ae;(function(e){let t;(function(i){i.SDP_OFFER="SDP_OFFER",i.SDP_ANSWER="SDP_ANSWER",i.ICE_CANDIDATE="ICE_CANDIDATE"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.SDP_OFFER=0]="SDP_OFFER",i[i.SDP_ANSWER=1]="SDP_ANSWER",i[i.ICE_CANDIDATE=2]="ICE_CANDIDATE"})(r||(r={})),function(i){i.codec=()=>Gr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Ae((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.type!=null&&(o.uint32(8),e.Type.codec().encode(i.type,o)),i.data!=null&&(o.uint32(18),o.string(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.type=e.Type.codec().decode(i);break;case 2:s.data=i.string();break;default:i.skipType(c&7);break}}return s})),n),e.encode=i=>Se(i,e.codec()),e.decode=i=>Ee(i,e.codec())})(ae||(ae={}));var Bo=async(e,t,r)=>{try{let n=Kt();for(Dm(e,n);;){let i=await Promise.race([n.promise,t.read({signal:r.signal})]);if(i==null)break;if(i.type!==ae.Type.ICE_CANDIDATE)throw new W("ICE candidate message expected","ERR_NOT_ICE_CANDIDATE");let o=JSON.parse(i.data??"null");if(o===""||o===null){r.log.trace("end-of-candidates received");continue}let s=new zf(o);r.log.trace("%s received new ICE candidate",r.direction,s);try{await e.addIceCandidate(s)}catch(a){r.log.error("%s bad candidate received",r.direction,o,a)}}}catch(n){if(r.log.error("%s error parsing ICE candidate",r.direction,n),r.signal?.aborted===!0)throw n}};function Am(e){return hi?e.iceConnectionState:e.connectionState}function Dm(e,t){e[hi?"oniceconnectionstatechange":"onconnectionstatechange"]=r=>{switch(Am(e)){case"connected":t.resolve();break;case"failed":case"disconnected":case"closed":t.reject(new W("RTCPeerConnection was closed","ERR_CONNECTION_CLOSED_BEFORE_CONNECTED"));break;default:break}}}async function Yf({peerConnection:e,signal:t,metrics:r,multiaddr:n,connectionManager:i,transportManager:o,log:s}){let{baseAddr:a}=Xf(n);r?.dialerEvents.increment({open:!0}),s.trace("dialing base address: %a",a);let c=a.getPeerId();if(c==null)throw new W("Relay peer was missing","ERR_INVALID_ADDRESS");let u=i.getConnections(Kr(c)),f,l=!1;u.length===0?(f=await o.dial(a,{signal:t}),l=!0):f=u[0];try{let d=await f.newStream(Io,{signal:t,runOnTransientConnection:!0}),y=Co(d).pb(ae);try{let h=e.createDataChannel("init");e.onicecandidate=({candidate:b})=>{let x=JSON.stringify(b?.toJSON()??null);s.trace("initiator sending ICE candidate %s",x),y.write({type:ae.Type.ICE_CANDIDATE,data:x},{signal:t}).catch(D=>{s.error("error sending ICE candidate",D)})},e.onicecandidateerror=b=>{s.error("initiator ICE candidate error",b)};let p=await e.createOffer().catch(b=>{throw s.error("could not execute createOffer",b),new W("Failed to set createOffer","ERR_SDP_HANDSHAKE_FAILED")});s.trace("initiator send SDP offer %s",p.sdp),await y.write({type:ae.Type.SDP_OFFER,data:p.sdp},{signal:t}),await e.setLocalDescription(p).catch(b=>{throw s.error("could not execute setLocalDescription",b),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")});let m=await y.read({signal:t});if(m.type!==ae.Type.SDP_ANSWER)throw new W("Remote should send an SDP answer","ERR_SDP_HANDSHAKE_FAILED");s.trace("initiator receive SDP answer %s",m.data);let g=new So({type:"answer",sdp:m.data});return await e.setRemoteDescription(g).catch(b=>{throw s.error("could not execute setRemoteDescription",b),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")}),s.trace("initiator read candidates until connected"),await Bo(e,y,{direction:"initiator",signal:t,log:s}),s.trace("initiator connected, closing init channel"),h.close(),s.trace("initiator closing signalling stream"),await y.unwrap().unwrap().close({signal:t}),s.trace("initiator connected to remote address %s",n),{remoteAddress:n}}catch(h){throw e.close(),d.abort(h),h}finally{e.onicecandidate=null,e.onicecandidateerror=null}}finally{if(l)try{await f.close({signal:t})}catch(d){f.abort(d)}}}var Cm=q("dns4"),Bm=q("dns6"),Im=q("dnsaddr"),$r=Ut(q("dns"),Im,Cm,Bm),ko=Ut(q("ip4"),q("ip6")),Tn=Ut(X(ko,q("tcp")),X($r,q("tcp"))),Ro=X(ko,q("udp")),Tm=X(Ro,q("utp")),_m=X(Ro,q("quic")),km=X(Ro,q("quic-v1")),cc=Ut(X(Tn,q("ws")),X($r,q("ws"))),To=Ut(X(cc,q("p2p")),cc),uc=Ut(X(Tn,q("wss")),X($r,q("wss")),X(Tn,q("tls"),q("ws")),X($r,q("tls"),q("ws"))),_o=Ut(X(uc,q("p2p")),uc),fc=Ut(X(Tn,q("http")),X(ko,q("http")),X($r,q("http"))),lc=Ut(X(Tn,q("https")),X(ko,q("https")),X($r,q("https"))),Zf=X(Ro,q("webrtc-direct"),q("certhash")),Jf=Ut(X(Zf,q("p2p")),Zf),Qf=X(km,q("webtransport"),q("certhash"),q("certhash")),tl=Ut(X(Qf,q("p2p")),Qf),el=Ut(X(To,q("p2p-webrtc-star"),q("p2p")),X(_o,q("p2p-webrtc-star"),q("p2p")),X(To,q("p2p-webrtc-star")),X(_o,q("p2p-webrtc-star"))),CA=Ut(X(To,q("p2p-websocket-star"),q("p2p")),X(_o,q("p2p-websocket-star"),q("p2p")),X(To,q("p2p-websocket-star")),X(_o,q("p2p-websocket-star"))),rl=Ut(X(fc,q("p2p-webrtc-direct"),q("p2p")),X(lc,q("p2p-webrtc-direct"),q("p2p")),X(fc,q("p2p-webrtc-direct")),X(lc,q("p2p-webrtc-direct"))),Yr=Ut(cc,uc,fc,lc,el,rl,Tn,Tm,_m,$r,Jf,tl),BA=Ut(X(Yr,q("p2p-stardust"),q("p2p")),X(Yr,q("p2p-stardust"))),Er=Ut(X(Yr,q("p2p")),el,rl,Jf,tl,q("p2p")),jf=Ut(X(Er,q("p2p-circuit"),Er),X(Er,q("p2p-circuit")),X(q("p2p-circuit"),Er),X(Yr,q("p2p-circuit")),X(q("p2p-circuit"),Yr),q("p2p-circuit")),nl=()=>Ut(X(jf,nl),jf),je=nl(),IA=Ut(X(je,Er,je),X(Er,je),X(je,Er),je,Er);var TA=Ut(X(je,q("webrtc"),q("p2p")),X(je,q("webrtc")),X(Yr,q("webrtc"),q("p2p")),X(Yr,q("webrtc")),q("webrtc"));function il(e){function t(r){let n;try{n=Qe(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function X(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:il(t),partialMatch:t}}function Ut(...e){function t(n){let i=null;return e.some(o=>{let s=typeof o=="function"?o().partialMatch(n):o.partialMatch(n);return s!=null?(i=s,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:il(t),partialMatch:t}}function q(e){let t=e;function r(i){let o;try{o=Qe(i)}catch{return!1}let s=o.protoNames();return s.length===1&&s[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var Lo=class extends Qi{peerId;transportManager;shutdownController;constructor(t,r){super(),this.peerId=t.peerId,this.transportManager=t.transportManager,this.shutdownController=r.shutdownController}async listen(){this.safeDispatchEvent("listening",{})}getAddrs(){return this.transportManager.getListeners().filter(t=>t!==this).map(t=>t.getAddrs().filter(r=>je.matches(r)).map(r=>r.encapsulate(`/webrtc/p2p/${this.peerId}`))).flat()}async close(){this.shutdownController.abort(),this.safeDispatchEvent("close",{})}};async function ol({peerConnection:e,stream:t,signal:r,connection:n,log:i}){i.trace("new inbound signaling stream");let o=Co(t).pb(ae);try{e.onicecandidate=({candidate:f})=>{let l=JSON.stringify(f?.toJSON()??null);i.trace("recipient sending ICE candidate %s",l),o.write({type:ae.Type.ICE_CANDIDATE,data:l},{signal:r}).catch(d=>{i.error("error sending ICE candidate",d)})};let a=await o.read({signal:r});if(a.type!==ae.Type.SDP_OFFER)throw new W(`expected message type SDP_OFFER, received: ${a.type??"undefined"} `,"ERR_SDP_HANDSHAKE_FAILED");i.trace("recipient receive SDP offer %s",a.data);let c=new So({type:"offer",sdp:a.data});await e.setRemoteDescription(c).catch(f=>{throw i.error("could not execute setRemoteDescription",f),new W("Failed to set remoteDescription","ERR_SDP_HANDSHAKE_FAILED")});let u=await e.createAnswer().catch(f=>{throw i.error("could not execute createAnswer",f),new W("Failed to create answer","ERR_SDP_HANDSHAKE_FAILED")});i.trace("recipient send SDP answer %s",u.sdp),await o.write({type:ae.Type.SDP_ANSWER,data:u.sdp},{signal:r}),await e.setLocalDescription(u).catch(f=>{throw i.error("could not execute setLocalDescription",f),new W("Failed to set localDescription","ERR_SDP_HANDSHAKE_FAILED")}),i.trace("recipient read candidates until connected"),await Bo(e,o,{direction:"recipient",signal:r,log:i})}catch(a){if(e.connectionState!=="connected")throw i.error("error while handling signaling stream from peer %a",n.remoteAddr,a),e.close(),a;i("error while handling signaling stream from peer %a, ignoring as the RTCPeerConnection is already connected",n.remoteAddr,a)}let s=Qe(`/webrtc/p2p/${n.remoteAddr.getPeerId()}`);return i.trace("recipient connected to remote address %s",s),{remoteAddress:s}}var Rm="/webrtc",Lm="/p2p-circuit",Io="/webrtc-signaling/0.0.1",Nm=30*1e3,No=class{components;init;log;_started=!1;metrics;shutdownController;constructor(t,r={}){this.components=t,this.init=r,this.log=t.logger.forComponent("libp2p:webrtc"),this.shutdownController=new AbortController,bu(1/0,this.shutdownController.signal),t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_dialer_events_total",{label:"event",help:"Total count of WebRTC dialer events by type"}),listenerEvents:t.metrics.registerCounterGroup("libp2p_webrtc_listener_events_total",{label:"event",help:"Total count of WebRTC listener events by type"})})}isStarted(){return this._started}async start(){await this.components.registrar.handle(Io,t=>{this._onProtocol(t).catch(r=>{this.log.error("failed to handle incoming connect from %p",t.connection.remotePeer,r)})},{runOnTransientConnection:!0}),this._started=!0}async stop(){await this.components.registrar.unhandle(Io),this._started=!1}createListener(t){return new Lo(this.components,{shutdownController:this.shutdownController})}[Symbol.toStringTag]="@libp2p/webrtc";[Zi]=!0;filter(t){return t.filter(pf.exactMatch)}async dial(t,r){this.log.trace("dialing address: %a",t);let n=new In(this.init.rtcConfiguration),i=new Wr(this.components,{peerConnection:n,dataChannelOptions:this.init.dataChannel}),{remoteAddress:o}=await Yf({peerConnection:n,multiaddr:t,dataChannelOptions:this.init.dataChannel,signal:r.signal,connectionManager:this.components.connectionManager,transportManager:this.components.transportManager,log:this.log}),s=new Fr(this.components,{peerConnection:n,timeline:{open:Date.now()},remoteAddr:o,metrics:this.metrics?.dialerEvents}),a=await r.upgrader.upgradeOutbound(s,{skipProtection:!0,skipEncryption:!0,muxerFactory:i});return this._closeOnShutdown(n,s),a}async _onProtocol({connection:t,stream:r}){let n=AbortSignal.timeout(this.init.inboundConnectionTimeout??Nm),i=new In(this.init.rtcConfiguration),o=new Wr(this.components,{peerConnection:i,dataChannelOptions:this.init.dataChannel});try{let{remoteAddress:s}=await ol({peerConnection:i,connection:t,stream:r,signal:n,log:this.log}),a=new Fr(this.components,{peerConnection:i,timeline:{open:new Date().getTime()},remoteAddr:s,metrics:this.metrics?.listenerEvents});this._closeOnShutdown(i,a),await this.components.upgrader.upgradeInbound(a,{skipEncryption:!0,skipProtection:!0,muxerFactory:o}),await r.close({signal:n})}catch(s){throw r.abort(s),s}}_closeOnShutdown(t,r){let n=()=>{r.close().catch(i=>{this.log.error("could not close WebRTCMultiaddrConnection",i)})};this.shutdownController.signal.addEventListener("abort",n),t.addEventListener("close",()=>{this.shutdownController.signal.removeEventListener("abort",n)})}};function Xf(e){let t=e.toString().split(Rm+"/");if(t.length!==2)throw new W("webrtc protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);if(!t[0].includes(Lm))throw new W("p2p-circuit protocol was not present in multiaddr",fe.ERR_INVALID_MULTIADDR);let r=Qe(t[0]),i=Qe("/"+t[1]).getPeerId();if(i==null)throw new W("destination peer id was missing",fe.ERR_INVALID_MULTIADDR);let o=r.protos().pop();if(o===void 0)throw new W("invalid multiaddr",fe.ERR_INVALID_MULTIADDR);return o.name!=="p2p"&&(r=r.encapsulate(`/p2p/${i}`)),{baseAddr:r,peerId:Kr(i)}}function hc(){let e=Kt(),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 sl(){let e=hc(),t=hc();return[{source:e.source,sink:t.sink},{source:t.source,sink:e.sink}]}function Pm(e){return e[Symbol.asyncIterator]!=null}function Um(...e){let t=[];for(let r of e)Pm(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=xr({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 al=Um;function cl(e,...t){if(e==null)throw new Error("Empty pipeline");if(dc(e)){let n=e;e=()=>n.source}else if(fl(e)||ul(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&dc(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++)dc(r[n])&&(r[n]=Km(r[n]));return Om(...r)}var Om=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},ul=e=>e?.[Symbol.asyncIterator]!=null,fl=e=>e?.[Symbol.iterator]!=null,dc=e=>e==null?!1:e.sink!=null&&e.source!=null,Km=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=xr({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(ul(o))i=async function*(){yield*o,n.end()};else if(fl(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return al(n,i())}return e.source};var _n=!!globalThis.process?.env?.DUMP_SESSION_KEYS;var Je=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));function ll(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var hl=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Mm=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Mm)throw new Error("Non little-endian hardware is not supported");function Po(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Uo(e){if(typeof e=="string")e=Po(e);else if(ll(e))e=e.slice();else throw new Error(`expected Uint8Array, got ${typeof e}`);return e}var Fm=e=>Object.prototype.toString.call(e)==="[object Object]"&&e.constructor===Object;function dl(e,t){if(t!==void 0&&(typeof t!="object"||!Fm(t)))throw new Error("options must be object or undefined");return Object.assign(e,t)}function Xr(e,t){if(!ll(e))throw new Error("Uint8Array expected");if(typeof t=="number"&&e.length!==t)throw new Error(`Uint8Array length ${t} expected`)}function pl(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}var pc=(e,t)=>(Object.assign(t,e),t);function yc(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,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function Oo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`wrong positive integer: ${e}`)}function mc(e){if(typeof e!="boolean")throw new Error(`boolean expected, not ${e}`)}function Vm(e){return e!=null&&typeof e=="object"&&(e instanceof Uint8Array||e.constructor.name==="Uint8Array")}function kn(e,...t){if(!Vm(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function gc(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 yl(e,t){kn(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,xc=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=Uo(t),Xr(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),u=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|u<<8)&8191,this.r[9]=u>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Zt(t,16+2*f)}process(t,r,n=!1){let i=n?0:2048,{h:o,r:s}=this,a=s[0],c=s[1],u=s[2],f=s[3],l=s[4],d=s[5],y=s[6],h=s[7],p=s[8],m=s[9],g=Zt(t,r+0),b=Zt(t,r+2),x=Zt(t,r+4),D=Zt(t,r+6),v=Zt(t,r+8),E=Zt(t,r+10),C=Zt(t,r+12),B=Zt(t,r+14),O=o[0]+(g&8191),K=o[1]+((g>>>13|b<<3)&8191),U=o[2]+((b>>>10|x<<6)&8191),F=o[3]+((x>>>7|D<<9)&8191),G=o[4]+((D>>>4|v<<12)&8191),Q=o[5]+(v>>>1&8191),I=o[6]+((v>>>14|E<<2)&8191),R=o[7]+((E>>>11|C<<5)&8191),_=o[8]+((C>>>8|B<<8)&8191),k=o[9]+(B>>>5|i),S=0,P=S+O*a+K*(5*m)+U*(5*p)+F*(5*h)+G*(5*y);S=P>>>13,P&=8191,P+=Q*(5*d)+I*(5*l)+R*(5*f)+_*(5*u)+k*(5*c),S+=P>>>13,P&=8191;let M=S+O*c+K*a+U*(5*m)+F*(5*p)+G*(5*h);S=M>>>13,M&=8191,M+=Q*(5*y)+I*(5*d)+R*(5*l)+_*(5*f)+k*(5*u),S+=M>>>13,M&=8191;let H=S+O*u+K*c+U*a+F*(5*m)+G*(5*p);S=H>>>13,H&=8191,H+=Q*(5*h)+I*(5*y)+R*(5*d)+_*(5*l)+k*(5*f),S+=H>>>13,H&=8191;let Z=S+O*f+K*u+U*c+F*a+G*(5*m);S=Z>>>13,Z&=8191,Z+=Q*(5*p)+I*(5*h)+R*(5*y)+_*(5*d)+k*(5*l),S+=Z>>>13,Z&=8191;let j=S+O*l+K*f+U*u+F*c+G*a;S=j>>>13,j&=8191,j+=Q*(5*m)+I*(5*p)+R*(5*h)+_*(5*y)+k*(5*d),S+=j>>>13,j&=8191;let it=S+O*d+K*l+U*f+F*u+G*c;S=it>>>13,it&=8191,it+=Q*a+I*(5*m)+R*(5*p)+_*(5*h)+k*(5*y),S+=it>>>13,it&=8191;let J=S+O*y+K*d+U*l+F*f+G*u;S=J>>>13,J&=8191,J+=Q*c+I*a+R*(5*m)+_*(5*p)+k*(5*h),S+=J>>>13,J&=8191;let et=S+O*h+K*y+U*d+F*l+G*f;S=et>>>13,et&=8191,et+=Q*u+I*c+R*a+_*(5*m)+k*(5*p),S+=et>>>13,et&=8191;let bt=S+O*p+K*h+U*y+F*d+G*l;S=bt>>>13,bt&=8191,bt+=Q*f+I*u+R*c+_*a+k*(5*m),S+=bt>>>13,bt&=8191;let gt=S+O*m+K*p+U*h+F*y+G*d;S=gt>>>13,gt&=8191,gt+=Q*l+I*f+R*u+_*c+k*a,S+=gt>>>13,gt&=8191,S=(S<<2)+S|0,S=S+P|0,P=S&8191,S=S>>>13,M+=S,o[0]=P,o[1]=M,o[2]=H,o[3]=Z,o[4]=j,o[5]=it,o[6]=J,o[7]=et,o[8]=bt,o[9]=gt}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){gc(this);let{buffer:r,blockLen:n}=this;t=Uo(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){gc(this),yl(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 Hm(e){let t=(n,i)=>e(i).update(Uo(n)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}var ml=Hm(e=>new xc(e));var qm=Po("expand 16-byte k"),zm=Po("expand 32-byte k"),Gm=Je(qm),Wm=Je(zm);function $(e,t){return e<<t|e>>>32-t}function bc(e){return e.byteOffset%4===0}var Ko=64,$m=16,xl=2**32-1,gl=new Uint32Array;function Ym(e,t,r,n,i,o,s,a){let c=i.length,u=new Uint8Array(Ko),f=Je(u),l=bc(i)&&bc(o),d=l?Je(i):gl,y=l?Je(o):gl;for(let h=0;h<c;s++){if(e(t,r,n,f,s,a),s>=xl)throw new Error("arx: counter overflow");let p=Math.min(Ko,c-h);if(l&&p===Ko){let m=h/4;if(h%4!==0)throw new Error("arx: invalid block position");for(let g=0,b;g<$m;g++)b=m+g,y[b]=d[b]^f[g];h+=Ko;continue}for(let m=0,g;m<p;m++)g=h+m,o[g]=i[g]^u[m];h+=p}}function wc(e,t){let{allowShortKeys:r,extendNonceFn:n,counterLength:i,counterRight:o,rounds:s}=dl({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!="function")throw new Error("core must be a function");return Oo(i),Oo(s),mc(o),mc(r),(a,c,u,f,l=0)=>{kn(a),kn(c),kn(u);let d=u.length;if(f||(f=new Uint8Array(d)),kn(f),Oo(l),l<0||l>=xl)throw new Error("arx: counter overflow");if(f.length<d)throw new Error(`arx: output (${f.length}) is shorter than data (${d})`);let y=[],h=a.length,p,m;if(h===32)p=a.slice(),y.push(p),m=Wm;else if(h===16&&r)p=new Uint8Array(32),p.set(a),p.set(a,16),m=Gm,y.push(p);else throw new Error(`arx: invalid 32-byte key, got length=${h}`);bc(c)||(c=c.slice(),y.push(c));let g=Je(p);if(n){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(m,g,Je(c.subarray(0,16)),g),c=c.subarray(16)}let b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){let D=new Uint8Array(12);D.set(c,o?0:12-c.length),c=D,y.push(c)}let x=Je(c);for(Ym(e,m,g,x,u,f,l,s);y.length>0;)y.pop().fill(0);return f}}function vl(e,t,r,n,i,o=20){let s=e[0],a=e[1],c=e[2],u=e[3],f=t[0],l=t[1],d=t[2],y=t[3],h=t[4],p=t[5],m=t[6],g=t[7],b=i,x=r[0],D=r[1],v=r[2],E=s,C=a,B=c,O=u,K=f,U=l,F=d,G=y,Q=h,I=p,R=m,_=g,k=b,S=x,P=D,M=v;for(let Z=0;Z<o;Z+=2)E=E+K|0,k=$(k^E,16),Q=Q+k|0,K=$(K^Q,12),E=E+K|0,k=$(k^E,8),Q=Q+k|0,K=$(K^Q,7),C=C+U|0,S=$(S^C,16),I=I+S|0,U=$(U^I,12),C=C+U|0,S=$(S^C,8),I=I+S|0,U=$(U^I,7),B=B+F|0,P=$(P^B,16),R=R+P|0,F=$(F^R,12),B=B+F|0,P=$(P^B,8),R=R+P|0,F=$(F^R,7),O=O+G|0,M=$(M^O,16),_=_+M|0,G=$(G^_,12),O=O+G|0,M=$(M^O,8),_=_+M|0,G=$(G^_,7),E=E+U|0,M=$(M^E,16),R=R+M|0,U=$(U^R,12),E=E+U|0,M=$(M^E,8),R=R+M|0,U=$(U^R,7),C=C+F|0,k=$(k^C,16),_=_+k|0,F=$(F^_,12),C=C+F|0,k=$(k^C,8),_=_+k|0,F=$(F^_,7),B=B+G|0,S=$(S^B,16),Q=Q+S|0,G=$(G^Q,12),B=B+G|0,S=$(S^B,8),Q=Q+S|0,G=$(G^Q,7),O=O+K|0,P=$(P^O,16),I=I+P|0,K=$(K^I,12),O=O+K|0,P=$(P^O,8),I=I+P|0,K=$(K^I,7);let H=0;n[H++]=s+E|0,n[H++]=a+C|0,n[H++]=c+B|0,n[H++]=u+O|0,n[H++]=f+K|0,n[H++]=l+U|0,n[H++]=d+F|0,n[H++]=y+G|0,n[H++]=h+Q|0,n[H++]=p+I|0,n[H++]=m+R|0,n[H++]=g+_|0,n[H++]=b+k|0,n[H++]=x+S|0,n[H++]=D+P|0,n[H++]=v+M|0}function Xm(e,t,r,n){let i=e[0],o=e[1],s=e[2],a=e[3],c=t[0],u=t[1],f=t[2],l=t[3],d=t[4],y=t[5],h=t[6],p=t[7],m=r[0],g=r[1],b=r[2],x=r[3];for(let v=0;v<20;v+=2)i=i+c|0,m=$(m^i,16),d=d+m|0,c=$(c^d,12),i=i+c|0,m=$(m^i,8),d=d+m|0,c=$(c^d,7),o=o+u|0,g=$(g^o,16),y=y+g|0,u=$(u^y,12),o=o+u|0,g=$(g^o,8),y=y+g|0,u=$(u^y,7),s=s+f|0,b=$(b^s,16),h=h+b|0,f=$(f^h,12),s=s+f|0,b=$(b^s,8),h=h+b|0,f=$(f^h,7),a=a+l|0,x=$(x^a,16),p=p+x|0,l=$(l^p,12),a=a+l|0,x=$(x^a,8),p=p+x|0,l=$(l^p,7),i=i+u|0,x=$(x^i,16),h=h+x|0,u=$(u^h,12),i=i+u|0,x=$(x^i,8),h=h+x|0,u=$(u^h,7),o=o+f|0,m=$(m^o,16),p=p+m|0,f=$(f^p,12),o=o+f|0,m=$(m^o,8),p=p+m|0,f=$(f^p,7),s=s+l|0,g=$(g^s,16),d=d+g|0,l=$(l^d,12),s=s+l|0,g=$(g^s,8),d=d+g|0,l=$(l^d,7),a=a+c|0,b=$(b^a,16),y=y+b|0,c=$(c^y,12),a=a+c|0,b=$(b^a,8),y=y+b|0,c=$(c^y,7);let D=0;n[D++]=i,n[D++]=o,n[D++]=s,n[D++]=a,n[D++]=m,n[D++]=g,n[D++]=b,n[D++]=x}var Zm=wc(vl,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Qm=wc(vl,{counterRight:!1,counterLength:8,extendNonceFn:Xm,allowShortKeys:!1});var jm=new Uint8Array(16),bl=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(jm.subarray(r))},Jm=new Uint8Array(32);function wl(e,t,r,n,i){let o=e(t,r,Jm),s=ml.create(o);i&&bl(s,i),bl(s,n);let a=new Uint8Array(16),c=hl(a);yc(c,0,BigInt(i?i.length:0),!0),yc(c,8,BigInt(n.length),!0),s.update(a);let u=s.digest();return o.fill(0),u}var El=e=>(t,r,n)=>(Xr(t,32),Xr(r),{encrypt:(o,s)=>{let a=o.length,c=a+16;s?Xr(s,c):s=new Uint8Array(c),e(t,r,o,s,1);let u=wl(e,t,r,s.subarray(0,-16),n);return s.set(u,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?Xr(s,c):s=new Uint8Array(c);let u=o.subarray(0,-16),f=o.subarray(-16),l=wl(e,t,r,u,n);if(!pl(f,l))throw new Error("invalid tag");return e(t,r,u,s,1),s}}),vc=pc({blockSize:64,nonceLength:12,tagLength:16},El(Zm)),ED=pc({blockSize:64,nonceLength:24,tagLength:16},El(Qm));function Mo(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function tg(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}function Ec(e,...t){if(!tg(e))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 gi(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Mo(e.outputLen),Mo(e.blockLen)}function Rn(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 Sl(e,t){Ec(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Fo=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Al(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Vo=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),De=(e,t)=>e<<32-t|e>>>t,eg=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!eg)throw new Error("Non little-endian hardware is not supported");function Sc(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Sr(e){if(typeof e=="string"&&(e=Sc(e)),!Al(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Ho(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];if(!Al(i))throw new Error("Uint8Array expected");t+=i.length}let r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var Ln=class{clone(){return this._cloneInto()}},BD={}.toString;function qo(e){let t=n=>e().update(Sr(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Zr(e=32){if(Fo&&typeof Fo.getRandomValues=="function")return Fo.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function rg(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,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}var Nn=class extends Ln{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=Vo(this.buffer)}update(t){Rn(this);let{view:r,buffer:n,blockLen:i}=this;t=Sr(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=Vo(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){Rn(this),Sl(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;rg(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Vo(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer: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 zo=BigInt(4294967295),Ac=BigInt(32);function Dl(e,t=!1){return t?{h:Number(e&zo),l:Number(e>>Ac&zo)}:{h:Number(e>>Ac&zo)|0,l:Number(e&zo)|0}}function ng(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}=Dl(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var ig=(e,t)=>BigInt(e>>>0)<<Ac|BigInt(t>>>0),og=(e,t,r)=>e>>>r,sg=(e,t,r)=>e<<32-r|t>>>r,ag=(e,t,r)=>e>>>r|t<<32-r,cg=(e,t,r)=>e<<32-r|t>>>r,ug=(e,t,r)=>e<<64-r|t>>>r-32,fg=(e,t,r)=>e>>>r-32|t<<64-r,lg=(e,t)=>t,hg=(e,t)=>e,dg=(e,t,r)=>e<<r|t>>>32-r,pg=(e,t,r)=>t<<r|e>>>32-r,yg=(e,t,r)=>t<<r-32|e>>>64-r,mg=(e,t,r)=>e<<r-32|t>>>64-r;function gg(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var xg=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),bg=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,wg=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),vg=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Eg=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Sg=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;var Ag={fromBig:Dl,split:ng,toBig:ig,shrSH:og,shrSL:sg,rotrSH:ag,rotrSL:cg,rotrBH:ug,rotrBL:fg,rotr32H:lg,rotr32L:hg,rotlSH:dg,rotlSL:pg,rotlBH:yg,rotlBL:mg,add:gg,add3L:xg,add3H:bg,add4L:wg,add4H:vg,add5H:Sg,add5L:Eg},rt=Ag;var[Dg,Cg]=rt.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))),Ar=new Uint32Array(80),Dr=new Uint32Array(80),Dc=class extends Nn{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:u,El:f,Fh:l,Fl:d,Gh:y,Gl:h,Hh:p,Hl:m}=this;return[t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m]}set(t,r,n,i,o,s,a,c,u,f,l,d,y,h,p,m){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=u|0,this.El=f|0,this.Fh=l|0,this.Fl=d|0,this.Gh=y|0,this.Gl=h|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let x=0;x<16;x++,r+=4)Ar[x]=t.getUint32(r),Dr[x]=t.getUint32(r+=4);for(let x=16;x<80;x++){let D=Ar[x-15]|0,v=Dr[x-15]|0,E=rt.rotrSH(D,v,1)^rt.rotrSH(D,v,8)^rt.shrSH(D,v,7),C=rt.rotrSL(D,v,1)^rt.rotrSL(D,v,8)^rt.shrSL(D,v,7),B=Ar[x-2]|0,O=Dr[x-2]|0,K=rt.rotrSH(B,O,19)^rt.rotrBH(B,O,61)^rt.shrSH(B,O,6),U=rt.rotrSL(B,O,19)^rt.rotrBL(B,O,61)^rt.shrSL(B,O,6),F=rt.add4L(C,U,Dr[x-7],Dr[x-16]),G=rt.add4H(F,E,K,Ar[x-7],Ar[x-16]);Ar[x]=G|0,Dr[x]=F|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:d,Fh:y,Fl:h,Gh:p,Gl:m,Hh:g,Hl:b}=this;for(let x=0;x<80;x++){let D=rt.rotrSH(l,d,14)^rt.rotrSH(l,d,18)^rt.rotrBH(l,d,41),v=rt.rotrSL(l,d,14)^rt.rotrSL(l,d,18)^rt.rotrBL(l,d,41),E=l&y^~l&p,C=d&h^~d&m,B=rt.add5L(b,v,C,Cg[x],Dr[x]),O=rt.add5H(B,g,D,E,Dg[x],Ar[x]),K=B|0,U=rt.rotrSH(n,i,28)^rt.rotrBH(n,i,34)^rt.rotrBH(n,i,39),F=rt.rotrSL(n,i,28)^rt.rotrBL(n,i,34)^rt.rotrBL(n,i,39),G=n&o^n&a^o&a,Q=i&s^i&c^s&c;g=p|0,b=m|0,p=y|0,m=h|0,y=l|0,h=d|0,{h:l,l:d}=rt.add(u|0,f|0,O|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let I=rt.add3L(K,F,Q);n=rt.add3H(I,O,U,G),i=I|0}({h:n,l:i}=rt.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=rt.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=rt.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=rt.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:d}=rt.add(this.Eh|0,this.El|0,l|0,d|0),{h:y,l:h}=rt.add(this.Fh|0,this.Fl|0,y|0,h|0),{h:p,l:m}=rt.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:g,l:b}=rt.add(this.Hh|0,this.Hl|0,g|0,b|0),this.set(n,i,o,s,a,c,u,f,l,d,y,h,p,m,g,b)}roundClean(){Ar.fill(0),Dr.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 Cc=qo(()=>new Dc);var Wo={};ft(Wo,{bitGet:()=>Lg,bitLen:()=>Rg,bitMask:()=>xi,bitSet:()=>Ng,bytesToHex:()=>er,bytesToNumberBE:()=>rr,bytesToNumberLE:()=>Be,concatBytes:()=>ir,createHmacDrbg:()=>Tc,ensureBytes:()=>Et,equalBytes:()=>_g,hexToBytes:()=>Qr,hexToNumber:()=>Ic,isBytes:()=>Ce,numberToBytesBE:()=>Cr,numberToBytesLE:()=>nr,numberToHexUnpadded:()=>Tl,numberToVarBytesBE:()=>Tg,utf8ToBytes:()=>kg,validateObject:()=>pe});var Il=BigInt(0),Go=BigInt(1),Bg=BigInt(2);function Ce(e){return e instanceof Uint8Array||e!=null&&typeof e=="object"&&e.constructor.name==="Uint8Array"}var Ig=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function er(e){if(!Ce(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Ig[e[r]];return t}function Tl(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Ic(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}var tr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Cl(e){if(e>=tr._0&&e<=tr._9)return e-tr._0;if(e>=tr._A&&e<=tr._F)return e-(tr._A-10);if(e>=tr._a&&e<=tr._f)return e-(tr._a-10)}function Qr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Cl(e.charCodeAt(o)),a=Cl(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+o)}n[i]=s*16+a}return n}function rr(e){return Ic(er(e))}function Be(e){if(!Ce(e))throw new Error("Uint8Array expected");return Ic(er(Uint8Array.from(e).reverse()))}function Cr(e,t){return Qr(e.toString(16).padStart(t*2,"0"))}function nr(e,t){return Cr(e,t).reverse()}function Tg(e){return Qr(Tl(e))}function Et(e,t,r){let n;if(typeof t=="string")try{n=Qr(t)}catch(o){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${o}`)}else if(Ce(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 ir(...e){let t=0;for(let i=0;i<e.length;i++){let o=e[i];if(!Ce(o))throw new Error("Uint8Array expected");t+=o.length}let r=new Uint8Array(t),n=0;for(let i=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function _g(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function kg(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Rg(e){let t;for(t=0;e>Il;e>>=Go,t+=1);return t}function Lg(e,t){return e>>BigInt(t)&Go}var Ng=(e,t,r)=>e|(r?Go:Il)<<BigInt(t),xi=e=>(Bg<<BigInt(e-1))-Go,Bc=e=>new Uint8Array(e),Bl=e=>Uint8Array.from(e);function Tc(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=Bc(e),i=Bc(e),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Bc())=>{i=a(Bl([0]),l),n=a(),l.length!==0&&(i=a(Bl([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,d=[];for(;l<t;){n=a();let y=n.slice();d.push(y),l+=n.length}return ir(...d)};return(l,d)=>{s(),c(l);let y;for(;!(y=d(u()));)c();return s(),y}}var Pg={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"||Ce(e),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 pe(e,t,r={}){let n=(i,o,s)=>{let a=Pg[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 qt=BigInt(0),It=BigInt(1),jr=BigInt(2),Ug=BigInt(3),_c=BigInt(4),_l=BigInt(5),kl=BigInt(8),Og=BigInt(9),Kg=BigInt(16);function ht(e,t){let r=e%t;return r>=qt?r:t+r}function kc(e,t,r){if(r<=qt||t<qt)throw new Error("Expected power/modulo > 0");if(r===It)return qt;let n=It;for(;t>qt;)t&It&&(n=n*e%r),e=e*e%r,t>>=It;return n}function St(e,t,r){let n=e;for(;t-- >qt;)n*=n,n%=r;return n}function $o(e,t){if(e===qt||t<=qt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=ht(e,t),n=t,i=qt,o=It,s=It,a=qt;for(;r!==qt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==It)throw new Error("invert: does not exist");return ht(i,t)}function Mg(e){let t=(e-It)/jr,r,n,i;for(r=e-It,n=0;r%jr===qt;r/=jr,n++);for(i=jr;i<e&&kc(i,t,e)!==e-It;i++);if(n===1){let s=(e+It)/_c;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+It)/jr;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(d);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let h=a.pow(f,It<<BigInt(u-y-1));f=a.sqr(h),l=a.mul(l,h),d=a.mul(d,f),u=y}return l}}function Fg(e){if(e%_c===Ug){let t=(e+It)/_c;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%kl===_l){let t=(e-_l)/kl;return function(n,i){let o=n.mul(i,jr),s=n.pow(o,t),a=n.mul(i,s),c=n.mul(n.mul(a,jr),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return e%Kg,Mg(e)}var Rl=(e,t)=>(ht(e,t)&It)===It,Vg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Rc(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=Vg.reduce((n,i)=>(n[i]="function",n),t);return pe(e,r)}function Hg(e,t,r){if(r<qt)throw new Error("Expected power > 0");if(r===qt)return e.ONE;if(r===It)return t;let n=e.ONE,i=t;for(;r>qt;)r&It&&(n=e.mul(n,i)),i=e.sqr(i),r>>=It;return n}function qg(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 Lc(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Yo(e,t,r=!1,n={}){if(e<=qt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:o}=Lc(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Fg(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:o,MASK:xi(i),ZERO:qt,ONE:It,create:c=>ht(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return qt<=c&&c<e},is0:c=>c===qt,isOdd:c=>(c&It)===It,neg:c=>ht(-c,e),eql:(c,u)=>c===u,sqr:c=>ht(c*c,e),add:(c,u)=>ht(c+u,e),sub:(c,u)=>ht(c-u,e),mul:(c,u)=>ht(c*u,e),pow:(c,u)=>Hg(a,c,u),div:(c,u)=>ht(c*$o(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>$o(c,e),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>qg(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?nr(c,o):Cr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Be(c):rr(c)}});return Object.freeze(a)}function Ll(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 Nl(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 Nc(e){let t=Nl(e);return t+Math.ceil(t/2)}function Pl(e,t,r=!1){let n=e.length,i=Nl(t),o=Nc(t);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?rr(e):Be(e),a=ht(s,t-It)+It;return r?nr(a,i):Cr(a,i)}var Gg=BigInt(0),Pc=BigInt(1);function Xo(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>Gg;)o&Pc&&(s=s.add(a)),a=a.double(),o>>=Pc;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let d=1;d<a;d++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),d=2**i,y=BigInt(i);for(let h=0;h<a;h++){let p=h*c,m=Number(s&l);s>>=y,m>c&&(m-=d,s+=Pc);let g=p,b=p+Math.abs(m)-1,x=h%2!==0,D=m<0;m===0?f=f.add(r(x,o[g])):u=u.add(r(D,o[b]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function bi(e){return Rc(e.Fp),pe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Lc(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ie=BigInt(0),le=BigInt(1),Zo=BigInt(2),Wg=BigInt(8),$g={zip215:!0};function Yg(e){let t=bi(e);return pe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Qo(e){let t=Yg(e),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=t,u=Zo<<BigInt(a*8)-le,f=r.create,l=t.uvRatio||((k,S)=>{try{return{isValid:!0,value:r.sqrt(k*r.inv(S))}}catch{return{isValid:!1,value:Ie}}}),d=t.adjustScalarBytes||(k=>k),y=t.domain||((k,S,P)=>{if(S.length||P)throw new Error("Contexts/pre-hash are not supported");return k}),h=k=>typeof k=="bigint"&&Ie<k,p=(k,S)=>h(k)&&h(S)&&k<S,m=k=>k===Ie||p(k,u);function g(k,S){if(p(k,S))return k;throw new Error(`Expected valid scalar < ${S}, got ${typeof k} ${k}`)}function b(k){return k===Ie?k:g(k,n)}let x=new Map;function D(k){if(!(k instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(S,P,M,H){if(this.ex=S,this.ey=P,this.ez=M,this.et=H,!m(S))throw new Error("x required");if(!m(P))throw new Error("y required");if(!m(M))throw new Error("z required");if(!m(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(S){if(S instanceof v)throw new Error("extended point not allowed");let{x:P,y:M}=S||{};if(!m(P)||!m(M))throw new Error("invalid affine point");return new v(P,M,le,f(P*M))}static normalizeZ(S){let P=r.invertBatch(S.map(M=>M.ez));return S.map((M,H)=>M.toAffine(P[H])).map(v.fromAffine)}_setWindowSize(S){this._WINDOW_SIZE=S,x.delete(this)}assertValidity(){let{a:S,d:P}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:M,ey:H,ez:Z,et:j}=this,it=f(M*M),J=f(H*H),et=f(Z*Z),bt=f(et*et),gt=f(it*S),$t=f(et*f(gt+J)),Yt=f(bt+f(P*f(it*J)));if($t!==Yt)throw new Error("bad point: equation left != right (1)");let Ft=f(M*H),jt=f(Z*j);if(Ft!==jt)throw new Error("bad point: equation left != right (2)")}equals(S){D(S);let{ex:P,ey:M,ez:H}=this,{ex:Z,ey:j,ez:it}=S,J=f(P*it),et=f(Z*H),bt=f(M*it),gt=f(j*H);return J===et&&bt===gt}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:S}=t,{ex:P,ey:M,ez:H}=this,Z=f(P*P),j=f(M*M),it=f(Zo*f(H*H)),J=f(S*Z),et=P+M,bt=f(f(et*et)-Z-j),gt=J+j,$t=gt-it,Yt=J-j,Ft=f(bt*$t),jt=f(gt*Yt),$e=f(bt*Yt),Pr=f($t*gt);return new v(Ft,jt,Pr,$e)}add(S){D(S);let{a:P,d:M}=t,{ex:H,ey:Z,ez:j,et:it}=this,{ex:J,ey:et,ez:bt,et:gt}=S;if(P===BigInt(-1)){let cu=f((Z-H)*(et+J)),uu=f((Z+H)*(et-J)),Fs=f(uu-cu);if(Fs===Ie)return this.double();let fu=f(j*Zo*gt),lu=f(it*Zo*bt),hu=lu+fu,du=uu+cu,pu=lu-fu,G1=f(hu*Fs),W1=f(du*pu),$1=f(hu*pu),Y1=f(Fs*du);return new v(G1,W1,Y1,$1)}let $t=f(H*J),Yt=f(Z*et),Ft=f(it*M*gt),jt=f(j*bt),$e=f((H+Z)*(J+et)-$t-Yt),Pr=jt-Ft,ri=jt+Ft,au=f(Yt-P*$t),V1=f($e*Pr),H1=f(ri*au),q1=f($e*au),z1=f(Pr*ri);return new v(V1,H1,z1,q1)}subtract(S){return this.add(S.negate())}wNAF(S){return B.wNAFCached(this,x,S,v.normalizeZ)}multiply(S){let{p:P,f:M}=this.wNAF(g(S,n));return v.normalizeZ([P,M])[0]}multiplyUnsafe(S){let P=b(S);return P===Ie?C:this.equals(C)||P===le?this:this.equals(E)?this.wNAF(P).p:B.unsafeLadder(this,P)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(S){let{ex:P,ey:M,ez:H}=this,Z=this.is0();S==null&&(S=Z?Wg:r.inv(H));let j=f(P*S),it=f(M*S),J=f(H*S);if(Z)return{x:Ie,y:le};if(J!==le)throw new Error("invZ was invalid");return{x:j,y:it}}clearCofactor(){let{h:S}=t;return S===le?this:this.multiplyUnsafe(S)}static fromHex(S,P=!1){let{d:M,a:H}=t,Z=r.BYTES;S=Et("pointHex",S,Z);let j=S.slice(),it=S[Z-1];j[Z-1]=it&-129;let J=Be(j);J===Ie||(P?g(J,u):g(J,r.ORDER));let et=f(J*J),bt=f(et-le),gt=f(M*et-H),{isValid:$t,value:Yt}=l(bt,gt);if(!$t)throw new Error("Point.fromHex: invalid y coordinate");let Ft=(Yt&le)===le,jt=(it&128)!==0;if(!P&&Yt===Ie&&jt)throw new Error("Point.fromHex: x=0 and x_0=1");return jt!==Ft&&(Yt=f(-Yt)),v.fromAffine({x:Yt,y:J})}static fromPrivateKey(S){return U(S).point}toRawBytes(){let{x:S,y:P}=this.toAffine(),M=nr(P,r.BYTES);return M[M.length-1]|=S&le?128:0,M}toHex(){return er(this.toRawBytes())}}v.BASE=new v(t.Gx,t.Gy,le,f(t.Gx*t.Gy)),v.ZERO=new v(Ie,le,le,Ie);let{BASE:E,ZERO:C}=v,B=Xo(v,a*8);function O(k){return ht(k,n)}function K(k){return O(Be(k))}function U(k){let S=a;k=Et("private key",k,S);let P=Et("hashed private key",o(k),2*S),M=d(P.slice(0,S)),H=P.slice(S,2*S),Z=K(M),j=E.multiply(Z),it=j.toRawBytes();return{head:M,prefix:H,scalar:Z,point:j,pointBytes:it}}function F(k){return U(k).pointBytes}function G(k=new Uint8Array,...S){let P=ir(...S);return K(o(y(P,Et("context",k),!!i)))}function Q(k,S,P={}){k=Et("message",k),i&&(k=i(k));let{prefix:M,scalar:H,pointBytes:Z}=U(S),j=G(P.context,M,k),it=E.multiply(j).toRawBytes(),J=G(P.context,it,Z,k),et=O(j+J*H);b(et);let bt=ir(it,nr(et,r.BYTES));return Et("result",bt,a*2)}let I=$g;function R(k,S,P,M=I){let{context:H,zip215:Z}=M,j=r.BYTES;k=Et("signature",k,2*j),S=Et("message",S),i&&(S=i(S));let it=Be(k.slice(j,2*j)),J,et,bt;try{J=v.fromHex(P,Z),et=v.fromHex(k.slice(0,j),Z),bt=E.multiplyUnsafe(it)}catch{return!1}if(!Z&&J.isSmallOrder())return!1;let gt=G(H,et.toRawBytes(),J.toRawBytes(),S);return et.add(J.multiplyUnsafe(gt)).subtract(bt).clearCofactor().equals(v.ZERO)}return E._setWindowSize(8),{CURVE:t,getPublicKey:F,sign:Q,verify:R,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>s(r.BYTES),precompute(k=8,S=v.BASE){return S._setWindowSize(k),S.multiply(BigInt(3)),S}}}}var wi=BigInt(0),Uc=BigInt(1);function Xg(e){return pe(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}function Ul(e){let t=Xg(e),{P:r}=t,n=x=>ht(x,r),i=t.montgomeryBits,o=Math.ceil(i/8),s=t.nByteLength,a=t.adjustScalarBytes||(x=>x),c=t.powPminus2||(x=>kc(x,r-BigInt(2),r));function u(x,D,v){let E=n(x*(D-v));return D=n(D-E),v=n(v+E),[D,v]}function f(x){if(typeof x=="bigint"&&wi<=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,D){let v=f(x),E=f(D),C=v,B=Uc,O=wi,K=v,U=Uc,F=wi,G;for(let I=BigInt(i-1);I>=wi;I--){let R=E>>I&Uc;F^=R,G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1],F=R;let _=B+O,k=n(_*_),S=B-O,P=n(S*S),M=k-P,H=K+U,Z=K-U,j=n(Z*_),it=n(H*S),J=j+it,et=j-it;K=n(J*J),U=n(C*n(et*et)),B=n(k*P),O=n(M*(k+n(l*M)))}G=u(F,B,K),B=G[0],K=G[1],G=u(F,O,U),O=G[0],U=G[1];let Q=c(O);return n(B*Q)}function y(x){return nr(n(x),o)}function h(x){let D=Et("u coordinate",x,o);return s===32&&(D[31]&=127),Be(D)}function p(x){let D=Et("scalar",x),v=D.length;if(v!==o&&v!==s)throw new Error(`Expected ${o} or ${s} bytes, got ${v}`);return Be(a(D))}function m(x,D){let v=h(D),E=p(x),C=d(v,E);if(C===wi)throw new Error("Invalid private or public key received");return y(C)}let g=y(t.Gu);function b(x){return m(x,g)}return{scalarMult:m,scalarMultBase:b,getSharedSecret:(x,D)=>m(x,D),getPublicKey:x=>b(x),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:g}}var vi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ol=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),JD=BigInt(0),Zg=BigInt(1),Oc=BigInt(2),Qg=BigInt(5),Kl=BigInt(10),jg=BigInt(20),Jg=BigInt(40),Ml=BigInt(80);function Fl(e){let t=vi,n=e*e%t*e%t,i=St(n,Oc,t)*n%t,o=St(i,Zg,t)*e%t,s=St(o,Qg,t)*o%t,a=St(s,Kl,t)*s%t,c=St(a,jg,t)*a%t,u=St(c,Jg,t)*c%t,f=St(u,Ml,t)*u%t,l=St(f,Ml,t)*u%t,d=St(l,Kl,t)*s%t;return{pow_p_5_8:St(d,Oc,t)*e%t,b2:n}}function Vl(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function tx(e,t){let r=vi,n=ht(t*t*t,r),i=ht(n*n*t,r),o=Fl(e*i).pow_p_5_8,s=ht(e*n*o,r),a=ht(t*s*s,r),c=s,u=ht(s*Ol,r),f=a===e,l=a===ht(-e,r),d=a===ht(-e*Ol,r);return f&&(s=c),(l||d)&&(s=u),Rl(s,r)&&(s=ht(-s,r)),{isValid:f||l,value:s}}var or=Yo(vi,void 0,!0),Kc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:or,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Cc,randomBytes:Zr,adjustScalarBytes:Vl,uvRatio:tx},Pn=Qo(Kc);function Hl(e,t,r){if(t.length>255)throw new Error("Context is too big");return Ho(Sc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var tC=Qo({...Kc,domain:Hl}),eC=Qo({...Kc,domain:Hl,prehash:Cc}),Ei=Ul({P:vi,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let t=vi,{pow_p_5_8:r,b2:n}=Fl(e);return ht(St(r,BigInt(3),t)*n,t)},adjustScalarBytes:Vl,randomBytes:Zr});var ex=(or.ORDER+BigInt(3))/BigInt(8),rC=or.pow(Oc,ex),nC=or.sqrt(or.neg(or.ONE)),iC=(or.ORDER-BigInt(5))/BigInt(8),oC=BigInt(486662);var sC=Ll(or,or.neg(BigInt(486664)));var aC=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),cC=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),uC=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),fC=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var lC=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var jo=class extends Ln{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,gi(t);let n=Sr(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 Rn(this),this.iHash.update(t),this}digestInto(t){Rn(this),Ec(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()}},Un=(e,t,r)=>new jo(e,t).update(r).digest();Un.create=(e,t)=>new jo(e,t);function zl(e,t,r){return gi(e),r===void 0&&(r=new Uint8Array(e.outputLen)),Un(e,Sr(r),Sr(t))}var Mc=new Uint8Array([0]),ql=new Uint8Array;function Gl(e,t,r,n=32){if(gi(e),Mo(n),n>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");let i=Math.ceil(n/e.outputLen);r===void 0&&(r=ql);let o=new Uint8Array(i*e.outputLen),s=Un.create(e,t),a=s._cloneInto(),c=new Uint8Array(s.outputLen);for(let u=0;u<i;u++)Mc[0]=u+1,a.update(u===0?ql:c).update(r).update(Mc).digestInto(c),o.set(c,e.outputLen*u),s._cloneInto(a);return s.destroy(),a.destroy(),c.fill(0),Mc.fill(0),o.slice(0,n)}var rx=(e,t,r)=>e&t^~e&r,nx=(e,t,r)=>e&t^e&r^t&r,ix=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]),Br=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ir=new Uint32Array(64),Fc=class extends Nn{constructor(){super(64,32,8,!1),this.A=Br[0]|0,this.B=Br[1]|0,this.C=Br[2]|0,this.D=Br[3]|0,this.E=Br[4]|0,this.F=Br[5]|0,this.G=Br[6]|0,this.H=Br[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],y=Ir[l-2],h=De(d,7)^De(d,18)^d>>>3,p=De(y,17)^De(y,19)^y>>>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:u,H:f}=this;for(let l=0;l<64;l++){let d=De(a,6)^De(a,11)^De(a,25),y=f+d+rx(a,c,u)+ix[l]+Ir[l]|0,p=(De(n,2)^De(n,13)^De(n,22))+nx(n,i,o)|0;f=u,u=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,f=f+this.H|0,this.set(n,i,o,s,a,c,u,f)}roundClean(){Ir.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var On=qo(()=>new Fc);var Vc={hashSHA256(e){return On(e.subarray())},getHKDF(e,t){let r=zl(On,t,e),i=Gl(On,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=Ei.utils.randomPrivateKey();return{publicKey:Ei.getPublicKey(e),privateKey:e}},generateX25519KeyPairFromSeed(e){return{publicKey:Ei.getPublicKey(e),privateKey:e}},generateX25519SharedKey(e,t){return Ei.getSharedSecret(e.subarray(),t.subarray())},chaCha20Poly1305Encrypt(e,t,r,n){return vc(n,t,r).encrypt(e.subarray())},chaCha20Poly1305Decrypt(e,t,r,n,i){return vc(n,t,r).decrypt(e.subarray(),i)}};var Wl=Vc;var Kn=e=>{let t=Vt(2);return new DataView(t.buffer,t.byteOffset,t.byteLength).setUint16(0,e,!1),t};Kn.bytes=2;var Si=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)};Si.bytes=2;function $l(e){return new Bt(e.ne,e.ciphertext)}function Yl(e){return new Bt(e.ne,e.ns,e.ciphertext)}function Xl(e){return new Bt(e.ns,e.ciphertext)}function Zl(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:ot(0)}}function Ql(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 jl(e){if(e.length<48)throw new Error("Cannot decode stage 2 MessageBuffer: length less than 48 bytes.");return{ne:ot(0),ns:e.subarray(0,48),ciphertext:e.subarray(48,e.length)}}var th=16;function eh(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;n instanceof Uint8Array?s=e.encrypt(n.subarray(i,o),e.session):s=e.encrypt(n.sublist(i,o),e.session),t?.encryptedPackets.increment(),yield new Bt(Kn(s.byteLength),s)}}}function rh(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-th<i)throw new Error("Invalid chunk");let s=n.sublist(i,o),a=n.subarray(i,o-th),{plaintext:c,valid:u}=e.decrypt(s,e.session,a);if(!u)throw t?.decryptErrors.increment(),new Error("Failed to validate decrypted chunk");t?.decryptedPackets.increment(),yield c}}}var Di=class e extends Error{code;constructor(t="Unexpected Peer"){super(t),this.code=e.code}static code="ERR_UNEXPECTED_PEER"},Jr=class e extends Error{code;constructor(t="Invalid crypto exchange"){super(t),this.code=e.code}static code="ERR_INVALID_CRYPTO_EXCHANGE"};var JI=Jt(Ti(),1),tT=Jt(xd(),1);var ov=Jt(xt(),1);var d0={};ft(d0,{Ed25519PrivateKey:()=>sn,Ed25519PublicKey:()=>Ri,generateKeyPair:()=>Rw,generateKeyPairFromSeed:()=>Bd,unmarshalEd25519PrivateKey:()=>_w,unmarshalEd25519PublicKey:()=>kw});var uB=Jt(Mt(),1),fB=Jt(ds(),1),bd=Jt(xt(),1);function ke(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=Ct([new Uint8Array(t-r.length),r])}return at(r,"base64url")}function he(e){let t=wd(e);return new bd.default.jsbn.BigInteger(at(t,"base16"),16)}function wd(e,t){let r=wt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ct([new Uint8Array(t-r.length),r])}return r}function ge(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}var qn=32,ur=64,gs=32;function vd(){let e=Pn.utils.randomPrivateKey(),t=Pn.getPublicKey(e);return{privateKey:Dd(e,t),publicKey:t}}function Ed(e){if(e.length!==gs)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=Pn.getPublicKey(t);return{privateKey:Dd(t,r),publicKey:r}}function Sd(e,t){let r=e.subarray(0,gs);return Pn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Ad(e,t,r){return Pn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Dd(e,t){let r=new Uint8Array(ur);for(let n=0;n<gs;n++)r[n]=e[n],r[gs+n]=t[n];return r}var ue={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 f0={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function l0(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=ue.get();r*=8;async function c(l,d){let y=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:h};typeof d=="string"&&(d=wt(d));let m;if(d.length===0){m=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["encrypt"]);try{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["encrypt"])}}else{let b={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},x=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,x,{name:t,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(p,m,l);return Ct([y,p.iv,new Uint8Array(g)])}async function u(l,d){let y=l.subarray(0,o),h=l.subarray(o,o+n),p=l.subarray(o+n),m={name:t,iv:h};typeof d=="string"&&(d=wt(d));let g;if(d.length===0)try{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",f0,{name:"AES-GCM"},!0,["decrypt"])}else{let x={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},D=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,D,{name:t,length:r},!0,["decrypt"])}let b=await a.subtle.decrypt(m,g,p);return new Uint8Array(b)}return{encrypt:c,decrypt:u}}async function zn(e,t){let n=await l0().encrypt(e,t);return ji.encode(n)}var _t;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(_t||(_t={}));var h0;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(h0||(h0={}));(function(e){e.codec=()=>Gr(h0)})(_t||(_t={}));var ze;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.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=_t.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(ze||(ze={}));var Ge;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),_t.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=_t.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Ge||(Ge={}));var Ri=class{_key;constructor(t){this._key=Gn(t,qn)}verify(t,r){return Ad(this._key,r,t)}marshal(){return this._key}get bytes(){return ze.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},sn=class{_key;_publicKey;constructor(t,r){this._key=Gn(t,ur),this._publicKey=Gn(r,qn)}sign(t){return Sd(this._key,t)}get public(){return new Ri(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:_t.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}async hash(){let t=Xt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=yr.digest(this.public.bytes);return Lt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return zn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function _w(e){if(e.length>ur){e=Gn(e,ur+qn);let n=e.subarray(0,ur),i=e.subarray(ur,e.length);return new sn(n,i)}e=Gn(e,ur);let t=e.subarray(0,ur),r=e.subarray(qn);return new sn(t,r)}function kw(e){return e=Gn(e,qn),new Ri(e)}async function Rw(){let{privateKey:e,publicKey:t}=vd();return new sn(e,t)}async function Bd(e){let{privateKey:t,publicKey:r}=Ed(e);return new sn(t,r)}function Gn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new W(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Lw={"P-256":256,"P-384":384,"P-521":521},Nw=Object.keys(Lw),UB=Nw.join(" / ");var x0={};ft(x0,{MAX_KEY_SIZE:()=>Ui,RsaPrivateKey:()=>Wn,RsaPublicKey:()=>Pi,fromJwk:()=>Gw,generateKeyPair:()=>Ww,unmarshalRsaPrivateKey:()=>qw,unmarshalRsaPublicKey:()=>zw});var Ni=Jt(xt(),1);var wI=Jt(Rd(),1);function bs(e){if(isNaN(e)||e<=0)throw new W("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Zr(e)}var rI=Jt(ms(),1),m0=Jt(xt(),1);function Ld(e,t){return t.map(r=>he(e[r]))}function Nd(e){return m0.default.pki.setRsaPrivateKey(...Ld(e,["n","e","d","p","q","dp","dq","qi"]))}function Pd(e){return m0.default.pki.setRsaPublicKey(...Ld(e,["n","e"]))}var cn={};ft(cn,{jwkToPkcs1:()=>Kw,jwkToPkix:()=>Fw,pkcs1ToJwk:()=>Ow,pkixToJwk:()=>Mw});var oI=Jt(Ti(),1),sI=Jt(ms(),1);var fr=Jt(xt(),1);function Ow(e){let t=fr.default.asn1.fromDer(at(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:ke(r.n),e:ke(r.e),d:ke(r.d),p:ke(r.p),q:ke(r.q),dp:ke(r.dP),dq:ke(r.dQ),qi:ke(r.qInv),alg:"RS256"}}function Kw(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return wt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function Mw(e){let t=fr.default.asn1.fromDer(at(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:ke(r.n),e:ke(r.e)}}function Fw(e){if(e.n==null||e.e==null)throw new W("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return wt(fr.default.asn1.toDer(t).getBytes(),"ascii")}async function Ud(e){let t=await ue.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 Md(t);return{privateKey:r[0],publicKey:r[1]}}async function g0(e){let r=[await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Vw(e)],n=await Md({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Od(e,t){let r=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ue.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Kd(e,t,r){let n=await ue.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ue.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function Md(e){if(e.privateKey==null||e.publicKey==null)throw new W("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ue.get().subtle.exportKey("jwk",e.privateKey),ue.get().subtle.exportKey("jwk",e.publicKey)])}async function Vw(e){return ue.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 Fd(e,t,r,n){let i=t?Pd(e):Nd(e),o=at(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return wt(s,"ascii")}function Vd(e,t){return Fd(e,!0,t,(r,n)=>n.encrypt(r))}function Hd(e,t){return Fd(e,!1,t,(r,n)=>n.decrypt(r))}function ws(e){if(e.kty!=="RSA")throw new W("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new W("invalid key modulus","ERR_INVALID_KEY_MODULUS");return wt(e.n,"base64url").length*8}var Ui=8192,Pi=class{_key;constructor(t){this._key=t}verify(t,r){return Kd(this._key,r,t)}marshal(){return cn.jwkToPkix(this._key)}get bytes(){return ze.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Vd(this._key,t)}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}},Wn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return bs(16)}sign(t){return Od(this._key,t)}get public(){if(this._publicKey==null)throw new W("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Pi(this._publicKey)}decrypt(t){return Hd(this._key,t)}marshal(){return cn.jwkToPkcs1(this._key)}get bytes(){return Ge.encode({Type:_t.RSA,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return at(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ni.default.util.ByteBuffer(this.marshal()),i=Ni.default.asn1.fromDer(n),o=Ni.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ni.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return zn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function qw(e){let t=cn.pkcs1ToJwk(e);if(ws(t)>Ui)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await g0(t);return new Wn(r.privateKey,r.publicKey)}function zw(e){let t=cn.pkixToJwk(e);if(ws(t)>Ui)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Pi(t)}async function Gw(e){if(ws(e)>Ui)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await g0(e);return new Wn(t.privateKey,t.publicKey)}async function Ww(e){if(e>Ui)throw new W("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Ud(e);return new Wn(t.privateKey,t.publicKey)}var E0={};ft(E0,{Secp256k1PrivateKey:()=>Ki,Secp256k1PublicKey:()=>Oi,generateKeyPair:()=>iv,unmarshalSecp256k1PrivateKey:()=>rv,unmarshalSecp256k1PublicKey:()=>nv});function $w(e){let t=bi(e);pe(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:Yw,hexToBytes:Xw}=Wo,un={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=un;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:Yw(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=un,r=typeof e=="string"?Xw(e):e;if(!Ce(r))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}=un._parseInt(r.subarray(2)),{d:s,l:a}=un._parseInt(o);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=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}`}},lr=BigInt(0),xe=BigInt(1),BI=BigInt(2),qd=BigInt(3),II=BigInt(4);function Zw(e){let t=$w(e),{Fp:r}=t,n=t.toBytes||((h,p,m)=>{let g=p.toAffine();return ir(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=t.fromBytes||(h=>{let p=h.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),g=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:g}});function o(h){let{a:p,b:m}=t,g=r.sqr(h),b=r.mul(g,h);return r.add(r.add(b,r.mul(h,p)),m)}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"&&lr<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:m,wrapPrivateKey:g,n:b}=t;if(p&&typeof h!="bigint"){if(Ce(h)&&(h=er(h)),typeof h!="string"||!p.includes(h.length))throw new Error("Invalid key");h=h.padStart(m*2,"0")}let x;try{x=typeof h=="bigint"?h:rr(Et("private key",h,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof h}`)}return g&&(x=ht(x,b)),a(x),x}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,g){if(this.px=p,this.py=m,this.pz=g,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(p){let{x:m,y:g}=p||{};if(!p||!r.isValid(m)||!r.isValid(g))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let b=x=>r.eql(x,r.ZERO);return b(m)&&b(g)?l.ZERO:new l(m,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(g=>g.pz));return p.map((g,b)=>g.toAffine(m[b])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(Et("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let g=r.sqr(m),b=o(p);if(!r.eql(g,b))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.eql(r.mul(m,v),r.mul(x,b)),C=r.eql(r.mul(g,v),r.mul(D,b));return E&&C}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,g=r.mul(m,qd),{px:b,py:x,pz:D}=this,v=r.ZERO,E=r.ZERO,C=r.ZERO,B=r.mul(b,b),O=r.mul(x,x),K=r.mul(D,D),U=r.mul(b,x);return U=r.add(U,U),C=r.mul(b,D),C=r.add(C,C),v=r.mul(p,C),E=r.mul(g,K),E=r.add(v,E),v=r.sub(O,E),E=r.add(O,E),E=r.mul(v,E),v=r.mul(U,v),C=r.mul(g,C),K=r.mul(p,K),U=r.sub(B,K),U=r.mul(p,U),U=r.add(U,C),C=r.add(B,B),B=r.add(C,B),B=r.add(B,K),B=r.mul(B,U),E=r.add(E,B),K=r.mul(x,D),K=r.add(K,K),B=r.mul(K,U),v=r.sub(v,B),C=r.mul(K,O),C=r.add(C,C),C=r.add(C,C),new l(v,E,C)}add(p){f(p);let{px:m,py:g,pz:b}=this,{px:x,py:D,pz:v}=p,E=r.ZERO,C=r.ZERO,B=r.ZERO,O=t.a,K=r.mul(t.b,qd),U=r.mul(m,x),F=r.mul(g,D),G=r.mul(b,v),Q=r.add(m,g),I=r.add(x,D);Q=r.mul(Q,I),I=r.add(U,F),Q=r.sub(Q,I),I=r.add(m,b);let R=r.add(x,v);return I=r.mul(I,R),R=r.add(U,G),I=r.sub(I,R),R=r.add(g,b),E=r.add(D,v),R=r.mul(R,E),E=r.add(F,G),R=r.sub(R,E),B=r.mul(O,I),E=r.mul(K,G),B=r.add(E,B),E=r.sub(F,B),B=r.add(F,B),C=r.mul(E,B),F=r.add(U,U),F=r.add(F,U),G=r.mul(O,G),I=r.mul(K,I),F=r.add(F,G),G=r.sub(U,G),G=r.mul(O,G),I=r.add(I,G),U=r.mul(F,I),C=r.add(C,U),U=r.mul(R,I),E=r.mul(Q,E),E=r.sub(E,U),U=r.mul(Q,F),B=r.mul(R,B),B=r.add(B,U),new l(E,C,B)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let g=r.invertBatch(m.map(b=>b.pz));return m.map((b,x)=>b.toAffine(g[x])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===lr)return m;if(a(p),p===xe)return this;let{endo:g}=t;if(!g)return y.unsafeLadder(this,p);let{k1neg:b,k1:x,k2neg:D,k2:v}=g.splitScalar(p),E=m,C=m,B=this;for(;x>lr||v>lr;)x&xe&&(E=E.add(B)),v&xe&&(C=C.add(B)),B=B.double(),x>>=xe,v>>=xe;return b&&(E=E.negate()),D&&(C=C.negate()),C=new l(r.mul(C.px,g.beta),C.py,C.pz),E.add(C)}multiply(p){a(p);let m=p,g,b,{endo:x}=t;if(x){let{k1neg:D,k1:v,k2neg:E,k2:C}=x.splitScalar(m),{p:B,f:O}=this.wNAF(v),{p:K,f:U}=this.wNAF(C);B=y.constTimeNegate(D,B),K=y.constTimeNegate(E,K),K=new l(r.mul(K.px,x.beta),K.py,K.pz),g=B.add(K),b=O.add(U)}else{let{p:D,f:v}=this.wNAF(m);g=D,b=v}return l.normalizeZ([g,b])[0]}multiplyAndAddUnsafe(p,m,g){let b=l.BASE,x=(v,E)=>E===lr||E===xe||!v.equals(b)?v.multiplyUnsafe(E):v.multiply(E),D=x(this,m).add(x(p,g));return D.is0()?void 0:D}toAffine(p){let{px:m,py:g,pz:b}=this,x=this.is0();p==null&&(p=x?r.ONE:r.inv(b));let D=r.mul(m,p),v=r.mul(g,p),E=r.mul(b,p);if(x)return{x:r.ZERO,y:r.ZERO};if(!r.eql(E,r.ONE))throw new Error("invZ was invalid");return{x:D,y:v}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===xe)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===xe?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return er(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,y=Xo(l,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function Qw(e){let t=bi(e);return pe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function zd(e){let t=Qw(e),{Fp:r,n}=t,i=r.BYTES+1,o=2*r.BYTES+1;function s(I){return lr<I&&I<r.ORDER}function a(I){return ht(I,n)}function c(I){return $o(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:d}=Zw({...t,toBytes(I,R,_){let k=R.toAffine(),S=r.toBytes(k.x),P=ir;return _?P(Uint8Array.from([R.hasEvenY()?2:3]),S):P(Uint8Array.from([4]),S,r.toBytes(k.y))},fromBytes(I){let R=I.length,_=I[0],k=I.subarray(1);if(R===i&&(_===2||_===3)){let S=rr(k);if(!s(S))throw new Error("Point is not on curve");let P=l(S),M=r.sqrt(P),H=(M&xe)===xe;return(_&1)===1!==H&&(M=r.neg(M)),{x:S,y:M}}else if(R===o&&_===4){let S=r.fromBytes(k.subarray(0,r.BYTES)),P=r.fromBytes(k.subarray(r.BYTES,2*r.BYTES));return{x:S,y:P}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=I=>er(Cr(I,t.nByteLength));function h(I){let R=n>>xe;return I>R}function p(I){return h(I)?a(-I):I}let m=(I,R,_)=>rr(I.slice(R,_));class g{constructor(R,_,k){this.r=R,this.s=_,this.recovery=k,this.assertValidity()}static fromCompact(R){let _=t.nByteLength;return R=Et("compactSignature",R,_*2),new g(m(R,0,_),m(R,_,2*_))}static fromDER(R){let{r:_,s:k}=un.toSig(Et("DER",R));return new g(_,k)}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(R){return new g(this.r,this.s,R)}recoverPublicKey(R){let{r:_,s:k,recovery:S}=this,P=C(Et("msgHash",R));if(S==null||![0,1,2,3].includes(S))throw new Error("recovery id invalid");let M=S===2||S===3?_+t.n:_;if(M>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=S&1?"03":"02",Z=u.fromHex(H+y(M)),j=c(M),it=a(-P*j),J=a(k*j),et=u.BASE.multiplyAndAddUnsafe(Z,it,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Qr(this.toDERHex())}toDERHex(){return un.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Qr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let b={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=Nc(t.n);return Pl(t.randomBytes(I),t.n)},precompute(I=8,R=u.BASE){return R._setWindowSize(I),R.multiply(BigInt(3)),R}};function x(I,R=!0){return u.fromPrivateKey(I).toRawBytes(R)}function D(I){let R=Ce(I),_=typeof I=="string",k=(R||_)&&I.length;return R?k===i||k===o:_?k===2*i||k===2*o:I instanceof u}function v(I,R,_=!0){if(D(I))throw new Error("first arg must be private key");if(!D(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(I)).toRawBytes(_)}let E=t.bits2int||function(I){let R=rr(I),_=I.length*8-t.nBitLength;return _>0?R>>BigInt(_):R},C=t.bits2int_modN||function(I){return a(E(I))},B=xi(t.nBitLength);function O(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(lr<=I&&I<B))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Cr(I,t.nByteLength)}function K(I,R,_=U){if(["recovered","canonical"].some(gt=>gt in _))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:S}=t,{lowS:P,prehash:M,extraEntropy:H}=_;P==null&&(P=!0),I=Et("msgHash",I),M&&(I=Et("prehashed msgHash",k(I)));let Z=C(I),j=f(R),it=[O(j),O(Z)];if(H!=null){let gt=H===!0?S(r.BYTES):H;it.push(Et("extraEntropy",gt))}let J=ir(...it),et=Z;function bt(gt){let $t=E(gt);if(!d($t))return;let Yt=c($t),Ft=u.BASE.multiply($t).toAffine(),jt=a(Ft.x);if(jt===lr)return;let $e=a(Yt*a(et+jt*j));if($e===lr)return;let Pr=(Ft.x===jt?0:2)|Number(Ft.y&xe),ri=$e;return P&&h($e)&&(ri=p($e),Pr^=1),new g(jt,ri,Pr)}return{seed:J,k2sig:bt}}let U={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function G(I,R,_=U){let{seed:k,k2sig:S}=K(I,R,_),P=t;return Tc(P.hash.outputLen,P.nByteLength,P.hmac)(k,S)}u.BASE._setWindowSize(8);function Q(I,R,_,k=F){let S=I;if(R=Et("msgHash",R),_=Et("publicKey",_),"strict"in k)throw new Error("options.strict was renamed to lowS");let{lowS:P,prehash:M}=k,H,Z;try{if(typeof S=="string"||Ce(S))try{H=g.fromDER(S)}catch(Ft){if(!(Ft instanceof un.Err))throw Ft;H=g.fromCompact(S)}else if(typeof S=="object"&&typeof S.r=="bigint"&&typeof S.s=="bigint"){let{r:Ft,s:jt}=S;H=new g(Ft,jt)}else throw new Error("PARSE");Z=u.fromHex(_)}catch(Ft){if(Ft.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(P&&H.hasHighS())return!1;M&&(R=t.hash(R));let{r:j,s:it}=H,J=C(R),et=c(it),bt=a(J*et),gt=a(j*et),$t=u.BASE.multiplyAndAddUnsafe(Z,bt,gt)?.toAffine();return $t?a($t.x)===j:!1}return{CURVE:t,getPublicKey:x,getSharedSecret:v,sign:G,verify:Q,ProjectivePoint:u,Signature:g,utils:b}}function jw(e){return{hash:e,hmac:(t,...r)=>Un(e,t,Ho(...r)),randomBytes:Zr}}function Gd(e,t){let r=n=>zd({...e,...jw(n)});return Object.freeze({...r(t),create:r})}var Yd=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Wd=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Jw=BigInt(1),b0=BigInt(2),$d=(e,t)=>(e+t/b0)/t;function tv(e){let t=Yd,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=St(f,r,t)*f%t,d=St(l,r,t)*f%t,y=St(d,b0,t)*u%t,h=St(y,i,t)*y%t,p=St(h,o,t)*h%t,m=St(p,a,t)*p%t,g=St(m,c,t)*m%t,b=St(g,a,t)*p%t,x=St(b,r,t)*f%t,D=St(x,s,t)*h%t,v=St(D,n,t)*u%t,E=St(v,b0,t);if(!w0.eql(w0.sqr(E),e))throw new Error("Cannot find square root");return E}var w0=Yo(Yd,void 0,void 0,{sqrt:tv}),Re=Gd({a:BigInt(0),b:BigInt(7),Fp:w0,n:Wd,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=Wd,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Jw*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=$d(o*e,t),c=$d(-n*e,t),u=ht(e-a*r-c*i,t),f=ht(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}}},On),OI=BigInt(0);var KI=Re.ProjectivePoint;function Xd(){return Re.utils.randomPrivateKey()}function Zd(e,t){let r=Xt.digest(t instanceof Uint8Array?t:t.subarray());if(ge(r))return r.then(({digest:n})=>Re.sign(n,e).toDERRawBytes()).catch(n=>{throw new W(String(n),"ERR_INVALID_INPUT")});try{return Re.sign(r.digest,e).toDERRawBytes()}catch(n){throw new W(String(n),"ERR_INVALID_INPUT")}}function Qd(e,t,r){let n=Xt.digest(r instanceof Uint8Array?r:r.subarray());if(ge(n))return n.then(({digest:i})=>Re.verify(t,i,e)).catch(i=>{throw new W(String(i),"ERR_INVALID_INPUT")});try{return Re.verify(t,n.digest,e)}catch(i){throw new W(String(i),"ERR_INVALID_INPUT")}}function jd(e){return Re.ProjectivePoint.fromHex(e).toRawBytes(!0)}function Jd(e){try{Re.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}function v0(e){try{Re.ProjectivePoint.fromHex(e)}catch(t){throw new W(String(t),"ERR_INVALID_PUBLIC_KEY")}}function tp(e){try{return Re.getPublicKey(e,!0)}catch(t){throw new W(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Oi=class{_key;constructor(t){v0(t),this._key=t}verify(t,r){return Qd(this._key,r,t)}marshal(){return jd(this._key)}get bytes(){return ze.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}async hash(){let t=Xt.digest(this.bytes),r;return ge(t)?{bytes:r}=await t:r=t.bytes,r}},Ki=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??tp(t),Jd(this._key),v0(this._publicKey)}sign(t){return Zd(this._key,t)}get public(){return new Oi(this._publicKey)}marshal(){return this._key}get bytes(){return Ge.encode({Type:_t.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ot(this.bytes,t.bytes)}hash(){let t=Xt.digest(this.bytes);return ge(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return at(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return zn(this.bytes,t);throw new W(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function rv(e){return new Ki(e)}function nv(e){return new Oi(e)}async function iv(){let e=Xd();return new Ki(e)}var fn={rsa:x0,ed25519:d0,secp256k1:E0};function ep(e){let t=Object.keys(fn).join(" / ");return new W(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function rp(e){let t=ze.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return fn.rsa.unmarshalRsaPublicKey(r);case _t.Ed25519:return fn.ed25519.unmarshalEd25519PublicKey(r);case _t.Secp256k1:return fn.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ep(t.Type??"unknown")}}async function np(e){let t=Ge.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case _t.RSA:return fn.rsa.unmarshalRsaPrivateKey(r);case _t.Ed25519:return fn.ed25519.unmarshalEd25519PrivateKey(r);case _t.Secp256k1:return fn.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ep(t.Type??"RSA")}}var vs;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((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=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(vs||(vs={}));var Mi;(function(e){let t;e.codec=()=>(t==null&&(t=Ae((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),vs.codec().encode(r.extensions,n)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={identityKey:ot(0),identitySig:ot(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=vs.codec().decode(r,r.uint32());break}default:{r.skipType(s&7);break}}}return i})),t),e.encode=r=>Se(r,e.codec()),e.decode=r=>Ee(r,e.codec())})(Mi||(Mi={}));async function ip(e,t,r){let n=await av(e,op(t));if(e.publicKey==null)throw new Error("PublicKey was missing from local PeerId");return sv(e.publicKey,n,r)}function sv(e,t,r){return Mi.encode({identityKey:e,identitySig:t,extensions:r??{webtransportCerthashes:[]}}).subarray()}async function av(e,t){if(e.privateKey==null)throw new Error("PrivateKey was missing from PeerId");return(await np(e.privateKey)).sign(t)}async function S0(e){return la(e.identityKey)}function A0(e){return Mi.decode(e)}function op(e){let t=wt("noise-libp2p-static-key:");return e instanceof Uint8Array?Ct([t,e],t.length+e.length):(e.prepend(t),e)}async function D0(e,t,r){let n=await la(t.identityKey);if(!n.equals(r))throw new Error(`Payload identity key ${n.toString()} does not match expected remote peer ${r.toString()}`);let i=op(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 rp(n.publicKey).verify(i,t.identitySig))throw new Error("Static key doesn't match to peer that signed payload!");return n}function Fi(e){return!(!(e instanceof Uint8Array)&&!An(e)||e.byteLength!==32)}var cv=0,uv=4294967295,fv="Cipherstate has reached maximum n, a new handshake must be performed",Es=class{n;bytes;view;constructor(t=cv){this.n=t,this.bytes=ot(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>uv)throw new Error(fv)}};var Ss=class{crypto;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:noise:abstract-handshake"),this.crypto=r}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 ot(32)}isEmptyKey(t){let r=this.createEmptyKey();return Ot(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:ot(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 this.log.error("error deriving shared key",i),ot(32)}}mixHash(t,r){t.h=this.getHash(t.h,r)}getHash(t,r){return this.crypto.hashSHA256(new Bt(t,r))}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 Es}}initializeSymmetric(t){let r=wt(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=ot(32);return r.set(t),r}else return this.getHash(t,ot(0))}split(t){let[r,n]=this.crypto.getHKDF(t.ck,ot(0)),i=this.initializeKey(r),o=this.initializeKey(n);return{cs1:i,cs2:o}}writeMessageRegular(t,r){let n=this.encryptWithAd(t,ot(0),r),i=this.createEmptyKey(),o=ot(0);return{ne:i,ns:o,ciphertext:n}}readMessageRegular(t,r){return this.decryptWithAd(t,ot(0),r.ciphertext)}};var As=class extends Ss{initializeInitiator(t,r,n,i){let s=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(s,t);let a=ot(32);return{ss:s,s:r,rs:n,psk:i,re:a}}initializeResponder(t,r,n,i){let s=this.initializeSymmetric("Noise_XX_25519_ChaChaPoly_SHA256");this.mixHash(s,t);let a=ot(32);return{ss:s,s:r,rs:n,psk:i,re:a}}writeMessageA(t,r,n){let i=ot(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:u}=this.split(t.ss);return{h:t.ss.h,messageBuffer:a,cs1:c,cs2:u}}readMessageA(t,r){return Fi(r.ne)&&(t.re=r.ne),this.mixHash(t.ss,t.re),this.decryptAndHash(t.ss,r.ciphertext)}readMessageB(t,r){if(Fi(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&&Fi(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&&Fi(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=ot(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=ot(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:u}=this.readMessageC(t.hs,r);n=s,i=a,t.h=o,t.cs1=c,t.cs2=u}return t.mc++,{plaintext:n,valid:i}}};function sp(e,t){!t.enabled||!_n||(t(`LOCAL_STATIC_PUBLIC_KEY ${at(e.publicKey,"hex")}`),t(`LOCAL_STATIC_PRIVATE_KEY ${at(e.privateKey,"hex")}`))}function C0(e,t){!t.enabled||!_n||(e?(t(`LOCAL_PUBLIC_EPHEMERAL_KEY ${at(e.publicKey,"hex")}`),t(`LOCAL_PRIVATE_EPHEMERAL_KEY ${at(e.privateKey,"hex")}`)):t("Missing local ephemeral keys."))}function ap(e,t){!t.enabled||!_n||t(`REMOTE_STATIC_PUBLIC_KEY ${at(e.subarray(),"hex")}`)}function B0(e,t){!t.enabled||!_n||t(`REMOTE_EPHEMERAL_PUBLIC_KEY ${at(e.subarray(),"hex")}`)}function cp(e,t){!t.enabled||!_n||(e.cs1&&e.cs2?(t(`CIPHER_STATE_1 ${e.cs1.n.getUint64()} ${at(e.cs1.k,"hex")}`),t(`CIPHER_STATE_2 ${e.cs2.n.getUint64()} ${at(e.cs2.k,"hex")}`)):t("Missing cipher state."))}var Ds=class{isInitiator;session;remotePeer;remoteExtensions={webtransportCerthashes:[]};payload;connection;xx;staticKeypair;prologue;log;constructor(t,r,n,i,o,s,a,c,u){this.log=t.logger.forComponent("libp2p:noise:xxhandshake"),this.isInitiator=r,this.payload=n,this.prologue=i,this.staticKeypair=s,this.connection=a,c&&(this.remotePeer=c),this.xx=u??new As(t,o),this.session=this.xx.initSession(this.isInitiator,this.prologue,this.staticKeypair)}async propose(){if(sp(this.session.hs.s,this.log),this.isInitiator){this.log.trace("Stage 0 - Initiator starting to send first message.");let t=this.xx.sendMessage(this.session,ot(0));await this.connection.write($l(t)),this.log.trace("Stage 0 - Initiator finished sending first message."),C0(this.session.hs.e,this.log)}else{this.log.trace("Stage 0 - Responder waiting to receive first message...");let t=Zl((await this.connection.read()).subarray()),{valid:r}=this.xx.recvMessage(this.session,t);if(!r)throw new Jr("xx handshake stage 0 validation fail");this.log.trace("Stage 0 - Responder received first message."),B0(this.session.hs.re,this.log)}}async exchange(){if(this.isInitiator){this.log.trace("Stage 1 - Initiator waiting to receive first message from responder...");let t=Ql((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Jr("xx handshake stage 1 validation fail");this.log.trace("Stage 1 - Initiator received the message."),B0(this.session.hs.re,this.log),ap(this.session.hs.rs,this.log),this.log.trace("Initiator going to check remote's signature...");try{let i=A0(r);this.remotePeer=this.remotePeer||await S0(i),await D0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Di(`Error occurred while verifying signed payload: ${o.message}`)}this.log.trace("All good with the signature!")}else{this.log.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(Yl(t)),this.log.trace("Stage 1 - Responder sent the second handshake message with signed payload."),C0(this.session.hs.e,this.log)}}async finish(){if(this.isInitiator){this.log.trace("Stage 2 - Initiator sending third handshake message.");let t=this.xx.sendMessage(this.session,this.payload);await this.connection.write(Xl(t)),this.log.trace("Stage 2 - Initiator sent message with signed payload.")}else{this.log.trace("Stage 2 - Responder waiting for third handshake message...");let t=jl((await this.connection.read()).subarray()),{plaintext:r,valid:n}=this.xx.recvMessage(this.session,t);if(!n)throw new Jr("xx handshake stage 2 validation fail");this.log.trace("Stage 2 - Responder received the message, finished handshake.");try{let i=A0(r);this.remotePeer=this.remotePeer||await S0(i),await D0(this.session.hs.rs,i,this.remotePeer),this.setRemoteNoiseExtension(i.extensions)}catch(i){let o=i;throw new Di(`Error occurred while verifying signed payload: ${o.message}`)}}cp(this.session,this.log)}encrypt(t,r){let n=this.getCS(r);return this.xx.encryptWithAd(n,ot(0),t)}decrypt(t,r,n){let i=this.getCS(r,!1);return this.xx.decryptWithAd(i,ot(0),t,n)}getRemoteStaticKey(){return this.session.hs.rs}getCS(t,r=!0){if(!t.cs1||!t.cs2)throw new Jr("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 up(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 Cs=class{protocol="/noise";crypto;prologue;staticKeys;extensions;metrics;components;constructor(t,r={}){let{staticNoiseKey:n,extensions:i,crypto:o,prologueBytes:s}=r,{metrics:a}=t;this.components=t,this.crypto=o??Wl,this.extensions=i,this.metrics=a?up(a):void 0,n?this.staticKeys=this.crypto.generateX25519KeyPairFromSeed(n):this.staticKeys=this.crypto.generateX25519KeyPair(),this.prologue=s??ot(0)}async secureOutbound(t,r,n){let i=mi(r,{lengthEncoder:Kn,lengthDecoder:Si,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!0,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remoteExtensions:o.remoteExtensions,remotePeer:o.remotePeer}}async secureInbound(t,r,n){let i=mi(r,{lengthEncoder:Kn,lengthDecoder:Si,maxDataLength:65535}),o=await this.performHandshake({connection:i,isInitiator:!1,localPeer:t,remotePeer:n}),s=await this.createSecureConnection(i,o);return r.source=s.source,r.sink=s.sink,{conn:r,remotePeer:o.remotePeer,remoteExtensions:o.remoteExtensions}}async performHandshake(t){let r=await ip(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 Ds(this.components,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]=sl(),o=t.unwrap();return await cl(n,eh(r,this.metrics),o,s=>Hr(s,{lengthDecoder:Si}),rh(r,this.metrics),n),i}};function fp(e={}){return t=>new Cs(t,e)}var F1=Jt(nu(),1);var L1=Jt(nu(),1);var iu=Object.values(Pe).map(e=>e.decoder).reduce((e,t)=>e.or(t));function N1(e,t){let r=e.getConfiguration().certificates?.at(0);if(r==null||r.getFingerprints==null){t.log.trace("fetching fingerprint from local SDP");let i=e.localDescription;return i==null?void 0:gE(i.sdp)}if(t.log.trace("fetching fingerprint from local certificate"),r.getFingerprints().length===0)return;let n=r.getFingerprints()[0].value;if(n==null)throw Va("","no fingerprint on local certificate");return n}var mE=/^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;function gE(e){return e.match(mE)?.groups?.fingerprint}function xE(e){for(let t of e.protoNames())if(t.startsWith("ip"))return t.toUpperCase();return"IP6"}function Ks(e){let r=e.stringTuples().filter(n=>n[0]===O1).map(n=>n[1])[0];if(r===void 0||r==="")throw ho(`Couldn't find a certhash component of multiaddr: ${e.toString()}`);return r}function ou(e){let t=iu.decode(e);return L1.decode(t)}function bE(e){let t=ou(Ks(e)),r=su(t.name),n=t.digest.reduce((o,s)=>o+s.toString(16).padStart(2,"0"),""),i=n.match(/.{1,2}/g);if(i==null)throw Va(n,e.toString());return[`${r.toUpperCase()} ${i.join(":").toUpperCase()}`,n]}function su(e){switch(e){case"sha1":return"sha-1";case"sha2-256":return"sha-256";case"sha2-512":return"sha-512";default:throw mf(e)}}function wE(e,t){let{host:r,port:n}=e.toOptions(),i=xE(e),[o]=bE(e);return`v=0
30
30
  o=- 0 0 IN ${i} ${r}
31
31
  s=-
32
32
  c=IN ${i} ${r}
@@ -41,11 +41,11 @@ a=fingerprint:${o}
41
41
  a=sctp-port:5000
42
42
  a=max-message-size:16384
43
43
  a=candidate:1467250027 1 UDP 1467250027 ${r} ${n} typ host\r
44
- `}function J1(e,t){return{type:"answer",sdp:zE(e,t)}}function t2(e,t){if(e.sdp===void 0)throw di("Can't munge a missing SDP");return e.sdp=e.sdp.replace(/\na=ice-ufrag:[^\n]*\n/,`
44
+ `}function P1(e,t){return{type:"answer",sdp:wE(e,t)}}function U1(e,t){if(e.sdp===void 0)throw li("Can't munge a missing SDP");return e.sdp=e.sdp.replace(/\na=ice-ufrag:[^\n]*\n/,`
45
45
  a=ice-ufrag:`+t+`
46
46
  `).replace(/\na=ice-pwd:[^\n]*\n/,`
47
47
  a=ice-pwd:`+t+`
48
- `),e}var r2=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),n2=e=>[...Array(e)].map(()=>r2.at(Math.floor(Math.random()*r2.length))).join("");var WE=1e4,BR=yt("webrtc-direct").code,e2=yt("certhash").code,qs=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw _f("WebRTCTransport.createListener")}filter(t){return t.filter(Bf.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[to]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw go("we need to have the remote's PeerId");let s=Mr(o),a=pu(Hs(t)),c=await Tn.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:yu(a.name)}),u=new Tn({certificates:[c]});try{let f=new Promise((B,U)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),O=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),U(Ya("data",F))},WE);K.onopen=F=>{clearTimeout(O),B(K)},K.onerror=F=>{clearTimeout(O);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),U(Ya("data",Q))}}),l="libp2p+webrtc+v1/"+n2(32),d=await u.createOffer(),m=t2(d,l);await u.setLocalDescription(m);let h=J1(t,l);await u.setRemoteDescription(h);let p=await f,y=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=Ip({prologueBytes:g})(this.components),x=In({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),S={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let U of B)yield U}()},w=new Vr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=pi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":w.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new $r(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(y,S,s),await r.upgrader.upgradeOutbound(w,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw di("no local certificate");let i=j1(t,{log:this.log});if(i==null)throw di("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=wt(o,"hex"),a=i2.encode(s,r),c=du.decode(Hs(n)),u=wt("libp2p-webrtc-noise:");return Rt([u,a,c])}};function $E(e){return t=>new qs(t,e)}function YE(e){return t=>new Ko(t,e)}return Ji(XE);})();
48
+ `),e}var K1=Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),M1=e=>[...Array(e)].map(()=>K1.at(Math.floor(Math.random()*K1.length))).join("");var EE=1e4,Lk=yt("webrtc-direct").code,O1=yt("certhash").code,Ms=class{log;metrics;components;init;constructor(t,r={}){this.log=t.logger.forComponent("libp2p:webrtc-direct"),this.components=t,this.init=r,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_webrtc-direct_dialer_events_total",{label:"event",help:"Total count of WebRTC-direct dial events by type"})})}async dial(t,r){let n=await this._connect(t,r);return this.log("dialing address: %a",t),n}createListener(t){throw yf("WebRTCTransport.createListener")}filter(t){return t.filter(hf.exactMatch)}[Symbol.toStringTag]="@libp2p/webrtc-direct";[Zi]=!0;async _connect(t,r){let n=new AbortController,i=n.signal,o=t.getPeerId();if(o===null)throw ho("we need to have the remote's PeerId");let s=Kr(o),a=ou(Ks(t)),c=await In.generateCertificate({name:"ECDSA",namedCurve:"P-256",hash:su(a.name)}),u=new In({certificates:[c]});try{let f=new Promise((B,O)=>{let K=u.createDataChannel("",{negotiated:!0,id:0}),U=setTimeout(()=>{let F=`Data channel was never opened: state: ${K.readyState}`;this.log.error(F),this.metrics?.dialerEvents.increment({open_error:!0}),O(Fa("data",F))},EE);K.onopen=F=>{clearTimeout(U),B(K)},K.onerror=F=>{clearTimeout(U);let Q=`Error opening a data channel for handshaking: ${F.target?.toString()??"not specified"}`;this.log.error(Q),this.metrics?.dialerEvents.increment({unknown_error:!0}),O(Fa("data",Q))}}),l="libp2p+webrtc+v1/"+M1(32),d=await u.createOffer(),y=U1(d,l);await u.setLocalDescription(y);let h=P1(t,l);await u.setRemoteDescription(h);let p=await f,m=this.components.peerId,g=this.generateNoisePrologue(u,a.code,t),b=fp({prologueBytes:g})(this.components),x=Bn({channel:p,direction:"inbound",logger:this.components.logger,...this.init.dataChannel??{}}),D={...x,sink:x.sink.bind(x),source:async function*(){for await(let B of x.source)for(let O of B)yield O}()},v=new Fr(this.components,{peerConnection:u,remoteAddr:t,timeline:{open:Date.now()},metrics:this.metrics?.dialerEvents}),E=hi?"iceconnectionstatechange":"connectionstatechange";u.addEventListener(E,()=>{switch(u.connectionState){case"failed":case"disconnected":case"closed":v.close().catch(B=>{this.log.error("error closing connection",B)}).finally(()=>{n.abort()});break;default:break}},{signal:i}),this.metrics?.dialerEvents.increment({peer_connection:!0});let C=new Wr(this.components,{peerConnection:u,metrics:this.metrics?.dialerEvents,dataChannelOptions:this.init.dataChannel});return await b.secureInbound(m,D,s),await r.upgrader.upgradeOutbound(v,{skipProtection:!0,skipEncryption:!0,muxerFactory:C})}catch(f){throw u.close(),f}}generateNoisePrologue(t,r,n){if(t.getConfiguration().certificates?.length===0)throw li("no local certificate");let i=N1(t,{log:this.log});if(i==null)throw li("no local fingerprint found");let o=i.trim().toLowerCase().replaceAll(":",""),s=wt(o,"hex"),a=F1.encode(s,r),c=iu.decode(Ks(n)),u=wt("libp2p-webrtc-noise:");return Ct([u,a,c])}};function SE(e){return t=>new Ms(t,e)}function AE(e){return t=>new No(t,e)}return Xi(DE);})();
49
49
  /*! Bundled license information:
50
50
 
51
51
  @noble/ciphers/esm/utils.js: