libp2p 0.42.2-c02e1bd4 → 0.42.2-e12202e9
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 +19 -19
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.js +18 -9
- package/dist/src/connection-manager/auto-dialler.js.map +1 -1
- package/package.json +1 -1
- package/src/connection-manager/auto-dialler.ts +32 -20
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var x1=Object.create;var Bs=Object.defineProperty;var v1=Object.getOwnPropertyDescriptor;var b1=Object.getOwnPropertyNames;var _1=Object.getPrototypeOf,S1=Object.prototype.hasOwnProperty;var T=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ae=(r,t)=>{for(var e in t)Bs(r,e,{get:t[e],enumerable:!0})},zh=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of b1(t))!S1.call(r,i)&&i!==e&&Bs(r,i,{get:()=>t[i],enumerable:!(n=v1(t,i))||n.enumerable});return r};var S=(r,t,e)=>(e=r!=null?x1(_1(r)):{},zh(t||!r||!r.__esModule?Bs(e,"default",{value:r,enumerable:!0}):e,r)),A1=r=>zh(Bs({},"__esModule",{value:!0}),r);var ul=T((XR,Gh)=>{var di=1e3,pi=di*60,mi=pi*60,Tn=mi*24,R1=Tn*7,I1=Tn*365.25;Gh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return T1(r);if(e==="number"&&isFinite(r))return t.long?D1(r):C1(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function T1(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*I1;case"weeks":case"week":case"w":return e*R1;case"days":case"day":case"d":return e*Tn;case"hours":case"hour":case"hrs":case"hr":case"h":return e*mi;case"minutes":case"minute":case"mins":case"min":case"m":return e*pi;case"seconds":case"second":case"secs":case"sec":case"s":return e*di;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function C1(r){var t=Math.abs(r);return t>=Tn?Math.round(r/Tn)+"d":t>=mi?Math.round(r/mi)+"h":t>=pi?Math.round(r/pi)+"m":t>=di?Math.round(r/di)+"s":r+"ms"}function D1(r){var t=Math.abs(r);return t>=Tn?Ns(r,t,Tn,"day"):t>=mi?Ns(r,t,mi,"hour"):t>=pi?Ns(r,t,pi,"minute"):t>=di?Ns(r,t,di,"second"):r+" ms"}function Ns(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var Wh=T((ZR,Yh)=>{function P1(r){e.debug=e,e.default=e,e.coerce=c,e.disable=o,e.enable=i,e.enabled=s,e.humanize=ul(),e.destroy=l,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return e.colors[Math.abs(f)%e.colors.length]}e.selectColor=t;function e(u){let f,d=null,h,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),_=E-(f||E);g.diff=_,g.prev=f,g.curr=E,f=E,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let k=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,J)=>{if(D==="%%")return"%";k++;let rt=e.formatters[J];if(typeof rt=="function"){let Jt=y[k];D=rt.call(g,Jt),y.splice(k,1),k--}return D}),e.formatArgs.call(g,y),(g.log||e.log).apply(g,y)}return m.namespace=u,m.useColors=e.useColors(),m.color=e.selectColor(u),m.extend=n,m.destroy=e.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(u)),p),set:y=>{d=y}}),typeof e.init=="function"&&e.init(m),m}function n(u,f){let d=e(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function i(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.slice(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...e.names.map(a),...e.skips.map(a).map(f=>"-"+f)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=e.skips.length;f<d;f++)if(e.skips[f].test(u))return!1;for(f=0,d=e.names.length;f<d;f++)if(e.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Yh.exports=P1});var fl=T((xe,Os)=>{xe.formatArgs=B1;xe.save=N1;xe.load=O1;xe.useColors=L1;xe.storage=k1();xe.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();xe.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function L1(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function B1(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Os.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}xe.log=console.debug||console.log||(()=>{});function N1(r){try{r?xe.storage.setItem("debug",r):xe.storage.removeItem("debug")}catch{}}function O1(){let r;try{r=xe.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function k1(){try{return localStorage}catch{}}Os.exports=Wh()(xe);var{formatters:M1}=Os.exports;M1.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ad=T((rT,Sd)=>{Sd.exports=kl;var _d=128,Wx=127,Qx=~Wx,Xx=Math.pow(2,31);function kl(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw kl.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Xx;)t[e++]=r&255|_d,r/=128;for(;r&Qx;)t[e++]=r&255|_d,r>>>=7;return t[e]=r|0,kl.bytes=e-n+1,t}});var Td=T((nT,Id)=>{Id.exports=Ml;var Zx=128,Rd=127;function Ml(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a||i>49)throw Ml.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&Rd)<<i:(s&Rd)*Math.pow(2,i),i+=7}while(s>=Zx);return Ml.bytes=o-n,e}});var Dd=T((iT,Cd)=>{var Jx=Math.pow(2,7),jx=Math.pow(2,14),tv=Math.pow(2,21),ev=Math.pow(2,28),rv=Math.pow(2,35),nv=Math.pow(2,42),iv=Math.pow(2,49),ov=Math.pow(2,56),sv=Math.pow(2,63);Cd.exports=function(r){return r<Jx?1:r<jx?2:r<tv?3:r<ev?4:r<rv?5:r<nv?6:r<iv?7:r<ov?8:r<sv?9:10}});var Fs=T((oT,Pd)=>{Pd.exports={encode:Ad(),decode:Td(),encodingLength:Dd()}});var V=T((AT,qd)=>{"use strict";function Vd(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function vv(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Vd(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),Vd(new i,e)}}qd.exports=vv});var Jd=T((nC,Zd)=>{"use strict";Zd.exports=function(){return Date.now()}});var Xl=T((iC,jd)=>{"use strict";var Xs=Jd(),Ql=class{constructor(t,e,n){let i=this;this._started=Xs(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Xs()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=Xs();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=Xs(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function Tv(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new Ql(arguments[0],arguments[1],r)}jd.exports=Tv});var Br=T((oC,e0)=>{"use strict";var{AbortController:Cv}=globalThis,t0=Xl(),Eo=class extends Cv{constructor(t){super(),this._ms=t,this._timer=t0(()=>this.abort(),t),Object.setPrototypeOf(this,Eo.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=t0(()=>this.abort(),this._ms)}};e0.exports={TimeoutController:Eo}});var Jl=T((mC,n0)=>{"use strict";var Ai=new Map,Bv=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function Nv(r,t,e){for(;Ai.get(e);){try{await r()}catch(n){setTimeout(()=>{throw n},1);break}if(!Ai.get(e))break;await new Promise(n=>{let i=setTimeout(n,t);Ai.set(e,i)})}}function Ov(r,t,e){e=e||t;let n=Bv(),i=setTimeout(()=>{Nv(r,t,n)},e);return Ai.set(n,i),n}function kv(r){let t=Ai.get(r);t&&(clearTimeout(t),Ai.delete(r))}n0.exports={setDelayedInterval:Ov,clearDelayedInterval:kv}});var lr=T((yC,jl)=>{"use strict";var Ri=typeof Reflect=="object"?Reflect:null,i0=Ri&&typeof Ri.apply=="function"?Ri.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},Js;Ri&&typeof Ri.ownKeys=="function"?Js=Ri.ownKeys:Object.getOwnPropertySymbols?Js=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Js=function(t){return Object.getOwnPropertyNames(t)};function Mv(r){console&&console.warn&&console.warn(r)}var s0=Number.isNaN||function(t){return t!==t};function yt(){yt.init.call(this)}jl.exports=yt;jl.exports.once=Vv;yt.EventEmitter=yt;yt.prototype._events=void 0;yt.prototype._eventsCount=0;yt.prototype._maxListeners=void 0;var o0=10;function js(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(yt,"defaultMaxListeners",{enumerable:!0,get:function(){return o0},set:function(r){if(typeof r!="number"||r<0||s0(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");o0=r}});yt.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};yt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||s0(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function a0(r){return r._maxListeners===void 0?yt.defaultMaxListeners:r._maxListeners}yt.prototype.getMaxListeners=function(){return a0(this)};yt.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[t];if(c===void 0)return!1;if(typeof c=="function")i0(c,this,e);else for(var l=c.length,u=h0(c,l),n=0;n<l;++n)i0(u[n],this,e);return!0};function c0(r,t,e,n){var i,o,s;if(js(e),o=r._events,o===void 0?(o=r._events=Object.create(null),r._eventsCount=0):(o.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),o=r._events),s=o[t]),s===void 0)s=o[t]=e,++r._eventsCount;else if(typeof s=="function"?s=o[t]=n?[e,s]:[s,e]:n?s.unshift(e):s.push(e),i=a0(r),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=s.length,Mv(a)}return r}yt.prototype.addListener=function(t,e){return c0(this,t,e,!1)};yt.prototype.on=yt.prototype.addListener;yt.prototype.prependListener=function(t,e){return c0(this,t,e,!0)};function Uv(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l0(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=Uv.bind(n);return i.listener=e,n.wrapFn=i,i}yt.prototype.once=function(t,e){return js(e),this.on(t,l0(this,t,e)),this};yt.prototype.prependOnceListener=function(t,e){return js(e),this.prependListener(t,l0(this,t,e)),this};yt.prototype.removeListener=function(t,e){var n,i,o,s,a;if(js(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===e||n[s].listener===e){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Fv(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function u0(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?Kv(i):h0(i,i.length)}yt.prototype.listeners=function(t){return u0(this,t,!0)};yt.prototype.rawListeners=function(t){return u0(this,t,!1)};yt.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):f0.call(r,t)};yt.prototype.listenerCount=f0;function f0(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}yt.prototype.eventNames=function(){return this._eventsCount>0?Js(this._events):[]};function h0(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function Fv(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function Kv(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function Vv(r,t){return new Promise(function(e,n){function i(s){r.removeListener(t,o),n(s)}function o(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}d0(r,t,o,{once:!0}),t!=="error"&&qv(r,i,{once:!0})})}function qv(r,t,e){typeof r.on=="function"&&d0(r,"error",t,e)}function d0(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(o){n.once&&r.removeEventListener(t,i),e(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var x0=T((YC,E0)=>{"use strict";E0.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}});var R0=T((S0,A0)=>{"use strict";var oa=x0(),{hasOwnProperty:b0}=Object.prototype,{propertyIsEnumerable:Gv}=Object,Ii=(r,t,e)=>Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0}),Yv=S0,v0={concatArrays:!1,ignoreUndefined:!1},sa=r=>{let t=[];for(let e in r)b0.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Gv.call(r,n)&&t.push(n)}return t};function Ti(r){return Array.isArray(r)?Wv(r):oa(r)?Qv(r):r}function Wv(r){let t=r.slice(0,0);return sa(r).forEach(e=>{Ii(t,e,Ti(r[e]))}),t}function Qv(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return sa(r).forEach(e=>{Ii(t,e,Ti(r[e]))}),t}var _0=(r,t,e,n)=>(e.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?Ii(r,i,nu(r[i],t[i],n)):Ii(r,i,Ti(t[i])))}),r),Xv=(r,t,e)=>{let n=r.slice(0,0),i=0;return[r,t].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)b0.call(o,a)&&(s.push(String(a)),o===r?Ii(n,i++,o[a]):Ii(n,i++,Ti(o[a])));n=_0(n,o,sa(o).filter(a=>!s.includes(a)),e)}),n};function nu(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Xv(r,t,e):!oa(t)||!oa(r)?Ti(t):_0(r,t,sa(t),e)}A0.exports=function(...r){let t=nu(Ti(v0),this!==Yv&&this||{},v0),e={_:{}};for(let n of r)if(n!==void 0){if(!oa(n))throw new TypeError("`"+n+"` is not an Option Object");e=nu(e,{_:n},t)}return e._}});var _o=T((w4,D0)=>{D0.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:Boolean(t)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var L0=T((x4,P0)=>{P0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(e=>{this._keys[e]<=t&&delete this._keys[e]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,e){this.addMs(t,e*1e3)}addMs(t,e){this._keys[t]=Date.now()+e,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let e=this._keys[t];if(e&&e>=Date.now()){this.collectExpired();let n=Date.now();return e>=n?e-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(e=>{delete this._keys[e]})}}});var N0=T((v4,B0)=>{var jv=L0();B0.exports=jv});var _e=T((_4,O0)=>{O0.exports=class{constructor(t,e,n,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof e>"u"?0:e,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=Boolean(t)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Di=T((A4,M0)=>{var ou=_o(),t2=N0(),k0=_e();M0.exports=class extends ou{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new t2}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,e,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?e(a):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{e(a)}).catch(l=>{e(l)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(t,c,a)}else t(a)}_handleError(t,e,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof ou?this.insuranceLimiter[e](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof ou))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,e,n={}){let i=e*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,e,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),e,o,i)}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new k0(0,a));this._upsert(s,e,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,e,c)}).catch(c=>{this._handleError(c,"consume",i,o,t,e,n)})})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise((o,s)=>{this._upsert(i,e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,e,a))}).catch(a=>{this._handleError(a,"penalty",o,s,t,e,n)})})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise((o,s)=>{this._upsert(i,-e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-e,a))}).catch(a=>{this._handleError(a,"reward",o,s,t,e,n)})})}get(t,e={}){let n=this.getKey(t);return new Promise((i,o)=>{this._get(n,e).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,t,e)})})}delete(t,e={}){let n=this.getKey(t);return new Promise((i,o)=>{this._delete(n,e).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,t,e)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,e,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,e,n,i={}){return new Promise((o,s)=>{this._upsert(t,e,n,!0,i).then(()=>{o(new k0(0,n>0?n:-1,e))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(t),n/1e3,i)})})}_get(t,e={}){throw new Error("You have to implement the method '_get'!")}_delete(t,e={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,e,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var K0=T((R4,F0)=>{var e2=Di(),r2=_e(),U0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",su=class extends e2{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:U0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,e,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new r2;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===e,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(t,e,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(t,e,"EX",a):c.set(t,e),c.pttl(t).exec((l,u)=>l?s(l):o(u));else if(a>0){let l=function(u,f){return u?s(u):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,e,a,l):this.client.eval(U0,1,t,e,a,l)}else c.incrby(t,e).pttl(t).exec((l,u)=>l?s(l):o(u))})}_get(t){return new Promise((e,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return e(null);e(o)}})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,o)=>{i?n(i):e(o>0)})})}};F0.exports=su});var H0=T((I4,q0)=>{var n2=Di(),i2=_e();function V0(r){try{let t=r.client?r.client:r,{version:e}=t.topology.s.options.metadata.driver,n=e.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var So=class extends n2{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(e=>{this.client=e,this._initCollection(),this._driverVersion=V0(this.client)}):(this._initCollection(),this._driverVersion=V0(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?So.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let e=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(t,e,n){let i=new i2,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===e,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(t,e,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:t},a=Object.assign(a,s),c={$set:{key:t,points:e,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:t},a=Object.assign(a,s),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:e}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let l={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?l.returnDocument="after":l.returnOriginal=!1,new Promise((u,f)=>{this._collection.findOneAndUpdate(a,c,l).then(d=>{u(d)}).catch(d=>{if(d&&d.code===11e3){let h=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},s),p={$set:Object.assign({key:t,points:e,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(h,p,l).then(m=>{u(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,e,n,i).then(y=>u(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};q0.exports=So});var z0=T((T4,$0)=>{var o2=Di(),s2=_e(),au=class extends o2{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{this._releaseConnection(n),e()})}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((t,e)=>{this.client.getConnection((n,i)=>{if(n)return e(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,e)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),e(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),e(o);this._releaseConnection(n),t()})})}).catch(n=>{e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:Boolean(t)}_getRateLimiterRes(t,e,n){let i=new s2,[o]=n;return i.isFirstInDuration=e===o.points,i.consumedPoints=i.isFirstInDuration?e:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(t,e,n,i,o){return new Promise((s,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let l=Date.now(),u=i>0?l+i:null,f,d;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
2
|
+
"use strict";var Libp2P=(()=>{var x1=Object.create;var Ls=Object.defineProperty;var v1=Object.getOwnPropertyDescriptor;var b1=Object.getOwnPropertyNames;var _1=Object.getPrototypeOf,S1=Object.prototype.hasOwnProperty;var T=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ae=(r,t)=>{for(var e in t)Ls(r,e,{get:t[e],enumerable:!0})},zh=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of b1(t))!S1.call(r,i)&&i!==e&&Ls(r,i,{get:()=>t[i],enumerable:!(n=v1(t,i))||n.enumerable});return r};var S=(r,t,e)=>(e=r!=null?x1(_1(r)):{},zh(t||!r||!r.__esModule?Ls(e,"default",{value:r,enumerable:!0}):e,r)),A1=r=>zh(Ls({},"__esModule",{value:!0}),r);var ll=T((XR,Gh)=>{var pi=1e3,mi=pi*60,yi=mi*60,Cn=yi*24,R1=Cn*7,I1=Cn*365.25;Gh.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return T1(r);if(e==="number"&&isFinite(r))return t.long?D1(r):C1(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function T1(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*I1;case"weeks":case"week":case"w":return e*R1;case"days":case"day":case"d":return e*Cn;case"hours":case"hour":case"hrs":case"hr":case"h":return e*yi;case"minutes":case"minute":case"mins":case"min":case"m":return e*mi;case"seconds":case"second":case"secs":case"sec":case"s":return e*pi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function C1(r){var t=Math.abs(r);return t>=Cn?Math.round(r/Cn)+"d":t>=yi?Math.round(r/yi)+"h":t>=mi?Math.round(r/mi)+"m":t>=pi?Math.round(r/pi)+"s":r+"ms"}function D1(r){var t=Math.abs(r);return t>=Cn?Bs(r,t,Cn,"day"):t>=yi?Bs(r,t,yi,"hour"):t>=mi?Bs(r,t,mi,"minute"):t>=pi?Bs(r,t,pi,"second"):r+" ms"}function Bs(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var Wh=T((ZR,Yh)=>{function P1(r){e.debug=e,e.default=e,e.coerce=c,e.disable=o,e.enable=i,e.enabled=s,e.humanize=ll(),e.destroy=l,Object.keys(r).forEach(u=>{e[u]=r[u]}),e.names=[],e.skips=[],e.formatters={};function t(u){let f=0;for(let d=0;d<u.length;d++)f=(f<<5)-f+u.charCodeAt(d),f|=0;return e.colors[Math.abs(f)%e.colors.length]}e.selectColor=t;function e(u){let f,d=null,h,p;function m(...y){if(!m.enabled)return;let g=m,E=Number(new Date),_=E-(f||E);g.diff=_,g.prev=f,g.curr=E,f=E,y[0]=e.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let k=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(D,J)=>{if(D==="%%")return"%";k++;let rt=e.formatters[J];if(typeof rt=="function"){let Jt=y[k];D=rt.call(g,Jt),y.splice(k,1),k--}return D}),e.formatArgs.call(g,y),(g.log||e.log).apply(g,y)}return m.namespace=u,m.useColors=e.useColors(),m.color=e.selectColor(u),m.extend=n,m.destroy=e.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==e.namespaces&&(h=e.namespaces,p=e.enabled(u)),p),set:y=>{d=y}}),typeof e.init=="function"&&e.init(m),m}function n(u,f){let d=e(this.namespace+(typeof f>"u"?":":f)+u);return d.log=this.log,d}function i(u){e.save(u),e.namespaces=u,e.names=[],e.skips=[];let f,d=(typeof u=="string"?u:"").split(/[\s,]+/),h=d.length;for(f=0;f<h;f++)d[f]&&(u=d[f].replace(/\*/g,".*?"),u[0]==="-"?e.skips.push(new RegExp("^"+u.slice(1)+"$")):e.names.push(new RegExp("^"+u+"$")))}function o(){let u=[...e.names.map(a),...e.skips.map(a).map(f=>"-"+f)].join(",");return e.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let f,d;for(f=0,d=e.skips.length;f<d;f++)if(e.skips[f].test(u))return!1;for(f=0,d=e.names.length;f<d;f++)if(e.names[f].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function c(u){return u instanceof Error?u.stack||u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Yh.exports=P1});var ul=T((xe,Ns)=>{xe.formatArgs=B1;xe.save=N1;xe.load=O1;xe.useColors=L1;xe.storage=k1();xe.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();xe.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function L1(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function B1(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Ns.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}xe.log=console.debug||console.log||(()=>{});function N1(r){try{r?xe.storage.setItem("debug",r):xe.storage.removeItem("debug")}catch{}}function O1(){let r;try{r=xe.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function k1(){try{return localStorage}catch{}}Ns.exports=Wh()(xe);var{formatters:M1}=Ns.exports;M1.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ad=T((rT,Sd)=>{Sd.exports=Ol;var _d=128,Wx=127,Qx=~Wx,Xx=Math.pow(2,31);function Ol(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ol.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Xx;)t[e++]=r&255|_d,r/=128;for(;r&Qx;)t[e++]=r&255|_d,r>>>=7;return t[e]=r|0,Ol.bytes=e-n+1,t}});var Td=T((nT,Id)=>{Id.exports=kl;var Zx=128,Rd=127;function kl(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a||i>49)throw kl.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&Rd)<<i:(s&Rd)*Math.pow(2,i),i+=7}while(s>=Zx);return kl.bytes=o-n,e}});var Dd=T((iT,Cd)=>{var Jx=Math.pow(2,7),jx=Math.pow(2,14),tv=Math.pow(2,21),ev=Math.pow(2,28),rv=Math.pow(2,35),nv=Math.pow(2,42),iv=Math.pow(2,49),ov=Math.pow(2,56),sv=Math.pow(2,63);Cd.exports=function(r){return r<Jx?1:r<jx?2:r<tv?3:r<ev?4:r<rv?5:r<nv?6:r<iv?7:r<ov?8:r<sv?9:10}});var Us=T((oT,Pd)=>{Pd.exports={encode:Ad(),decode:Td(),encodingLength:Dd()}});var V=T((AT,qd)=>{"use strict";function Vd(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function vv(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return Vd(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),Vd(new i,e)}}qd.exports=vv});var Jd=T((nC,Zd)=>{"use strict";Zd.exports=function(){return Date.now()}});var Ql=T((iC,jd)=>{"use strict";var Qs=Jd(),Wl=class{constructor(t,e,n){let i=this;this._started=Qs(),this._rescheduled=0,this._scheduled=e,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Qs()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,e)}reschedule(t){t||(t=this._scheduled);let e=Qs();e+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=e,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=Qs(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function Tv(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let r;if(arguments.length>0){r=new Array(arguments.length-2);for(var t=0;t<r.length;t++)r[t]=arguments[t+2]}return new Wl(arguments[0],arguments[1],r)}jd.exports=Tv});var Br=T((oC,e0)=>{"use strict";var{AbortController:Cv}=globalThis,t0=Ql(),Eo=class extends Cv{constructor(t){super(),this._ms=t,this._timer=t0(()=>this.abort(),t),Object.setPrototypeOf(this,Eo.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=t0(()=>this.abort(),this._ms)}};e0.exports={TimeoutController:Eo}});var Zl=T((mC,n0)=>{"use strict";var Ri=new Map,Bv=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function Nv(r,t,e){for(;Ri.get(e);){try{await r()}catch(n){setTimeout(()=>{throw n},1);break}if(!Ri.get(e))break;await new Promise(n=>{let i=setTimeout(n,t);Ri.set(e,i)})}}function Ov(r,t,e){e=e||t;let n=Bv(),i=setTimeout(()=>{Nv(r,t,n)},e);return Ri.set(n,i),n}function kv(r){let t=Ri.get(r);t&&(clearTimeout(t),Ri.delete(r))}n0.exports={setDelayedInterval:Ov,clearDelayedInterval:kv}});var cr=T((yC,Jl)=>{"use strict";var Ii=typeof Reflect=="object"?Reflect:null,i0=Ii&&typeof Ii.apply=="function"?Ii.apply:function(t,e,n){return Function.prototype.apply.call(t,e,n)},Zs;Ii&&typeof Ii.ownKeys=="function"?Zs=Ii.ownKeys:Object.getOwnPropertySymbols?Zs=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:Zs=function(t){return Object.getOwnPropertyNames(t)};function Mv(r){console&&console.warn&&console.warn(r)}var s0=Number.isNaN||function(t){return t!==t};function yt(){yt.init.call(this)}Jl.exports=yt;Jl.exports.once=Vv;yt.EventEmitter=yt;yt.prototype._events=void 0;yt.prototype._eventsCount=0;yt.prototype._maxListeners=void 0;var o0=10;function Js(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(yt,"defaultMaxListeners",{enumerable:!0,get:function(){return o0},set:function(r){if(typeof r!="number"||r<0||s0(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");o0=r}});yt.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};yt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||s0(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function a0(r){return r._maxListeners===void 0?yt.defaultMaxListeners:r._maxListeners}yt.prototype.getMaxListeners=function(){return a0(this)};yt.prototype.emit=function(t){for(var e=[],n=1;n<arguments.length;n++)e.push(arguments[n]);var i=t==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(e.length>0&&(s=e[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[t];if(c===void 0)return!1;if(typeof c=="function")i0(c,this,e);else for(var l=c.length,u=h0(c,l),n=0;n<l;++n)i0(u[n],this,e);return!0};function c0(r,t,e,n){var i,o,s;if(Js(e),o=r._events,o===void 0?(o=r._events=Object.create(null),r._eventsCount=0):(o.newListener!==void 0&&(r.emit("newListener",t,e.listener?e.listener:e),o=r._events),s=o[t]),s===void 0)s=o[t]=e,++r._eventsCount;else if(typeof s=="function"?s=o[t]=n?[e,s]:[s,e]:n?s.unshift(e):s.push(e),i=a0(r),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=t,a.count=s.length,Mv(a)}return r}yt.prototype.addListener=function(t,e){return c0(this,t,e,!1)};yt.prototype.on=yt.prototype.addListener;yt.prototype.prependListener=function(t,e){return c0(this,t,e,!0)};function Uv(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l0(r,t,e){var n={fired:!1,wrapFn:void 0,target:r,type:t,listener:e},i=Uv.bind(n);return i.listener=e,n.wrapFn=i,i}yt.prototype.once=function(t,e){return Js(e),this.on(t,l0(this,t,e)),this};yt.prototype.prependOnceListener=function(t,e){return Js(e),this.prependListener(t,l0(this,t,e)),this};yt.prototype.removeListener=function(t,e){var n,i,o,s,a;if(Js(e),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===e||n.listener===e)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,n.listener||e));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===e||n[s].listener===e){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Fv(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||e)}return this};yt.prototype.off=yt.prototype.removeListener;yt.prototype.removeAllListeners=function(t){var e,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(e=n[t],typeof e=="function")this.removeListener(t,e);else if(e!==void 0)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this};function u0(r,t,e){var n=r._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?e?[i.listener||i]:[i]:e?Kv(i):h0(i,i.length)}yt.prototype.listeners=function(t){return u0(this,t,!0)};yt.prototype.rawListeners=function(t){return u0(this,t,!1)};yt.listenerCount=function(r,t){return typeof r.listenerCount=="function"?r.listenerCount(t):f0.call(r,t)};yt.prototype.listenerCount=f0;function f0(r){var t=this._events;if(t!==void 0){var e=t[r];if(typeof e=="function")return 1;if(e!==void 0)return e.length}return 0}yt.prototype.eventNames=function(){return this._eventsCount>0?Zs(this._events):[]};function h0(r,t){for(var e=new Array(t),n=0;n<t;++n)e[n]=r[n];return e}function Fv(r,t){for(;t+1<r.length;t++)r[t]=r[t+1];r.pop()}function Kv(r){for(var t=new Array(r.length),e=0;e<t.length;++e)t[e]=r[e].listener||r[e];return t}function Vv(r,t){return new Promise(function(e,n){function i(s){r.removeListener(t,o),n(s)}function o(){typeof r.removeListener=="function"&&r.removeListener("error",i),e([].slice.call(arguments))}d0(r,t,o,{once:!0}),t!=="error"&&qv(r,i,{once:!0})})}function qv(r,t,e){typeof r.on=="function"&&d0(r,"error",t,e)}function d0(r,t,e,n){if(typeof r.on=="function")n.once?r.once(t,e):r.on(t,e);else if(typeof r.addEventListener=="function")r.addEventListener(t,function i(o){n.once&&r.removeEventListener(t,i),e(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r)}});var x0=T((YC,E0)=>{"use strict";E0.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let t=Object.getPrototypeOf(r);return t===null||t===Object.prototype}});var R0=T((S0,A0)=>{"use strict";var ia=x0(),{hasOwnProperty:b0}=Object.prototype,{propertyIsEnumerable:Gv}=Object,Ti=(r,t,e)=>Object.defineProperty(r,t,{value:e,writable:!0,enumerable:!0,configurable:!0}),Yv=S0,v0={concatArrays:!1,ignoreUndefined:!1},oa=r=>{let t=[];for(let e in r)b0.call(r,e)&&t.push(e);if(Object.getOwnPropertySymbols){let e=Object.getOwnPropertySymbols(r);for(let n of e)Gv.call(r,n)&&t.push(n)}return t};function Ci(r){return Array.isArray(r)?Wv(r):ia(r)?Qv(r):r}function Wv(r){let t=r.slice(0,0);return oa(r).forEach(e=>{Ti(t,e,Ci(r[e]))}),t}function Qv(r){let t=Object.getPrototypeOf(r)===null?Object.create(null):{};return oa(r).forEach(e=>{Ti(t,e,Ci(r[e]))}),t}var _0=(r,t,e,n)=>(e.forEach(i=>{typeof t[i]>"u"&&n.ignoreUndefined||(i in r&&r[i]!==Object.getPrototypeOf(r)?Ti(r,i,ru(r[i],t[i],n)):Ti(r,i,Ci(t[i])))}),r),Xv=(r,t,e)=>{let n=r.slice(0,0),i=0;return[r,t].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)b0.call(o,a)&&(s.push(String(a)),o===r?Ti(n,i++,o[a]):Ti(n,i++,Ci(o[a])));n=_0(n,o,oa(o).filter(a=>!s.includes(a)),e)}),n};function ru(r,t,e){return e.concatArrays&&Array.isArray(r)&&Array.isArray(t)?Xv(r,t,e):!ia(t)||!ia(r)?Ci(t):_0(r,t,oa(t),e)}A0.exports=function(...r){let t=ru(Ci(v0),this!==Yv&&this||{},v0),e={_:{}};for(let n of r)if(n!==void 0){if(!ia(n))throw new TypeError("`"+n+"` is not an Option Object");e=ru(e,{_:n},t)}return e._}});var _o=T((w4,D0)=>{D0.exports=class{constructor(t={}){this.points=t.points,this.duration=t.duration,this.blockDuration=t.blockDuration,this.execEvenly=t.execEvenly,this.execEvenlyMinDelayMs=t.execEvenlyMinDelayMs,this.keyPrefix=t.keyPrefix}get points(){return this._points}set points(t){this._points=t>=0?t:4}get duration(){return this._duration}set duration(t){this._duration=typeof t>"u"?1:t}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(t){this._blockDuration=typeof t>"u"?0:t}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(t){this._execEvenly=typeof t>"u"?!1:Boolean(t)}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(t){this._execEvenlyMinDelayMs=typeof t>"u"?Math.ceil(this.msDuration/this.points):t}get keyPrefix(){return this._keyPrefix}set keyPrefix(t){if(typeof t>"u"&&(t="rlflx"),typeof t!="string")throw new Error("keyPrefix must be string");this._keyPrefix=t}_getKeySecDuration(t={}){return t&&t.customDuration>=0?t.customDuration:this.duration}getKey(t){return this.keyPrefix.length>0?`${this.keyPrefix}:${t}`:t}parseKey(t){return t.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var L0=T((x4,P0)=>{P0.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let t=Date.now();Object.keys(this._keys).forEach(e=>{this._keys[e]<=t&&delete this._keys[e]}),this._addedKeysAmount=Object.keys(this._keys).length}add(t,e){this.addMs(t,e*1e3)}addMs(t,e){this._keys[t]=Date.now()+e,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(t){let e=this._keys[t];if(e&&e>=Date.now()){this.collectExpired();let n=Date.now();return e>=n?e-n:0}return 0}delete(t){t?delete this._keys[t]:Object.keys(this._keys).forEach(e=>{delete this._keys[e]})}}});var N0=T((v4,B0)=>{var jv=L0();B0.exports=jv});var _e=T((_4,O0)=>{O0.exports=class{constructor(t,e,n,i){this.remainingPoints=typeof t>"u"?0:t,this.msBeforeNext=typeof e>"u"?0:e,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(t){return this._msBeforeNext=t,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(t){return this._remainingPoints=t,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(t){return this._consumedPoints=t,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(t){this._isFirstInDuration=Boolean(t)}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var Pi=T((A4,M0)=>{var iu=_o(),t2=N0(),k0=_e();M0.exports=class extends iu{constructor(t={}){super(t),this.inMemoryBlockOnConsumed=t.inMemoryBlockOnConsumed||t.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=t.inMemoryBlockDuration||t.inmemoryBlockDuration,this.insuranceLimiter=t.insuranceLimiter,this._inMemoryBlockedKeys=new t2}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("storeClient is not set");this._client=t}_afterConsume(t,e,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?e(a):t(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{e(a)}).catch(l=>{e(l)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(t,c,a)}else t(a)}_handleError(t,e,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof iu?this.insuranceLimiter[e](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(t)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(t){return this.getInMemoryBlockMsBeforeExpire(t)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(t){this.inMemoryBlockOnConsumed=t}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(t){this.inMemoryBlockDuration=t}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(t){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(t):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(t){if(this._inMemoryBlockOnConsumed=t?parseInt(t):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(t){if(this._inMemoryBlockDuration=t?parseInt(t):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(t){if(typeof t<"u"&&!(t instanceof iu))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=t,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(t,e,n={}){let i=e*1e3;return this._block(this.getKey(t),this.points+1,i,n)}set(t,e,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(t),e,o,i)}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new k0(0,a));this._upsert(s,e,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,e,c)}).catch(c=>{this._handleError(c,"consume",i,o,t,e,n)})})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise((o,s)=>{this._upsert(i,e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,e,a))}).catch(a=>{this._handleError(a,"penalty",o,s,t,e,n)})})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise((o,s)=>{this._upsert(i,-e,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-e,a))}).catch(a=>{this._handleError(a,"reward",o,s,t,e,n)})})}get(t,e={}){let n=this.getKey(t);return new Promise((i,o)=>{this._get(n,e).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,t,e)})})}delete(t,e={}){let n=this.getKey(t);return new Promise((i,o)=>{this._delete(n,e).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,t,e)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(t,e,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(t,e,n,i={}){return new Promise((o,s)=>{this._upsert(t,e,n,!0,i).then(()=>{o(new k0(0,n>0?n:-1,e))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(t),n/1e3,i)})})}_get(t,e={}){throw new Error("You have to implement the method '_get'!")}_delete(t,e={}){throw new Error("You have to implement the method '_delete'!")}_upsert(t,e,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var K0=T((R4,F0)=>{var e2=Pi(),r2=_e(),U0="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",ou=class extends e2{constructor(t){super(t),t.redis?this.client=t.redis:this.client=t.storeClient,this._rejectIfRedisNotReady=!!t.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:U0})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(t,e,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new r2;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===e,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(t,e,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(t,e,"EX",a):c.set(t,e),c.pttl(t).exec((l,u)=>l?s(l):o(u));else if(a>0){let l=function(u,f){return u?s(u):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(t,e,a,l):this.client.eval(U0,1,t,e,a,l)}else c.incrby(t,e).pttl(t).exec((l,u)=>l?s(l):o(u))})}_get(t){return new Promise((e,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(t).pttl(t).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return e(null);e(o)}})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,o)=>{i?n(i):e(o>0)})})}};F0.exports=ou});var H0=T((I4,q0)=>{var n2=Pi(),i2=_e();function V0(r){try{let t=r.client?r.client:r,{version:e}=t.topology.s.options.metadata.driver,n=e.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var So=class extends n2{constructor(t){super(t),this.dbName=t.dbName,this.tableName=t.tableName,this.indexKeyPrefix=t.indexKeyPrefix,t.mongo?this.client=t.mongo:this.client=t.storeClient,typeof this.client.then=="function"?this.client.then(e=>{this.client=e,this._initCollection(),this._driverVersion=V0(this.client)}):(this._initCollection(),this._driverVersion=V0(this.client))}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?So.getDbName():t}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get client(){return this._client}set client(t){if(typeof t>"u")throw new Error("mongo is not set");this._client=t}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(t){this._indexKeyPrefix=t||{}}_initCollection(){let e=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);e.createIndex({expire:-1},{expireAfterSeconds:0}),e.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=e}_getRateLimiterRes(t,e,n){let i=new i2,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===e,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(t,e,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:t},a=Object.assign(a,s),c={$set:{key:t,points:e,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:t},a=Object.assign(a,s),c={$setOnInsert:{key:t,expire:n>0?new Date(Date.now()+n):null},$inc:{points:e}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let l={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?l.returnDocument="after":l.returnOriginal=!1,new Promise((u,f)=>{this._collection.findOneAndUpdate(a,c,l).then(d=>{u(d)}).catch(d=>{if(d&&d.code===11e3){let h=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:t},s),p={$set:Object.assign({key:t,points:e,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(h,p,l).then(m=>{u(m)}).catch(m=>{m&&m.code===11e3?this._upsert(t,e,n,i).then(y=>u(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(t,e={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=e.attrs||{},i=Object.assign({key:t},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};q0.exports=So});var z0=T((T4,$0)=>{var o2=Pi(),s2=_e(),su=class extends o2{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.dbName=t.dbName,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,t],()=>{this._releaseConnection(n),e()})}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((t,e)=>{this.client.getConnection((n,i)=>{if(n)return e(n);t(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return t.release();case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);default:return!0}}_createDbAndTable(){return new Promise((t,e)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),e(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),e(o);this._releaseConnection(n),t()})})}).catch(n=>{e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(t){if(typeof t>"u")if(this.client.constructor.name==="Connection")t="connection";else if(this.client.constructor.name==="Pool")t="pool";else if(this.client.constructor.name==="Sequelize")t="sequelize";else throw new Error("storeType is not defined");this._clientType=t.toLowerCase()}get dbName(){return this._dbName}set dbName(t){this._dbName=typeof t>"u"?"rtlmtrflx":t}get tableName(){return this._tableName}set tableName(t){this._tableName=typeof t>"u"?this.keyPrefix:t}get tableCreated(){return this._tableCreated}set tableCreated(t){this._tableCreated=typeof t>"u"?!1:!!t}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(t){this._clearExpiredByTimeout=typeof t>"u"?!0:Boolean(t)}_getRateLimiterRes(t,e,n){let i=new s2,[o]=n;return i.isFirstInDuration=e===o.points,i.consumedPoints=i.isFirstInDuration?e:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(t,e,n,i,o){return new Promise((s,a)=>{t.query("BEGIN",c=>{if(c)return t.rollback(),a(c);let l=Date.now(),u=i>0?l+i:null,f,d;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
3
3
|
ON DUPLICATE KEY UPDATE
|
|
4
4
|
points = ?,
|
|
5
5
|
expire = ?;`,d=[this.dbName,this.tableName,e,n,u,n,u]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
6
6
|
ON DUPLICATE KEY UPDATE
|
|
7
7
|
points = IF(expire <= ?, ?, points + (?)),
|
|
8
|
-
expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,e,n,u,l,n,n,l,u]),t.query(f,d,h=>{if(h)return t.rollback(),a(h);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,e],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);s(m)})})})})})}_upsert(t,e,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,e,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,t,Date.now()],(o,s)=>{o?n(o):s.length===0?e(null):e(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(o,s)=>{o?n(o):e(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};$0.exports=
|
|
8
|
+
expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,e,n,u,l,n,n,l,u]),t.query(f,d,h=>{if(h)return t.rollback(),a(h);t.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,e],(p,m)=>{if(p)return t.rollback(),a(p);t.query("COMMIT",y=>{if(y)return t.rollback(),a(y);s(m)})})})})})}_upsert(t,e,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,t,e,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,t,Date.now()],(o,s)=>{o?n(o):s.length===0?e(null):e(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?new Promise((e,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,t],(o,s)=>{o?n(o):e(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};$0.exports=su});var Y0=T((C4,G0)=>{var a2=Pi(),c2=_e(),au=class extends a2{constructor(t,e=null){super(t),this.client=t.storeClient,this.clientType=t.storeType,this.tableName=t.tableName,this.clearExpiredByTimeout=t.clearExpiredByTimeout,this.tableCreated=t.tableCreated,this.tableCreated?typeof e=="function"&&e():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof e=="function"&&e()}).catch(n=>{if(typeof e=="function")e(n);else throw n})}clearExpired(t){return new Promise(e=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[t]};this._query(n).then(()=>{e()}).catch(()=>{e()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(t){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(t);case"knex":return this.client.client.releaseConnection(t);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((t,e)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{t()}).catch(n=>{n.code==="23505"?t():e(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
|
|
9
9
|
key varchar(255) PRIMARY KEY,
|
|
10
10
|
points integer NOT NULL DEFAULT 0,
|
|
11
11
|
expire bigint
|
|
@@ -21,32 +21,32 @@
|
|
|
21
21
|
END,
|
|
22
22
|
expire = ${s}
|
|
23
23
|
RETURNING points, expire;`,values:[t,e,o,Date.now()]})}_get(t){return this.tableCreated?new Promise((e,n)=>{this._query({name:"rlflx-get",text:`
|
|
24
|
-
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),e(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(e=>e.rowCount>0):Promise.reject(Error("Table is not created yet"))}};G0.exports=cu});var W0=T(()=>{});var Fn=T(()=>{});var X0=T((O4,Q0)=>{Q0.exports=class{constructor(t,e,n=null){this.value=t,this.expiresAt=e,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var J0=T((M4,Z0)=>{var l2=X0(),lu=_e();Z0.exports=class{constructor(){this._storage={}}incrby(t,e,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+e,new lu(0,i,this._storage[t].value,!1)):this.set(t,e,n)}return this.set(t,e,n)}set(t,e,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new l2(e,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new lu(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let e=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new lu(0,e,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var fu=T((U4,tp)=>{var u2=_o(),f2=J0(),j0=_e(),uu=class extends u2{constructor(t={}){super(t),this._memoryStorage=new f2}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,e,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+e&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let l=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));l<this.execEvenlyMinDelayMs&&(l=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,l,c)}else i(c)})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,e,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-e,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(t,e){let n=e*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,e),Promise.resolve(new j0(0,n===0?-1:n,i))}set(t,e,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),e,n),Promise.resolve(new j0(0,i===0?-1:i,e))}get(t){let e=this._memoryStorage.get(this.getKey(t));return e!==null&&(e.remainingPoints=Math.max(this.points-e.consumedPoints,0)),Promise.resolve(e)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};tp.exports=uu});var ap=T((F4,sp)=>{var ep=W0(),h2=Fn(),d2=_o(),np=fu(),p2=_e(),Ne="rate_limiter_flexible",Bi=null,rp=function(r,t,e,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},r.send({channel:Ne,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:e,data:i})},ip=function(r){setTimeout(()=>{this._initiated?process.send(r):typeof this._promises[r.promiseId]<"u"&&ip.call(this,r)},30)},Pi=function(r,t,e,n,i){let o={channel:Ne,keyPrefix:this.keyPrefix,func:r,promiseId:t,data:{key:e,arg:n,opts:i}};this._initiated?process.send(o):ip.call(this,o)},op=function(r,t){if(!t||t.channel!==Ne||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let e;switch(t.func){case"consume":e=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":e=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":e=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":e=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":e=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":e=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}e&&e.then(n=>{rp(r,t,"resolve",n)}).catch(n=>{rp(r,t,"reject",n)})},m2=function(r){if(!r||r.channel!==Ne||r.keyPrefix!==this.keyPrefix)return!1;if(this._promises[r.promiseId]){clearTimeout(this._promises[r.promiseId].timeoutId);let t;switch(r.data===null||r.data===!0||r.data===!1?t=r.data:t=new p2(r.data.remainingPoints,r.data.msBeforeNext,r.data.consumedPoints,r.data.isFirstInDuration),r.type){case"resolve":this._promises[r.promiseId].resolve(t);break;case"reject":this._promises[r.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${r.type}'`)}delete this._promises[r.promiseId]}},y2=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Li=function(r,t){let e=process.hrtime(),n=e[0].toString()+e[1].toString();return typeof this._promises[n]<"u"&&(n+=h2.randomBytes(12).toString("base64")),this._promises[n]={resolve:r,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},hu=class{constructor(){if(Bi)return Bi;this._rateLimiters={},ep.setMaxListeners(0),ep.on("message",(t,e)=>{e&&e.channel===Ne&&e.type==="init"?(typeof this._rateLimiters[e.opts.keyPrefix]>"u"&&(this._rateLimiters[e.opts.keyPrefix]=new np(e.opts)),t.send({channel:Ne,type:"init",keyPrefix:e.opts.keyPrefix})):op.call(this,t,e)}),Bi=this}},du=class{constructor(t){if(Bi)return Bi;this._rateLimiters={},t.launchBus((e,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Ne&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new np(o.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ne,channel:Ne,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Ne,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(l,u)=>{l&&console.log(l,u)})}};op.call(this,s,o)}})}),Bi=this}},pu=class extends d2{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",e=>{e&&e.channel===Ne&&e.type==="init"&&e.keyPrefix===this.keyPrefix?this._initiated=!0:m2.call(this,e)}),process.send({channel:Ne,type:"init",opts:y2.call(this)}),this._promises={}}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Pi.call(this,"consume",s,t,e,n)})}penalty(t,e=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Pi.call(this,"penalty",s,t,e,n)})}reward(t,e=1,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Pi.call(this,"reward",s,t,e,n)})}block(t,e,n={}){return new Promise((i,o)=>{let s=Li.call(this,i,o);Pi.call(this,"block",s,t,e,n)})}get(t,e={}){return new Promise((n,i)=>{let o=Li.call(this,n,i);Pi.call(this,"get",o,t,e)})}delete(t,e={}){return new Promise((n,i)=>{let o=Li.call(this,n,i);Pi.call(this,"delete",o,t,e)})}};sp.exports={RateLimiterClusterMaster:hu,RateLimiterClusterMasterPM2:du,RateLimiterCluster:pu}});var lp=T((K4,cp)=>{var g2=Di(),w2=_e(),mu=class extends g2{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,e,n){let i=new w2;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===e,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(t,e,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),l=Math.floor(n/1e3);i?this.client.set(t,e,l,u=>{u?a(u):this.client.set(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let f={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};s(f)})}):this.client.incr(t,e,(u,f)=>{u||f===!1?this.client.add(t,e,l,(d,h)=>{if(d||!h)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let p=Object.assign({},o);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(t,e,n,i,p).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let p={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};s(p)})}):this.client.get(`${t}_expire`,(d,h)=>{if(d)a(d);else{let p=h===!1?0:h,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};s(m)}})})})}_get(t){return new Promise((e,n)=>{let i=Date.now();this.client.get(t,(o,s)=>{s?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let l=c===!1?0:c,u={consumedPoints:s,msBeforeNext:l>=0?Math.max(l-i,0):-1};e(u)}}):e(null)})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,o)=>{i?n(i):o===!1?e(o):this.client.del(`${t}_expire`,s=>{s?n(s):e(o)})})})}};cp.exports=mu});var hp=T((q4,fp)=>{var up=_e();fp.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new up(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new up(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,e=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,e):(this.runActionAnyway&&this.limiter.consume(t,e).catch(()=>{}),n)}block(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,e):(this.runActionAnyway&&this.limiter.block(t,e).catch(()=>{}),n)}penalty(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,e):(this.runActionAnyway&&this.limiter.penalty(t,e).catch(()=>{}),n)}reward(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,e):(this.runActionAnyway&&this.limiter.reward(t,e).catch(()=>{}),n)}get(t){let e;return this.isWhiteListedSomewhere(t)?e=this.resolveWhite():this.isBlackListedSomewhere(t)&&(e=this.resolveBlack()),typeof e>"u"||this.runActionAnyway?this.limiter.get(t):e}delete(t){return this.limiter.delete(t)}}});var pp=T(($4,dp)=>{var E2=_o();dp.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(e=>{if(!(e instanceof E2))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,e=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(t,e).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(l=>{l.rejected===!0&&(c=!0)});for(let l=0;l<s.length;l++)c&&s[l].rejected===!0?a[this._limiters[l].keyPrefix]=s[l].rej:c||(a[this._limiters[l].keyPrefix]=s[l]);c?i(a):n(a)})})}}});var yp=T((G4,mp)=>{mp.exports=class extends Error{constructor(t,e){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,e&&(this.extra=e)}}});var xp=T((W4,Ep)=>{var gp=yp(),wp=4294967295,yu="limiter";Ep.exports=class{constructor(t,e={maxQueueSize:wp}){this._queueLimiters={KEY_DEFAULT:new fa(t,e)},this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(t=yu){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,e=yu){return this._queueLimiters[e]||(this._queueLimiters[e]=new fa(this._limiterFlexible,{key:e,maxQueueSize:this._maxQueueSize})),this._queueLimiters[e].removeTokens(t)}};var fa=class{constructor(t,e={maxQueueSize:wp,key:yu}){this._key=e.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let e=this;return new Promise((n,i)=>{if(t>e._limiterFlexible.points){i(new gp(`Requested tokens ${t} exceeds maximum ${e._limiterFlexible.points} tokens per interval`));return}e._queue.length>0?e._queueRequest.call(e,n,i,t):e._limiterFlexible.consume(e._key,t).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(e._queueRequest.call(e,n,i,t),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),o.msBeforeNext)))})})}_queueRequest(t,e,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:e,tokens:n}):e(new gp(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let e=t._queue.shift();t._limiterFlexible.consume(t._key,e.tokens).then(n=>{e.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(e.reject(n),t._processFIFO.call(t)):(t._queue.unshift(e),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var bp=T((X4,vp)=>{var gu=_e();vp.exports=class{constructor(t,e){this._rateLimiter=t,this._burstLimiter=e}_combineRes(t,e){return new gu(t.remainingPoints,Math.min(t.msBeforeNext,e.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,e=1,n={}){return this._rateLimiter.consume(t,e,n).catch(i=>i instanceof gu?this._burstLimiter.consume(t,e,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof gu?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([e,n])=>this._combineRes(e,n))}get points(){return this._rateLimiter.points}}});var Sp=T((Z4,_p)=>{var x2=K0(),v2=H0(),b2=z0(),_2=Y0(),{RateLimiterClusterMaster:S2,RateLimiterClusterMasterPM2:A2,RateLimiterCluster:R2}=ap(),I2=fu(),T2=lp(),C2=hp(),D2=pp(),P2=xp(),L2=bp(),B2=_e();_p.exports={RateLimiterRedis:x2,RateLimiterMongo:v2,RateLimiterMySQL:b2,RateLimiterPostgres:_2,RateLimiterMemory:I2,RateLimiterMemcache:T2,RateLimiterClusterMaster:S2,RateLimiterClusterMasterPM2:A2,RateLimiterCluster:R2,RLWrapperBlackAndWhite:C2,RateLimiterUnion:D2,RateLimiterQueue:P2,BurstyRateLimiter:L2,RateLimiterRes:B2}});var Np=T((ID,Bp)=>{"use strict";Bp.exports=H2;function H2(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(u){if(o)if(o=!1,u)c(u);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{r.apply(t||null,e)}catch(l){o&&(o=!1,c(l))}})}});var Up=T(Mp=>{"use strict";var wa=Mp;wa.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var Oi=new Array(64),kp=new Array(123);for(We=0;We<64;)kp[Oi[We]=We<26?We+65:We<52?We+71:We<62?We-4:We-59|43]=We++;var We;wa.encode=function(t,e,n){for(var i=null,o=[],s=0,a=0,c;e<n;){var l=t[e++];switch(a){case 0:o[s++]=Oi[l>>2],c=(l&3)<<4,a=1;break;case 1:o[s++]=Oi[c|l>>4],c=(l&15)<<2,a=2;break;case 2:o[s++]=Oi[c|l>>6],o[s++]=Oi[l&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=Oi[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Op="invalid encoding";wa.decode=function(t,e,n){for(var i=n,o=0,s,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&o>1)break;if((c=kp[c])===void 0)throw Error(Op);switch(o){case 0:s=c,o=1;break;case 1:e[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:e[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:e[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Op);return n-i};wa.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Kp=T((CD,Fp)=>{"use strict";Fp.exports=Ea;function Ea(){this._listeners={}}Ea.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};Ea.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};Ea.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var Yp=T((DD,Gp)=>{"use strict";Gp.exports=Vp(Vp);function Vp(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3]}function o(c,l,u){t[0]=c,l[u]=e[3],l[u+1]=e[2],l[u+2]=e[1],l[u+3]=e[0]}r.writeFloatLE=n?i:o,r.writeFloatBE=n?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],t[0]}function a(c,l){return e[3]=c[l],e[2]=c[l+1],e[1]=c[l+2],e[0]=c[l+3],t[0]}r.readFloatLE=n?s:a,r.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|l)>>>0,o,s)}}r.writeFloatLE=t.bind(null,qp),r.writeFloatBE=t.bind(null,Hp);function e(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,l=s&8388607;return c===255?l?NaN:a*(1/0):c===0?a*1401298464324817e-60*l:a*Math.pow(2,c-150)*(l+8388608)}r.readFloatLE=e.bind(null,$p),r.readFloatBE=e.bind(null,zp)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3],l[u+4]=e[4],l[u+5]=e[5],l[u+6]=e[6],l[u+7]=e[7]}function o(c,l,u){t[0]=c,l[u]=e[7],l[u+1]=e[6],l[u+2]=e[5],l[u+3]=e[4],l[u+4]=e[3],l[u+5]=e[2],l[u+6]=e[1],l[u+7]=e[0]}r.writeDoubleLE=n?i:o,r.writeDoubleBE=n?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],e[4]=c[l+4],e[5]=c[l+5],e[6]=c[l+6],e[7]=c[l+7],t[0]}function a(c,l){return e[7]=c[l],e[6]=c[l+1],e[5]=c[l+2],e[4]=c[l+3],e[3]=c[l+4],e[2]=c[l+5],e[1]=c[l+6],e[0]=c[l+7],t[0]}r.readDoubleLE=n?s:a,r.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,c){var l=s<0?1:0;if(l&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((l<<31|2146435072)>>>0,a,c+o);else{var u;if(s<22250738585072014e-324)u=s/5e-324,n(u>>>0,a,c+i),n((l<<31|u/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),u=s*Math.pow(2,-f),n(u*4503599627370496>>>0,a,c+i),n((l<<31|f+1023<<20|u*1048576&1048575)>>>0,a,c+o)}}}r.writeDoubleLE=t.bind(null,qp,0,4),r.writeDoubleBE=t.bind(null,Hp,4,0);function e(n,i,o,s,a){var c=n(s,a+i),l=n(s,a+o),u=(l>>31)*2+1,f=l>>>20&2047,d=4294967296*(l&1048575)+c;return f===2047?d?NaN:u*(1/0):f===0?u*5e-324*d:u*Math.pow(2,f-1075)*(d+4503599627370496)}r.readDoubleLE=e.bind(null,$p,0,4),r.readDoubleBE=e.bind(null,zp,4,0)}(),r}function qp(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Hp(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function $p(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function zp(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var Wp=T((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Xp=T(Qp=>{"use strict";var bu=Qp;bu.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};bu.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var o=null,s=[],a=0,c;e<n;)c=t[e++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};bu.write=function(t,e,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?e[n++]=o:o<2048?(e[n++]=o>>6|192,e[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,e[n++]=o>>18|240,e[n++]=o>>12&63|128,e[n++]=o>>6&63|128,e[n++]=o&63|128):(e[n++]=o>>12|224,e[n++]=o>>6&63|128,e[n++]=o&63|128);return n-i}});var Jp=T((LD,Zp)=>{"use strict";Zp.exports=$2;function $2(r,t,e){var n=e||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return r(c);s+c>n&&(o=r(n),s=0);var l=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),l}}});var tm=T((BD,jp)=>{"use strict";jp.exports=re;var Do=qn();function re(r,t){this.lo=r>>>0,this.hi=t>>>0}var Vn=re.zero=new re(0,0);Vn.toNumber=function(){return 0};Vn.zzEncode=Vn.zzDecode=function(){return this};Vn.length=function(){return 1};var z2=re.zeroHash="\0\0\0\0\0\0\0\0";re.fromNumber=function(t){if(t===0)return Vn;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new re(n,i)};re.from=function(t){if(typeof t=="number")return re.fromNumber(t);if(Do.isString(t))if(Do.Long)t=Do.Long.fromString(t);else return re.fromNumber(parseInt(t,10));return t.low||t.high?new re(t.low>>>0,t.high>>>0):Vn};re.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};re.prototype.toLong=function(t){return Do.Long?new Do.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var sn=String.prototype.charCodeAt;re.fromHash=function(t){return t===z2?Vn:new re((sn.call(t,0)|sn.call(t,1)<<8|sn.call(t,2)<<16|sn.call(t,3)<<24)>>>0,(sn.call(t,4)|sn.call(t,5)<<8|sn.call(t,6)<<16|sn.call(t,7)<<24)>>>0)};re.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};re.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};re.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};re.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var qn=T(_u=>{"use strict";var M=_u;M.asPromise=Np();M.base64=Up();M.EventEmitter=Kp();M.float=Yp();M.inquire=Wp();M.utf8=Xp();M.pool=Jp();M.LongBits=tm();M.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||_u;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var r=M.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,e){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))};function em(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}M.merge=em;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function rm(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&em(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=rm;M.ProtocolError=rm("ProtocolError");M.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(e[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};M.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var r=M.Buffer;if(!r){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},M._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var Ru=T((OD,am)=>{"use strict";am.exports=Ht;var ur=qn(),Au,om=ur.LongBits,G2=ur.utf8;function Qe(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function Ht(r){this.buf=r,this.pos=0,this.len=r.length}var nm=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Ht(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Ht(t);throw Error("illegal buffer")},sm=function(){return ur.Buffer?function(e){return(Ht.create=function(i){return ur.Buffer.isBuffer(i)?new Au(i):nm(i)})(e)}:nm};Ht.create=sm();Ht.prototype._slice=ur.Array.prototype.subarray||ur.Array.prototype.slice;Ht.prototype.uint32=function(){var t=4294967295;return function(){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,Qe(this,10);return t}}();Ht.prototype.int32=function(){return this.uint32()|0};Ht.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Su(){var r=new om(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Qe(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw Qe(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}Ht.prototype.bool=function(){return this.uint32()!==0};function xa(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}Ht.prototype.fixed32=function(){if(this.pos+4>this.len)throw Qe(this,4);return xa(this.buf,this.pos+=4)};Ht.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Qe(this,4);return xa(this.buf,this.pos+=4)|0};function im(){if(this.pos+8>this.len)throw Qe(this,8);return new om(xa(this.buf,this.pos+=4),xa(this.buf,this.pos+=4))}Ht.prototype.float=function(){if(this.pos+4>this.len)throw Qe(this,4);var t=ur.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Ht.prototype.double=function(){if(this.pos+8>this.len)throw Qe(this,4);var t=ur.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Ht.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Qe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};Ht.prototype.string=function(){var t=this.bytes();return G2.read(t,0,t.length)};Ht.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Qe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Qe(this);while(this.buf[this.pos++]&128);return this};Ht.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};Ht._configure=function(r){Au=r,Ht.create=sm(),Au._configure();var t=ur.Long?"toLong":"toNumber";ur.merge(Ht.prototype,{int64:function(){return Su.call(this)[t](!1)},uint64:function(){return Su.call(this)[t](!0)},sint64:function(){return Su.call(this).zzDecode()[t](!1)},fixed64:function(){return im.call(this)[t](!0)},sfixed64:function(){return im.call(this)[t](!1)}})}});var fm=T((kD,um)=>{"use strict";um.exports=Hn;var lm=Ru();(Hn.prototype=Object.create(lm.prototype)).constructor=Hn;var cm=qn();function Hn(r){lm.call(this,r)}Hn._configure=function(){cm.Buffer&&(Hn.prototype._slice=cm.Buffer.prototype.slice)};Hn.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Hn._configure()});var Bu=T((MD,mm)=>{"use strict";mm.exports=at;var Oe=qn(),Iu,va=Oe.LongBits,hm=Oe.base64,dm=Oe.utf8;function Po(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function Cu(){}function Y2(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function at(){this.len=0,this.head=new Po(Cu,0,0),this.tail=this.head,this.states=null}var pm=function(){return Oe.Buffer?function(){return(at.create=function(){return new Iu})()}:function(){return new at}};at.create=pm();at.alloc=function(t){return new Oe.Array(t)};Oe.Array!==Array&&(at.alloc=Oe.pool(at.alloc,Oe.Array.prototype.subarray));at.prototype._push=function(t,e,n){return this.tail=this.tail.next=new Po(t,e,n),this.len+=e,this};function Du(r,t,e){t[e]=r&255}function W2(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function Pu(r,t){this.len=r,this.next=void 0,this.val=t}Pu.prototype=Object.create(Po.prototype);Pu.prototype.fn=W2;at.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Pu((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};at.prototype.int32=function(t){return t<0?this._push(Lu,10,va.fromNumber(t)):this.uint32(t)};at.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Lu(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}at.prototype.uint64=function(t){var e=va.from(t);return this._push(Lu,e.length(),e)};at.prototype.int64=at.prototype.uint64;at.prototype.sint64=function(t){var e=va.from(t).zzEncode();return this._push(Lu,e.length(),e)};at.prototype.bool=function(t){return this._push(Du,1,t?1:0)};function Tu(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}at.prototype.fixed32=function(t){return this._push(Tu,4,t>>>0)};at.prototype.sfixed32=at.prototype.fixed32;at.prototype.fixed64=function(t){var e=va.from(t);return this._push(Tu,4,e.lo)._push(Tu,4,e.hi)};at.prototype.sfixed64=at.prototype.fixed64;at.prototype.float=function(t){return this._push(Oe.float.writeFloatLE,4,t)};at.prototype.double=function(t){return this._push(Oe.float.writeDoubleLE,8,t)};var Q2=Oe.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};at.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(Du,1,0);if(Oe.isString(t)){var n=at.alloc(e=hm.length(t));hm.decode(t,n,0),t=n}return this.uint32(e)._push(Q2,e,t)};at.prototype.string=function(t){var e=dm.length(t);return e?this.uint32(e)._push(dm.write,e,t):this._push(Du,1,0)};at.prototype.fork=function(){return this.states=new Y2(this),this.head=this.tail=new Po(Cu,0,0),this.len=0,this};at.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Po(Cu,0,0),this.len=0),this};at.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};at.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};at._configure=function(r){Iu=r,at.create=pm(),Iu._configure()}});var wm=T((UD,gm)=>{"use strict";gm.exports=fr;var ym=Bu();(fr.prototype=Object.create(ym.prototype)).constructor=fr;var an=qn();function fr(){ym.call(this)}fr._configure=function(){fr.alloc=an._Buffer_allocUnsafe,fr.writeBytesBuffer=an.Buffer&&an.Buffer.prototype instanceof Uint8Array&&an.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};fr.prototype.bytes=function(t){an.isString(t)&&(t=an._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(fr.writeBytesBuffer,e,t),this};function X2(r,t,e){r.length<40?an.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}fr.prototype.string=function(t){var e=an.Buffer.byteLength(t);return this.uint32(e),e&&this._push(X2,e,t),this};fr._configure()});var Km=T(ko=>{(function(){var r,t,e,n,i,o,s,a;a=function(c){var l,u,f,d;return l=(c&255<<24)>>>24,u=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[l,u,f,d].join(".")},s=function(c){var l,u,f,d,h,p;for(l=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],u=p[1],c=c.substring(u),l.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),o=e("a"),i=e("A"),t=function(c){var l,u,f,d,h;for(d=0,l=10,u="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,l=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,l=8,u="7")),h=f;f<c.length;){if("0"<=c[f]&&c[f]<=u)d=d*l+(e(c[f])-n)>>>0;else if(l===16)if("a"<=c[f]&&c[f]<="f")d=d*l+(10+e(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*l+(10+e(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===h)throw new Error("empty octet");return[d,f]},r=function(){function c(l,u){var f,d,h,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(u||(p=l.split("/",2),l=p[0],u=p[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=s(u)}catch(m){throw f=m,new Error("Invalid mask: "+u)}for(d=h=32;h>=0;d=--h)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(l)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(s(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var u,f,d;for(d=s(this.first),f=s(this.last),u=0;d<=f;)l(a(d),d,u),u++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ko.ip2long=s,ko.long2ip=a,ko.Netmask=r}).call(ko)});var $m=T((Hm,La)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function c(h,p){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let m=0,y=-1,g=(h.match(a.zoneIndex)||[])[0],E,_;for(g&&(g=g.substring(1),h=h.replace(/%.+$/,""));(y=h.indexOf(":",y+1))>=0;)m++;if(h.substr(0,2)==="::"&&m--,h.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,E=":";_--;)E+="0:";return h=h.replace("::",E),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),p=function(){let k=h.split(":"),C=[];for(let D=0;D<k.length;D++)C.push(parseInt(k[D],16));return C}(),{parts:p,zoneId:g}}function l(h,p,m,y){if(h.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),h[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function u(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function f(h,p){for(;h.length<p;)h=`0${h}`;return h}let d={};d.IPv4=function(){function h(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,p.octets,8,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,E,_;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(_=y[E],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),d.IPv4.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(h){return this.parser(h)!==null},d.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(h){return!!(d.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(h){let p=this.parser(h);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},d.IPv4.parseCIDR=function(h){let p;if(p=h.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(h){let p,m,y;if(p=h.match(e.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let _=0;_<g.length;_++)m=g[_],E.push(u(m));return E}();if(p=h.match(e.longValue)){if(y=u(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=h.match(e.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=u(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=h.match(e.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=u(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(u(g[1])),E.push(y>>8&255),E.push(y&255),E}():null},d.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.IPv6=function(){function h(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],reserved:[[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,p.parts,16,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,E;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},h.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},h.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},h.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},h}(),d.IPv6.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},d.IPv6.isIPv6=function(h){return this.parser(h)!==null},d.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let p=this.parser(h);return new this(p.parts,p.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},d.IPv6.parse=function(h){let p=this.parser(h);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},d.IPv6.parseCIDR=function(h){let p,m,y;if((m=h.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(h){let p,m,y,g,E,_;if(y=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(h))return c(h,8);if((y=h.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.fromByteArray=function(h){let p=h.length;if(p===4)return new d.IPv4(h);if(p===16)return new d.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(h){return d.IPv6.isValid(h)||d.IPv4.isValid(h)},d.parse=function(h){if(d.IPv6.isValid(h))return d.IPv6.parse(h);if(d.IPv4.isValid(h))return d.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(h){try{return d.IPv6.parseCIDR(h)}catch{try{return d.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(h){let p=this.parse(h);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},d.subnetMatch=function(h,p,m){let y,g,E,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(_=E[y],h.kind()===_[0].kind()&&h.match.apply(h,_))return g}return m},typeof La<"u"&&La.exports?La.exports=d:r.ipaddr=d})(Hm)});var Zm=T((o8,Xm)=>{"use strict";function Sb(r){return r>=55296&&r<=56319}function Ab(r){return r>=56320&&r<=57343}Xm.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var i=e.length,o=0,s,a,c=0;c<i;c+=1){if(s=e.charCodeAt(c),a=e[c],Sb(s)&&Ab(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),o+=t(a),o===n)return e.slice(0,c+1);if(o>n)return e.slice(0,c-a.length+1)}return e}});var jm=T((s8,Jm)=>{"use strict";function Rb(r){return r>=55296&&r<=56319}function Ib(r){return r>=56320&&r<=57343}Jm.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,i=null,o=null,s=0;s<e;s++)i=t.charCodeAt(s),Ib(i)?o!=null&&Rb(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var ey=T((a8,ty)=>{"use strict";var Tb=Zm(),Cb=jm();ty.exports=Tb.bind(null,Cb)});var iy=T((c8,ny)=>{"use strict";var Db=ey(),Pb=/[\/\?<>\\:\*\|"]/g,Lb=/[\x00-\x1f\x80-\x9f]/g,Bb=/^\.+$/,Nb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Ob=/[\. ]+$/;function ry(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(Pb,t).replace(Lb,t).replace(Bb,t).replace(Nb,t).replace(Ob,t);return Db(e,255)}ny.exports=function(r,t){var e=t&&t.replacement||"",n=ry(r,e);return e===""?n:ry(n,"")}});var mt=T((f8,oy)=>{oy.exports={options:{usePureJavaScript:!1}}});var cy=T((h8,ay)=>{var Wu={};ay.exports=Wu;var sy={};Wu.encode=function(r,t,e){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(e!==void 0&&typeof e!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(r instanceof Uint8Array))n=kb(r,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<r.length;++i){for(var c=0,l=r[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%o,l=l/o|0;for(;l>0;)a.push(l%o),l=l/o|0}for(i=0;r[i]===0&&i<r.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(e){var u=new RegExp(".{1,"+e+"}","g");n=n.match(u).join(`\r
|
|
25
|
-
`)}return n};Wu.decode=function(r,t){if(typeof r!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var e=sy[t];if(!e){e=sy[t]=[];for(var n=0;n<t.length;++n)e[t.charCodeAt(n)]=n}r=r.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<r.length;n++){var a=e[r.charCodeAt(n)];if(a===void 0)return;for(var c=0,l=a;c<s.length;++c)l+=s[c]*i,s[c]=l&255,l>>=8;for(;l>0;)s.push(l&255),l>>=8}for(var u=0;r[u]===o&&u<r.length-1;++u)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function kb(r,t){var e=0,n=t.length,i=t.charAt(0),o=[0];for(e=0;e<r.length();++e){for(var s=0,a=r.at(e);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(e=0;r.at(e)===0&&e<r.length()-1;++e)c+=i;for(e=o.length-1;e>=0;--e)c+=t[o[e]];return c}});var $t=T((d8,hy)=>{var ly=mt(),uy=cy(),w=hy.exports=ly.util=ly.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===r){c.stopPropagation();var l=t.slice();t.length=0,l.forEach(function(u){u()})}};var s=a,r="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(r,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var e=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(l){l()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-e>15?(e=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(r){return Object.prototype.toString.call(r)==="[object Array]"};w.isArrayBuffer=function(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer};w.isArrayBufferView=function(r){return r&&w.isArrayBuffer(r.buffer)&&r.byteLength!==void 0};function Uo(r){if(!(r===8||r===16||r===24||r===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+r)}w.ByteBuffer=Qu;function Qu(r){if(this.data="",this.read=0,typeof r=="string")this.data=r;else if(w.isArrayBuffer(r)||w.isArrayBufferView(r))if(typeof Buffer<"u"&&r instanceof Buffer)this.data=r.toString("binary");else{var t=new Uint8Array(r);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var e=0;e<t.length;++e)this.putByte(t[e])}}else(r instanceof Qu||typeof r=="object"&&typeof r.data=="string"&&typeof r.read=="number")&&(this.data=r.data,this.read=r.read);this._constructedStringLength=0}w.ByteStringBuffer=Qu;var Mb=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(r){this._constructedStringLength+=r,this._constructedStringLength>Mb&&(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(r){return this.putBytes(String.fromCharCode(r))};w.ByteStringBuffer.prototype.fillWithByte=function(r,t){r=String.fromCharCode(r);for(var e=this.data;t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return this.data=e,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(r){return this.data+=r,this._optimizeConstructedString(r.length),this};w.ByteStringBuffer.prototype.putString=function(r){return this.putBytes(w.encodeUtf8(r))};w.ByteStringBuffer.prototype.putInt16=function(r){return this.putBytes(String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt24=function(r){return this.putBytes(String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt32=function(r){return this.putBytes(String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt16Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>24&255))};w.ByteStringBuffer.prototype.putInt=function(r,t){Uo(t);var e="";do t-=8,e+=String.fromCharCode(r>>t&255);while(t>0);return this.putBytes(e)};w.ByteStringBuffer.prototype.putSignedInt=function(r,t){return r<0&&(r+=2<<t-1),this.putInt(r,t)};w.ByteStringBuffer.prototype.putBuffer=function(r){return this.putBytes(r.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var r=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24=function(){var r=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt16Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32Le=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt=function(r){Uo(r);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),r-=8;while(r>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.ByteStringBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.ByteStringBuffer.prototype.at=function(r){return this.data.charCodeAt(this.read+r)};w.ByteStringBuffer.prototype.setAt=function(r,t){return this.data=this.data.substr(0,this.read+r)+String.fromCharCode(t)+this.data.substr(this.read+r+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var r=w.createBuffer(this.data);return r.read=this.read,r};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(r){var t=Math.max(0,this.length()-r);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.length;++t){var e=this.data.charCodeAt(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Ub(r,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var e=w.isArrayBuffer(r),n=w.isArrayBufferView(r);if(e||n){e?this.data=new DataView(r):this.data=new DataView(r.buffer,r.byteOffset,r.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,r!=null&&this.putBytes(r),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Ub;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(r,t){if(this.length()>=r)return this;t=Math.max(t||this.growSize,r);var e=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(e),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(r){return this.accommodate(1),this.data.setUint8(this.write++,r),this};w.DataBuffer.prototype.fillWithByte=function(r,t){this.accommodate(t);for(var e=0;e<t;++e)this.data.setUint8(r);return this};w.DataBuffer.prototype.putBytes=function(r,t){if(w.isArrayBufferView(r)){var e=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),n=e.byteLength-e.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(e),this.write+=n,this}if(w.isArrayBuffer(r)){var e=new Uint8Array(r);this.accommodate(e.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(e,this.write),this.write+=e.byteLength,this}if(r instanceof w.DataBuffer||typeof r=="object"&&typeof r.read=="number"&&typeof r.write=="number"&&w.isArrayBufferView(r.data)){var e=new Uint8Array(r.data.byteLength,r.read,r.length());this.accommodate(e.byteLength);var i=new Uint8Array(r.data.byteLength,this.write);return i.set(e),this.write+=e.byteLength,this}if(r instanceof w.ByteStringBuffer&&(r=r.data,t="binary"),t=t||"binary",typeof r=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(r.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(r,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(r.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(r,o,this.write),this;if(t==="utf8"&&(r=w.encodeUtf8(r),t="binary"),t==="binary"||t==="raw")return this.accommodate(r.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(r.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: "+r)};w.DataBuffer.prototype.putBuffer=function(r){return this.putBytes(r),r.clear(),this};w.DataBuffer.prototype.putString=function(r){return this.putBytes(r,"utf16")};w.DataBuffer.prototype.putInt16=function(r){return this.accommodate(2),this.data.setInt16(this.write,r),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(r){return this.accommodate(3),this.data.setInt16(this.write,r>>8&65535),this.data.setInt8(this.write,r>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(r){return this.accommodate(4),this.data.setInt32(this.write,r),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(r){return this.accommodate(2),this.data.setInt16(this.write,r,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(r){return this.accommodate(3),this.data.setInt8(this.write,r>>16&255),this.data.setInt16(this.write,r>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(r){return this.accommodate(4),this.data.setInt32(this.write,r,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(r,t){Uo(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,r>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(r,t){return Uo(t),this.accommodate(t/8),r<0&&(r+=2<<t-1),this.putInt(r,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var r=this.data.getInt16(this.read);return this.read+=2,r};w.DataBuffer.prototype.getInt24=function(){var r=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,r};w.DataBuffer.prototype.getInt32=function(){var r=this.data.getInt32(this.read);return this.read+=4,r};w.DataBuffer.prototype.getInt16Le=function(){var r=this.data.getInt16(this.read,!0);return this.read+=2,r};w.DataBuffer.prototype.getInt24Le=function(){var r=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,r};w.DataBuffer.prototype.getInt32Le=function(){var r=this.data.getInt32(this.read,!0);return this.read+=4,r};w.DataBuffer.prototype.getInt=function(r){Uo(r);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),r-=8;while(r>0);return t};w.DataBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.DataBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.DataBuffer.prototype.at=function(r){return this.data.getUint8(this.read+r)};w.DataBuffer.prototype.setAt=function(r,t){return this.data.setUint8(r,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 r=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(r.byteLength);t.set(r),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(r){return this.write=Math.max(0,this.length()-r),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.byteLength;++t){var e=this.data.getUint8(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.DataBuffer.prototype.toString=function(r){var t=new Uint8Array(this.data,this.read,this.length());if(r=r||"utf8",r==="binary"||r==="raw")return w.binary.raw.encode(t);if(r==="hex")return w.binary.hex.encode(t);if(r==="base64")return w.binary.base64.encode(t);if(r==="utf8")return w.text.utf8.decode(t);if(r==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+r)};w.createBuffer=function(r,t){return t=t||"raw",r!==void 0&&t==="utf8"&&(r=w.encodeUtf8(r)),new w.ByteBuffer(r)};w.fillString=function(r,t){for(var e="";t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return e};w.xorBytes=function(r,t,e){for(var n="",i="",o="",s=0,a=0;e>0;--e,++s)i=r.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(r){var t="",e=0;for(r.length&!0&&(e=1,t+=String.fromCharCode(parseInt(r[0],16)));e<r.length;e+=2)t+=String.fromCharCode(parseInt(r.substr(e,2),16));return t};w.bytesToHex=function(r){return w.createBuffer(r).toHex()};w.int32ToBytes=function(r){return String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255)};var fn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",hn=[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],fy="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(r,t){for(var e="",n="",i,o,s,a=0;a<r.length;)i=r.charCodeAt(a++),o=r.charCodeAt(a++),s=r.charCodeAt(a++),e+=fn.charAt(i>>2),e+=fn.charAt((i&3)<<4|o>>4),isNaN(o)?e+="==":(e+=fn.charAt((o&15)<<2|s>>6),e+=isNaN(s)?"=":fn.charAt(s&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
|
|
24
|
+
SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[t,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),e(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(t){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[t]}).then(e=>e.rowCount>0):Promise.reject(Error("Table is not created yet"))}};G0.exports=au});var W0=T(()=>{});var Kn=T(()=>{});var X0=T((O4,Q0)=>{Q0.exports=class{constructor(t,e,n=null){this.value=t,this.expiresAt=e,this.timeoutId=n}get value(){return this._value}set value(t){this._value=parseInt(t)}get expiresAt(){return this._expiresAt}set expiresAt(t){!(t instanceof Date)&&Number.isInteger(t)&&(t=new Date(t)),this._expiresAt=t}get timeoutId(){return this._timeoutId}set timeoutId(t){this._timeoutId=t}}});var J0=T((M4,Z0)=>{var l2=X0(),cu=_e();Z0.exports=class{constructor(){this._storage={}}incrby(t,e,n){if(this._storage[t]){let i=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[t].value=this._storage[t].value+e,new cu(0,i,this._storage[t].value,!1)):this.set(t,e,n)}return this.set(t,e,n)}set(t,e,n){let i=n*1e3;return this._storage[t]&&this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),this._storage[t]=new l2(e,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[t].timeoutId=setTimeout(()=>{delete this._storage[t]},i),this._storage[t].timeoutId.unref&&this._storage[t].timeoutId.unref()),new cu(0,i===0?-1:i,this._storage[t].value,!0)}get(t){if(this._storage[t]){let e=this._storage[t].expiresAt?this._storage[t].expiresAt.getTime()-new Date().getTime():-1;return new cu(0,e,this._storage[t].value,!1)}return null}delete(t){return this._storage[t]?(this._storage[t].timeoutId&&clearTimeout(this._storage[t].timeoutId),delete this._storage[t],!0):!1}}});var uu=T((U4,tp)=>{var u2=_o(),f2=J0(),j0=_e(),lu=class extends u2{constructor(t={}){super(t),this._memoryStorage=new f2}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=this.getKey(t),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,e,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+e&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let l=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));l<this.execEvenlyMinDelayMs&&(l=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,l,c)}else i(c)})}penalty(t,e=1,n={}){let i=this.getKey(t);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,e,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(t,e=1,n={}){let i=this.getKey(t);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-e,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(t,e){let n=e*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(t),i,e),Promise.resolve(new j0(0,n===0?-1:n,i))}set(t,e,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(t),e,n),Promise.resolve(new j0(0,i===0?-1:i,e))}get(t){let e=this._memoryStorage.get(this.getKey(t));return e!==null&&(e.remainingPoints=Math.max(this.points-e.consumedPoints,0)),Promise.resolve(e)}delete(t){return Promise.resolve(this._memoryStorage.delete(this.getKey(t)))}};tp.exports=lu});var ap=T((F4,sp)=>{var ep=W0(),h2=Kn(),d2=_o(),np=uu(),p2=_e(),Ne="rate_limiter_flexible",Ni=null,rp=function(r,t,e,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},r.send({channel:Ne,keyPrefix:t.keyPrefix,promiseId:t.promiseId,type:e,data:i})},ip=function(r){setTimeout(()=>{this._initiated?process.send(r):typeof this._promises[r.promiseId]<"u"&&ip.call(this,r)},30)},Li=function(r,t,e,n,i){let o={channel:Ne,keyPrefix:this.keyPrefix,func:r,promiseId:t,data:{key:e,arg:n,opts:i}};this._initiated?process.send(o):ip.call(this,o)},op=function(r,t){if(!t||t.channel!==Ne||typeof this._rateLimiters[t.keyPrefix]>"u")return!1;let e;switch(t.func){case"consume":e=this._rateLimiters[t.keyPrefix].consume(t.data.key,t.data.arg,t.data.opts);break;case"penalty":e=this._rateLimiters[t.keyPrefix].penalty(t.data.key,t.data.arg,t.data.opts);break;case"reward":e=this._rateLimiters[t.keyPrefix].reward(t.data.key,t.data.arg,t.data.opts);break;case"block":e=this._rateLimiters[t.keyPrefix].block(t.data.key,t.data.arg,t.data.opts);break;case"get":e=this._rateLimiters[t.keyPrefix].get(t.data.key,t.data.opts);break;case"delete":e=this._rateLimiters[t.keyPrefix].delete(t.data.key,t.data.opts);break;default:return!1}e&&e.then(n=>{rp(r,t,"resolve",n)}).catch(n=>{rp(r,t,"reject",n)})},m2=function(r){if(!r||r.channel!==Ne||r.keyPrefix!==this.keyPrefix)return!1;if(this._promises[r.promiseId]){clearTimeout(this._promises[r.promiseId].timeoutId);let t;switch(r.data===null||r.data===!0||r.data===!1?t=r.data:t=new p2(r.data.remainingPoints,r.data.msBeforeNext,r.data.consumedPoints,r.data.isFirstInDuration),r.type){case"resolve":this._promises[r.promiseId].resolve(t);break;case"reject":this._promises[r.promiseId].reject(t);break;default:throw new Error(`RateLimiterCluster: no such message type '${r.type}'`)}delete this._promises[r.promiseId]}},y2=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Bi=function(r,t){let e=process.hrtime(),n=e[0].toString()+e[1].toString();return typeof this._promises[n]<"u"&&(n+=h2.randomBytes(12).toString("base64")),this._promises[n]={resolve:r,reject:t,timeoutId:setTimeout(()=>{delete this._promises[n],t(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},fu=class{constructor(){if(Ni)return Ni;this._rateLimiters={},ep.setMaxListeners(0),ep.on("message",(t,e)=>{e&&e.channel===Ne&&e.type==="init"?(typeof this._rateLimiters[e.opts.keyPrefix]>"u"&&(this._rateLimiters[e.opts.keyPrefix]=new np(e.opts)),t.send({channel:Ne,type:"init",keyPrefix:e.opts.keyPrefix})):op.call(this,t,e)}),Ni=this}},hu=class{constructor(t){if(Ni)return Ni;this._rateLimiters={},t.launchBus((e,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===Ne&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new np(o.opts)),t.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ne,channel:Ne,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=Ne,typeof c.data>"u"&&(c.data={}),t.sendDataToProcessId(i.process.pm_id,c,(l,u)=>{l&&console.log(l,u)})}};op.call(this,s,o)}})}),Ni=this}},du=class extends d2{get timeoutMs(){return this._timeoutMs}set timeoutMs(t){this._timeoutMs=typeof t>"u"?5e3:Math.abs(parseInt(t))}constructor(t={}){super(t),process.setMaxListeners(0),this.timeoutMs=t.timeoutMs,this._initiated=!1,process.on("message",e=>{e&&e.channel===Ne&&e.type==="init"&&e.keyPrefix===this.keyPrefix?this._initiated=!0:m2.call(this,e)}),process.send({channel:Ne,type:"init",opts:y2.call(this)}),this._promises={}}consume(t,e=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Li.call(this,"consume",s,t,e,n)})}penalty(t,e=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Li.call(this,"penalty",s,t,e,n)})}reward(t,e=1,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Li.call(this,"reward",s,t,e,n)})}block(t,e,n={}){return new Promise((i,o)=>{let s=Bi.call(this,i,o);Li.call(this,"block",s,t,e,n)})}get(t,e={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Li.call(this,"get",o,t,e)})}delete(t,e={}){return new Promise((n,i)=>{let o=Bi.call(this,n,i);Li.call(this,"delete",o,t,e)})}};sp.exports={RateLimiterClusterMaster:fu,RateLimiterClusterMasterPM2:hu,RateLimiterCluster:du}});var lp=T((K4,cp)=>{var g2=Pi(),w2=_e(),pu=class extends g2{constructor(t){super(t),this.client=t.storeClient}_getRateLimiterRes(t,e,n){let i=new w2;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===e,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(t,e,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),l=Math.floor(n/1e3);i?this.client.set(t,e,l,u=>{u?a(u):this.client.set(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let f={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};s(f)})}):this.client.incr(t,e,(u,f)=>{u||f===!1?this.client.add(t,e,l,(d,h)=>{if(d||!h)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let p=Object.assign({},o);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(t,e,n,i,p).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${t}_expire`,l>0?c+l*1e3:-1,l,()=>{let p={consumedPoints:e,msBeforeNext:l>0?l*1e3:-1};s(p)})}):this.client.get(`${t}_expire`,(d,h)=>{if(d)a(d);else{let p=h===!1?0:h,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};s(m)}})})})}_get(t){return new Promise((e,n)=>{let i=Date.now();this.client.get(t,(o,s)=>{s?this.client.get(`${t}_expire`,(a,c)=>{if(a)n(a);else{let l=c===!1?0:c,u={consumedPoints:s,msBeforeNext:l>=0?Math.max(l-i,0):-1};e(u)}}):e(null)})})}_delete(t){return new Promise((e,n)=>{this.client.del(t,(i,o)=>{i?n(i):o===!1?e(o):this.client.del(`${t}_expire`,s=>{s?n(s):e(o)})})})}};cp.exports=pu});var hp=T((q4,fp)=>{var up=_e();fp.exports=class{constructor(t={}){this.limiter=t.limiter,this.blackList=t.blackList,this.whiteList=t.whiteList,this.isBlackListed=t.isBlackListed,this.isWhiteListed=t.isWhiteListed,this.runActionAnyway=t.runActionAnyway}get limiter(){return this._limiter}set limiter(t){if(typeof t>"u")throw new Error("limiter is not set");this._limiter=t}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(t){this._runActionAnyway=typeof t>"u"?!1:t}get blackList(){return this._blackList}set blackList(t){this._blackList=Array.isArray(t)?t:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isBlackListed must be function");this._isBlackListed=t}get whiteList(){return this._whiteList}set whiteList(t){this._whiteList=Array.isArray(t)?t:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(t){if(typeof t>"u"&&(t=()=>!1),typeof t!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=t}isBlackListedSomewhere(t){return this.blackList.indexOf(t)>=0||this.isBlackListed(t)}isWhiteListedSomewhere(t){return this.whiteList.indexOf(t)>=0||this.isWhiteListed(t)}getBlackRes(){return new up(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new up(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(t,e=1){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(t,e):(this.runActionAnyway&&this.limiter.consume(t,e).catch(()=>{}),n)}block(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(t,e):(this.runActionAnyway&&this.limiter.block(t,e).catch(()=>{}),n)}penalty(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(t,e):(this.runActionAnyway&&this.limiter.penalty(t,e).catch(()=>{}),n)}reward(t,e){let n;return this.isWhiteListedSomewhere(t)?n=this.resolveWhite():this.isBlackListedSomewhere(t)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(t,e):(this.runActionAnyway&&this.limiter.reward(t,e).catch(()=>{}),n)}get(t){let e;return this.isWhiteListedSomewhere(t)?e=this.resolveWhite():this.isBlackListedSomewhere(t)&&(e=this.resolveBlack()),typeof e>"u"||this.runActionAnyway?this.limiter.get(t):e}delete(t){return this.limiter.delete(t)}}});var pp=T(($4,dp)=>{var E2=_o();dp.exports=class{constructor(...t){if(t.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");t.forEach(e=>{if(!(e instanceof E2))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=t}consume(t,e=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(t,e).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(l=>{l.rejected===!0&&(c=!0)});for(let l=0;l<s.length;l++)c&&s[l].rejected===!0?a[this._limiters[l].keyPrefix]=s[l].rej:c||(a[this._limiters[l].keyPrefix]=s[l]);c?i(a):n(a)})})}}});var yp=T((G4,mp)=>{mp.exports=class extends Error{constructor(t,e){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=t,e&&(this.extra=e)}}});var xp=T((W4,Ep)=>{var gp=yp(),wp=4294967295,mu="limiter";Ep.exports=class{constructor(t,e={maxQueueSize:wp}){this._queueLimiters={KEY_DEFAULT:new ua(t,e)},this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(t=mu){return this._queueLimiters[t]?this._queueLimiters[t].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(t,e=mu){return this._queueLimiters[e]||(this._queueLimiters[e]=new ua(this._limiterFlexible,{key:e,maxQueueSize:this._maxQueueSize})),this._queueLimiters[e].removeTokens(t)}};var ua=class{constructor(t,e={maxQueueSize:wp,key:mu}){this._key=e.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=t,this._maxQueueSize=e.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(t=>t!==null?t.remainingPoints:this._limiterFlexible.points)}removeTokens(t){let e=this;return new Promise((n,i)=>{if(t>e._limiterFlexible.points){i(new gp(`Requested tokens ${t} exceeds maximum ${e._limiterFlexible.points} tokens per interval`));return}e._queue.length>0?e._queueRequest.call(e,n,i,t):e._limiterFlexible.consume(e._key,t).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(e._queueRequest.call(e,n,i,t),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),o.msBeforeNext)))})})}_queueRequest(t,e,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:t,reject:e,tokens:n}):e(new gp(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let t=this;if(t._waitTimeout!==null&&(clearTimeout(t._waitTimeout),t._waitTimeout=null),t._queue.length===0)return;let e=t._queue.shift();t._limiterFlexible.consume(t._key,e.tokens).then(n=>{e.resolve(n.remainingPoints),t._processFIFO.call(t)}).catch(n=>{n instanceof Error?(e.reject(n),t._processFIFO.call(t)):(t._queue.unshift(e),t._waitTimeout===null&&(t._waitTimeout=setTimeout(t._processFIFO.bind(t),n.msBeforeNext)))})}}});var bp=T((X4,vp)=>{var yu=_e();vp.exports=class{constructor(t,e){this._rateLimiter=t,this._burstLimiter=e}_combineRes(t,e){return new yu(t.remainingPoints,Math.min(t.msBeforeNext,e.msBeforeNext),t.consumedPoints,t.isFirstInDuration)}consume(t,e=1,n={}){return this._rateLimiter.consume(t,e,n).catch(i=>i instanceof yu?this._burstLimiter.consume(t,e,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof yu?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(t){return Promise.all([this._rateLimiter.get(t),this._burstLimiter.get(t)]).then(([e,n])=>this._combineRes(e,n))}get points(){return this._rateLimiter.points}}});var Sp=T((Z4,_p)=>{var x2=K0(),v2=H0(),b2=z0(),_2=Y0(),{RateLimiterClusterMaster:S2,RateLimiterClusterMasterPM2:A2,RateLimiterCluster:R2}=ap(),I2=uu(),T2=lp(),C2=hp(),D2=pp(),P2=xp(),L2=bp(),B2=_e();_p.exports={RateLimiterRedis:x2,RateLimiterMongo:v2,RateLimiterMySQL:b2,RateLimiterPostgres:_2,RateLimiterMemory:I2,RateLimiterMemcache:T2,RateLimiterClusterMaster:S2,RateLimiterClusterMasterPM2:A2,RateLimiterCluster:R2,RLWrapperBlackAndWhite:C2,RateLimiterUnion:D2,RateLimiterQueue:P2,BurstyRateLimiter:L2,RateLimiterRes:B2}});var Np=T((vD,Bp)=>{"use strict";Bp.exports=H2;function H2(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(a,c){e[n]=function(u){if(o)if(o=!1,u)c(u);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{r.apply(t||null,e)}catch(l){o&&(o=!1,c(l))}})}});var Up=T(Mp=>{"use strict";var ga=Mp;ga.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var ki=new Array(64),kp=new Array(123);for(Ye=0;Ye<64;)kp[ki[Ye]=Ye<26?Ye+65:Ye<52?Ye+71:Ye<62?Ye-4:Ye-59|43]=Ye++;var Ye;ga.encode=function(t,e,n){for(var i=null,o=[],s=0,a=0,c;e<n;){var l=t[e++];switch(a){case 0:o[s++]=ki[l>>2],c=(l&3)<<4,a=1;break;case 1:o[s++]=ki[c|l>>4],c=(l&15)<<2,a=2;break;case 2:o[s++]=ki[c|l>>6],o[s++]=ki[l&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=ki[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Op="invalid encoding";ga.decode=function(t,e,n){for(var i=n,o=0,s,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&o>1)break;if((c=kp[c])===void 0)throw Error(Op);switch(o){case 0:s=c,o=1;break;case 1:e[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:e[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:e[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Op);return n-i};ga.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Kp=T((_D,Fp)=>{"use strict";Fp.exports=wa;function wa(){this._listeners={}}wa.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};wa.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};wa.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var Yp=T((SD,Gp)=>{"use strict";Gp.exports=Vp(Vp);function Vp(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3]}function o(c,l,u){t[0]=c,l[u]=e[3],l[u+1]=e[2],l[u+2]=e[1],l[u+3]=e[0]}r.writeFloatLE=n?i:o,r.writeFloatBE=n?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],t[0]}function a(c,l){return e[3]=c[l],e[2]=c[l+1],e[1]=c[l+2],e[0]=c[l+3],t[0]}r.readFloatLE=n?s:a,r.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),l=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|l)>>>0,o,s)}}r.writeFloatLE=t.bind(null,qp),r.writeFloatBE=t.bind(null,Hp);function e(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,l=s&8388607;return c===255?l?NaN:a*(1/0):c===0?a*1401298464324817e-60*l:a*Math.pow(2,c-150)*(l+8388608)}r.readFloatLE=e.bind(null,$p),r.readFloatBE=e.bind(null,zp)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(c,l,u){t[0]=c,l[u]=e[0],l[u+1]=e[1],l[u+2]=e[2],l[u+3]=e[3],l[u+4]=e[4],l[u+5]=e[5],l[u+6]=e[6],l[u+7]=e[7]}function o(c,l,u){t[0]=c,l[u]=e[7],l[u+1]=e[6],l[u+2]=e[5],l[u+3]=e[4],l[u+4]=e[3],l[u+5]=e[2],l[u+6]=e[1],l[u+7]=e[0]}r.writeDoubleLE=n?i:o,r.writeDoubleBE=n?o:i;function s(c,l){return e[0]=c[l],e[1]=c[l+1],e[2]=c[l+2],e[3]=c[l+3],e[4]=c[l+4],e[5]=c[l+5],e[6]=c[l+6],e[7]=c[l+7],t[0]}function a(c,l){return e[7]=c[l],e[6]=c[l+1],e[5]=c[l+2],e[4]=c[l+3],e[3]=c[l+4],e[2]=c[l+5],e[1]=c[l+6],e[0]=c[l+7],t[0]}r.readDoubleLE=n?s:a,r.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,c){var l=s<0?1:0;if(l&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((l<<31|2146435072)>>>0,a,c+o);else{var u;if(s<22250738585072014e-324)u=s/5e-324,n(u>>>0,a,c+i),n((l<<31|u/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),u=s*Math.pow(2,-f),n(u*4503599627370496>>>0,a,c+i),n((l<<31|f+1023<<20|u*1048576&1048575)>>>0,a,c+o)}}}r.writeDoubleLE=t.bind(null,qp,0,4),r.writeDoubleBE=t.bind(null,Hp,4,0);function e(n,i,o,s,a){var c=n(s,a+i),l=n(s,a+o),u=(l>>31)*2+1,f=l>>>20&2047,d=4294967296*(l&1048575)+c;return f===2047?d?NaN:u*(1/0):f===0?u*5e-324*d:u*Math.pow(2,f-1075)*(d+4503599627370496)}r.readDoubleLE=e.bind(null,$p,0,4),r.readDoubleBE=e.bind(null,zp,4,0)}(),r}function qp(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Hp(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function $p(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function zp(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var Wp=T((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Xp=T(Qp=>{"use strict";var vu=Qp;vu.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};vu.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var o=null,s=[],a=0,c;e<n;)c=t[e++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|t[e++]&63:c>239&&c<365?(c=((c&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(t[e++]&63)<<6|t[e++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};vu.write=function(t,e,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?e[n++]=o:o<2048?(e[n++]=o>>6|192,e[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,e[n++]=o>>18|240,e[n++]=o>>12&63|128,e[n++]=o>>6&63|128,e[n++]=o&63|128):(e[n++]=o>>12|224,e[n++]=o>>6&63|128,e[n++]=o&63|128);return n-i}});var Jp=T((RD,Zp)=>{"use strict";Zp.exports=$2;function $2(r,t,e){var n=e||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return r(c);s+c>n&&(o=r(n),s=0);var l=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),l}}});var tm=T((ID,jp)=>{"use strict";jp.exports=re;var Co=Hn();function re(r,t){this.lo=r>>>0,this.hi=t>>>0}var qn=re.zero=new re(0,0);qn.toNumber=function(){return 0};qn.zzEncode=qn.zzDecode=function(){return this};qn.length=function(){return 1};var z2=re.zeroHash="\0\0\0\0\0\0\0\0";re.fromNumber=function(t){if(t===0)return qn;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new re(n,i)};re.from=function(t){if(typeof t=="number")return re.fromNumber(t);if(Co.isString(t))if(Co.Long)t=Co.Long.fromString(t);else return re.fromNumber(parseInt(t,10));return t.low||t.high?new re(t.low>>>0,t.high>>>0):qn};re.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};re.prototype.toLong=function(t){return Co.Long?new Co.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var sn=String.prototype.charCodeAt;re.fromHash=function(t){return t===z2?qn:new re((sn.call(t,0)|sn.call(t,1)<<8|sn.call(t,2)<<16|sn.call(t,3)<<24)>>>0,(sn.call(t,4)|sn.call(t,5)<<8|sn.call(t,6)<<16|sn.call(t,7)<<24)>>>0)};re.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};re.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};re.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};re.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}});var Hn=T(bu=>{"use strict";var M=bu;M.asPromise=Np();M.base64=Up();M.EventEmitter=Kp();M.float=Yp();M.inquire=Wp();M.utf8=Xp();M.pool=Jp();M.LongBits=tm();M.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||bu;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};M.isString=function(t){return typeof t=="string"||t instanceof String};M.isObject=function(t){return t&&typeof t=="object"};M.isset=M.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};M.Buffer=function(){try{var r=M.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(t){return typeof t=="number"?M.Buffer?M._Buffer_allocUnsafe(t):new M.Array(t):M.Buffer?M._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(t){return t?M.LongBits.from(t).toHash():M.LongBits.zeroHash};M.longFromHash=function(t,e){var n=M.LongBits.fromHash(t);return M.Long?M.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))};function em(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}M.merge=em;M.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function rm(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&em(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}M.newError=rm;M.ProtocolError=rm("ProtocolError");M.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(e[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};M.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var r=M.Buffer;if(!r){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},M._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var Au=T((CD,am)=>{"use strict";am.exports=Ht;var lr=Hn(),Su,om=lr.LongBits,G2=lr.utf8;function We(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function Ht(r){this.buf=r,this.pos=0,this.len=r.length}var nm=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new Ht(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new Ht(t);throw Error("illegal buffer")},sm=function(){return lr.Buffer?function(e){return(Ht.create=function(i){return lr.Buffer.isBuffer(i)?new Su(i):nm(i)})(e)}:nm};Ht.create=sm();Ht.prototype._slice=lr.Array.prototype.subarray||lr.Array.prototype.slice;Ht.prototype.uint32=function(){var t=4294967295;return function(){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,We(this,10);return t}}();Ht.prototype.int32=function(){return this.uint32()|0};Ht.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function _u(){var r=new om(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw We(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw We(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}Ht.prototype.bool=function(){return this.uint32()!==0};function Ea(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}Ht.prototype.fixed32=function(){if(this.pos+4>this.len)throw We(this,4);return Ea(this.buf,this.pos+=4)};Ht.prototype.sfixed32=function(){if(this.pos+4>this.len)throw We(this,4);return Ea(this.buf,this.pos+=4)|0};function im(){if(this.pos+8>this.len)throw We(this,8);return new om(Ea(this.buf,this.pos+=4),Ea(this.buf,this.pos+=4))}Ht.prototype.float=function(){if(this.pos+4>this.len)throw We(this,4);var t=lr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};Ht.prototype.double=function(){if(this.pos+8>this.len)throw We(this,4);var t=lr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};Ht.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw We(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};Ht.prototype.string=function(){var t=this.bytes();return G2.read(t,0,t.length)};Ht.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw We(this,t);this.pos+=t}else do if(this.pos>=this.len)throw We(this);while(this.buf[this.pos++]&128);return this};Ht.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};Ht._configure=function(r){Su=r,Ht.create=sm(),Su._configure();var t=lr.Long?"toLong":"toNumber";lr.merge(Ht.prototype,{int64:function(){return _u.call(this)[t](!1)},uint64:function(){return _u.call(this)[t](!0)},sint64:function(){return _u.call(this).zzDecode()[t](!1)},fixed64:function(){return im.call(this)[t](!0)},sfixed64:function(){return im.call(this)[t](!1)}})}});var fm=T((DD,um)=>{"use strict";um.exports=$n;var lm=Au();($n.prototype=Object.create(lm.prototype)).constructor=$n;var cm=Hn();function $n(r){lm.call(this,r)}$n._configure=function(){cm.Buffer&&($n.prototype._slice=cm.Buffer.prototype.slice)};$n.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};$n._configure()});var Lu=T((PD,mm)=>{"use strict";mm.exports=at;var Oe=Hn(),Ru,xa=Oe.LongBits,hm=Oe.base64,dm=Oe.utf8;function Do(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function Tu(){}function Y2(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function at(){this.len=0,this.head=new Do(Tu,0,0),this.tail=this.head,this.states=null}var pm=function(){return Oe.Buffer?function(){return(at.create=function(){return new Ru})()}:function(){return new at}};at.create=pm();at.alloc=function(t){return new Oe.Array(t)};Oe.Array!==Array&&(at.alloc=Oe.pool(at.alloc,Oe.Array.prototype.subarray));at.prototype._push=function(t,e,n){return this.tail=this.tail.next=new Do(t,e,n),this.len+=e,this};function Cu(r,t,e){t[e]=r&255}function W2(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function Du(r,t){this.len=r,this.next=void 0,this.val=t}Du.prototype=Object.create(Do.prototype);Du.prototype.fn=W2;at.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new Du((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};at.prototype.int32=function(t){return t<0?this._push(Pu,10,xa.fromNumber(t)):this.uint32(t)};at.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Pu(r,t,e){for(;r.hi;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}at.prototype.uint64=function(t){var e=xa.from(t);return this._push(Pu,e.length(),e)};at.prototype.int64=at.prototype.uint64;at.prototype.sint64=function(t){var e=xa.from(t).zzEncode();return this._push(Pu,e.length(),e)};at.prototype.bool=function(t){return this._push(Cu,1,t?1:0)};function Iu(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}at.prototype.fixed32=function(t){return this._push(Iu,4,t>>>0)};at.prototype.sfixed32=at.prototype.fixed32;at.prototype.fixed64=function(t){var e=xa.from(t);return this._push(Iu,4,e.lo)._push(Iu,4,e.hi)};at.prototype.sfixed64=at.prototype.fixed64;at.prototype.float=function(t){return this._push(Oe.float.writeFloatLE,4,t)};at.prototype.double=function(t){return this._push(Oe.float.writeDoubleLE,8,t)};var Q2=Oe.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};at.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(Cu,1,0);if(Oe.isString(t)){var n=at.alloc(e=hm.length(t));hm.decode(t,n,0),t=n}return this.uint32(e)._push(Q2,e,t)};at.prototype.string=function(t){var e=dm.length(t);return e?this.uint32(e)._push(dm.write,e,t):this._push(Cu,1,0)};at.prototype.fork=function(){return this.states=new Y2(this),this.head=this.tail=new Do(Tu,0,0),this.len=0,this};at.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Do(Tu,0,0),this.len=0),this};at.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};at.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};at._configure=function(r){Ru=r,at.create=pm(),Ru._configure()}});var wm=T((LD,gm)=>{"use strict";gm.exports=ur;var ym=Lu();(ur.prototype=Object.create(ym.prototype)).constructor=ur;var an=Hn();function ur(){ym.call(this)}ur._configure=function(){ur.alloc=an._Buffer_allocUnsafe,ur.writeBytesBuffer=an.Buffer&&an.Buffer.prototype instanceof Uint8Array&&an.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};ur.prototype.bytes=function(t){an.isString(t)&&(t=an._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(ur.writeBytesBuffer,e,t),this};function X2(r,t,e){r.length<40?an.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}ur.prototype.string=function(t){var e=an.Buffer.byteLength(t);return this.uint32(e),e&&this._push(X2,e,t),this};ur._configure()});var Km=T(Oo=>{(function(){var r,t,e,n,i,o,s,a;a=function(c){var l,u,f,d;return l=(c&255<<24)>>>24,u=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[l,u,f,d].join(".")},s=function(c){var l,u,f,d,h,p;for(l=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}p=t(c),h=p[0],u=p[1],c=c.substring(u),l.push(h)}if(c.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},e=function(c){return c.charCodeAt(0)},n=e("0"),o=e("a"),i=e("A"),t=function(c){var l,u,f,d,h;for(d=0,l=10,u="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,l=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,l=8,u="7")),h=f;f<c.length;){if("0"<=c[f]&&c[f]<=u)d=d*l+(e(c[f])-n)>>>0;else if(l===16)if("a"<=c[f]&&c[f]<="f")d=d*l+(10+e(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*l+(10+e(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===h)throw new Error("empty octet");return[d,f]},r=function(){function c(l,u){var f,d,h,p;if(typeof l!="string")throw new Error("Missing `net' parameter");if(u||(p=l.split("/",2),l=p[0],u=p[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=s(u)}catch(m){throw f=m,new Error("Invalid mask: "+u)}for(d=h=32;h>=0;d=--h)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(l)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new c(l)),l instanceof c?this.contains(l.base)&&this.contains(l.broadcast||l.last):(s(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(l){return l==null&&(l=1),new c(a(this.netLong+this.size*l),this.mask)},c.prototype.forEach=function(l){var u,f,d;for(d=s(this.first),f=s(this.last),u=0;d<=f;)l(a(d),d,u),u++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),Oo.ip2long=s,Oo.long2ip=a,Oo.Netmask=r}).call(Oo)});var $m=T((Hm,Pa)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function c(h,p){if(h.indexOf("::")!==h.lastIndexOf("::"))return null;let m=0,y=-1,g=(h.match(a.zoneIndex)||[])[0],E,_;for(g&&(g=g.substring(1),h=h.replace(/%.+$/,""));(y=h.indexOf(":",y+1))>=0;)m++;if(h.substr(0,2)==="::"&&m--,h.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,E=":";_--;)E+="0:";return h=h.replace("::",E),h[0]===":"&&(h=h.slice(1)),h[h.length-1]===":"&&(h=h.slice(0,-1)),p=function(){let k=h.split(":"),C=[];for(let D=0;D<k.length;D++)C.push(parseInt(k[D],16));return C}(),{parts:p,zoneId:g}}function l(h,p,m,y){if(h.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,E;for(;y>0;){if(E=m-y,E<0&&(E=0),h[g]>>E!==p[g]>>E)return!1;y-=m,g+=1}return!0}function u(h){if(i.test(h))return parseInt(h,16);if(h[0]==="0"&&!isNaN(parseInt(h[1],10))){if(n.test(h))return parseInt(h,8);throw new Error(`ipaddr: cannot parse ${h} as octal`)}return parseInt(h,10)}function f(h,p){for(;h.length<p;)h=`0${h}`;return h}let d={};d.IPv4=function(){function h(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return h.prototype.SpecialRanges={unspecified:[[new h([0,0,0,0]),8]],broadcast:[[new h([255,255,255,255]),32]],multicast:[[new h([224,0,0,0]),4]],linkLocal:[[new h([169,254,0,0]),16]],loopback:[[new h([127,0,0,0]),8]],carrierGradeNat:[[new h([100,64,0,0]),10]],private:[[new h([10,0,0,0]),8],[new h([172,16,0,0]),12],[new h([192,168,0,0]),16]],reserved:[[new h([192,0,0,0]),24],[new h([192,0,2,0]),24],[new h([192,88,99,0]),24],[new h([198,51,100,0]),24],[new h([203,0,113,0]),24],[new h([240,0,0,0]),4]]},h.prototype.kind=function(){return"ipv4"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,p.octets,8,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,E,_;for(g=3;g>=0;g-=1)if(E=this.octets[g],E in y){if(_=y[E],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){return this.octets.slice(0)},h.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},h.prototype.toNormalizedString=function(){return this.toString()},h.prototype.toString=function(){return this.octets.join(".")},h}(),d.IPv4.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<4;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(h){return this.parser(h)!==null},d.IPv4.isValid=function(h){try{return new this(this.parser(h)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(h){return!!(d.IPv4.isValid(h)&&h.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(h){let p=this.parser(h);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},d.IPv4.parseCIDR=function(h){let p;if(p=h.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(h){let p,m,y;if(p=h.match(e.fourOctet))return function(){let g=p.slice(1,6),E=[];for(let _=0;_<g.length;_++)m=g[_],E.push(u(m));return E}();if(p=h.match(e.longValue)){if(y=u(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],E;for(E=0;E<=24;E+=8)g.push(y>>E&255);return g}().reverse()}else return(p=h.match(e.twoOctet))?function(){let g=p.slice(1,4),E=[];if(y=u(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(y>>16&255),E.push(y>>8&255),E.push(y&255),E}():(p=h.match(e.threeOctet))?function(){let g=p.slice(1,5),E=[];if(y=u(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return E.push(u(g[0])),E.push(u(g[1])),E.push(y>>8&255),E.push(y&255),E}():null},d.IPv4.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.IPv6=function(){function h(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return h.prototype.SpecialRanges={unspecified:[new h([0,0,0,0,0,0,0,0]),128],linkLocal:[new h([65152,0,0,0,0,0,0,0]),10],multicast:[new h([65280,0,0,0,0,0,0,0]),8],loopback:[new h([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new h([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new h([0,0,0,0,0,65535,0,0]),96],rfc6145:[new h([0,0,0,0,65535,0,0,0]),96],rfc6052:[new h([100,65435,0,0,0,0,0,0]),96],"6to4":[new h([8194,0,0,0,0,0,0,0]),16],teredo:[new h([8193,0,0,0,0,0,0,0]),32],reserved:[[new h([8193,3512,0,0,0,0,0,0]),32]]},h.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},h.prototype.kind=function(){return"ipv6"},h.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,p.parts,16,m)},h.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,E;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(E=y[g],m&&E!==0)return null;E!==16&&(m=!0),p+=E}else return null;return 128-p},h.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},h.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},h.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},h.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},h.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,E;for(;E=p.exec(m);)E[0].length>g&&(y=E.index,g=E[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},h.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},h}(),d.IPv6.broadcastAddressFromCIDR=function(h){try{let p=this.parseCIDR(h),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],E=0;for(;E<16;)g.push(parseInt(m[E],10)|parseInt(y[E],10)^255),E++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},d.IPv6.isIPv6=function(h){return this.parser(h)!==null},d.IPv6.isValid=function(h){if(typeof h=="string"&&h.indexOf(":")===-1)return!1;try{let p=this.parser(h);return new this(p.parts,p.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(h){let p,m,y,g,E;try{for(p=this.parseCIDR(h),y=p[0].toByteArray(),E=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(E[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},d.IPv6.parse=function(h){let p=this.parser(h);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},d.IPv6.parseCIDR=function(h){let p,m,y;if((m=h.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(h){let p,m,y,g,E,_;if(y=h.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(h))return c(h,8);if((y=h.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(E=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<E.length;m++)if(g=E[m],!(0<=g&&g<=255))return null;return p.parts.push(E[0]<<8|E[1]),p.parts.push(E[2]<<8|E[3]),{parts:p.parts,zoneId:p.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(h){if(h=parseInt(h),h<0||h>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(h/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,h%8)-1<<8-h%8),new this(p)},d.fromByteArray=function(h){let p=h.length;if(p===4)return new d.IPv4(h);if(p===16)return new d.IPv6(h);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(h){return d.IPv6.isValid(h)||d.IPv4.isValid(h)},d.parse=function(h){if(d.IPv6.isValid(h))return d.IPv6.parse(h);if(d.IPv4.isValid(h))return d.IPv4.parse(h);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(h){try{return d.IPv6.parseCIDR(h)}catch{try{return d.IPv4.parseCIDR(h)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(h){let p=this.parse(h);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},d.subnetMatch=function(h,p,m){let y,g,E,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(E=p[g],E[0]&&!(E[0]instanceof Array)&&(E=[E]),y=0;y<E.length;y++)if(_=E[y],h.kind()===_[0].kind()&&h.match.apply(h,_))return g}return m},typeof Pa<"u"&&Pa.exports?Pa.exports=d:r.ipaddr=d})(Hm)});var Zm=T((e8,Xm)=>{"use strict";function Sb(r){return r>=55296&&r<=56319}function Ab(r){return r>=56320&&r<=57343}Xm.exports=function(t,e,n){if(typeof e!="string")throw new Error("Input must be string");for(var i=e.length,o=0,s,a,c=0;c<i;c+=1){if(s=e.charCodeAt(c),a=e[c],Sb(s)&&Ab(e.charCodeAt(c+1))&&(c+=1,a+=e[c]),o+=t(a),o===n)return e.slice(0,c+1);if(o>n)return e.slice(0,c-a.length+1)}return e}});var jm=T((r8,Jm)=>{"use strict";function Rb(r){return r>=55296&&r<=56319}function Ib(r){return r>=56320&&r<=57343}Jm.exports=function(t){if(typeof t!="string")throw new Error("Input must be string");for(var e=t.length,n=0,i=null,o=null,s=0;s<e;s++)i=t.charCodeAt(s),Ib(i)?o!=null&&Rb(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var ey=T((n8,ty)=>{"use strict";var Tb=Zm(),Cb=jm();ty.exports=Tb.bind(null,Cb)});var iy=T((i8,ny)=>{"use strict";var Db=ey(),Pb=/[\/\?<>\\:\*\|"]/g,Lb=/[\x00-\x1f\x80-\x9f]/g,Bb=/^\.+$/,Nb=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Ob=/[\. ]+$/;function ry(r,t){if(typeof r!="string")throw new Error("Input must be string");var e=r.replace(Pb,t).replace(Lb,t).replace(Bb,t).replace(Nb,t).replace(Ob,t);return Db(e,255)}ny.exports=function(r,t){var e=t&&t.replacement||"",n=ry(r,e);return e===""?n:ry(n,"")}});var mt=T((a8,oy)=>{oy.exports={options:{usePureJavaScript:!1}}});var cy=T((c8,ay)=>{var Wu={};ay.exports=Wu;var sy={};Wu.encode=function(r,t,e){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(e!==void 0&&typeof e!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(r instanceof Uint8Array))n=kb(r,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<r.length;++i){for(var c=0,l=r[i];c<a.length;++c)l+=a[c]<<8,a[c]=l%o,l=l/o|0;for(;l>0;)a.push(l%o),l=l/o|0}for(i=0;r[i]===0&&i<r.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(e){var u=new RegExp(".{1,"+e+"}","g");n=n.match(u).join(`\r
|
|
25
|
+
`)}return n};Wu.decode=function(r,t){if(typeof r!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var e=sy[t];if(!e){e=sy[t]=[];for(var n=0;n<t.length;++n)e[t.charCodeAt(n)]=n}r=r.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<r.length;n++){var a=e[r.charCodeAt(n)];if(a===void 0)return;for(var c=0,l=a;c<s.length;++c)l+=s[c]*i,s[c]=l&255,l>>=8;for(;l>0;)s.push(l&255),l>>=8}for(var u=0;r[u]===o&&u<r.length-1;++u)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function kb(r,t){var e=0,n=t.length,i=t.charAt(0),o=[0];for(e=0;e<r.length();++e){for(var s=0,a=r.at(e);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(e=0;r.at(e)===0&&e<r.length()-1;++e)c+=i;for(e=o.length-1;e>=0;--e)c+=t[o[e]];return c}});var $t=T((l8,hy)=>{var ly=mt(),uy=cy(),w=hy.exports=ly.util=ly.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===r){c.stopPropagation();var l=t.slice();t.length=0,l.forEach(function(u){u()})}};var s=a,r="forge.setImmediate",t=[];w.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(r,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var e=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(l){l()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-e>15?(e=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(r){return Object.prototype.toString.call(r)==="[object Array]"};w.isArrayBuffer=function(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer};w.isArrayBufferView=function(r){return r&&w.isArrayBuffer(r.buffer)&&r.byteLength!==void 0};function Mo(r){if(!(r===8||r===16||r===24||r===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+r)}w.ByteBuffer=Qu;function Qu(r){if(this.data="",this.read=0,typeof r=="string")this.data=r;else if(w.isArrayBuffer(r)||w.isArrayBufferView(r))if(typeof Buffer<"u"&&r instanceof Buffer)this.data=r.toString("binary");else{var t=new Uint8Array(r);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var e=0;e<t.length;++e)this.putByte(t[e])}}else(r instanceof Qu||typeof r=="object"&&typeof r.data=="string"&&typeof r.read=="number")&&(this.data=r.data,this.read=r.read);this._constructedStringLength=0}w.ByteStringBuffer=Qu;var Mb=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(r){this._constructedStringLength+=r,this._constructedStringLength>Mb&&(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(r){return this.putBytes(String.fromCharCode(r))};w.ByteStringBuffer.prototype.fillWithByte=function(r,t){r=String.fromCharCode(r);for(var e=this.data;t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return this.data=e,this._optimizeConstructedString(t),this};w.ByteStringBuffer.prototype.putBytes=function(r){return this.data+=r,this._optimizeConstructedString(r.length),this};w.ByteStringBuffer.prototype.putString=function(r){return this.putBytes(w.encodeUtf8(r))};w.ByteStringBuffer.prototype.putInt16=function(r){return this.putBytes(String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt24=function(r){return this.putBytes(String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt32=function(r){return this.putBytes(String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255))};w.ByteStringBuffer.prototype.putInt16Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255))};w.ByteStringBuffer.prototype.putInt32Le=function(r){return this.putBytes(String.fromCharCode(r&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>24&255))};w.ByteStringBuffer.prototype.putInt=function(r,t){Mo(t);var e="";do t-=8,e+=String.fromCharCode(r>>t&255);while(t>0);return this.putBytes(e)};w.ByteStringBuffer.prototype.putSignedInt=function(r,t){return r<0&&(r+=2<<t-1),this.putInt(r,t)};w.ByteStringBuffer.prototype.putBuffer=function(r){return this.putBytes(r.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var r=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24=function(){var r=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt16Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,r};w.ByteStringBuffer.prototype.getInt24Le=function(){var r=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,r};w.ByteStringBuffer.prototype.getInt32Le=function(){var r=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,r};w.ByteStringBuffer.prototype.getInt=function(r){Mo(r);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),r-=8;while(r>0);return t};w.ByteStringBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.ByteStringBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.ByteStringBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.ByteStringBuffer.prototype.at=function(r){return this.data.charCodeAt(this.read+r)};w.ByteStringBuffer.prototype.setAt=function(r,t){return this.data=this.data.substr(0,this.read+r)+String.fromCharCode(t)+this.data.substr(this.read+r+1),this};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var r=w.createBuffer(this.data);return r.read=this.read,r};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(r){var t=Math.max(0,this.length()-r);return this.data=this.data.substr(this.read,t),this.read=0,this};w.ByteStringBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.length;++t){var e=this.data.charCodeAt(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Ub(r,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var e=w.isArrayBuffer(r),n=w.isArrayBufferView(r);if(e||n){e?this.data=new DataView(r):this.data=new DataView(r.buffer,r.byteOffset,r.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,r!=null&&this.putBytes(r),"writeOffset"in t&&(this.write=t.writeOffset)}w.DataBuffer=Ub;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.DataBuffer.prototype.accommodate=function(r,t){if(this.length()>=r)return this;t=Math.max(t||this.growSize,r);var e=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(e),this.data=new DataView(n.buffer),this};w.DataBuffer.prototype.putByte=function(r){return this.accommodate(1),this.data.setUint8(this.write++,r),this};w.DataBuffer.prototype.fillWithByte=function(r,t){this.accommodate(t);for(var e=0;e<t;++e)this.data.setUint8(r);return this};w.DataBuffer.prototype.putBytes=function(r,t){if(w.isArrayBufferView(r)){var e=new Uint8Array(r.buffer,r.byteOffset,r.byteLength),n=e.byteLength-e.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(e),this.write+=n,this}if(w.isArrayBuffer(r)){var e=new Uint8Array(r);this.accommodate(e.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(e,this.write),this.write+=e.byteLength,this}if(r instanceof w.DataBuffer||typeof r=="object"&&typeof r.read=="number"&&typeof r.write=="number"&&w.isArrayBufferView(r.data)){var e=new Uint8Array(r.data.byteLength,r.read,r.length());this.accommodate(e.byteLength);var i=new Uint8Array(r.data.byteLength,this.write);return i.set(e),this.write+=e.byteLength,this}if(r instanceof w.ByteStringBuffer&&(r=r.data,t="binary"),t=t||"binary",typeof r=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(r.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(r,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(r.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(r,o,this.write),this;if(t==="utf8"&&(r=w.encodeUtf8(r),t="binary"),t==="binary"||t==="raw")return this.accommodate(r.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(r.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: "+r)};w.DataBuffer.prototype.putBuffer=function(r){return this.putBytes(r),r.clear(),this};w.DataBuffer.prototype.putString=function(r){return this.putBytes(r,"utf16")};w.DataBuffer.prototype.putInt16=function(r){return this.accommodate(2),this.data.setInt16(this.write,r),this.write+=2,this};w.DataBuffer.prototype.putInt24=function(r){return this.accommodate(3),this.data.setInt16(this.write,r>>8&65535),this.data.setInt8(this.write,r>>16&255),this.write+=3,this};w.DataBuffer.prototype.putInt32=function(r){return this.accommodate(4),this.data.setInt32(this.write,r),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(r){return this.accommodate(2),this.data.setInt16(this.write,r,!0),this.write+=2,this};w.DataBuffer.prototype.putInt24Le=function(r){return this.accommodate(3),this.data.setInt8(this.write,r>>16&255),this.data.setInt16(this.write,r>>8&65535,!0),this.write+=3,this};w.DataBuffer.prototype.putInt32Le=function(r){return this.accommodate(4),this.data.setInt32(this.write,r,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(r,t){Mo(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,r>>t&255);while(t>0);return this};w.DataBuffer.prototype.putSignedInt=function(r,t){return Mo(t),this.accommodate(t/8),r<0&&(r+=2<<t-1),this.putInt(r,t)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var r=this.data.getInt16(this.read);return this.read+=2,r};w.DataBuffer.prototype.getInt24=function(){var r=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,r};w.DataBuffer.prototype.getInt32=function(){var r=this.data.getInt32(this.read);return this.read+=4,r};w.DataBuffer.prototype.getInt16Le=function(){var r=this.data.getInt16(this.read,!0);return this.read+=2,r};w.DataBuffer.prototype.getInt24Le=function(){var r=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,r};w.DataBuffer.prototype.getInt32Le=function(){var r=this.data.getInt32(this.read,!0);return this.read+=4,r};w.DataBuffer.prototype.getInt=function(r){Mo(r);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),r-=8;while(r>0);return t};w.DataBuffer.prototype.getSignedInt=function(r){var t=this.getInt(r),e=2<<r-2;return t>=e&&(t-=e<<1),t};w.DataBuffer.prototype.getBytes=function(r){var t;return r?(r=Math.min(this.length(),r),t=this.data.slice(this.read,this.read+r),this.read+=r):r===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};w.DataBuffer.prototype.bytes=function(r){return typeof r>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+r)};w.DataBuffer.prototype.at=function(r){return this.data.getUint8(this.read+r)};w.DataBuffer.prototype.setAt=function(r,t){return this.data.setUint8(r,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 r=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(r.byteLength);t.set(r),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(r){return this.write=Math.max(0,this.length()-r),this.read=Math.min(this.read,this.write),this};w.DataBuffer.prototype.toHex=function(){for(var r="",t=this.read;t<this.data.byteLength;++t){var e=this.data.getUint8(t);e<16&&(r+="0"),r+=e.toString(16)}return r};w.DataBuffer.prototype.toString=function(r){var t=new Uint8Array(this.data,this.read,this.length());if(r=r||"utf8",r==="binary"||r==="raw")return w.binary.raw.encode(t);if(r==="hex")return w.binary.hex.encode(t);if(r==="base64")return w.binary.base64.encode(t);if(r==="utf8")return w.text.utf8.decode(t);if(r==="utf16")return w.text.utf16.decode(t);throw new Error("Invalid encoding: "+r)};w.createBuffer=function(r,t){return t=t||"raw",r!==void 0&&t==="utf8"&&(r=w.encodeUtf8(r)),new w.ByteBuffer(r)};w.fillString=function(r,t){for(var e="";t>0;)t&1&&(e+=r),t>>>=1,t>0&&(r+=r);return e};w.xorBytes=function(r,t,e){for(var n="",i="",o="",s=0,a=0;e>0;--e,++s)i=r.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.hexToBytes=function(r){var t="",e=0;for(r.length&!0&&(e=1,t+=String.fromCharCode(parseInt(r[0],16)));e<r.length;e+=2)t+=String.fromCharCode(parseInt(r.substr(e,2),16));return t};w.bytesToHex=function(r){return w.createBuffer(r).toHex()};w.int32ToBytes=function(r){return String.fromCharCode(r>>24&255)+String.fromCharCode(r>>16&255)+String.fromCharCode(r>>8&255)+String.fromCharCode(r&255)};var fn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",hn=[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],fy="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(r,t){for(var e="",n="",i,o,s,a=0;a<r.length;)i=r.charCodeAt(a++),o=r.charCodeAt(a++),s=r.charCodeAt(a++),e+=fn.charAt(i>>2),e+=fn.charAt((i&3)<<4|o>>4),isNaN(o)?e+="==":(e+=fn.charAt((o&15)<<2|s>>6),e+=isNaN(s)?"=":fn.charAt(s&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
|
|
26
26
|
`,e=e.substr(t));return n+=e,n};w.decode64=function(r){r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",e,n,i,o,s=0;s<r.length;)e=hn[r.charCodeAt(s++)-43],n=hn[r.charCodeAt(s++)-43],i=hn[r.charCodeAt(s++)-43],o=hn[r.charCodeAt(s++)-43],t+=String.fromCharCode(e<<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(r){return unescape(encodeURIComponent(r))};w.decodeUtf8=function(r){return decodeURIComponent(escape(r))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:uy.encode,decode:uy.decode}};w.binary.raw.encode=function(r){return String.fromCharCode.apply(null,r)};w.binary.raw.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,o=0;o<r.length;++o)n[i++]=r.charCodeAt(o);return t?i-e:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/2))),e=e||0;var i=0,o=e;for(r.length&1&&(i=1,n[o++]=parseInt(r[0],16));i<r.length;i+=2)n[o++]=parseInt(r.substr(i,2),16);return t?o-e:n};w.binary.base64.encode=function(r,t){for(var e="",n="",i,o,s,a=0;a<r.byteLength;)i=r[a++],o=r[a++],s=r[a++],e+=fn.charAt(i>>2),e+=fn.charAt((i&3)<<4|o>>4),isNaN(o)?e+="==":(e+=fn.charAt((o&15)<<2|s>>6),e+=isNaN(s)?"=":fn.charAt(s&63)),t&&e.length>t&&(n+=e.substr(0,t)+`\r
|
|
27
|
-
`,e=e.substr(t));return n+=e,n};w.binary.base64.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/4)*3)),r=r.replace(/[^A-Za-z0-9\+\/\=]/g,""),e=e||0;for(var i,o,s,a,c=0,l=e;c<r.length;)i=hn[r.charCodeAt(c++)-43],o=hn[r.charCodeAt(c++)-43],s=hn[r.charCodeAt(c++)-43],a=hn[r.charCodeAt(c++)-43],n[l++]=i<<2|o>>4,s!==64&&(n[l++]=(o&15)<<4|s>>2,a!==64&&(n[l++]=(s&3)<<6|a));return t?l-e:n.subarray(0,l)};w.binary.base58.encode=function(r,t){return w.binary.baseN.encode(r,fy,t)};w.binary.base58.decode=function(r,t){return w.binary.baseN.decode(r,fy,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(r,t,e){r=w.encodeUtf8(r);var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,o=0;o<r.length;++o)n[i++]=r.charCodeAt(o);return t?i-e:n};w.text.utf8.decode=function(r){return w.decodeUtf8(String.fromCharCode.apply(null,r))};w.text.utf16.encode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length*2));var i=new Uint16Array(n.buffer);e=e||0;for(var o=e,s=e,a=0;a<r.length;++a)i[s++]=r.charCodeAt(a),o+=2;return t?o-e:n};w.text.utf16.decode=function(r){return String.fromCharCode.apply(null,new Uint16Array(r.buffer))};w.deflate=function(r,t,e){if(t=w.decode64(r.deflate(w.encode64(t)).rval),e){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(r,t,e){var n=r.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var Xu=function(r,t,e){if(!r)throw new Error("WebStorage not available.");var n;if(e===null?n=r.removeItem(t):(e=w.encode64(JSON.stringify(e)),n=r.setItem(t,e)),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}},Zu=function(r,t){if(!r)throw new Error("WebStorage not available.");var e=r.getItem(t);if(r.init)if(e.rval===null){if(e.error){var n=new Error(e.error.message);throw n.id=e.error.id,n.name=e.error.name,n}e=null}else e=e.rval;return e!==null&&(e=JSON.parse(w.decode64(e))),e},Fb=function(r,t,e,n){var i=Zu(r,t);i===null&&(i={}),i[e]=n,Xu(r,t,i)},Kb=function(r,t,e){var n=Zu(r,t);return n!==null&&(n=e in n?n[e]:null),n},Vb=function(r,t,e){var n=Zu(r,t);if(n!==null&&e in n){delete n[e];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Xu(r,t,n)}},qb=function(r,t){Xu(r,t,null)},Ua=function(r,t,e){var n=null;typeof e>"u"&&(e=["web","flash"]);var i,o=!1,s=null;for(var a in e){i=e[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=r.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=r.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(r,t,e,n,i){Ua(Fb,arguments,i)};w.getItem=function(r,t,e,n){return Ua(Kb,arguments,n)};w.removeItem=function(r,t,e,n){Ua(Vb,arguments,n)};w.clearItems=function(r,t,e){Ua(qb,arguments,e)};w.isEmpty=function(r){for(var t in r)if(r.hasOwnProperty(t))return!1;return!0};w.format=function(r){for(var t=/%./g,e,n,i=0,o=[],s=0;e=t.exec(r);){n=r.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=e[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(r.substring(s)),o.join("")};w.formatNumber=function(r,t,e,n){var i=r,o=isNaN(t=Math.abs(t))?2:t,s=e===void 0?",":e,a=n===void 0?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-l).toFixed(o).slice(2):"")};w.formatSize=function(r){return r>=1073741824?r=w.formatNumber(r/1073741824,2,".","")+" GiB":r>=1048576?r=w.formatNumber(r/1048576,2,".","")+" MiB":r>=1024?r=w.formatNumber(r/1024,0)+" KiB":r=w.formatNumber(r,0)+" bytes",r};w.bytesFromIP=function(r){return r.indexOf(".")!==-1?w.bytesFromIPv4(r):r.indexOf(":")!==-1?w.bytesFromIPv6(r):null};w.bytesFromIPv4=function(r){if(r=r.split("."),r.length!==4)return null;for(var t=w.createBuffer(),e=0;e<r.length;++e){var n=parseInt(r[e],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(r){var t=0;r=r.split(":").filter(function(s){return s.length===0&&++t,!0});for(var e=(8-r.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!r[i]||r[i].length===0){n.fillWithByte(0,e),e=0;continue}var o=w.hexToBytes(r[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(r){return r.length===4?w.bytesToIPv4(r):r.length===16?w.bytesToIPv6(r):null};w.bytesToIPv4=function(r){if(r.length!==4)return null;for(var t=[],e=0;e<r.length;++e)t.push(r.charCodeAt(e));return t.join(".")};w.bytesToIPv6=function(r){if(r.length!==16)return null;for(var t=[],e=[],n=0,i=0;i<r.length;i+=2){for(var o=w.bytesToHex(r[i]+r[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=e[e.length-1],a=t.length;!s||a!==s.end+1?e.push({start:a,end:a}):(s.end=a,s.end-s.start>e[n].end-e[n].start&&(n=e.length-1))}t.push(o)}if(e.length>0){var c=e[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(r,t){if(typeof r=="function"&&(t=r,r={}),r=r||{},"cores"in w&&!r.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 e=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 l=Math.floor(s.reduce(function(u,f){return u+f},0)/s.length);return w.cores=Math.max(1,l),URL.revokeObjectURL(e),t(null,w.cores)}i(c,function(u,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],l=[],u=0;u<s;++u){var f=new Worker(e);f.addEventListener("message",function(d){if(l.push(d.data),l.length===s){for(var h=0;h<s;++h)c[h].terminate();a(null,l)}}),c.push(f)}for(var u=0;u<s;++u)c[u].postMessage(u)}function o(s,a){for(var c=[],l=0;l<s;++l)for(var u=a[l],f=c[l]=[],d=0;d<s;++d)if(l!==d){var h=a[d];(u.st>h.st&&u.st<h.et||h.st>u.st&&h.st<u.et)&&f.push(d)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Fa=T((p8,dy)=>{var Fo=mt();Fo.pki=Fo.pki||{};var Ju=dy.exports=Fo.pki.oids=Fo.oids=Fo.oids||{};function I(r,t){Ju[r]=t,Ju[t]=r}function ht(r,t){Ju[r]=t}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ht("2.5.29.1","authorityKeyIdentifier");ht("2.5.29.2","keyAttributes");ht("2.5.29.3","certificatePolicies");ht("2.5.29.4","keyUsageRestriction");ht("2.5.29.5","policyMapping");ht("2.5.29.6","subtreesConstraint");ht("2.5.29.7","subjectAltName");ht("2.5.29.8","issuerAltName");ht("2.5.29.9","subjectDirectoryAttributes");ht("2.5.29.10","basicConstraints");ht("2.5.29.11","nameConstraints");ht("2.5.29.12","policyConstraints");ht("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ht("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ht("2.5.29.20","cRLNumber");ht("2.5.29.21","cRLReason");ht("2.5.29.22","expirationDate");ht("2.5.29.23","instructionCode");ht("2.5.29.24","invalidityDate");ht("2.5.29.25","cRLDistributionPoints");ht("2.5.29.26","issuingDistributionPoint");ht("2.5.29.27","deltaCRLIndicator");ht("2.5.29.28","issuingDistributionPoint");ht("2.5.29.29","certificateIssuer");ht("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ht("2.5.29.33","policyMappings");ht("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ht("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ht("2.5.29.46","freshestCRL");ht("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var Vo=T((m8,my)=>{var It=mt();$t();Fa();var P=my.exports=It.asn1=It.asn1||{};P.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};P.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};P.create=function(r,t,e,n,i){if(It.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:r,type:t,constructed:e,composed:e||It.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=P.copy(a)),a};P.copy=function(r,t){var e;if(It.util.isArray(r)){e=[];for(var n=0;n<r.length;++n)e.push(P.copy(r[n],t));return e}return typeof r=="string"?r:(e={tagClass:r.tagClass,type:r.type,constructed:r.constructed,composed:r.composed,value:P.copy(r.value,t)},t&&!t.excludeBitStringContents&&(e.bitStringContents=r.bitStringContents),e)};P.equals=function(r,t,e){if(It.util.isArray(r)){if(!It.util.isArray(t)||r.length!==t.length)return!1;for(var n=0;n<r.length;++n)if(!P.equals(r[n],t[n]))return!1;return!0}if(typeof r!=typeof t)return!1;if(typeof r=="string")return r===t;var i=r.tagClass===t.tagClass&&r.type===t.type&&r.constructed===t.constructed&&r.composed===t.composed&&P.equals(r.value,t.value);return e&&e.includeBitStringContents&&(i=i&&r.bitStringContents===t.bitStringContents),i};P.getBerValueLength=function(r){var t=r.getByte();if(t!==128){var e,n=t&128;return n?e=r.getInt((t&127)<<3):e=t,e}};function Ko(r,t,e){if(e>t){var n=new Error("Too few bytes to parse DER.");throw n.available=r.length(),n.remaining=t,n.requested=e,n}}var Hb=function(r,t){var e=r.getByte();if(t--,e!==128){var n,i=e&128;if(!i)n=e;else{var o=e&127;Ko(r,t,o),n=r.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};P.fromDer=function(r,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 r=="string"&&(r=It.util.createBuffer(r));var e=r.length(),n=Ka(r,r.length(),0,t);if(t.parseAllBytes&&r.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=e,i.remaining=r.length(),i}return n};function Ka(r,t,e,n){var i;Ko(r,t,2);var o=r.getByte();t--;var s=o&192,a=o&31;i=r.length();var c=Hb(r,t);if(t-=i-r.length(),c!==void 0&&c>t){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=r.length(),l.remaining=t,l.requested=c,l}c=t}var u,f,d=(o&32)===32;if(d)if(u=[],c===void 0)for(;;){if(Ko(r,t,2),r.bytes(2)===String.fromCharCode(0,0)){r.getBytes(2),t-=2;break}i=r.length(),u.push(Ka(r,t,e+1,n)),t-=i-r.length()}else for(;c>0;)i=r.length(),u.push(Ka(r,c,e+1,n)),t-=i-r.length(),c-=i-r.length();if(u===void 0&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&(f=r.bytes(c)),u===void 0&&n.decodeBitStrings&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&c>1){var h=r.read,p=t,m=0;if(a===P.Type.BITSTRING&&(Ko(r,t,1),m=r.getByte(),t--),m===0)try{i=r.length();var y={strict:!0,decodeBitStrings:!0},g=Ka(r,t,e+1,y),E=i-r.length();t-=E,a==P.Type.BITSTRING&&E++;var _=g.tagClass;E===c&&(_===P.Class.UNIVERSAL||_===P.Class.CONTEXT_SPECIFIC)&&(u=[g])}catch{}u===void 0&&(r.read=h,t=p)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===P.Type.BMPSTRING)for(u="";c>0;c-=2)Ko(r,t,2),u+=String.fromCharCode(r.getInt16()),t-=2;else u=r.getBytes(c),t-=c}var k=f===void 0?null:{bitStringContents:f};return P.create(s,a,d,u,k)}P.toDer=function(r){var t=It.util.createBuffer(),e=r.tagClass|r.type,n=It.util.createBuffer(),i=!1;if("bitStringContents"in r&&(i=!0,r.original&&(i=P.equals(r,r.original))),i)n.putBytes(r.bitStringContents);else if(r.composed){r.constructed?e|=32:n.putByte(0);for(var o=0;o<r.value.length;++o)r.value[o]!==void 0&&n.putBuffer(P.toDer(r.value[o]))}else if(r.type===P.Type.BMPSTRING)for(var o=0;o<r.value.length;++o)n.putInt16(r.value.charCodeAt(o));else r.type===P.Type.INTEGER&&r.value.length>1&&(r.value.charCodeAt(0)===0&&!(r.value.charCodeAt(1)&128)||r.value.charCodeAt(0)===255&&(r.value.charCodeAt(1)&128)===128)?n.putBytes(r.value.substr(1)):n.putBytes(r.value);if(t.putByte(e),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};P.oidToDer=function(r){var t=r.split("."),e=It.util.createBuffer();e.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)e.putByte(i[c])}return e};P.derToOid=function(r){var t;typeof r=="string"&&(r=It.util.createBuffer(r));var e=r.getByte();t=Math.floor(e/40)+"."+e%40;for(var n=0;r.length()>0;)e=r.getByte(),n=n<<7,e&128?n+=e&127:(t+="."+(n+e),n=0);return t};P.utcTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,2),10);e=e>=50?1900+e:2e3+e;var n=parseInt(r.substr(2,2),10)-1,i=parseInt(r.substr(4,2),10),o=parseInt(r.substr(6,2),10),s=parseInt(r.substr(8,2),10),a=0;if(r.length>11){var c=r.charAt(10),l=10;c!=="+"&&c!=="-"&&(a=parseInt(r.substr(10,2),10),l+=2)}if(t.setUTCFullYear(e,n,i),t.setUTCHours(o,s,a,0),l&&(c=r.charAt(l),c==="+"||c==="-")){var u=parseInt(r.substr(l+1,2),10),f=parseInt(r.substr(l+4,2),10),d=u*60+f;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};P.generalizedTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,4),10),n=parseInt(r.substr(4,2),10)-1,i=parseInt(r.substr(6,2),10),o=parseInt(r.substr(8,2),10),s=parseInt(r.substr(10,2),10),a=parseInt(r.substr(12,2),10),c=0,l=0,u=!1;r.charAt(r.length-1)==="Z"&&(u=!0);var f=r.length-5,d=r.charAt(f);if(d==="+"||d==="-"){var h=parseInt(r.substr(f+1,2),10),p=parseInt(r.substr(f+4,2),10);l=h*60+p,l*=6e4,d==="+"&&(l*=-1),u=!0}return r.charAt(14)==="."&&(c=parseFloat(r.substr(14),10)*1e3),u?(t.setUTCFullYear(e,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+l)):(t.setFullYear(e,n,i),t.setHours(o,s,a,c)),t};P.dateToUtcTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push((""+r.getUTCFullYear()).substr(2)),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};P.dateToGeneralizedTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push(""+r.getUTCFullYear()),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};P.integerToDer=function(r){var t=It.util.createBuffer();if(r>=-128&&r<128)return t.putSignedInt(r,8);if(r>=-32768&&r<32768)return t.putSignedInt(r,16);if(r>=-8388608&&r<8388608)return t.putSignedInt(r,24);if(r>=-2147483648&&r<2147483648)return t.putSignedInt(r,32);var e=new Error("Integer too large; max is 32-bits.");throw e.integer=r,e};P.derToInteger=function(r){typeof r=="string"&&(r=It.util.createBuffer(r));var t=r.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return r.getSignedInt(t)};P.validate=function(r,t,e,n){var i=!1;if((r.tagClass===t.tagClass||typeof t.tagClass>"u")&&(r.type===t.type||typeof t.type>"u"))if(r.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&It.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,r.value[o]&&(i=P.validate(r.value[o],t.value[s],e,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 "'+r.value.length+'"');if(i&&e&&(t.capture&&(e[t.capture]=r.value),t.captureAsn1&&(e[t.captureAsn1]=r),t.captureBitStringContents&&"bitStringContents"in r&&(e[t.captureBitStringContents]=r.bitStringContents),t.captureBitStringValue&&"bitStringContents"in r)){var a;if(r.bitStringContents.length<2)e[t.captureBitStringValue]="";else{var c=r.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");e[t.captureBitStringValue]=r.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+r.constructed+'"');else n&&(r.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+r.tagClass+'"'),r.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+r.type+'"'));return i};var py=/[^\\u0000-\\u00ff]/;P.prettyPrint=function(r,t,e){var n="";t=t||0,e=e||2,t>0&&(n+=`
|
|
27
|
+
`,e=e.substr(t));return n+=e,n};w.binary.base64.decode=function(r,t,e){var n=t;n||(n=new Uint8Array(Math.ceil(r.length/4)*3)),r=r.replace(/[^A-Za-z0-9\+\/\=]/g,""),e=e||0;for(var i,o,s,a,c=0,l=e;c<r.length;)i=hn[r.charCodeAt(c++)-43],o=hn[r.charCodeAt(c++)-43],s=hn[r.charCodeAt(c++)-43],a=hn[r.charCodeAt(c++)-43],n[l++]=i<<2|o>>4,s!==64&&(n[l++]=(o&15)<<4|s>>2,a!==64&&(n[l++]=(s&3)<<6|a));return t?l-e:n.subarray(0,l)};w.binary.base58.encode=function(r,t){return w.binary.baseN.encode(r,fy,t)};w.binary.base58.decode=function(r,t){return w.binary.baseN.decode(r,fy,t)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(r,t,e){r=w.encodeUtf8(r);var n=t;n||(n=new Uint8Array(r.length)),e=e||0;for(var i=e,o=0;o<r.length;++o)n[i++]=r.charCodeAt(o);return t?i-e:n};w.text.utf8.decode=function(r){return w.decodeUtf8(String.fromCharCode.apply(null,r))};w.text.utf16.encode=function(r,t,e){var n=t;n||(n=new Uint8Array(r.length*2));var i=new Uint16Array(n.buffer);e=e||0;for(var o=e,s=e,a=0;a<r.length;++a)i[s++]=r.charCodeAt(a),o+=2;return t?o-e:n};w.text.utf16.decode=function(r){return String.fromCharCode.apply(null,new Uint16Array(r.buffer))};w.deflate=function(r,t,e){if(t=w.decode64(r.deflate(w.encode64(t)).rval),e){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};w.inflate=function(r,t,e){var n=r.inflate(w.encode64(t)).rval;return n===null?null:w.decode64(n)};var Xu=function(r,t,e){if(!r)throw new Error("WebStorage not available.");var n;if(e===null?n=r.removeItem(t):(e=w.encode64(JSON.stringify(e)),n=r.setItem(t,e)),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}},Zu=function(r,t){if(!r)throw new Error("WebStorage not available.");var e=r.getItem(t);if(r.init)if(e.rval===null){if(e.error){var n=new Error(e.error.message);throw n.id=e.error.id,n.name=e.error.name,n}e=null}else e=e.rval;return e!==null&&(e=JSON.parse(w.decode64(e))),e},Fb=function(r,t,e,n){var i=Zu(r,t);i===null&&(i={}),i[e]=n,Xu(r,t,i)},Kb=function(r,t,e){var n=Zu(r,t);return n!==null&&(n=e in n?n[e]:null),n},Vb=function(r,t,e){var n=Zu(r,t);if(n!==null&&e in n){delete n[e];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Xu(r,t,n)}},qb=function(r,t){Xu(r,t,null)},Ma=function(r,t,e){var n=null;typeof e>"u"&&(e=["web","flash"]);var i,o=!1,s=null;for(var a in e){i=e[a];try{if(i==="flash"||i==="both"){if(t[0]===null)throw new Error("Flash local storage not available.");n=r.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=r.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(r,t,e,n,i){Ma(Fb,arguments,i)};w.getItem=function(r,t,e,n){return Ma(Kb,arguments,n)};w.removeItem=function(r,t,e,n){Ma(Vb,arguments,n)};w.clearItems=function(r,t,e){Ma(qb,arguments,e)};w.isEmpty=function(r){for(var t in r)if(r.hasOwnProperty(t))return!1;return!0};w.format=function(r){for(var t=/%./g,e,n,i=0,o=[],s=0;e=t.exec(r);){n=r.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.lastIndex;var a=e[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(r.substring(s)),o.join("")};w.formatNumber=function(r,t,e,n){var i=r,o=isNaN(t=Math.abs(t))?2:t,s=e===void 0?",":e,a=n===void 0?".":n,c=i<0?"-":"",l=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",u=l.length>3?l.length%3:0;return c+(u?l.substr(0,u)+a:"")+l.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-l).toFixed(o).slice(2):"")};w.formatSize=function(r){return r>=1073741824?r=w.formatNumber(r/1073741824,2,".","")+" GiB":r>=1048576?r=w.formatNumber(r/1048576,2,".","")+" MiB":r>=1024?r=w.formatNumber(r/1024,0)+" KiB":r=w.formatNumber(r,0)+" bytes",r};w.bytesFromIP=function(r){return r.indexOf(".")!==-1?w.bytesFromIPv4(r):r.indexOf(":")!==-1?w.bytesFromIPv6(r):null};w.bytesFromIPv4=function(r){if(r=r.split("."),r.length!==4)return null;for(var t=w.createBuffer(),e=0;e<r.length;++e){var n=parseInt(r[e],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};w.bytesFromIPv6=function(r){var t=0;r=r.split(":").filter(function(s){return s.length===0&&++t,!0});for(var e=(8-r.length+t)*2,n=w.createBuffer(),i=0;i<8;++i){if(!r[i]||r[i].length===0){n.fillWithByte(0,e),e=0;continue}var o=w.hexToBytes(r[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(r){return r.length===4?w.bytesToIPv4(r):r.length===16?w.bytesToIPv6(r):null};w.bytesToIPv4=function(r){if(r.length!==4)return null;for(var t=[],e=0;e<r.length;++e)t.push(r.charCodeAt(e));return t.join(".")};w.bytesToIPv6=function(r){if(r.length!==16)return null;for(var t=[],e=[],n=0,i=0;i<r.length;i+=2){for(var o=w.bytesToHex(r[i]+r[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=e[e.length-1],a=t.length;!s||a!==s.end+1?e.push({start:a,end:a}):(s.end=a,s.end-s.start>e[n].end-e[n].start&&(n=e.length-1))}t.push(o)}if(e.length>0){var c=e[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(r,t){if(typeof r=="function"&&(t=r,r={}),r=r||{},"cores"in w&&!r.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 e=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 l=Math.floor(s.reduce(function(u,f){return u+f},0)/s.length);return w.cores=Math.max(1,l),URL.revokeObjectURL(e),t(null,w.cores)}i(c,function(u,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],l=[],u=0;u<s;++u){var f=new Worker(e);f.addEventListener("message",function(d){if(l.push(d.data),l.length===s){for(var h=0;h<s;++h)c[h].terminate();a(null,l)}}),c.push(f)}for(var u=0;u<s;++u)c[u].postMessage(u)}function o(s,a){for(var c=[],l=0;l<s;++l)for(var u=a[l],f=c[l]=[],d=0;d<s;++d)if(l!==d){var h=a[d];(u.st>h.st&&u.st<h.et||h.st>u.st&&h.st<u.et)&&f.push(d)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Ua=T((u8,dy)=>{var Uo=mt();Uo.pki=Uo.pki||{};var Ju=dy.exports=Uo.pki.oids=Uo.oids=Uo.oids||{};function I(r,t){Ju[r]=t,Ju[t]=r}function ht(r,t){Ju[r]=t}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ht("2.5.29.1","authorityKeyIdentifier");ht("2.5.29.2","keyAttributes");ht("2.5.29.3","certificatePolicies");ht("2.5.29.4","keyUsageRestriction");ht("2.5.29.5","policyMapping");ht("2.5.29.6","subtreesConstraint");ht("2.5.29.7","subjectAltName");ht("2.5.29.8","issuerAltName");ht("2.5.29.9","subjectDirectoryAttributes");ht("2.5.29.10","basicConstraints");ht("2.5.29.11","nameConstraints");ht("2.5.29.12","policyConstraints");ht("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ht("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ht("2.5.29.20","cRLNumber");ht("2.5.29.21","cRLReason");ht("2.5.29.22","expirationDate");ht("2.5.29.23","instructionCode");ht("2.5.29.24","invalidityDate");ht("2.5.29.25","cRLDistributionPoints");ht("2.5.29.26","issuingDistributionPoint");ht("2.5.29.27","deltaCRLIndicator");ht("2.5.29.28","issuingDistributionPoint");ht("2.5.29.29","certificateIssuer");ht("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ht("2.5.29.33","policyMappings");ht("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ht("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ht("2.5.29.46","freshestCRL");ht("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var Ko=T((f8,my)=>{var Rt=mt();$t();Ua();var P=my.exports=Rt.asn1=Rt.asn1||{};P.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};P.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};P.create=function(r,t,e,n,i){if(Rt.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:r,type:t,constructed:e,composed:e||Rt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=P.copy(a)),a};P.copy=function(r,t){var e;if(Rt.util.isArray(r)){e=[];for(var n=0;n<r.length;++n)e.push(P.copy(r[n],t));return e}return typeof r=="string"?r:(e={tagClass:r.tagClass,type:r.type,constructed:r.constructed,composed:r.composed,value:P.copy(r.value,t)},t&&!t.excludeBitStringContents&&(e.bitStringContents=r.bitStringContents),e)};P.equals=function(r,t,e){if(Rt.util.isArray(r)){if(!Rt.util.isArray(t)||r.length!==t.length)return!1;for(var n=0;n<r.length;++n)if(!P.equals(r[n],t[n]))return!1;return!0}if(typeof r!=typeof t)return!1;if(typeof r=="string")return r===t;var i=r.tagClass===t.tagClass&&r.type===t.type&&r.constructed===t.constructed&&r.composed===t.composed&&P.equals(r.value,t.value);return e&&e.includeBitStringContents&&(i=i&&r.bitStringContents===t.bitStringContents),i};P.getBerValueLength=function(r){var t=r.getByte();if(t!==128){var e,n=t&128;return n?e=r.getInt((t&127)<<3):e=t,e}};function Fo(r,t,e){if(e>t){var n=new Error("Too few bytes to parse DER.");throw n.available=r.length(),n.remaining=t,n.requested=e,n}}var Hb=function(r,t){var e=r.getByte();if(t--,e!==128){var n,i=e&128;if(!i)n=e;else{var o=e&127;Fo(r,t,o),n=r.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};P.fromDer=function(r,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 r=="string"&&(r=Rt.util.createBuffer(r));var e=r.length(),n=Fa(r,r.length(),0,t);if(t.parseAllBytes&&r.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=e,i.remaining=r.length(),i}return n};function Fa(r,t,e,n){var i;Fo(r,t,2);var o=r.getByte();t--;var s=o&192,a=o&31;i=r.length();var c=Hb(r,t);if(t-=i-r.length(),c!==void 0&&c>t){if(n.strict){var l=new Error("Too few bytes to read ASN.1 value.");throw l.available=r.length(),l.remaining=t,l.requested=c,l}c=t}var u,f,d=(o&32)===32;if(d)if(u=[],c===void 0)for(;;){if(Fo(r,t,2),r.bytes(2)===String.fromCharCode(0,0)){r.getBytes(2),t-=2;break}i=r.length(),u.push(Fa(r,t,e+1,n)),t-=i-r.length()}else for(;c>0;)i=r.length(),u.push(Fa(r,c,e+1,n)),t-=i-r.length(),c-=i-r.length();if(u===void 0&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&(f=r.bytes(c)),u===void 0&&n.decodeBitStrings&&s===P.Class.UNIVERSAL&&a===P.Type.BITSTRING&&c>1){var h=r.read,p=t,m=0;if(a===P.Type.BITSTRING&&(Fo(r,t,1),m=r.getByte(),t--),m===0)try{i=r.length();var y={strict:!0,decodeBitStrings:!0},g=Fa(r,t,e+1,y),E=i-r.length();t-=E,a==P.Type.BITSTRING&&E++;var _=g.tagClass;E===c&&(_===P.Class.UNIVERSAL||_===P.Class.CONTEXT_SPECIFIC)&&(u=[g])}catch{}u===void 0&&(r.read=h,t=p)}if(u===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===P.Type.BMPSTRING)for(u="";c>0;c-=2)Fo(r,t,2),u+=String.fromCharCode(r.getInt16()),t-=2;else u=r.getBytes(c),t-=c}var k=f===void 0?null:{bitStringContents:f};return P.create(s,a,d,u,k)}P.toDer=function(r){var t=Rt.util.createBuffer(),e=r.tagClass|r.type,n=Rt.util.createBuffer(),i=!1;if("bitStringContents"in r&&(i=!0,r.original&&(i=P.equals(r,r.original))),i)n.putBytes(r.bitStringContents);else if(r.composed){r.constructed?e|=32:n.putByte(0);for(var o=0;o<r.value.length;++o)r.value[o]!==void 0&&n.putBuffer(P.toDer(r.value[o]))}else if(r.type===P.Type.BMPSTRING)for(var o=0;o<r.value.length;++o)n.putInt16(r.value.charCodeAt(o));else r.type===P.Type.INTEGER&&r.value.length>1&&(r.value.charCodeAt(0)===0&&!(r.value.charCodeAt(1)&128)||r.value.charCodeAt(0)===255&&(r.value.charCodeAt(1)&128)===128)?n.putBytes(r.value.substr(1)):n.putBytes(r.value);if(t.putByte(e),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};P.oidToDer=function(r){var t=r.split("."),e=Rt.util.createBuffer();e.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)e.putByte(i[c])}return e};P.derToOid=function(r){var t;typeof r=="string"&&(r=Rt.util.createBuffer(r));var e=r.getByte();t=Math.floor(e/40)+"."+e%40;for(var n=0;r.length()>0;)e=r.getByte(),n=n<<7,e&128?n+=e&127:(t+="."+(n+e),n=0);return t};P.utcTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,2),10);e=e>=50?1900+e:2e3+e;var n=parseInt(r.substr(2,2),10)-1,i=parseInt(r.substr(4,2),10),o=parseInt(r.substr(6,2),10),s=parseInt(r.substr(8,2),10),a=0;if(r.length>11){var c=r.charAt(10),l=10;c!=="+"&&c!=="-"&&(a=parseInt(r.substr(10,2),10),l+=2)}if(t.setUTCFullYear(e,n,i),t.setUTCHours(o,s,a,0),l&&(c=r.charAt(l),c==="+"||c==="-")){var u=parseInt(r.substr(l+1,2),10),f=parseInt(r.substr(l+4,2),10),d=u*60+f;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};P.generalizedTimeToDate=function(r){var t=new Date,e=parseInt(r.substr(0,4),10),n=parseInt(r.substr(4,2),10)-1,i=parseInt(r.substr(6,2),10),o=parseInt(r.substr(8,2),10),s=parseInt(r.substr(10,2),10),a=parseInt(r.substr(12,2),10),c=0,l=0,u=!1;r.charAt(r.length-1)==="Z"&&(u=!0);var f=r.length-5,d=r.charAt(f);if(d==="+"||d==="-"){var h=parseInt(r.substr(f+1,2),10),p=parseInt(r.substr(f+4,2),10);l=h*60+p,l*=6e4,d==="+"&&(l*=-1),u=!0}return r.charAt(14)==="."&&(c=parseFloat(r.substr(14),10)*1e3),u?(t.setUTCFullYear(e,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+l)):(t.setFullYear(e,n,i),t.setHours(o,s,a,c)),t};P.dateToUtcTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push((""+r.getUTCFullYear()).substr(2)),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};P.dateToGeneralizedTime=function(r){if(typeof r=="string")return r;var t="",e=[];e.push(""+r.getUTCFullYear()),e.push(""+(r.getUTCMonth()+1)),e.push(""+r.getUTCDate()),e.push(""+r.getUTCHours()),e.push(""+r.getUTCMinutes()),e.push(""+r.getUTCSeconds());for(var n=0;n<e.length;++n)e[n].length<2&&(t+="0"),t+=e[n];return t+="Z",t};P.integerToDer=function(r){var t=Rt.util.createBuffer();if(r>=-128&&r<128)return t.putSignedInt(r,8);if(r>=-32768&&r<32768)return t.putSignedInt(r,16);if(r>=-8388608&&r<8388608)return t.putSignedInt(r,24);if(r>=-2147483648&&r<2147483648)return t.putSignedInt(r,32);var e=new Error("Integer too large; max is 32-bits.");throw e.integer=r,e};P.derToInteger=function(r){typeof r=="string"&&(r=Rt.util.createBuffer(r));var t=r.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return r.getSignedInt(t)};P.validate=function(r,t,e,n){var i=!1;if((r.tagClass===t.tagClass||typeof t.tagClass>"u")&&(r.type===t.type||typeof t.type>"u"))if(r.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&Rt.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,r.value[o]&&(i=P.validate(r.value[o],t.value[s],e,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 "'+r.value.length+'"');if(i&&e&&(t.capture&&(e[t.capture]=r.value),t.captureAsn1&&(e[t.captureAsn1]=r),t.captureBitStringContents&&"bitStringContents"in r&&(e[t.captureBitStringContents]=r.bitStringContents),t.captureBitStringValue&&"bitStringContents"in r)){var a;if(r.bitStringContents.length<2)e[t.captureBitStringValue]="";else{var c=r.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");e[t.captureBitStringValue]=r.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+r.constructed+'"');else n&&(r.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+r.tagClass+'"'),r.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+r.type+'"'));return i};var py=/[^\\u0000-\\u00ff]/;P.prettyPrint=function(r,t,e){var n="";t=t||0,e=e||2,t>0&&(n+=`
|
|
28
28
|
`);for(var i="",o=0;o<t*e;++o)i+=" ";switch(n+=i+"Tag: ",r.tagClass){case P.Class.UNIVERSAL:n+="Universal:";break;case P.Class.APPLICATION:n+="Application:";break;case P.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case P.Class.PRIVATE:n+="Private:";break}if(r.tagClass===P.Class.UNIVERSAL)switch(n+=r.type,r.type){case P.Type.NONE:n+=" (None)";break;case P.Type.BOOLEAN:n+=" (Boolean)";break;case P.Type.INTEGER:n+=" (Integer)";break;case P.Type.BITSTRING:n+=" (Bit string)";break;case P.Type.OCTETSTRING:n+=" (Octet string)";break;case P.Type.NULL:n+=" (Null)";break;case P.Type.OID:n+=" (Object Identifier)";break;case P.Type.ODESC:n+=" (Object Descriptor)";break;case P.Type.EXTERNAL:n+=" (External or Instance of)";break;case P.Type.REAL:n+=" (Real)";break;case P.Type.ENUMERATED:n+=" (Enumerated)";break;case P.Type.EMBEDDED:n+=" (Embedded PDV)";break;case P.Type.UTF8:n+=" (UTF8)";break;case P.Type.ROID:n+=" (Relative Object Identifier)";break;case P.Type.SEQUENCE:n+=" (Sequence)";break;case P.Type.SET:n+=" (Set)";break;case P.Type.PRINTABLESTRING:n+=" (Printable String)";break;case P.Type.IA5String:n+=" (IA5String (ASCII))";break;case P.Type.UTCTIME:n+=" (UTC time)";break;case P.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case P.Type.BMPSTRING:n+=" (BMP String)";break}else n+=r.type;if(n+=`
|
|
29
29
|
`,n+=i+"Constructed: "+r.constructed+`
|
|
30
|
-
`,r.composed){for(var s=0,a="",o=0;o<r.value.length;++o)r.value[o]!==void 0&&(s+=1,a+=P.prettyPrint(r.value[o],t+1,e),o+1<r.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",r.type===P.Type.OID){var c=P.derToOid(r.value);n+=c,It.pki&&It.pki.oids&&c in It.pki.oids&&(n+=" ("+It.pki.oids[c]+") ")}if(r.type===P.Type.INTEGER)try{n+=P.derToInteger(r.value)}catch{n+="0x"+It.util.bytesToHex(r.value)}else if(r.type===P.Type.BITSTRING){if(r.value.length>1?n+="0x"+It.util.bytesToHex(r.value.slice(1)):n+="(none)",r.value.length>0){var l=r.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(r.type===P.Type.OCTETSTRING)py.test(r.value)||(n+="("+r.value+") "),n+="0x"+It.util.bytesToHex(r.value);else if(r.type===P.Type.UTF8)try{n+=It.util.decodeUtf8(r.value)}catch(u){if(u.message==="URI malformed")n+="0x"+It.util.bytesToHex(r.value)+" (malformed UTF8)";else throw u}else r.type===P.Type.PRINTABLESTRING||r.type===P.Type.IA5String?n+=r.value:py.test(r.value)?n+="0x"+It.util.bytesToHex(r.value):r.value.length===0?n+="[null]":n+=r.value}return n}});var tf=T((y8,yy)=>{var ne=mt();$t();yy.exports=ne.cipher=ne.cipher||{};ne.cipher.algorithms=ne.cipher.algorithms||{};ne.cipher.createCipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ne.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ne.cipher.BlockCipher({algorithm:e,key:t,decrypt:!1})};ne.cipher.createDecipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ne.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ne.cipher.BlockCipher({algorithm:e,key:t,decrypt:!0})};ne.cipher.registerAlgorithm=function(r,t){r=r.toUpperCase(),ne.cipher.algorithms[r]=t};ne.cipher.getAlgorithm=function(r){return r=r.toUpperCase(),r in ne.cipher.algorithms?ne.cipher.algorithms[r]:null};var ju=ne.cipher.BlockCipher=function(r){this.algorithm=r.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=r.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=r.decrypt,this.algorithm.initialize(r)};ju.prototype.start=function(r){r=r||{};var t={};for(var e in r)t[e]=r[e];t.decrypt=this._decrypt,this._finish=!1,this._input=ne.util.createBuffer(),this.output=r.output||ne.util.createBuffer(),this.mode.start(t)};ju.prototype.update=function(r){for(r&&this._input.putBuffer(r);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ju.prototype.finish=function(r){r&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(e){return r(this.blockSize,e,!1)},this.mode.unpad=function(e){return r(this.blockSize,e,!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 rf=T((g8,gy)=>{var ie=mt();$t();ie.cipher=ie.cipher||{};var Z=gy.exports=ie.cipher.modes=ie.cipher.modes||{};Z.ecb=function(r){r=r||{},this.name="ECB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.ecb.prototype.start=function(r){};Z.ecb.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Z.ecb.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Z.ecb.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Z.ecb.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Z.cbc=function(r){r=r||{},this.name="CBC",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.cbc.prototype.start=function(r){if(r.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in r)this._iv=Va(r.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.cbc.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^r.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};Z.cbc.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.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)};Z.cbc.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Z.cbc.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Z.cfb=function(r){r=r||{},this.name="CFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Va(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.cfb.prototype.encrypt=function(r,t,e){var n=r.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]=r.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]=r.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.cfb.prototype.decrypt=function(r,t,e){var n=r.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]=r.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]=r.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb=function(r){r=r||{},this.name="OFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Va(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ofb.prototype.encrypt=function(r,t,e){var n=r.length();if(r.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(r.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(r.getInt32()^this._outBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.ctr=function(r){r=r||{},this.name="CTR",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Va(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ctr.prototype.encrypt=function(r,t,e){var n=r.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(r.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(r.getInt32()^this._outBlock[i]);if(o>0&&(r.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}qa(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.gcm=function(r){r=r||{},this.name="GCM",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");var t=ie.util.createBuffer(r.iv);this._cipherLength=0;var e;if("additionalData"in r?e=ie.util.createBuffer(r.additionalData):e=ie.util.createBuffer(),"tagLength"in r?this._tagLength=r.tagLength:this._tagLength=128,this._tag=null,r.decrypt&&(this._tag=ie.util.createBuffer(r.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(ef(n*8)))}this._inBlock=this._j0.slice(0),qa(this._inBlock),this._partialBytes=0,e=ie.util.createBuffer(e),this._aDataLength=ef(e.length()*8);var i=e.length()%this.blockSize;for(i&&e.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];e.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()])};Z.gcm.prototype.encrypt=function(r,t,e){var n=r.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]^=r.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(r.getInt32()^this._outBlock[i]);if(o<=0||e){if(e){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&&!e)return r.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),qa(this._inBlock)};Z.gcm.prototype.decrypt=function(r,t,e){var n=r.length();if(n<this.blockSize&&!(e&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),qa(this._inBlock),this._hashBlock[0]=r.getInt32(),this._hashBlock[1]=r.getInt32(),this._hashBlock[2]=r.getInt32(),this._hashBlock[3]=r.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};Z.gcm.prototype.afterFinish=function(r,t){var e=!0;t.decrypt&&t.overflow&&r.truncate(this.blockSize-t.overflow),this.tag=ie.util.createBuffer();var n=this._aDataLength.concat(ef(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&&(e=!1),e};Z.gcm.prototype.multiply=function(r,t){for(var e=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=r[i/32|0]&1<<31-i%32;o&&(e[0]^=n[0],e[1]^=n[1],e[2]^=n[2],e[3]^=n[3]),this.pow(n,n)}return e};Z.gcm.prototype.pow=function(r,t){for(var e=r[3]&1,n=3;n>0;--n)t[n]=r[n]>>>1|(r[n-1]&1)<<31;t[0]=r[0]>>>1,e&&(t[0]^=this._R)};Z.gcm.prototype.tableMultiply=function(r){for(var t=[0,0,0,0],e=0;e<32;++e){var n=e/8|0,i=r[n]>>>(7-e%8)*4&15,o=this._m[e][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};Z.gcm.prototype.ghash=function(r,t,e){return t[0]^=e[0],t[1]^=e[1],t[2]^=e[2],t[3]^=e[3],this.tableMultiply(t)};Z.gcm.prototype.generateHashTable=function(r,t){for(var e=8/t,n=4*e,i=16*e,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,l=(n-1-s%n)*t;a[c]=1<<t-1<<l,o[s]=this.generateSubHashTable(this.multiply(a,r),t)}return o};Z.gcm.prototype.generateSubHashTable=function(r,t){var e=1<<t,n=e>>>1,i=new Array(e);i[n]=r.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<e;++o){var l=i[o^n];i[o]=[r[0]^l[0],r[1]^l[1],r[2]^l[2],r[3]^l[3]]}return i};function Va(r,t){if(typeof r=="string"&&(r=ie.util.createBuffer(r)),ie.util.isArray(r)&&r.length>4){var e=r;r=ie.util.createBuffer();for(var n=0;n<e.length;++n)r.putByte(e[n])}if(r.length()<t)throw new Error("Invalid IV length; got "+r.length()+" bytes and expected "+t+" bytes.");if(!ie.util.isArray(r)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(r.getInt32());r=i}return r}function qa(r){r[r.length-1]=r[r.length-1]+1&4294967295}function ef(r){return[r/4294967296|0,r&4294967295]}});var $a=T((w8,vy)=>{var At=mt();tf();rf();$t();vy.exports=At.aes=At.aes||{};At.aes.startEncrypting=function(r,t,e,n){var i=Ha({key:r,output:e,decrypt:!1,mode:n});return i.start(t),i};At.aes.createEncryptionCipher=function(r,t){return Ha({key:r,output:null,decrypt:!1,mode:t})};At.aes.startDecrypting=function(r,t,e,n){var i=Ha({key:r,output:e,decrypt:!0,mode:n});return i.start(t),i};At.aes.createDecryptionCipher=function(r,t){return Ha({key:r,output:null,decrypt:!0,mode:t})};At.aes.Algorithm=function(r,t){sf||Ey();var e=this;e.name=r,e.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return of(e._w,n,i,!1)},decrypt:function(n,i){return of(e._w,n,i,!0)}}}),e._init=!1};At.aes.Algorithm.prototype.initialize=function(r){if(!this._init){var t=r.key,e;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=At.util.createBuffer(t);else if(At.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){e=t,t=At.util.createBuffer();for(var n=0;n<e.length;++n)t.putByte(e[n])}if(!At.util.isArray(t)){e=t,t=[];var i=e.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(e.getInt32())}}if(!At.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=xy(t,r.decrypt&&!s),this._init=!0}};At.aes._expandKey=function(r,t){return sf||Ey(),xy(r,t)};At.aes._updateBlock=of;Ki("AES-ECB",At.cipher.modes.ecb);Ki("AES-CBC",At.cipher.modes.cbc);Ki("AES-CFB",At.cipher.modes.cfb);Ki("AES-OFB",At.cipher.modes.ofb);Ki("AES-CTR",At.cipher.modes.ctr);Ki("AES-GCM",At.cipher.modes.gcm);function Ki(r,t){var e=function(){return new At.aes.Algorithm(r,t)};At.cipher.registerAlgorithm(r,e)}var sf=!1,Fi=4,he,nf,wy,Gn,Je;function Ey(){sf=!0,wy=[0,1,2,4,8,16,32,64,128,27,54];for(var r=new Array(256),t=0;t<128;++t)r[t]=t<<1,r[t+128]=t+128<<1^283;he=new Array(256),nf=new Array(256),Gn=new Array(4),Je=new Array(4);for(var t=0;t<4;++t)Gn[t]=new Array(256),Je[t]=new Array(256);for(var e=0,n=0,i,o,s,a,c,l,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,he[e]=a,nf[a]=e,c=r[a],i=r[e],o=r[i],s=r[o],l=c<<24^a<<16^a<<8^(a^c),u=(i^o^s)<<24^(e^s)<<16^(e^o^s)<<8^(e^i^s);for(var f=0;f<4;++f)Gn[f][e]=l,Je[f][a]=u,l=l<<24|l>>>8,u=u<<24|u>>>8;e===0?e=n=1:(e=i^r[r[r[i^s]]],n^=r[r[n]])}}function xy(r,t){for(var e=r.slice(0),n,i=1,o=e.length,s=o+6+1,a=Fi*s,c=o;c<a;++c)n=e[c-1],c%o===0?(n=he[n>>>16&255]<<24^he[n>>>8&255]<<16^he[n&255]<<8^he[n>>>24]^wy[i]<<24,i++):o>6&&c%o===4&&(n=he[n>>>24]<<24^he[n>>>16&255]<<16^he[n>>>8&255]<<8^he[n&255]),e[c]=e[c-o]^n;if(t){var l,u=Je[0],f=Je[1],d=Je[2],h=Je[3],p=e.slice(0);a=e.length;for(var c=0,m=a-Fi;c<a;c+=Fi,m-=Fi)if(c===0||c===a-Fi)p[c]=e[m],p[c+1]=e[m+3],p[c+2]=e[m+2],p[c+3]=e[m+1];else for(var y=0;y<Fi;++y)l=e[m+y],p[c+(3&-y)]=u[he[l>>>24]]^f[he[l>>>16&255]]^d[he[l>>>8&255]]^h[he[l&255]];e=p}return e}function of(r,t,e,n){var i=r.length/4-1,o,s,a,c,l;n?(o=Je[0],s=Je[1],a=Je[2],c=Je[3],l=nf):(o=Gn[0],s=Gn[1],a=Gn[2],c=Gn[3],l=he);var u,f,d,h,p,m,y;u=t[0]^r[0],f=t[n?3:1]^r[1],d=t[2]^r[2],h=t[n?1:3]^r[3];for(var g=3,E=1;E<i;++E)p=o[u>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[h&255]^r[++g],m=o[f>>>24]^s[d>>>16&255]^a[h>>>8&255]^c[u&255]^r[++g],y=o[d>>>24]^s[h>>>16&255]^a[u>>>8&255]^c[f&255]^r[++g],h=o[h>>>24]^s[u>>>16&255]^a[f>>>8&255]^c[d&255]^r[++g],u=p,f=m,d=y;e[0]=l[u>>>24]<<24^l[f>>>16&255]<<16^l[d>>>8&255]<<8^l[h&255]^r[++g],e[n?3:1]=l[f>>>24]<<24^l[d>>>16&255]<<16^l[h>>>8&255]<<8^l[u&255]^r[++g],e[2]=l[d>>>24]<<24^l[h>>>16&255]<<16^l[u>>>8&255]<<8^l[f&255]^r[++g],e[n?1:3]=l[h>>>24]<<24^l[u>>>16&255]<<16^l[f>>>8&255]<<8^l[d&255]^r[++g]}function Ha(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="AES-"+t,n;r.decrypt?n=At.cipher.createDecipher(e,r.key):n=At.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof At.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Sy=T((E8,_y)=>{var Bt=mt();tf();rf();$t();_y.exports=Bt.des=Bt.des||{};Bt.des.startEncrypting=function(r,t,e,n){var i=za({key:r,output:e,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createEncryptionCipher=function(r,t){return za({key:r,output:null,decrypt:!1,mode:t})};Bt.des.startDecrypting=function(r,t,e,n){var i=za({key:r,output:e,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createDecryptionCipher=function(r,t){return za({key:r,output:null,decrypt:!0,mode:t})};Bt.des.Algorithm=function(r,t){var e=this;e.name=r,e.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return by(e._keys,n,i,!1)},decrypt:function(n,i){return by(e._keys,n,i,!0)}}}),e._init=!1};Bt.des.Algorithm.prototype.initialize=function(r){if(!this._init){var t=Bt.util.createBuffer(r.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Jb(t),this._init=!0}};mr("DES-ECB",Bt.cipher.modes.ecb);mr("DES-CBC",Bt.cipher.modes.cbc);mr("DES-CFB",Bt.cipher.modes.cfb);mr("DES-OFB",Bt.cipher.modes.ofb);mr("DES-CTR",Bt.cipher.modes.ctr);mr("3DES-ECB",Bt.cipher.modes.ecb);mr("3DES-CBC",Bt.cipher.modes.cbc);mr("3DES-CFB",Bt.cipher.modes.cfb);mr("3DES-OFB",Bt.cipher.modes.ofb);mr("3DES-CTR",Bt.cipher.modes.ctr);function mr(r,t){var e=function(){return new Bt.des.Algorithm(r,t)};Bt.cipher.registerAlgorithm(r,e)}var $b=[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],zb=[-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],Gb=[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],Yb=[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],Wb=[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],Qb=[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],Xb=[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],Zb=[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 Jb(r){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],e=[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],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=r.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,_,k=0;k<m;k++){var C=r.getInt32(),D=r.getInt32();_=(C>>>4^D)&252645135,D^=_,C^=_<<4,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>2^D)&858993459,D^=_,C^=_<<2,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=(D>>>8^C)&16711935,C^=_,D^=_<<8,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=C<<8|D>>>20&240,C=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=_;for(var J=0;J<g.length;++J){g[J]?(C=C<<2|C>>>26,D=D<<2|D>>>26):(C=C<<1|C>>>27,D=D<<1|D>>>27),C&=-15,D&=-15;var rt=t[C>>>28]|e[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|o[C>>>12&15]|s[C>>>8&15]|a[C>>>4&15],Jt=c[D>>>28]|l[D>>>24&15]|u[D>>>20&15]|f[D>>>16&15]|d[D>>>12&15]|h[D>>>8&15]|p[D>>>4&15];_=(Jt>>>16^rt)&65535,y[E++]=rt^_,y[E++]=Jt^_<<16}}return y}function by(r,t,e,n){var i=r.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 l=0;l<i;l+=3){for(var u=o[l+1],f=o[l+2],d=o[l];d!=u;d+=f){var h=c^r[d],p=(c>>>4|c<<28)^r[d+1];s=a,a=c,c=s^(zb[h>>>24&63]|Yb[h>>>16&63]|Qb[h>>>8&63]|Zb[h&63]|$b[p>>>24&63]|Gb[p>>>16&63]|Wb[p>>>8&63]|Xb[p&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,e[0]=a,e[1]=c}function za(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="DES-"+t,n;r.decrypt?n=Bt.cipher.createDecipher(e,r.key):n=Bt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Bt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Yn=T((x8,Ay)=>{var Ga=mt();Ay.exports=Ga.md=Ga.md||{};Ga.md.algorithms=Ga.md.algorithms||{}});var Iy=T((v8,Ry)=>{var Fr=mt();Yn();$t();var jb=Ry.exports=Fr.hmac=Fr.hmac||{};jb.create=function(){var r=null,t=null,e=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in Fr.md.algorithms)t=Fr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=r;else{if(typeof s=="string")s=Fr.util.createBuffer(s);else if(Fr.util.isArray(s)){var a=s;s=Fr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var l=s.length();l>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),e=Fr.util.createBuffer(),n=Fr.util.createBuffer(),l=s.length();for(var c=0;c<l;++c){var a=s.at(c);e.putByte(54^a),n.putByte(92^a)}if(l<t.blockLength)for(var a=t.blockLength-l,c=0;c<a;++c)e.putByte(54),n.putByte(92);r=s,e=e.bytes(),n=n.bytes()}t.start(),t.update(e)},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 af=T((b8,Ty)=>{var de=mt();Iy();Yn();$t();var t_=de.pkcs5=de.pkcs5||{},Kr;de.util.isNodejs&&!de.options.usePureJavaScript&&(Kr=Fn());Ty.exports=de.pbkdf2=t_.pbkdf2=function(r,t,e,n,i,o){if(typeof i=="function"&&(o=i,i=null),de.util.isNodejs&&!de.options.usePureJavaScript&&Kr.pbkdf2&&(i===null||typeof i!="object")&&(Kr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),r=Buffer.from(r,"binary"),t=Buffer.from(t,"binary"),o?Kr.pbkdf2Sync.length===4?Kr.pbkdf2(r,t,e,n,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Kr.pbkdf2(r,t,e,n,i,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Kr.pbkdf2Sync.length===4?Kr.pbkdf2Sync(r,t,e,n).toString("binary"):Kr.pbkdf2Sync(r,t,e,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in de.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=de.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),l=n-(c-1)*s,u=de.hmac.create();u.start(i,r);var f="",d,h,p;if(!o){for(var m=1;m<=c;++m){u.start(null,null),u.update(t),u.update(de.util.int32ToBytes(m)),d=p=u.digest().getBytes();for(var y=2;y<=e;++y)u.start(null,null),u.update(p),h=u.digest().getBytes(),d=de.util.xorBytes(d,h,s),p=h;f+=m<c?d:d.substr(0,l)}return f}var m=1,y;function g(){if(m>c)return o(null,f);u.start(null,null),u.update(t),u.update(de.util.int32ToBytes(m)),d=p=u.digest().getBytes(),y=2,E()}function E(){if(y<=e)return u.start(null,null),u.update(p),h=u.digest().getBytes(),d=de.util.xorBytes(d,h,s),p=h,++y,de.util.setImmediate(E);f+=m<c?d:d.substr(0,l),++m,g()}g()}});var Py=T((_8,Dy)=>{var Wa=mt();$t();var Cy=Dy.exports=Wa.pem=Wa.pem||{};Cy.encode=function(r,t){t=t||{};var e="-----BEGIN "+r.type+`-----\r
|
|
31
|
-
`,n;if(r.procType&&(n={name:"Proc-Type",values:[String(r.procType.version),r.procType.type]},e+=
|
|
32
|
-
`),e+=
|
|
30
|
+
`,r.composed){for(var s=0,a="",o=0;o<r.value.length;++o)r.value[o]!==void 0&&(s+=1,a+=P.prettyPrint(r.value[o],t+1,e),o+1<r.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",r.type===P.Type.OID){var c=P.derToOid(r.value);n+=c,Rt.pki&&Rt.pki.oids&&c in Rt.pki.oids&&(n+=" ("+Rt.pki.oids[c]+") ")}if(r.type===P.Type.INTEGER)try{n+=P.derToInteger(r.value)}catch{n+="0x"+Rt.util.bytesToHex(r.value)}else if(r.type===P.Type.BITSTRING){if(r.value.length>1?n+="0x"+Rt.util.bytesToHex(r.value.slice(1)):n+="(none)",r.value.length>0){var l=r.value.charCodeAt(0);l==1?n+=" (1 unused bit shown)":l>1&&(n+=" ("+l+" unused bits shown)")}}else if(r.type===P.Type.OCTETSTRING)py.test(r.value)||(n+="("+r.value+") "),n+="0x"+Rt.util.bytesToHex(r.value);else if(r.type===P.Type.UTF8)try{n+=Rt.util.decodeUtf8(r.value)}catch(u){if(u.message==="URI malformed")n+="0x"+Rt.util.bytesToHex(r.value)+" (malformed UTF8)";else throw u}else r.type===P.Type.PRINTABLESTRING||r.type===P.Type.IA5String?n+=r.value:py.test(r.value)?n+="0x"+Rt.util.bytesToHex(r.value):r.value.length===0?n+="[null]":n+=r.value}return n}});var tf=T((h8,yy)=>{var ne=mt();$t();yy.exports=ne.cipher=ne.cipher||{};ne.cipher.algorithms=ne.cipher.algorithms||{};ne.cipher.createCipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ne.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ne.cipher.BlockCipher({algorithm:e,key:t,decrypt:!1})};ne.cipher.createDecipher=function(r,t){var e=r;if(typeof e=="string"&&(e=ne.cipher.getAlgorithm(e),e&&(e=e())),!e)throw new Error("Unsupported algorithm: "+r);return new ne.cipher.BlockCipher({algorithm:e,key:t,decrypt:!0})};ne.cipher.registerAlgorithm=function(r,t){r=r.toUpperCase(),ne.cipher.algorithms[r]=t};ne.cipher.getAlgorithm=function(r){return r=r.toUpperCase(),r in ne.cipher.algorithms?ne.cipher.algorithms[r]:null};var ju=ne.cipher.BlockCipher=function(r){this.algorithm=r.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=r.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=r.decrypt,this.algorithm.initialize(r)};ju.prototype.start=function(r){r=r||{};var t={};for(var e in r)t[e]=r[e];t.decrypt=this._decrypt,this._finish=!1,this._input=ne.util.createBuffer(),this.output=r.output||ne.util.createBuffer(),this.mode.start(t)};ju.prototype.update=function(r){for(r&&this._input.putBuffer(r);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ju.prototype.finish=function(r){r&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(e){return r(this.blockSize,e,!1)},this.mode.unpad=function(e){return r(this.blockSize,e,!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 rf=T((d8,gy)=>{var ie=mt();$t();ie.cipher=ie.cipher||{};var Z=gy.exports=ie.cipher.modes=ie.cipher.modes||{};Z.ecb=function(r){r=r||{},this.name="ECB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.ecb.prototype.start=function(r){};Z.ecb.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Z.ecb.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};Z.ecb.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Z.ecb.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Z.cbc=function(r){r=r||{},this.name="CBC",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Z.cbc.prototype.start=function(r){if(r.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in r)this._iv=Ka(r.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.cbc.prototype.encrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^r.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};Z.cbc.prototype.decrypt=function(r,t,e){if(r.length()<this.blockSize&&!(e&&r.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=r.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)};Z.cbc.prototype.pad=function(r,t){var e=r.length()===this.blockSize?this.blockSize:this.blockSize-r.length();return r.fillWithByte(e,e),!0};Z.cbc.prototype.unpad=function(r,t){if(t.overflow>0)return!1;var e=r.length(),n=r.at(e-1);return n>this.blockSize<<2?!1:(r.truncate(n),!0)};Z.cfb=function(r){r=r||{},this.name="CFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Ka(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.cfb.prototype.encrypt=function(r,t,e){var n=r.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]=r.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]=r.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.cfb.prototype.decrypt=function(r,t,e){var n=r.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]=r.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]=r.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb=function(r){r=r||{},this.name="OFB",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Ka(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ofb.prototype.encrypt=function(r,t,e){var n=r.length();if(r.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(r.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(r.getInt32()^this._outBlock[i]);if(o>0)r.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&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.ctr=function(r){r=r||{},this.name="CTR",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");this._iv=Ka(r.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.ctr.prototype.encrypt=function(r,t,e){var n=r.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(r.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(r.getInt32()^this._outBlock[i]);if(o>0&&(r.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!e)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Va(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.gcm=function(r){r=r||{},this.name="GCM",this.cipher=r.cipher,this.blockSize=r.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=ie.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(r){if(!("iv"in r))throw new Error("Invalid IV parameter.");var t=ie.util.createBuffer(r.iv);this._cipherLength=0;var e;if("additionalData"in r?e=ie.util.createBuffer(r.additionalData):e=ie.util.createBuffer(),"tagLength"in r?this._tagLength=r.tagLength:this._tagLength=128,this._tag=null,r.decrypt&&(this._tag=ie.util.createBuffer(r.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(ef(n*8)))}this._inBlock=this._j0.slice(0),Va(this._inBlock),this._partialBytes=0,e=ie.util.createBuffer(e),this._aDataLength=ef(e.length()*8);var i=e.length()%this.blockSize;for(i&&e.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];e.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()])};Z.gcm.prototype.encrypt=function(r,t,e){var n=r.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]^=r.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(r.getInt32()^this._outBlock[i]);if(o<=0||e){if(e){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&&!e)return r.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),Va(this._inBlock)};Z.gcm.prototype.decrypt=function(r,t,e){var n=r.length();if(n<this.blockSize&&!(e&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Va(this._inBlock),this._hashBlock[0]=r.getInt32(),this._hashBlock[1]=r.getInt32(),this._hashBlock[2]=r.getInt32(),this._hashBlock[3]=r.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};Z.gcm.prototype.afterFinish=function(r,t){var e=!0;t.decrypt&&t.overflow&&r.truncate(this.blockSize-t.overflow),this.tag=ie.util.createBuffer();var n=this._aDataLength.concat(ef(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&&(e=!1),e};Z.gcm.prototype.multiply=function(r,t){for(var e=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=r[i/32|0]&1<<31-i%32;o&&(e[0]^=n[0],e[1]^=n[1],e[2]^=n[2],e[3]^=n[3]),this.pow(n,n)}return e};Z.gcm.prototype.pow=function(r,t){for(var e=r[3]&1,n=3;n>0;--n)t[n]=r[n]>>>1|(r[n-1]&1)<<31;t[0]=r[0]>>>1,e&&(t[0]^=this._R)};Z.gcm.prototype.tableMultiply=function(r){for(var t=[0,0,0,0],e=0;e<32;++e){var n=e/8|0,i=r[n]>>>(7-e%8)*4&15,o=this._m[e][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};Z.gcm.prototype.ghash=function(r,t,e){return t[0]^=e[0],t[1]^=e[1],t[2]^=e[2],t[3]^=e[3],this.tableMultiply(t)};Z.gcm.prototype.generateHashTable=function(r,t){for(var e=8/t,n=4*e,i=16*e,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,l=(n-1-s%n)*t;a[c]=1<<t-1<<l,o[s]=this.generateSubHashTable(this.multiply(a,r),t)}return o};Z.gcm.prototype.generateSubHashTable=function(r,t){var e=1<<t,n=e>>>1,i=new Array(e);i[n]=r.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<e;++o){var l=i[o^n];i[o]=[r[0]^l[0],r[1]^l[1],r[2]^l[2],r[3]^l[3]]}return i};function Ka(r,t){if(typeof r=="string"&&(r=ie.util.createBuffer(r)),ie.util.isArray(r)&&r.length>4){var e=r;r=ie.util.createBuffer();for(var n=0;n<e.length;++n)r.putByte(e[n])}if(r.length()<t)throw new Error("Invalid IV length; got "+r.length()+" bytes and expected "+t+" bytes.");if(!ie.util.isArray(r)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(r.getInt32());r=i}return r}function Va(r){r[r.length-1]=r[r.length-1]+1&4294967295}function ef(r){return[r/4294967296|0,r&4294967295]}});var Ha=T((p8,vy)=>{var St=mt();tf();rf();$t();vy.exports=St.aes=St.aes||{};St.aes.startEncrypting=function(r,t,e,n){var i=qa({key:r,output:e,decrypt:!1,mode:n});return i.start(t),i};St.aes.createEncryptionCipher=function(r,t){return qa({key:r,output:null,decrypt:!1,mode:t})};St.aes.startDecrypting=function(r,t,e,n){var i=qa({key:r,output:e,decrypt:!0,mode:n});return i.start(t),i};St.aes.createDecryptionCipher=function(r,t){return qa({key:r,output:null,decrypt:!0,mode:t})};St.aes.Algorithm=function(r,t){sf||Ey();var e=this;e.name=r,e.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return of(e._w,n,i,!1)},decrypt:function(n,i){return of(e._w,n,i,!0)}}}),e._init=!1};St.aes.Algorithm.prototype.initialize=function(r){if(!this._init){var t=r.key,e;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=St.util.createBuffer(t);else if(St.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){e=t,t=St.util.createBuffer();for(var n=0;n<e.length;++n)t.putByte(e[n])}if(!St.util.isArray(t)){e=t,t=[];var i=e.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(e.getInt32())}}if(!St.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=xy(t,r.decrypt&&!s),this._init=!0}};St.aes._expandKey=function(r,t){return sf||Ey(),xy(r,t)};St.aes._updateBlock=of;Vi("AES-ECB",St.cipher.modes.ecb);Vi("AES-CBC",St.cipher.modes.cbc);Vi("AES-CFB",St.cipher.modes.cfb);Vi("AES-OFB",St.cipher.modes.ofb);Vi("AES-CTR",St.cipher.modes.ctr);Vi("AES-GCM",St.cipher.modes.gcm);function Vi(r,t){var e=function(){return new St.aes.Algorithm(r,t)};St.cipher.registerAlgorithm(r,e)}var sf=!1,Ki=4,fe,nf,wy,Yn,Ze;function Ey(){sf=!0,wy=[0,1,2,4,8,16,32,64,128,27,54];for(var r=new Array(256),t=0;t<128;++t)r[t]=t<<1,r[t+128]=t+128<<1^283;fe=new Array(256),nf=new Array(256),Yn=new Array(4),Ze=new Array(4);for(var t=0;t<4;++t)Yn[t]=new Array(256),Ze[t]=new Array(256);for(var e=0,n=0,i,o,s,a,c,l,u,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,fe[e]=a,nf[a]=e,c=r[a],i=r[e],o=r[i],s=r[o],l=c<<24^a<<16^a<<8^(a^c),u=(i^o^s)<<24^(e^s)<<16^(e^o^s)<<8^(e^i^s);for(var f=0;f<4;++f)Yn[f][e]=l,Ze[f][a]=u,l=l<<24|l>>>8,u=u<<24|u>>>8;e===0?e=n=1:(e=i^r[r[r[i^s]]],n^=r[r[n]])}}function xy(r,t){for(var e=r.slice(0),n,i=1,o=e.length,s=o+6+1,a=Ki*s,c=o;c<a;++c)n=e[c-1],c%o===0?(n=fe[n>>>16&255]<<24^fe[n>>>8&255]<<16^fe[n&255]<<8^fe[n>>>24]^wy[i]<<24,i++):o>6&&c%o===4&&(n=fe[n>>>24]<<24^fe[n>>>16&255]<<16^fe[n>>>8&255]<<8^fe[n&255]),e[c]=e[c-o]^n;if(t){var l,u=Ze[0],f=Ze[1],d=Ze[2],h=Ze[3],p=e.slice(0);a=e.length;for(var c=0,m=a-Ki;c<a;c+=Ki,m-=Ki)if(c===0||c===a-Ki)p[c]=e[m],p[c+1]=e[m+3],p[c+2]=e[m+2],p[c+3]=e[m+1];else for(var y=0;y<Ki;++y)l=e[m+y],p[c+(3&-y)]=u[fe[l>>>24]]^f[fe[l>>>16&255]]^d[fe[l>>>8&255]]^h[fe[l&255]];e=p}return e}function of(r,t,e,n){var i=r.length/4-1,o,s,a,c,l;n?(o=Ze[0],s=Ze[1],a=Ze[2],c=Ze[3],l=nf):(o=Yn[0],s=Yn[1],a=Yn[2],c=Yn[3],l=fe);var u,f,d,h,p,m,y;u=t[0]^r[0],f=t[n?3:1]^r[1],d=t[2]^r[2],h=t[n?1:3]^r[3];for(var g=3,E=1;E<i;++E)p=o[u>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[h&255]^r[++g],m=o[f>>>24]^s[d>>>16&255]^a[h>>>8&255]^c[u&255]^r[++g],y=o[d>>>24]^s[h>>>16&255]^a[u>>>8&255]^c[f&255]^r[++g],h=o[h>>>24]^s[u>>>16&255]^a[f>>>8&255]^c[d&255]^r[++g],u=p,f=m,d=y;e[0]=l[u>>>24]<<24^l[f>>>16&255]<<16^l[d>>>8&255]<<8^l[h&255]^r[++g],e[n?3:1]=l[f>>>24]<<24^l[d>>>16&255]<<16^l[h>>>8&255]<<8^l[u&255]^r[++g],e[2]=l[d>>>24]<<24^l[h>>>16&255]<<16^l[u>>>8&255]<<8^l[f&255]^r[++g],e[n?1:3]=l[h>>>24]<<24^l[u>>>16&255]<<16^l[f>>>8&255]<<8^l[d&255]^r[++g]}function qa(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="AES-"+t,n;r.decrypt?n=St.cipher.createDecipher(e,r.key):n=St.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof St.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Sy=T((m8,_y)=>{var Bt=mt();tf();rf();$t();_y.exports=Bt.des=Bt.des||{};Bt.des.startEncrypting=function(r,t,e,n){var i=$a({key:r,output:e,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createEncryptionCipher=function(r,t){return $a({key:r,output:null,decrypt:!1,mode:t})};Bt.des.startDecrypting=function(r,t,e,n){var i=$a({key:r,output:e,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};Bt.des.createDecryptionCipher=function(r,t){return $a({key:r,output:null,decrypt:!0,mode:t})};Bt.des.Algorithm=function(r,t){var e=this;e.name=r,e.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return by(e._keys,n,i,!1)},decrypt:function(n,i){return by(e._keys,n,i,!0)}}}),e._init=!1};Bt.des.Algorithm.prototype.initialize=function(r){if(!this._init){var t=Bt.util.createBuffer(r.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=Jb(t),this._init=!0}};pr("DES-ECB",Bt.cipher.modes.ecb);pr("DES-CBC",Bt.cipher.modes.cbc);pr("DES-CFB",Bt.cipher.modes.cfb);pr("DES-OFB",Bt.cipher.modes.ofb);pr("DES-CTR",Bt.cipher.modes.ctr);pr("3DES-ECB",Bt.cipher.modes.ecb);pr("3DES-CBC",Bt.cipher.modes.cbc);pr("3DES-CFB",Bt.cipher.modes.cfb);pr("3DES-OFB",Bt.cipher.modes.ofb);pr("3DES-CTR",Bt.cipher.modes.ctr);function pr(r,t){var e=function(){return new Bt.des.Algorithm(r,t)};Bt.cipher.registerAlgorithm(r,e)}var $b=[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],zb=[-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],Gb=[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],Yb=[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],Wb=[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],Qb=[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],Xb=[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],Zb=[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 Jb(r){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],e=[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],l=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],u=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],h=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=r.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,_,k=0;k<m;k++){var C=r.getInt32(),D=r.getInt32();_=(C>>>4^D)&252645135,D^=_,C^=_<<4,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>2^D)&858993459,D^=_,C^=_<<2,_=(D>>>-16^C)&65535,C^=_,D^=_<<-16,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=(D>>>8^C)&16711935,C^=_,D^=_<<8,_=(C>>>1^D)&1431655765,D^=_,C^=_<<1,_=C<<8|D>>>20&240,C=D<<24|D<<8&16711680|D>>>8&65280|D>>>24&240,D=_;for(var J=0;J<g.length;++J){g[J]?(C=C<<2|C>>>26,D=D<<2|D>>>26):(C=C<<1|C>>>27,D=D<<1|D>>>27),C&=-15,D&=-15;var rt=t[C>>>28]|e[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|o[C>>>12&15]|s[C>>>8&15]|a[C>>>4&15],Jt=c[D>>>28]|l[D>>>24&15]|u[D>>>20&15]|f[D>>>16&15]|d[D>>>12&15]|h[D>>>8&15]|p[D>>>4&15];_=(Jt>>>16^rt)&65535,y[E++]=rt^_,y[E++]=Jt^_<<16}}return y}function by(r,t,e,n){var i=r.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 l=0;l<i;l+=3){for(var u=o[l+1],f=o[l+2],d=o[l];d!=u;d+=f){var h=c^r[d],p=(c>>>4|c<<28)^r[d+1];s=a,a=c,c=s^(zb[h>>>24&63]|Yb[h>>>16&63]|Qb[h>>>8&63]|Zb[h&63]|$b[p>>>24&63]|Gb[p>>>16&63]|Wb[p>>>8&63]|Xb[p&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,e[0]=a,e[1]=c}function $a(r){r=r||{};var t=(r.mode||"CBC").toUpperCase(),e="DES-"+t,n;r.decrypt?n=Bt.cipher.createDecipher(e,r.key):n=Bt.cipher.createCipher(e,r.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Bt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Wn=T((y8,Ay)=>{var za=mt();Ay.exports=za.md=za.md||{};za.md.algorithms=za.md.algorithms||{}});var Iy=T((g8,Ry)=>{var Fr=mt();Wn();$t();var jb=Ry.exports=Fr.hmac=Fr.hmac||{};jb.create=function(){var r=null,t=null,e=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in Fr.md.algorithms)t=Fr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=r;else{if(typeof s=="string")s=Fr.util.createBuffer(s);else if(Fr.util.isArray(s)){var a=s;s=Fr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var l=s.length();l>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),e=Fr.util.createBuffer(),n=Fr.util.createBuffer(),l=s.length();for(var c=0;c<l;++c){var a=s.at(c);e.putByte(54^a),n.putByte(92^a)}if(l<t.blockLength)for(var a=t.blockLength-l,c=0;c<a;++c)e.putByte(54),n.putByte(92);r=s,e=e.bytes(),n=n.bytes()}t.start(),t.update(e)},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 af=T((w8,Ty)=>{var he=mt();Iy();Wn();$t();var t_=he.pkcs5=he.pkcs5||{},Kr;he.util.isNodejs&&!he.options.usePureJavaScript&&(Kr=Kn());Ty.exports=he.pbkdf2=t_.pbkdf2=function(r,t,e,n,i,o){if(typeof i=="function"&&(o=i,i=null),he.util.isNodejs&&!he.options.usePureJavaScript&&Kr.pbkdf2&&(i===null||typeof i!="object")&&(Kr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),r=Buffer.from(r,"binary"),t=Buffer.from(t,"binary"),o?Kr.pbkdf2Sync.length===4?Kr.pbkdf2(r,t,e,n,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Kr.pbkdf2(r,t,e,n,i,function(_,k){if(_)return o(_);o(null,k.toString("binary"))}):Kr.pbkdf2Sync.length===4?Kr.pbkdf2Sync(r,t,e,n).toString("binary"):Kr.pbkdf2Sync(r,t,e,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in he.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=he.md[i].create()}var 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),l=n-(c-1)*s,u=he.hmac.create();u.start(i,r);var f="",d,h,p;if(!o){for(var m=1;m<=c;++m){u.start(null,null),u.update(t),u.update(he.util.int32ToBytes(m)),d=p=u.digest().getBytes();for(var y=2;y<=e;++y)u.start(null,null),u.update(p),h=u.digest().getBytes(),d=he.util.xorBytes(d,h,s),p=h;f+=m<c?d:d.substr(0,l)}return f}var m=1,y;function g(){if(m>c)return o(null,f);u.start(null,null),u.update(t),u.update(he.util.int32ToBytes(m)),d=p=u.digest().getBytes(),y=2,E()}function E(){if(y<=e)return u.start(null,null),u.update(p),h=u.digest().getBytes(),d=he.util.xorBytes(d,h,s),p=h,++y,he.util.setImmediate(E);f+=m<c?d:d.substr(0,l),++m,g()}g()}});var Py=T((E8,Dy)=>{var Ya=mt();$t();var Cy=Dy.exports=Ya.pem=Ya.pem||{};Cy.encode=function(r,t){t=t||{};var e="-----BEGIN "+r.type+`-----\r
|
|
31
|
+
`,n;if(r.procType&&(n={name:"Proc-Type",values:[String(r.procType.version),r.procType.type]},e+=Ga(n)),r.contentDomain&&(n={name:"Content-Domain",values:[r.contentDomain]},e+=Ga(n)),r.dekInfo&&(n={name:"DEK-Info",values:[r.dekInfo.algorithm]},r.dekInfo.parameters&&n.values.push(r.dekInfo.parameters),e+=Ga(n)),r.headers)for(var i=0;i<r.headers.length;++i)e+=Ga(r.headers[i]);return r.procType&&(e+=`\r
|
|
32
|
+
`),e+=Ya.util.encode64(r.body,t.maxline||64)+`\r
|
|
33
33
|
`,e+="-----END "+r.type+`-----\r
|
|
34
|
-
`,e};Cy.decode=function(r){for(var t=[],e=/\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=e.exec(r),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:
|
|
34
|
+
`,e};Cy.decode=function(r){for(var t=[],e=/\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=e.exec(r),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Ya.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var c=o[2].split(i),l=0;o&&l<c.length;){for(var u=c[l].replace(/\s+$/,""),f=l+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;u+=d,l=f}if(o=u.match(n),o){for(var h={name:o[1],values:[]},p=o[2].split(","),m=0;m<p.length;++m)h.values.push(e_(p[m]));if(a.procType)if(!a.contentDomain&&h.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&h.name==="DEK-Info"){if(h.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(h);else{if(h.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(h.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++l}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 Ga(r){for(var t=r.name+": ",e=[],n=function(c,l){return" "+l},i=0;i<r.values.length;++i)e.push(r.values[i].replace(/^(\S+\r\n)/,n));t+=e.join(",")+`\r
|
|
35
35
|
`;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
|
|
36
36
|
`+t.substr(s)):t=t.substr(0,s)+`\r
|
|
37
|
-
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function e_(r){return r.replace(/^\s+/,"")}});var My=T((S8,ky)=>{var yr=mt();Yn();$t();var By=ky.exports=yr.sha256=yr.sha256||{};yr.md.sha256=yr.md.algorithms.sha256=By;By.create=function(){Ny||r_();var r=null,t=yr.util.createBuffer(),e=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=yr.util.createBuffer(),r={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=yr.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),Ly(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=yr.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(cf.substr(0,n.blockLength-s));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4,h5:r.h5,h6:r.h6,h7:r.h7};Ly(f,e,i);var d=yr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var cf=null,Ny=!1,Oy=null;function r_(){cf=String.fromCharCode(128),cf+=yr.util.fillString(String.fromCharCode(0),64),Oy=[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],Ny=!0}function Ly(r,t,e){for(var n,i,o,s,a,c,l,u,f,d,h,p,m,y,g,E=e.length();E>=64;){for(l=0;l<16;++l)t[l]=e.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[l]=n+t[l-7]+i+t[l-16]|0;for(u=r.h0,f=r.h1,d=r.h2,h=r.h3,p=r.h4,m=r.h5,y=r.h6,g=r.h7,l=0;l<64;++l)s=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&f|d&(u^f),n=g+s+a+Oy[l]+t[l],i=o+c,g=y,y=m,m=p,p=h+n>>>0,h=d,d=f,f=u,u=n+i>>>0;r.h0=r.h0+u|0,r.h1=r.h1+f|0,r.h2=r.h2+d|0,r.h3=r.h3+h|0,r.h4=r.h4+p|0,r.h5=r.h5+m|0,r.h6=r.h6+y|0,r.h7=r.h7+g|0,E-=64}}});var Fy=T((A8,Uy)=>{var gr=mt();$t();var Qa=null;gr.util.isNodejs&&!gr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Qa=Fn());var n_=Uy.exports=gr.prng=gr.prng||{};n_.create=function(r){for(var t={plugin:r,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},e=r.md,n=new Array(32),i=0;i<32;++i)n[i]=e.create();t.pools=n,t.pool=0,t.generate=function(l,u){if(!u)return t.generateSync(l);var f=t.plugin.cipher,d=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed,m=gr.util.createBuffer();t.key=null,y();function y(g){if(g)return u(g);if(m.length()>=l)return u(null,m.getBytes(l));if(t.generated>1048575&&(t.key=null),t.key===null)return gr.util.nextTick(function(){o(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=h(f(t.key,d(t.seed))),t.seed=p(f(t.key,t.seed)),gr.util.setImmediate(y)}},t.generateSync=function(l){var u=t.plugin.cipher,f=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed;t.key=null;for(var p=gr.util.createBuffer();p.length()<l;){t.generated>1048575&&(t.key=null),t.key===null&&s();var m=u(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=d(u(t.key,f(t.seed))),t.seed=h(u(t.key,t.seed))}return p.getBytes(l)};function o(l){if(t.pools[0].messageLength>=32)return a(),l();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(f,d){if(f)return l(f);t.collect(d),a(),l()})}function s(){if(t.pools[0].messageLength>=32)return a();var l=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(l)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var l=t.plugin.md.create();l.update(t.keyBytes);for(var u=1,f=0;f<32;++f)t.reseeds%u===0&&(l.update(t.pools[f].digest().getBytes()),t.pools[f].start()),u=u<<1;t.keyBytes=l.digest().getBytes(),l.start(),l.update(t.keyBytes);var d=l.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(l){var u=null,f=gr.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(u=function(C){return d.getRandomValues(C)});var h=gr.util.createBuffer();if(u)for(;h.length()<l;){var p=Math.max(1,Math.min(l-h.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{u(m);for(var y=0;y<m.length;++y)h.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(h.length()<l)for(var g,E,_,k=Math.floor(Math.random()*65536);h.length()<l;){E=16807*(k&65535),g=16807*(k>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),k=E&4294967295;for(var y=0;y<3;++y)_=k>>>(y<<3),_^=Math.floor(Math.random()*256),h.putByte(_&255)}return h.getBytes(l)}return Qa?(t.seedFile=function(l,u){Qa.randomBytes(l,function(f,d){if(f)return u(f);u(null,d.toString())})},t.seedFileSync=function(l){return Qa.randomBytes(l).toString()}):(t.seedFile=function(l,u){try{u(null,c(l))}catch(f){u(f)}},t.seedFileSync=c),t.collect=function(l){for(var u=l.length,f=0;f<u;++f)t.pools[t.pool].update(l.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(l,u){for(var f="",d=0;d<u;d+=8)f+=String.fromCharCode(l>>d&255);t.collect(f)},t.registerWorker=function(l){if(l===self)t.seedFile=function(f,d){function h(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",h),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",h),self.postMessage({forge:{prng:{needed:f}}})};else{var u=function(f){var d=f.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(h,p){l.postMessage({forge:{prng:{err:h,bytes:p}}})})};l.addEventListener("message",u)}},t}});var qo=T((R8,lf)=>{var oe=mt();$a();My();Fy();$t();(function(){if(oe.random&&oe.random.getBytes){lf.exports=oe.random;return}(function(r){var t={},e=new Array(4),n=oe.util.createBuffer();t.formatKey=function(f){var d=oe.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),oe.aes._expandKey(f,!1)},t.formatSeed=function(f){var d=oe.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},t.cipher=function(f,d){return oe.aes._updateBlock(f,d,e,!1),n.putInt32(e[0]),n.putInt32(e[1]),n.putInt32(e[2]),n.putInt32(e[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=oe.md.sha256;function i(){var f=oe.prng.create(t);return f.getBytes=function(d,h){return f.generate(d,h)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=oe.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),oe.options.usePureJavaScript||!oe.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var u in navigator)try{typeof navigator[u]=="string"&&(l+=navigator[u])}catch{}o.collect(l),l=null}r&&(r().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),r().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!oe.random)oe.random=o;else for(var u in o)oe.random[u]=o[u];oe.random.createInstance=i,lf.exports=oe.random})(typeof jQuery<"u"?jQuery:null)})()});var Hy=T((I8,qy)=>{var ye=mt();$t();var uf=[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],Ky=[1,2,3,5],i_=function(r,t){return r<<t&65535|(r&65535)>>16-t},o_=function(r,t){return(r&65535)>>t|r<<16-t&65535};qy.exports=ye.rc2=ye.rc2||{};ye.rc2.expandKey=function(r,t){typeof r=="string"&&(r=ye.util.createBuffer(r)),t=t||128;var e=r,n=r.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)e.putByte(uf[e.at(a-1)+e.at(a-n)&255]);for(e.setAt(128-o,uf[e.at(128-o)&s]),a=127-o;a>=0;a--)e.setAt(a,uf[e.at(a+1)^e.at(a+o)]);return e};var Vy=function(r,t,e){var n=!1,i=null,o=null,s=null,a,c,l,u,f=[];for(r=ye.rc2.expandKey(r,t),l=0;l<64;l++)f.push(r.getInt16Le());e?(a=function(p){for(l=0;l<4;l++)p[l]+=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),p[l]=i_(p[l],Ky[l]),u++},c=function(p){for(l=0;l<4;l++)p[l]+=f[p[(l+3)%4]&63]}):(a=function(p){for(l=3;l>=0;l--)p[l]=o_(p[l],Ky[l]),p[l]-=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),u--},c=function(p){for(l=3;l>=0;l--)p[l]-=f[p[(l+3)%4]&63]});var d=function(p){var m=[];for(l=0;l<4;l++){var y=i.getInt16Le();s!==null&&(e?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}u=e?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(l=0;l<4;l++)s!==null&&(e?s.putInt16Le(m[l]):m[l]^=s.getInt16Le()),o.putInt16Le(m[l])},h=null;return h={start:function(p,m){p&&typeof p=="string"&&(p=ye.util.createBuffer(p)),n=!1,i=ye.util.createBuffer(),o=m||new ye.util.createBuffer,s=p,h.output=o},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(e)if(p)m=p(8,i,!e);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,h.update()),!e&&(m=i.length()===0,m))if(p)m=p(8,o,!e);else{var g=o.length(),E=o.at(g-1);E>g?m=!1:o.truncate(E)}return m}},h};ye.rc2.startEncrypting=function(r,t,e){var n=ye.rc2.createEncryptionCipher(r,128);return n.start(t,e),n};ye.rc2.createEncryptionCipher=function(r,t){return Vy(r,t,!0)};ye.rc2.startDecrypting=function(r,t,e){var n=ye.rc2.createDecryptionCipher(r,128);return n.start(t,e),n};ye.rc2.createDecryptionCipher=function(r,t){return Vy(r,t,!1)}});var Ja=T((T8,Zy)=>{var ff=mt();Zy.exports=ff.jsbn=ff.jsbn||{};var Vr,s_=0xdeadbeefcafe,$y=(s_&16777215)==15715070;function A(r,t,e){this.data=[],r!=null&&(typeof r=="number"?this.fromNumber(r,t,e):t==null&&typeof r!="string"?this.fromString(r,256):this.fromString(r,t))}ff.jsbn.BigInteger=A;function ct(){return new A(null)}function a_(r,t,e,n,i,o){for(;--o>=0;){var s=t*this.data[r++]+e.data[n]+i;i=Math.floor(s/67108864),e.data[n++]=s&67108863}return i}function c_(r,t,e,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[r]&32767,l=this.data[r++]>>15,u=a*c+l*s;c=s*c+((u&32767)<<15)+e.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*l+(i>>>30),e.data[n++]=c&1073741823}return i}function zy(r,t,e,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[r]&16383,l=this.data[r++]>>14,u=a*c+l*s;c=s*c+((u&16383)<<14)+e.data[n]+i,i=(c>>28)+(u>>14)+a*l,e.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=zy,Vr=28):$y&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=c_,Vr=30):$y&&navigator.appName!="Netscape"?(A.prototype.am=a_,Vr=26):(A.prototype.am=zy,Vr=28);A.prototype.DB=Vr;A.prototype.DM=(1<<Vr)-1;A.prototype.DV=1<<Vr;var hf=52;A.prototype.FV=Math.pow(2,hf);A.prototype.F1=hf-Vr;A.prototype.F2=2*Vr-hf;var l_="0123456789abcdefghijklmnopqrstuvwxyz",Xa=new Array,Vi,Fe;Vi="0".charCodeAt(0);for(Fe=0;Fe<=9;++Fe)Xa[Vi++]=Fe;Vi="a".charCodeAt(0);for(Fe=10;Fe<36;++Fe)Xa[Vi++]=Fe;Vi="A".charCodeAt(0);for(Fe=10;Fe<36;++Fe)Xa[Vi++]=Fe;function Gy(r){return l_.charAt(r)}function Yy(r,t){var e=Xa[r.charCodeAt(t)];return e??-1}function u_(r){for(var t=this.t-1;t>=0;--t)r.data[t]=this.data[t];r.t=this.t,r.s=this.s}function f_(r){this.t=1,this.s=r<0?-1:0,r>0?this.data[0]=r:r<-1?this.data[0]=r+this.DV:this.t=0}function dn(r){var t=ct();return t.fromInt(r),t}function h_(r,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(r,t);return}this.t=0,this.s=0;for(var n=r.length,i=!1,o=0;--n>=0;){var s=e==8?r[n]&255:Yy(r,n);if(s<0){r.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+e>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+=e,o>=this.DB&&(o-=this.DB)}e==8&&r[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function d_(){for(var r=this.s&this.DM;this.t>0&&this.data[this.t-1]==r;)--this.t}function p_(r){if(this.s<0)return"-"+this.negate().toString(r);var t;if(r==16)t=4;else if(r==8)t=3;else if(r==2)t=1;else if(r==32)t=5;else if(r==4)t=2;else return this.toRadix(r);var e=(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=Gy(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)&e,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Gy(n));return i?o:"0"}function m_(){var r=ct();return A.ZERO.subTo(this,r),r}function y_(){return this.s<0?this.negate():this}function g_(r){var t=this.s-r.s;if(t!=0)return t;var e=this.t;if(t=e-r.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this.data[e]-r.data[e])!=0)return t;return 0}function Za(r){var t=1,e;return(e=r>>>16)!=0&&(r=e,t+=16),(e=r>>8)!=0&&(r=e,t+=8),(e=r>>4)!=0&&(r=e,t+=4),(e=r>>2)!=0&&(r=e,t+=2),(e=r>>1)!=0&&(r=e,t+=1),t}function w_(){return this.t<=0?0:this.DB*(this.t-1)+Za(this.data[this.t-1]^this.s&this.DM)}function E_(r,t){var e;for(e=this.t-1;e>=0;--e)t.data[e+r]=this.data[e];for(e=r-1;e>=0;--e)t.data[e]=0;t.t=this.t+r,t.s=this.s}function x_(r,t){for(var e=r;e<this.t;++e)t.data[e-r]=this.data[e];t.t=Math.max(this.t-r,0),t.s=this.s}function v_(r,t){var e=r%this.DB,n=this.DB-e,i=(1<<n)-1,o=Math.floor(r/this.DB),s=this.s<<e&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)<<e;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 b_(r,t){t.s=this.s;var e=Math.floor(r/this.DB);if(e>=this.t){t.t=0;return}var n=r%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[e]>>n;for(var s=e+1;s<this.t;++s)t.data[s-e-1]|=(this.data[s]&o)<<i,t.data[s-e]=this.data[s]>>n;n>0&&(t.data[this.t-e-1]|=(this.s&o)<<i),t.t=this.t-e,t.clamp()}function __(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]-r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n-=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n-=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n-=r.s}t.s=n<0?-1:0,n<-1?t.data[e++]=this.DV+n:n>0&&(t.data[e++]=n),t.t=e,t.clamp()}function S_(r,t){var e=this.abs(),n=r.abs(),i=e.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+e.t]=e.am(0,n.data[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=r.s&&A.ZERO.subTo(t,t)}function A_(r){for(var t=this.abs(),e=r.t=2*t.t;--e>=0;)r.data[e]=0;for(e=0;e<t.t-1;++e){var n=t.am(e,t.data[e],r,2*e,0,1);(r.data[e+t.t]+=t.am(e+1,2*t.data[e],r,2*e+1,n,t.t-e-1))>=t.DV&&(r.data[e+t.t]-=t.DV,r.data[e+t.t+1]=1)}r.t>0&&(r.data[r.t-1]+=t.am(e,t.data[e],r,2*e,0,1)),r.s=0,r.clamp()}function R_(r,t,e){var n=r.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=ct());var o=ct(),s=this.s,a=r.s,c=this.DB-Za(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,e)):(n.copyTo(o),i.copyTo(e));var l=o.t,u=o.data[l-1];if(u!=0){var f=u*(1<<this.F1)+(l>1?o.data[l-2]>>this.F2:0),d=this.FV/f,h=(1<<this.F1)/f,p=1<<this.F2,m=e.t,y=m-l,g=t??ct();for(o.dlShiftTo(y,g),e.compareTo(g)>=0&&(e.data[e.t++]=1,e.subTo(g,e)),A.ONE.dlShiftTo(l,g),g.subTo(o,o);o.t<l;)o.data[o.t++]=0;for(;--y>=0;){var E=e.data[--m]==u?this.DM:Math.floor(e.data[m]*d+(e.data[m-1]+p)*h);if((e.data[m]+=o.am(0,E,e,y,0,l))<E)for(o.dlShiftTo(y,g),e.subTo(g,e);e.data[m]<--E;)e.subTo(g,e)}t!=null&&(e.drShiftTo(l,t),s!=a&&A.ZERO.subTo(t,t)),e.t=l,e.clamp(),c>0&&e.rShiftTo(c,e),s<0&&A.ZERO.subTo(e,e)}}}function I_(r){var t=ct();return this.abs().divRemTo(r,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&r.subTo(t,t),t}function Wn(r){this.m=r}function T_(r){return r.s<0||r.compareTo(this.m)>=0?r.mod(this.m):r}function C_(r){return r}function D_(r){r.divRemTo(this.m,null,r)}function P_(r,t,e){r.multiplyTo(t,e),this.reduce(e)}function L_(r,t){r.squareTo(t),this.reduce(t)}Wn.prototype.convert=T_;Wn.prototype.revert=C_;Wn.prototype.reduce=D_;Wn.prototype.mulTo=P_;Wn.prototype.sqrTo=L_;function B_(){if(this.t<1)return 0;var r=this.data[0];if(!(r&1))return 0;var t=r&3;return t=t*(2-(r&15)*t)&15,t=t*(2-(r&255)*t)&255,t=t*(2-((r&65535)*t&65535))&65535,t=t*(2-r*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Qn(r){this.m=r,this.mp=r.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<r.DB-15)-1,this.mt2=2*r.t}function N_(r){var t=ct();return r.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),r.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function O_(r){var t=ct();return r.copyTo(t),this.reduce(t),t}function k_(r){for(;r.t<=this.mt2;)r.data[r.t++]=0;for(var t=0;t<this.m.t;++t){var e=r.data[t]&32767,n=e*this.mpl+((e*this.mph+(r.data[t]>>15)*this.mpl&this.um)<<15)&r.DM;for(e=t+this.m.t,r.data[e]+=this.m.am(0,n,r,t,0,this.m.t);r.data[e]>=r.DV;)r.data[e]-=r.DV,r.data[++e]++}r.clamp(),r.drShiftTo(this.m.t,r),r.compareTo(this.m)>=0&&r.subTo(this.m,r)}function M_(r,t){r.squareTo(t),this.reduce(t)}function U_(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Qn.prototype.convert=N_;Qn.prototype.revert=O_;Qn.prototype.reduce=k_;Qn.prototype.mulTo=U_;Qn.prototype.sqrTo=M_;function F_(){return(this.t>0?this.data[0]&1:this.s)==0}function K_(r,t){if(r>4294967295||r<1)return A.ONE;var e=ct(),n=ct(),i=t.convert(this),o=Za(r)-1;for(i.copyTo(e);--o>=0;)if(t.sqrTo(e,n),(r&1<<o)>0)t.mulTo(n,i,e);else{var s=e;e=n,n=s}return t.revert(e)}function V_(r,t){var e;return r<256||t.isEven()?e=new Wn(t):e=new Qn(t),this.exp(r,e)}A.prototype.copyTo=u_;A.prototype.fromInt=f_;A.prototype.fromString=h_;A.prototype.clamp=d_;A.prototype.dlShiftTo=E_;A.prototype.drShiftTo=x_;A.prototype.lShiftTo=v_;A.prototype.rShiftTo=b_;A.prototype.subTo=__;A.prototype.multiplyTo=S_;A.prototype.squareTo=A_;A.prototype.divRemTo=R_;A.prototype.invDigit=B_;A.prototype.isEven=F_;A.prototype.exp=K_;A.prototype.toString=p_;A.prototype.negate=m_;A.prototype.abs=y_;A.prototype.compareTo=g_;A.prototype.bitLength=w_;A.prototype.mod=I_;A.prototype.modPowInt=V_;A.ZERO=dn(0);A.ONE=dn(1);function q_(){var r=ct();return this.copyTo(r),r}function H_(){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 $_(){return this.t==0?this.s:this.data[0]<<24>>24}function z_(){return this.t==0?this.s:this.data[0]<<16>>16}function G_(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function Y_(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function W_(r){if(r==null&&(r=10),this.signum()==0||r<2||r>36)return"0";var t=this.chunkSize(r),e=Math.pow(r,t),n=dn(e),i=ct(),o=ct(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(e+o.intValue()).toString(r).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(r)+s}function Q_(r,t){this.fromInt(0),t==null&&(t=10);for(var e=this.chunkSize(t),n=Math.pow(t,e),i=!1,o=0,s=0,a=0;a<r.length;++a){var c=Yy(r,a);if(c<0){r.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=e&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function X_(r,t,e){if(typeof t=="number")if(r<2)this.fromInt(1);else for(this.fromNumber(r,e),this.testBit(r-1)||this.bitwiseTo(A.ONE.shiftLeft(r-1),df,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>r&&this.subTo(A.ONE.shiftLeft(r-1),this);else{var n=new Array,i=r&7;n.length=(r>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Z_(){var r=this.t,t=new Array;t[0]=this.s;var e=this.DB-r*this.DB%8,n,i=0;if(r-- >0)for(e<this.DB&&(n=this.data[r]>>e)!=(this.s&this.DM)>>e&&(t[i++]=n|this.s<<this.DB-e);r>=0;)e<8?(n=(this.data[r]&(1<<e)-1)<<8-e,n|=this.data[--r]>>(e+=this.DB-8)):(n=this.data[r]>>(e-=8)&255,e<=0&&(e+=this.DB,--r)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function J_(r){return this.compareTo(r)==0}function j_(r){return this.compareTo(r)<0?this:r}function tS(r){return this.compareTo(r)>0?this:r}function eS(r,t,e){var n,i,o=Math.min(r.t,this.t);for(n=0;n<o;++n)e.data[n]=t(this.data[n],r.data[n]);if(r.t<this.t){for(i=r.s&this.DM,n=o;n<this.t;++n)e.data[n]=t(this.data[n],i);e.t=this.t}else{for(i=this.s&this.DM,n=o;n<r.t;++n)e.data[n]=t(i,r.data[n]);e.t=r.t}e.s=t(this.s,r.s),e.clamp()}function rS(r,t){return r&t}function nS(r){var t=ct();return this.bitwiseTo(r,rS,t),t}function df(r,t){return r|t}function iS(r){var t=ct();return this.bitwiseTo(r,df,t),t}function Wy(r,t){return r^t}function oS(r){var t=ct();return this.bitwiseTo(r,Wy,t),t}function Qy(r,t){return r&~t}function sS(r){var t=ct();return this.bitwiseTo(r,Qy,t),t}function aS(){for(var r=ct(),t=0;t<this.t;++t)r.data[t]=this.DM&~this.data[t];return r.t=this.t,r.s=~this.s,r}function cS(r){var t=ct();return r<0?this.rShiftTo(-r,t):this.lShiftTo(r,t),t}function lS(r){var t=ct();return r<0?this.lShiftTo(-r,t):this.rShiftTo(r,t),t}function uS(r){if(r==0)return-1;var t=0;return r&65535||(r>>=16,t+=16),r&255||(r>>=8,t+=8),r&15||(r>>=4,t+=4),r&3||(r>>=2,t+=2),r&1||++t,t}function fS(){for(var r=0;r<this.t;++r)if(this.data[r]!=0)return r*this.DB+uS(this.data[r]);return this.s<0?this.t*this.DB:-1}function hS(r){for(var t=0;r!=0;)r&=r-1,++t;return t}function dS(){for(var r=0,t=this.s&this.DM,e=0;e<this.t;++e)r+=hS(this.data[e]^t);return r}function pS(r){var t=Math.floor(r/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<r%this.DB)!=0}function mS(r,t){var e=A.ONE.shiftLeft(r);return this.bitwiseTo(e,t,e),e}function yS(r){return this.changeBit(r,df)}function gS(r){return this.changeBit(r,Qy)}function wS(r){return this.changeBit(r,Wy)}function ES(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]+r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n+=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n+=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=r.s}t.s=n<0?-1:0,n>0?t.data[e++]=n:n<-1&&(t.data[e++]=this.DV+n),t.t=e,t.clamp()}function xS(r){var t=ct();return this.addTo(r,t),t}function vS(r){var t=ct();return this.subTo(r,t),t}function bS(r){var t=ct();return this.multiplyTo(r,t),t}function _S(r){var t=ct();return this.divRemTo(r,t,null),t}function SS(r){var t=ct();return this.divRemTo(r,null,t),t}function AS(r){var t=ct(),e=ct();return this.divRemTo(r,t,e),new Array(t,e)}function RS(r){this.data[this.t]=this.am(0,r-1,this,0,0,this.t),++this.t,this.clamp()}function IS(r,t){if(r!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=r;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Ho(){}function Xy(r){return r}function TS(r,t,e){r.multiplyTo(t,e)}function CS(r,t){r.squareTo(t)}Ho.prototype.convert=Xy;Ho.prototype.revert=Xy;Ho.prototype.mulTo=TS;Ho.prototype.sqrTo=CS;function DS(r){return this.exp(r,new Ho)}function PS(r,t,e){var n=Math.min(this.t+r.t,t);for(e.s=0,e.t=n;n>0;)e.data[--n]=0;var i;for(i=e.t-this.t;n<i;++n)e.data[n+this.t]=this.am(0,r.data[n],e,n,0,this.t);for(i=Math.min(r.t,t);n<i;++n)this.am(0,r.data[n],e,n,0,t-n);e.clamp()}function LS(r,t,e){--t;var n=e.t=this.t+r.t-t;for(e.s=0;--n>=0;)e.data[n]=0;for(n=Math.max(t-this.t,0);n<r.t;++n)e.data[this.t+n-t]=this.am(t-n,r.data[n],e,0,0,this.t+n-t);e.clamp(),e.drShiftTo(1,e)}function qi(r){this.r2=ct(),this.q3=ct(),A.ONE.dlShiftTo(2*r.t,this.r2),this.mu=this.r2.divide(r),this.m=r}function BS(r){if(r.s<0||r.t>2*this.m.t)return r.mod(this.m);if(r.compareTo(this.m)<0)return r;var t=ct();return r.copyTo(t),this.reduce(t),t}function NS(r){return r}function OS(r){for(r.drShiftTo(this.m.t-1,this.r2),r.t>this.m.t+1&&(r.t=this.m.t+1,r.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);r.compareTo(this.r2)<0;)r.dAddOffset(1,this.m.t+1);for(r.subTo(this.r2,r);r.compareTo(this.m)>=0;)r.subTo(this.m,r)}function kS(r,t){r.squareTo(t),this.reduce(t)}function MS(r,t,e){r.multiplyTo(t,e),this.reduce(e)}qi.prototype.convert=BS;qi.prototype.revert=NS;qi.prototype.reduce=OS;qi.prototype.mulTo=MS;qi.prototype.sqrTo=kS;function US(r,t){var e=r.bitLength(),n,i=dn(1),o;if(e<=0)return i;e<18?n=1:e<48?n=3:e<144?n=4:e<768?n=5:n=6,e<8?o=new Wn(t):t.isEven()?o=new qi(t):o=new Qn(t);var s=new Array,a=3,c=n-1,l=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=ct();for(o.sqrTo(s[1],u);a<=l;)s[a]=ct(),o.mulTo(u,s[a-2],s[a]),a+=2}var f=r.t-1,d,h=!0,p=ct(),m;for(e=Za(r.data[f])-1;f>=0;){for(e>=c?d=r.data[f]>>e-c&l:(d=(r.data[f]&(1<<e+1)-1)<<c-e,f>0&&(d|=r.data[f-1]>>this.DB+e-c)),a=n;!(d&1);)d>>=1,--a;if((e-=a)<0&&(e+=this.DB,--f),h)s[d].copyTo(i),h=!1;else{for(;a>1;)o.sqrTo(i,p),o.sqrTo(p,i),a-=2;a>0?o.sqrTo(i,p):(m=i,i=p,p=m),o.mulTo(p,s[d],i)}for(;f>=0&&!(r.data[f]&1<<e);)o.sqrTo(i,p),m=i,i=p,p=m,--e<0&&(e=this.DB-1,--f)}return o.revert(i)}function FS(r){var t=this.s<0?this.negate():this.clone(),e=r.s<0?r.negate():r.clone();if(t.compareTo(e)<0){var n=t;t=e,e=n}var i=t.getLowestSetBit(),o=e.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),e.rShiftTo(o,e));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),t.compareTo(e)>=0?(t.subTo(e,t),t.rShiftTo(1,t)):(e.subTo(t,e),e.rShiftTo(1,e));return o>0&&e.lShiftTo(o,e),e}function KS(r){if(r<=0)return 0;var t=this.DV%r,e=this.s<0?r-1:0;if(this.t>0)if(t==0)e=this.data[0]%r;else for(var n=this.t-1;n>=0;--n)e=(t*e+this.data[n])%r;return e}function VS(r){var t=r.isEven();if(this.isEven()&&t||r.signum()==0)return A.ZERO;for(var e=r.clone(),n=this.clone(),i=dn(1),o=dn(0),s=dn(0),a=dn(1);e.signum()!=0;){for(;e.isEven();)e.rShiftTo(1,e),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(r,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(r,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(r,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(r,a),a.rShiftTo(1,a);e.compareTo(n)>=0?(e.subTo(n,e),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(e,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(r)>=0)return a.subtract(r);if(a.signum()<0)a.addTo(r,a);else return a;return a.signum()<0?a.add(r):a}var je=[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],qS=(1<<26)/je[je.length-1];function HS(r){var t,e=this.abs();if(e.t==1&&e.data[0]<=je[je.length-1]){for(t=0;t<je.length;++t)if(e.data[0]==je[t])return!0;return!1}if(e.isEven())return!1;for(t=1;t<je.length;){for(var n=je[t],i=t+1;i<je.length&&n<qS;)n*=je[i++];for(n=e.modInt(n);t<i;)if(n%je[t++]==0)return!1}return e.millerRabin(r)}function $S(r){var t=this.subtract(A.ONE),e=t.getLowestSetBit();if(e<=0)return!1;for(var n=t.shiftRight(e),i=zS(),o,s=0;s<r;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<e&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function zS(){return{nextBytes:function(r){for(var t=0;t<r.length;++t)r[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=G_;A.prototype.toRadix=W_;A.prototype.fromRadix=Q_;A.prototype.fromNumber=X_;A.prototype.bitwiseTo=eS;A.prototype.changeBit=mS;A.prototype.addTo=ES;A.prototype.dMultiply=RS;A.prototype.dAddOffset=IS;A.prototype.multiplyLowerTo=PS;A.prototype.multiplyUpperTo=LS;A.prototype.modInt=KS;A.prototype.millerRabin=$S;A.prototype.clone=q_;A.prototype.intValue=H_;A.prototype.byteValue=$_;A.prototype.shortValue=z_;A.prototype.signum=Y_;A.prototype.toByteArray=Z_;A.prototype.equals=J_;A.prototype.min=j_;A.prototype.max=tS;A.prototype.and=nS;A.prototype.or=iS;A.prototype.xor=oS;A.prototype.andNot=sS;A.prototype.not=aS;A.prototype.shiftLeft=cS;A.prototype.shiftRight=lS;A.prototype.getLowestSetBit=fS;A.prototype.bitCount=dS;A.prototype.testBit=pS;A.prototype.setBit=yS;A.prototype.clearBit=gS;A.prototype.flipBit=wS;A.prototype.add=xS;A.prototype.subtract=vS;A.prototype.multiply=bS;A.prototype.divide=_S;A.prototype.remainder=SS;A.prototype.divideAndRemainder=AS;A.prototype.modPow=US;A.prototype.modInverse=VS;A.prototype.pow=DS;A.prototype.gcd=FS;A.prototype.isProbablePrime=HS});var rg=T((C8,eg)=>{var wr=mt();Yn();$t();var jy=eg.exports=wr.sha1=wr.sha1||{};wr.md.sha1=wr.md.algorithms.sha1=jy;jy.create=function(){tg||GS();var r=null,t=wr.util.createBuffer(),e=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=wr.util.createBuffer(),r={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=wr.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),Jy(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=wr.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(pf.substr(0,n.blockLength-s));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4};Jy(f,e,i);var d=wr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var pf=null,tg=!1;function GS(){pf=String.fromCharCode(128),pf+=wr.util.fillString(String.fromCharCode(0),64),tg=!0}function Jy(r,t,e){for(var n,i,o,s,a,c,l,u,f=e.length();f>=64;){for(i=r.h0,o=r.h1,s=r.h2,a=r.h3,c=r.h4,u=0;u<16;++u)n=e.getInt32(),t[u]=n,l=a^o&(s^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=a^o&(s^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o&s|a&(o^s),n=(i<<5|i>>>27)+l+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;r.h0=r.h0+i|0,r.h1=r.h1+o|0,r.h2=r.h2+s|0,r.h3=r.h3+a|0,r.h4=r.h4+c|0,f-=64}}});var og=T((D8,ig)=>{var Er=mt();$t();qo();rg();var ng=ig.exports=Er.pkcs1=Er.pkcs1||{};ng.encode_rsa_oaep=function(r,t,e){var n,i,o,s;typeof e=="string"?(n=e,i=arguments[3]||void 0,o=arguments[4]||void 0):e&&(n=e.label||void 0,i=e.seed||void 0,o=e.md||void 0,e.mgf1&&e.mgf1.md&&(s=e.mgf1.md)),o?o.start():o=Er.md.sha1.create(),s||(s=o);var a=Math.ceil(r.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=t.length,l.maxLength=c,l}n||(n=""),o.update(n,"raw");for(var u=o.digest(),f="",d=c-t.length,h=0;h<d;h++)f+="\0";var p=u.getBytes()+f+""+t;if(!i)i=Er.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=o.digestLength,l}var m=ja(i,a-o.digestLength-1,s),y=Er.util.xorBytes(p,m,p.length),g=ja(y,o.digestLength,s),E=Er.util.xorBytes(i,g,i.length);return"\0"+E+y};ng.decode_rsa_oaep=function(r,t,e){var n,i,o;typeof e=="string"?(n=e,i=arguments[3]||void 0):e&&(n=e.label||void 0,i=e.md||void 0,e.mgf1&&e.mgf1.md&&(o=e.mgf1.md));var s=Math.ceil(r.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=Er.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),l=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),f=ja(u,i.digestLength,o),d=Er.util.xorBytes(l,f,l.length),h=ja(d,s-i.digestLength-1,o),p=Er.util.xorBytes(u,h,u.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,_=i.digestLength,k=i.digestLength;k<p.length;k++){var C=p.charCodeAt(k),D=C&1^1,J=E?65534:0;y|=C&J,E=E&D,_+=E}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function ja(r,t,e){e||(e=Er.md.sha1.create());for(var n="",i=Math.ceil(t/e.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);e.start(),e.update(r+s),n+=e.digest().getBytes()}return n.substring(0,t)}});var sg=T((P8,mf)=>{var pn=mt();$t();Ja();qo();(function(){if(pn.prime){mf.exports=pn.prime;return}var r=mf.exports=pn.prime=pn.prime||{},t=pn.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,d){return f|d};r.generateProbablePrime=function(f,d,h){typeof d=="function"&&(h=d,d={}),d=d||{};var p=d.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=d.prng||pn.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=E.charCodeAt(_)}};if(p.name==="PRIMEINC")return o(f,y,p.options,h);throw new Error("Invalid prime generation algorithm: "+p.name)};function o(f,d,h,p){return"workers"in h?c(f,d,h,p):s(f,d,h,p)}function s(f,d,h,p){var m=l(f,d),y=0,g=u(m.bitLength());"millerRabinTests"in h&&(g=h.millerRabinTests);var E=10;"maxBlockTime"in h&&(E=h.maxBlockTime),a(m,f,d,y,g,E,p)}function a(f,d,h,p,m,y,g){var E=+new Date;do{if(f.bitLength()>d&&(f=l(d,h)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(e[p++%8],0)}while(y<0||+new Date-E<y);pn.util.setImmediate(function(){a(f,d,h,p,m,y,g)})}function c(f,d,h,p){if(typeof Worker>"u")return s(f,d,h,p);var m=l(f,d),y=h.workers,g=h.workLoad||100,E=g*30/8,_=h.workerScript||"forge/prime.worker.js";if(y===-1)return pn.util.estimateCores(function(C,D){C&&(D=2),y=D-1,k()});k();function k(){y=Math.max(1,y);for(var C=[],D=0;D<y;++D)C[D]=new Worker(_);for(var J=y,D=0;D<y;++D)C[D].addEventListener("message",Jt);var rt=!1;function Jt(ze){if(!rt){--J;var Ee=ze.data;if(Ee.found){for(var fe=0;fe<C.length;++fe)C[fe].terminate();return rt=!0,p(null,new t(Ee.prime,16))}m.bitLength()>f&&(m=l(f,d));var hi=m.toString(16);ze.target.postMessage({hex:hi,workLoad:g}),m.dAddOffset(E,0)}}}}function l(f,d){var h=new t(f,d),p=f-1;return h.testBit(p)||h.bitwiseTo(t.ONE.shiftLeft(p),i,h),h.dAddOffset(31-h.mod(n).byteValue(),0),h}function u(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var ec=T((L8,dg)=>{var F=mt();Vo();Ja();Fa();og();sg();qo();$t();typeof it>"u"&&(it=F.jsbn.BigInteger);var it,yf=F.util.isNodejs?Fn():null,x=F.asn1,Ke=F.util;F.pki=F.pki||{};dg.exports=F.pki.rsa=F.rsa=F.rsa||{};var G=F.pki,YS=[6,4,2,4,2,4,6,2],WS={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},QS={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},XS={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ZS=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},JS={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},jS=function(r){var t;if(r.algorithm in G.oids)t=G.oids[r.algorithm];else{var e=new Error("Unknown message digest algorithm.");throw e.algorithm=r.algorithm,e}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),o=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);o.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),o.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var s=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,r.digest().getBytes());return i.value.push(o),i.value.push(s),x.toDer(i).getBytes()},fg=function(r,t,e){if(e)return r.modPow(t.e,t.n);if(!t.p||!t.q)return r.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(it.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(it.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new it(F.util.bytesToHex(F.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(it.ONE));r=r.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=r.mod(t.p).modPow(t.dP,t.p),o=r.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};G.rsa.encrypt=function(r,t,e){var n=e,i,o=Math.ceil(t.n.bitLength()/8);e!==!1&&e!==!0?(n=e===2,i=hg(r,t,e)):(i=F.util.createBuffer(),i.putBytes(r));for(var s=new it(i.toHex(),16),a=fg(s,t,n),c=a.toString(16),l=F.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(F.util.hexToBytes(c)),l.getBytes()};G.rsa.decrypt=function(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8);if(r.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=r.length,o.expected=i,o}var s=new it(F.util.createBuffer(r).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=fg(s,t,e),c=a.toString(16),l=F.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(F.util.hexToBytes(c)),n!==!1?tc(l.getBytes(),t,e):l.getBytes()};G.rsa.createKeyPairGenerationState=function(r,t,e){typeof r=="string"&&(r=parseInt(r,10)),r=r||2048,e=e||{};var n=e.prng||F.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),l=0;l<a.length;++l)a[l]=c.charCodeAt(l)}},o=e.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:r,rng:i,eInt:t||65537,e:new it(null),p:null,q:null,qBits:r>>1,pBits:r-(r>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};G.rsa.stepKeyPairGenerationState=function(r,t){"algorithm"in r||(r.algorithm="PRIMEINC");var e=new it(null);e.fromInt(30);for(var n=0,i=function(f,d){return f|d},o=+new Date,s,a=0;r.keys===null&&(t<=0||a<t);){if(r.state===0){var c=r.p===null?r.pBits:r.qBits,l=c-1;r.pqState===0?(r.num=new it(c,r.rng),r.num.testBit(l)||r.num.bitwiseTo(it.ONE.shiftLeft(l),i,r.num),r.num.dAddOffset(31-r.num.mod(e).byteValue(),0),n=0,++r.pqState):r.pqState===1?r.num.bitLength()>c?r.pqState=0:r.num.isProbablePrime(eA(r.num.bitLength()))?++r.pqState:r.num.dAddOffset(YS[n++%8],0):r.pqState===2?r.pqState=r.num.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)===0?3:0:r.pqState===3&&(r.pqState=0,r.p===null?r.p=r.num:r.q=r.num,r.p!==null&&r.q!==null&&++r.state,r.num=null)}else if(r.state===1)r.p.compareTo(r.q)<0&&(r.num=r.p,r.p=r.q,r.q=r.num),++r.state;else if(r.state===2)r.p1=r.p.subtract(it.ONE),r.q1=r.q.subtract(it.ONE),r.phi=r.p1.multiply(r.q1),++r.state;else if(r.state===3)r.phi.gcd(r.e).compareTo(it.ONE)===0?++r.state:(r.p=null,r.q=null,r.state=0);else if(r.state===4)r.n=r.p.multiply(r.q),r.n.bitLength()===r.bits?++r.state:(r.q=null,r.state=0);else if(r.state===5){var u=r.e.modInverse(r.phi);r.keys={privateKey:G.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:G.rsa.setPublicKey(r.n,r.e)}}s=+new Date,a+=s-o,o=s}return r.keys!==null};G.rsa.generateKeyPair=function(r,t,e,n){if(arguments.length===1?typeof r=="object"?(e=r,r=void 0):typeof r=="function"&&(n=r,r=void 0):arguments.length===2?typeof r=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(e=t,t=void 0):(e=r,n=t,r=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof e=="function"&&(n=e,e=void 0):(n=e,e=t,t=void 0)),e=e||{},r===void 0&&(r=e.bits||2048),t===void 0&&(t=e.e||65537),!F.options.usePureJavaScript&&!e.prng&&r>=256&&r<=16384&&(t===65537||t===3)){if(n){if(ag("generateKeyPair"))return yf.generateKeyPair("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,l){if(a)return n(a);n(null,{privateKey:G.privateKeyFromPem(l),publicKey:G.publicKeyFromPem(c)})});if(cg("generateKey")&&cg("exportKey"))return Ke.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:ug(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Ke.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=G.privateKeyFromAsn1(x.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:G.setRsaPublicKey(c.n,c.e)})}});if(lg("generateKey")&&lg("exportKey")){var i=Ke.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:ug(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,l=Ke.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);l.oncomplete=function(u){var f=u.target.result,d=G.privateKeyFromAsn1(x.fromDer(F.util.createBuffer(f)));n(null,{privateKey:d,publicKey:G.setRsaPublicKey(d.n,d.e)})},l.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(ag("generateKeyPairSync")){var o=yf.generateKeyPairSync("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(o.privateKey),publicKey:G.publicKeyFromPem(o.publicKey)}}}var s=G.rsa.createKeyPairGenerationState(r,t,e);if(!n)return G.rsa.stepKeyPairGenerationState(s,0),s.keys;tA(s,e,n)};G.setRsaPublicKey=G.rsa.setPublicKey=function(r,t){var e={n:r,e:t};return e.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,l){return hg(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.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,e,!0);return G.rsa.encrypt(s,e,!0)},e.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,l){l=tc(l,e,!0);var u=x.fromDer(l,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!x.validate(u,JS,f,d)){var h=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw h.errors=d,h}var p=x.derToOid(f.algorithmIdentifier);if(!(p===F.oids.md2||p===F.oids.md5||p===F.oids.sha1||p===F.oids.sha224||p===F.oids.sha256||p===F.oids.sha384||p===F.oids.sha512||p===F.oids["sha512-224"]||p===F.oids["sha512-256"])){var h=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw h.oid=p,h}if((p===F.oids.md2||p===F.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,l){return l=tc(l,e,!0),c===l}});var a=G.rsa.decrypt(i,e,!0,!1);return o.verify(n,a,e.n.bitLength())},e};G.setRsaPrivateKey=G.rsa.setPrivateKey=function(r,t,e,n,i,o,s,a){var c={n:r,e:t,d:e,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(l,u,f){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=G.rsa.decrypt(l,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:tc};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(h,p){return F.pkcs1.decode_rsa_oaep(p,h,f)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(h){return h}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(l,u){var f=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:jS},f=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return l}},f=1);var d=u.encode(l,c.n.bitLength());return G.rsa.encrypt(d,c,f)},c};G.wrapRsaPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(G.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(r).getBytes())])};G.privateKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,WS,t,e)&&(r=x.fromDer(F.util.createBuffer(t.privateKey))),t={},e=[],!x.validate(r,QS,t,e)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=e,n}var i,o,s,a,c,l,u,f;return i=F.util.createBuffer(t.privateKeyModulus).toHex(),o=F.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=F.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(t.privateKeyPrime1).toHex(),c=F.util.createBuffer(t.privateKeyPrime2).toHex(),l=F.util.createBuffer(t.privateKeyExponent1).toHex(),u=F.util.createBuffer(t.privateKeyExponent2).toHex(),f=F.util.createBuffer(t.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new it(i,16),new it(o,16),new it(s,16),new it(a,16),new it(c,16),new it(l,16),new it(u,16),new it(f,16))};G.privateKeyToAsn1=G.privateKeyToRSAPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.qInv))])};G.publicKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,ZS,t,e)){var n=x.derToOid(t.publicKeyOid);if(n!==G.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}r=t.rsaPublicKey}if(e=[],!x.validate(r,XS,t,e)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=e,i}var o=F.util.createBuffer(t.publicKeyModulus).toHex(),s=F.util.createBuffer(t.publicKeyExponent).toHex();return G.setRsaPublicKey(new it(o,16),new it(s,16))};G.publicKeyToAsn1=G.publicKeyToSubjectPublicKeyInfo=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(G.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(r)])])};G.publicKeyToRSAPublicKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,xr(r.e))])};function hg(r,t,e){var n=F.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(r.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=r.length,o.max=i-11,o}n.putByte(0),n.putByte(e);var s=i-3-r.length,a;if(e===0||e===1){a=e===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var l=0,u=F.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++l:n.putByte(a);s=l}return n.putByte(0),n.putBytes(r),n}function tc(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8),o=F.util.createBuffer(r),s=o.getByte(),a=o.getByte();if(s!==0||e&&a!==0&&a!==1||!e&&a!=2||e&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var l=0;l<c;++l)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function tA(r,t,e){typeof t=="function"&&(e=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(r.pBits,function(a,c){if(a)return e(a);if(r.p=c,r.q!==null)return s(a,r.q);o(r.qBits,s)})}function o(a,c){F.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return e(a);if(r.q=c,r.p.compareTo(r.q)<0){var l=r.p;r.p=r.q,r.q=l}if(r.p.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)!==0){r.p=null,i();return}if(r.q.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)!==0){r.q=null,o(r.qBits,s);return}if(r.p1=r.p.subtract(it.ONE),r.q1=r.q.subtract(it.ONE),r.phi=r.p1.multiply(r.q1),r.phi.gcd(r.e).compareTo(it.ONE)!==0){r.p=r.q=null,i();return}if(r.n=r.p.multiply(r.q),r.n.bitLength()!==r.bits){r.q=null,o(r.qBits,s);return}var u=r.e.modInverse(r.phi);r.keys={privateKey:G.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:G.rsa.setPublicKey(r.n,r.e)},e(null,r.keys)}}function xr(r){var t=r.toString(16);t[0]>="8"&&(t="00"+t);var e=F.util.hexToBytes(t);return e.length>1&&(e.charCodeAt(0)===0&&!(e.charCodeAt(1)&128)||e.charCodeAt(0)===255&&(e.charCodeAt(1)&128)===128)?e.substr(1):e}function eA(r){return r<=100?27:r<=150?18:r<=200?15:r<=250?12:r<=300?9:r<=350?8:r<=400?7:r<=500?6:r<=600?5:r<=800?4:r<=1250?3:2}function ag(r){return F.util.isNodejs&&typeof yf[r]=="function"}function cg(r){return typeof Ke.globalScope<"u"&&typeof Ke.globalScope.crypto=="object"&&typeof Ke.globalScope.crypto.subtle=="object"&&typeof Ke.globalScope.crypto.subtle[r]=="function"}function lg(r){return typeof Ke.globalScope<"u"&&typeof Ke.globalScope.msCrypto=="object"&&typeof Ke.globalScope.msCrypto.subtle=="object"&&typeof Ke.globalScope.msCrypto.subtle[r]=="function"}function ug(r){for(var t=F.util.hexToBytes(r.toString(16)),e=new Uint8Array(t.length),n=0;n<t.length;++n)e[n]=t.charCodeAt(n);return e}});var Eg=T((B8,wg)=>{var L=mt();$a();Vo();Sy();Yn();Fa();af();Py();qo();Hy();ec();$t();typeof pg>"u"&&(pg=L.jsbn.BigInteger);var pg,v=L.asn1,Y=L.pki=L.pki||{};wg.exports=Y.pbe=L.pbe=L.pbe||{};var Xn=Y.oids,rA={name:"EncryptedPrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},nA={name:"PBES2Algorithms",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},iA={name:"pkcs-12PbeParams",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.encryptPrivateKeyInfo=function(r,t,e){e=e||{},e.saltSize=e.saltSize||8,e.count=e.count||2048,e.algorithm=e.algorithm||"aes128",e.prfAlgorithm=e.prfAlgorithm||"sha1";var n=L.random.getBytesSync(e.saltSize),i=e.count,o=v.integerToDer(i),s,a,c;if(e.algorithm.indexOf("aes")===0||e.algorithm==="des"){var l,u,f;switch(e.algorithm){case"aes128":s=16,l=16,u=Xn["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":s=24,l=16,u=Xn["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":s=32,l=16,u=Xn["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":s=8,l=8,u=Xn.desCBC,f=L.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var h="hmacWith"+e.prfAlgorithm.toUpperCase(),p=gg(h),m=L.pkcs5.pbkdf2(t,n,i,s,p),y=L.random.getBytesSync(l),g=f(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes();var E=oA(n,o,s,h);a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Xn.pkcs5PBES2).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Xn.pkcs5PBKDF2).getBytes()),E]),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(u).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,y)])])])}else if(e.algorithm==="3des"){s=24;var _=new L.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(t,_,1,i,s),y=Y.pbe.generatePkcs12Key(t,_,2,i,s),g=L.des.createEncryptionCipher(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes(),a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Xn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,n),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var k=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[a,v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,c)]);return k};Y.decryptPrivateKeyInfo=function(r,t){var e=null,n={},i=[];if(!v.validate(r,rA,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=v.derToOid(n.encryptionOid),a=Y.pbe.getCipher(s,n.encryptionParams,t),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(e=v.fromDer(a.output)),e};Y.encryptedPrivateKeyToPem=function(r,t){var e={type:"ENCRYPTED PRIVATE KEY",body:v.toDer(r).getBytes()};return L.pem.encode(e,{maxline:t})};Y.encryptedPrivateKeyFromPem=function(r){var t=L.pem.decode(r)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var e=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw e.headerType=t.type,e}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return v.fromDer(t.body)};Y.encryptRsaPrivateKey=function(r,t,e){if(e=e||{},!e.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(r));return n=Y.encryptPrivateKeyInfo(n,t,e),Y.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(e.algorithm){case"aes128":i="AES-128-CBC",s=16,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+e.algorithm+'".');throw c.algorithm=e.algorithm,c}var l=L.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(l);u.start(o),u.update(v.toDer(Y.privateKeyToAsn1(r))),u.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return L.pem.encode(f)};Y.decryptRsaPrivateKey=function(r,t){var e=null,n=L.pem.decode(r)[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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=L.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=L.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=L.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return L.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(t,a.substr(0,8),o),l=s(c);if(l.start(a),l.update(L.util.createBuffer(n.body)),l.finish())e=l.output.getBytes();else return e}else e=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?e=Y.decryptPrivateKeyInfo(v.fromDer(e),t):e=v.fromDer(e),e!==null&&(e=Y.privateKeyFromAsn1(e)),e};Y.pbe.generatePkcs12Key=function(r,t,e,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');o=L.md.sha1.create()}var c=o.digestLength,l=o.blockLength,u=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(r!=null){for(a=0;a<r.length;a++)f.putInt16(r.charCodeAt(a));f.putInt16(0)}var d=f.length(),h=t.length(),p=new L.util.ByteBuffer;p.fillWithByte(e,l);var m=l*Math.ceil(h/l),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%h));var g=l*Math.ceil(d/l),E=new L.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%d));var _=y;_.putBuffer(E);for(var k=Math.ceil(i/c),C=1;C<=k;C++){var D=new L.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(_.bytes());for(var J=0;J<n;J++)o.start(),o.update(D.getBytes()),D=o.digest();var rt=new L.util.ByteBuffer;for(a=0;a<l;a++)rt.putByte(D.at(a%c));var Jt=Math.ceil(h/l)+Math.ceil(d/l),ze=new L.util.ByteBuffer;for(s=0;s<Jt;s++){var Ee=new L.util.ByteBuffer(_.getBytes(l)),fe=511;for(a=rt.length()-1;a>=0;a--)fe=fe>>8,fe+=rt.at(a)+Ee.at(a),Ee.setAt(a,fe&255);ze.putBuffer(Ee)}_=ze,u.putBuffer(D)}return u.truncate(u.length()-i),u};Y.pbe.getCipher=function(r,t,e){switch(r){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(r,t,e);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.pbe.getCipherForPKCS12PBE(r,t,e);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=r,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Y.pbe.getCipherForPBES2=function(r,t,e){var n={},i=[];if(!v.validate(t,nA,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(r=v.derToOid(n.kdfOid),r!==Y.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=r,o.supportedOids=["pkcs5PBKDF2"],o}if(r=v.derToOid(n.encOid),r!==Y.oids["aes128-CBC"]&&r!==Y.oids["aes192-CBC"]&&r!==Y.oids["aes256-CBC"]&&r!==Y.oids["des-EDE3-CBC"]&&r!==Y.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=r,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,l;switch(Y.oids[r]){case"aes128-CBC":c=16,l=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,l=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,l=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,l=L.des.createDecryptionCipher;break;case"desCBC":c=8,l=L.des.createDecryptionCipher;break}var u=yg(n.prfOid),f=L.pkcs5.pbkdf2(e,s,a,c,u),d=n.encIv,h=l(f);return h.start(d),h};Y.pbe.getCipherForPKCS12PBE=function(r,t,e){var n={},i=[];if(!v.validate(t,iA,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,l,u;switch(r){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,u=L.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,u=function(m,y){var g=L.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=r,o}var f=yg(n.prfOid),d=Y.pbe.generatePkcs12Key(e,s,1,a,c,f);f.start();var h=Y.pbe.generatePkcs12Key(e,s,2,a,l,f);return u(d,h)};Y.pbe.opensslDeriveBytes=function(r,t,e,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}t===null&&(t="");for(var i=[mg(n,r+t)],o=16,s=1;o<e;++s,o+=16)i.push(mg(n,i[s-1]+r+t));return i.join("").substr(0,e)};function mg(r,t){return r.start().update(t).digest().getBytes()}function yg(r){var t;if(!r)t="hmacWithSHA1";else if(t=Y.oids[v.derToOid(r)],!t){var e=new Error("Unsupported PRF OID.");throw e.oid=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}return gg(t)}function gg(r){var t=L.md;switch(r){case"hmacWithSHA224":t=L.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":r=r.substr(8).toLowerCase();break;default:var e=new Error("Unsupported PRF algorithm.");throw e.algorithm=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}if(!t||!(r in t))throw new Error("Unknown hash algorithm: "+r);return t[r].create()}function oA(r,t,e,n){var i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,r),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,L.util.hexToBytes(e.toString(16))),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Y.oids[n]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")])),i}});var Cg=T((uB,Tg)=>{var Tt=mt();Yn();$t();var $o=Tg.exports=Tt.sha512=Tt.sha512||{};Tt.md.sha512=Tt.md.algorithms.sha512=$o;var Rg=Tt.sha384=Tt.sha512.sha384=Tt.sha512.sha384||{};Rg.create=function(){return $o.create("SHA-384")};Tt.md.sha384=Tt.md.algorithms.sha384=Rg;Tt.sha512.sha256=Tt.sha512.sha256||{create:function(){return $o.create("SHA-512/256")}};Tt.md["sha512/256"]=Tt.md.algorithms["sha512/256"]=Tt.sha512.sha256;Tt.sha512.sha224=Tt.sha512.sha224||{create:function(){return $o.create("SHA-512/224")}};Tt.md["sha512/224"]=Tt.md.algorithms["sha512/224"]=Tt.sha512.sha224;$o.create=function(r){if(Ig||uA(),typeof r>"u"&&(r="SHA-512"),!(r in Zn))throw new Error("Invalid SHA-512 algorithm: "+r);for(var t=Zn[r],e=null,n=Tt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(r){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:r.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,l=0;l<c;++l)a.fullMessageLength.push(0);n=Tt.util.createBuffer(),e=new Array(t.length);for(var l=0;l<t.length;++l)e[l]=t[l].slice(0);return a},a.start(),a.update=function(c,l){l==="utf8"&&(c=Tt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=u[1],u[1]=u[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),Ag(e,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Tt.util.createBuffer();c.putBytes(n.bytes());var l=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=l&a.blockLength-1;c.putBytes(gf.substr(0,a.blockLength-u));for(var f,d,h=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,d=f/4294967296>>>0,h+=d,c.putInt32(h>>>0),h=f>>>0;c.putInt32(h);for(var m=new Array(e.length),p=0;p<e.length;++p)m[p]=e[p].slice(0);Ag(m,i,c);var y=Tt.util.createBuffer(),g;r==="SHA-512"?g=m.length:r==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||r!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var gf=null,Ig=!1,wf=null,Zn=null;function uA(){gf=String.fromCharCode(128),gf+=Tt.util.fillString(String.fromCharCode(0),128),wf=[[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]],Zn={},Zn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Zn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Zn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Zn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Ig=!0}function Ag(r,t,e){for(var n,i,o,s,a,c,l,u,f,d,h,p,m,y,g,E,_,k,C,D,J,rt,Jt,ze,Ee,fe,hi,Ls,Gt,me,K,sl,al,cl,ll,$h=e.length();$h>=128;){for(Gt=0;Gt<16;++Gt)t[Gt][0]=e.getInt32()>>>0,t[Gt][1]=e.getInt32()>>>0;for(;Gt<80;++Gt)sl=t[Gt-2],me=sl[0],K=sl[1],n=((me>>>19|K<<13)^(K>>>29|me<<3)^me>>>6)>>>0,i=((me<<13|K>>>19)^(K<<3|me>>>29)^(me<<26|K>>>6))>>>0,cl=t[Gt-15],me=cl[0],K=cl[1],o=((me>>>1|K<<31)^(me>>>8|K<<24)^me>>>7)>>>0,s=((me<<31|K>>>1)^(me<<24|K>>>8)^(me<<25|K>>>7))>>>0,al=t[Gt-7],ll=t[Gt-16],K=i+al[1]+s+ll[1],t[Gt][0]=n+al[0]+o+ll[0]+(K/4294967296>>>0)>>>0,t[Gt][1]=K>>>0;for(m=r[0][0],y=r[0][1],g=r[1][0],E=r[1][1],_=r[2][0],k=r[2][1],C=r[3][0],D=r[3][1],J=r[4][0],rt=r[4][1],Jt=r[5][0],ze=r[5][1],Ee=r[6][0],fe=r[6][1],hi=r[7][0],Ls=r[7][1],Gt=0;Gt<80;++Gt)l=((J>>>14|rt<<18)^(J>>>18|rt<<14)^(rt>>>9|J<<23))>>>0,u=((J<<18|rt>>>14)^(J<<14|rt>>>18)^(rt<<23|J>>>9))>>>0,f=(Ee^J&(Jt^Ee))>>>0,d=(fe^rt&(ze^fe))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,h=(m&g|_&(m^g))>>>0,p=(y&E|k&(y^E))>>>0,K=Ls+u+d+wf[Gt][1]+t[Gt][1],n=hi+l+f+wf[Gt][0]+t[Gt][0]+(K/4294967296>>>0)>>>0,i=K>>>0,K=c+p,o=a+h+(K/4294967296>>>0)>>>0,s=K>>>0,hi=Ee,Ls=fe,Ee=Jt,fe=ze,Jt=J,ze=rt,K=D+i,J=C+n+(K/4294967296>>>0)>>>0,rt=K>>>0,C=_,D=k,_=g,k=E,g=m,E=y,K=i+s,m=n+o+(K/4294967296>>>0)>>>0,y=K>>>0;K=r[0][1]+y,r[0][0]=r[0][0]+m+(K/4294967296>>>0)>>>0,r[0][1]=K>>>0,K=r[1][1]+E,r[1][0]=r[1][0]+g+(K/4294967296>>>0)>>>0,r[1][1]=K>>>0,K=r[2][1]+k,r[2][0]=r[2][0]+_+(K/4294967296>>>0)>>>0,r[2][1]=K>>>0,K=r[3][1]+D,r[3][0]=r[3][0]+C+(K/4294967296>>>0)>>>0,r[3][1]=K>>>0,K=r[4][1]+rt,r[4][0]=r[4][0]+J+(K/4294967296>>>0)>>>0,r[4][1]=K>>>0,K=r[5][1]+ze,r[5][0]=r[5][0]+Jt+(K/4294967296>>>0)>>>0,r[5][1]=K>>>0,K=r[6][1]+fe,r[6][0]=r[6][0]+Ee+(K/4294967296>>>0)>>>0,r[6][1]=K>>>0,K=r[7][1]+Ls,r[7][0]=r[7][0]+hi+(K/4294967296>>>0)>>>0,r[7][1]=K>>>0,$h-=128}}});var fE=T((VO,uE)=>{function SR(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}uE.exports=SR});var AE=T((Kk,fh)=>{"use strict";var TR=Object.prototype.hasOwnProperty,pe="~";function bs(){}Object.create&&(bs.prototype=Object.create(null),new bs().__proto__||(pe=!1));function CR(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function SE(r,t,e,n,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new CR(e,n||r,i),s=pe?pe+t:t;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function Kc(r,t){--r._eventsCount===0?r._events=new bs:delete r._events[t]}function ue(){this._events=new bs,this._eventsCount=0}ue.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)TR.call(e,n)&&t.push(pe?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};ue.prototype.listeners=function(t){var e=pe?pe+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};ue.prototype.listenerCount=function(t){var e=pe?pe+t:t,n=this._events[e];return n?n.fn?1:n.length:0};ue.prototype.emit=function(t,e,n,i,o,s){var a=pe?pe+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,o),!0;case 6:return c.fn.call(c.context,e,n,i,o,s),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var d=c.length,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,e);break;case 3:c[f].fn.call(c[f].context,e,n);break;case 4:c[f].fn.call(c[f].context,e,n,i);break;default:if(!u)for(h=1,u=new Array(l-1);h<l;h++)u[h-1]=arguments[h];c[f].fn.apply(c[f].context,u)}}return!0};ue.prototype.on=function(t,e,n){return SE(this,t,e,n,!1)};ue.prototype.once=function(t,e,n){return SE(this,t,e,n,!0)};ue.prototype.removeListener=function(t,e,n,i){var o=pe?pe+t:t;if(!this._events[o])return this;if(!e)return Kc(this,o),this;var s=this._events[o];if(s.fn)s.fn===e&&(!i||s.once)&&(!n||s.context===n)&&Kc(this,o);else{for(var a=0,c=[],l=s.length;a<l;a++)(s[a].fn!==e||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Kc(this,o)}return this};ue.prototype.removeAllListeners=function(t){var e;return t?(e=pe?pe+t:t,this._events[e]&&Kc(this,e)):(this._events=new bs,this._eventsCount=0),this};ue.prototype.off=ue.prototype.removeListener;ue.prototype.addListener=ue.prototype.on;ue.prefixed=pe;ue.EventEmitter=ue;typeof fh<"u"&&(fh.exports=ue)});var zE=T((D6,$E)=>{"use strict";$E.exports=HE;var BR=ul(),In=HE.prototype,NR=new Date%1e9;function OR(){return(Math.random()*1e9>>>0)+NR++}function HE(r){r=r||{},this.id=r.id||OR(),this.max=r.max||1/0,this.items=r.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(r.lastModified||new Date);for(var t,e,n=this.items.length;n--;)t=this.items[n],e=new Date(t.expires)-new Date,this._lookup[t.key]=t,e>0?this.expire(t.key,e):e<=0&&this.delete(t.key)}In.has=function(r){return r in this._lookup};In.get=function(r){if(!this.has(r))return null;var t=this._lookup[r];return t.refresh&&this.expire(r,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};In.meta=function(r){if(!this.has(r))return null;var t=this._lookup[r];return"meta"in t?t.meta:null};In.set=function(r,t,e){var n=this._lookup[r],i=this._lookup[r]={key:r,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),e&&("ttl"in e&&this.expire(r,e.ttl),"meta"in e&&(i.meta=e.meta),e.refresh&&(i.refresh=e.ttl)),this};In.delete=function(r){var t=this._lookup[r];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[r],this.size--,this):!1};In.expire=function(r,t){var e=t||0,n=this._lookup[r];if(!n)return this;if(typeof e=="string"&&(e=BR(t)),typeof e!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),e),n.expires=Number(new Date)+e,this};In.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};In.toJSON=function(){for(var r=new Array(this.items.length),t,e=r.length;e--;)t=this.items[e],r[e]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:r}}});var Kh=T((u5,Fh)=>{function e1(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}Fh.exports=e1;Fh.exports.anySignal=e1});var n1=T((h5,r1)=>{r1.exports=class{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}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var s1=T((p5,o1)=>{var i1=n1();o1.exports=class{constructor(t){this.hwm=t||16,this.head=new i1(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let e=this.head;this.head=e.next=new i1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var c1=T((m5,a1)=>{"use strict";var $R=()=>{let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r};a1.exports=$R});var h1=T((g5,f1)=>{var l1=s1(),u1=c1();f1.exports=class{constructor(){this._buffer=new l1,this._waitingConsumers=new l1}push(t){let{promise:e,resolve:n}=u1();return this._buffer.push({chunk:t,resolve:n}),this._consume(),e}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),e=this._buffer.shift();t.resolve(e.chunk),e.resolve()}}shift(){let{promise:t,resolve:e}=u1();return this._waitingConsumers.push({resolve:e}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var WR={};ae(WR,{createLibp2p:()=>YR});var or=S(fl(),1);var yl={};ae(yl,{base58btc:()=>Kt,base58flickr:()=>H1});function U1(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var _=(E-g)*u+1>>>0,k=new Uint8Array(_);g!==E;){for(var C=p[g],D=0,J=_-1;(C!==0||D<y)&&J!==-1;J--,D++)C+=256*k[J]>>>0,k[J]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=D,g++}for(var rt=_-y;rt!==_&&k[rt]===0;)rt++;for(var Jt=c.repeat(m);rt<_;++rt)Jt+=r.charAt(k[rt]);return Jt}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var E=(p.length-m)*l+1>>>0,_=new Uint8Array(E);p[m];){var k=e[p.charCodeAt(m)];if(k===255)return;for(var C=0,D=E-1;(k!==0||C<g)&&D!==-1;D--,C++)k+=a*_[D]>>>0,_[D]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var J=E-g;J!==E&&_[J]===0;)J++;for(var rt=new Uint8Array(y+(E-J)),Jt=y;J!==E;)rt[Jt++]=_[J++];return rt}}}function h(p){var m=d(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:h}}var F1=U1,K1=F1,Qh=K1;var jR=new Uint8Array(0);var Xh=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},Ir=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Zh=r=>new TextEncoder().encode(r),Jh=r=>new TextDecoder().decode(r);var hl=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},dl=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.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 td(this,t)}},pl=class{constructor(t){this.decoders=t}or(t){return td(this,t)}decode(t){let e=t[0],n=this.decoders[e];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`)}},td=(r,t)=>new pl({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),ml=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new hl(t,e,n),this.decoder=new dl(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},yi=({name:r,prefix:t,encode:e,decode:n})=>new ml(r,t,e,n),Zr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=Qh(e,t);return yi({prefix:r,name:t,encode:n,decode:o=>Ir(i(o))})},V1=(r,t,e,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,l=0;for(let u=0;u<o;++u){let f=i[r[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},q1=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s&&(o+=t[i&a<<e-s]),n)for(;o.length*e&7;)o+="=";return o},kt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>yi({prefix:t,name:r,encode(i){return q1(i,n,e)},decode(i){return V1(i,n,e,r)}});var Kt=Zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),H1=Zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var gl={};ae(gl,{base32:()=>ve,base32hex:()=>Y1,base32hexpad:()=>Q1,base32hexpadupper:()=>X1,base32hexupper:()=>W1,base32pad:()=>z1,base32padupper:()=>G1,base32upper:()=>$1,base32z:()=>Z1});var ve=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),$1=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z1=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),G1=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Y1=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),W1=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Q1=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),X1=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Z1=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var wl={};ae(wl,{base64:()=>Cn,base64pad:()=>J1,base64url:()=>j1,base64urlpad:()=>tx});var Cn=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),J1=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j1=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tx=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});or.default.formatters.b=r=>r==null?"undefined":Kt.baseEncode(r);or.default.formatters.t=r=>r==null?"undefined":ve.baseEncode(r);or.default.formatters.m=r=>r==null?"undefined":Cn.baseEncode(r);or.default.formatters.p=r=>r==null?"undefined":r.toString();or.default.formatters.c=r=>r==null?"undefined":r.toString();or.default.formatters.k=r=>r==null?"undefined":r.toString();function N(r){return Object.assign((0,or.default)(r),{error:(0,or.default)(`${r}:error`),trace:(0,or.default)(`${r}:trace`)})}var Dn=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Tr,Pt=class extends EventTarget{constructor(){super(...arguments),Tr.set(this,new Map)}listenerCount(t){let e=Dn(this,Tr,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=Dn(this,Tr,"f").get(t);i==null&&(i=[],Dn(this,Tr,"f").set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=Dn(this,Tr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==e),Dn(this,Tr,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=Dn(this,Tr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),Dn(this,Tr,"f").set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new H(t,e))}};Tr=new WeakMap;var El=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},H=globalThis.CustomEvent??El;function Cr(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var ks=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}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 e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>l||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[i]=s[0],e[i+1]=s[1],e[i+2]=s[2],e[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];e[i]=o>>8,e[i+1]=o&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;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 e.set(o.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ed=45,ex=15,gi=new ks;function rd(r){if(!(r.length>ex))return gi.new(r).parseWith(()=>gi.readIPv4Addr())}function nd(r){if(!(r.length>ed))return gi.new(r).parseWith(()=>gi.readIPv6Addr())}function id(r){if(!(r.length>ed))return gi.new(r).parseWith(()=>gi.readIPAddr())}function od(r){return Boolean(rd(r))}function sd(r){return Boolean(nd(r))}function wi(r){return Boolean(id(r))}var xl={};ae(xl,{identity:()=>rx});var rx=yi({prefix:"\0",name:"identity",encode:r=>Jh(r),decode:r=>Zh(r)});var vl={};ae(vl,{base2:()=>nx});var nx=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var bl={};ae(bl,{base8:()=>ix});var ix=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var _l={};ae(_l,{base10:()=>ox});var ox=Zr({prefix:"9",name:"base10",alphabet:"0123456789"});var Sl={};ae(Sl,{base16:()=>sx,base16upper:()=>ax});var sx=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ax=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Al={};ae(Al,{base36:()=>cx,base36upper:()=>lx});var cx=Zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lx=Zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Rl={};ae(Rl,{base256emoji:()=>px});var ad=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}"),ux=ad.reduce((r,t,e)=>(r[e]=t,r),[]),fx=ad.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function hx(r){return r.reduce((t,e)=>(t+=ux[e],t),"")}function dx(r){let t=[];for(let e of r){let n=fx[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var px=yi({prefix:"\u{1F680}",name:"base256emoji",encode:hx,decode:dx});var Dl={};ae(Dl,{sha256:()=>jt,sha512:()=>Bx});var mx=ud,cd=128,yx=127,gx=~yx,wx=Math.pow(2,31);function ud(r,t,e){t=t||[],e=e||0;for(var n=e;r>=wx;)t[e++]=r&255|cd,r/=128;for(;r&gx;)t[e++]=r&255|cd,r>>>=7;return t[e]=r|0,ud.bytes=e-n+1,t}var Ex=Il,xx=128,ld=127;function Il(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Il.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ld)<<i:(s&ld)*Math.pow(2,i),i+=7}while(s>=xx);return Il.bytes=o-n,e}var vx=Math.pow(2,7),bx=Math.pow(2,14),_x=Math.pow(2,21),Sx=Math.pow(2,28),Ax=Math.pow(2,35),Rx=Math.pow(2,42),Ix=Math.pow(2,49),Tx=Math.pow(2,56),Cx=Math.pow(2,63),Dx=function(r){return r<vx?1:r<bx?2:r<_x?3:r<Sx?4:r<Ax?5:r<Rx?6:r<Ix?7:r<Tx?8:r<Cx?9:10},Px={encode:mx,decode:Ex,encodingLength:Dx},Lx=Px,lo=Lx;var uo=(r,t=0)=>[lo.decode(r,t),lo.decode.bytes],Ei=(r,t,e=0)=>(lo.encode(r,t,e),t),xi=r=>lo.encodingLength(r);var sr=(r,t)=>{let e=t.byteLength,n=xi(r),i=n+xi(e),o=new Uint8Array(i+e);return Ei(r,o,0),Ei(e,o,n),o.set(t,i),new vi(r,e,t,o)},Pn=r=>{let t=Ir(r),[e,n]=uo(t),[i,o]=uo(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new vi(e,i,s,t)},fd=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Xh(r.bytes,e.bytes)}},vi=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Cl=({name:r,code:t,encode:e})=>new Tl(r,t,e),Tl=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?sr(this.code,e):e.then(n=>sr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var dd=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),jt=Cl({name:"sha2-256",code:18,encode:dd("SHA-256")}),Bx=Cl({name:"sha2-512",code:19,encode:dd("SHA-512")});var Pl={};ae(Pl,{identity:()=>Jr});var pd=0,Nx="identity",md=Ir,Ox=r=>sr(pd,md(r)),Jr={code:pd,name:Nx,encode:md,digest:Ox};var PI=new TextEncoder,LI=new TextDecoder;var yd=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Fx(e,Ll(r),t||Kt.encoder);default:return Kx(e,Ll(r),t||ve.encoder)}};var gd=new WeakMap,Ll=r=>{let t=gd.get(r);if(t==null){let e=new Map;return gd.set(r,e),e}return t},dt=class{constructor(t,e,n,i){this.code=e,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:e}=this;if(t!==fo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Vx)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return dt.createV0(e)}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:e}=this.multihash,n=sr(t,e);return dt.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 dt.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&fd(t.multihash,n.multihash)}toString(t){return yd(this,t)}toJSON(){return{"/":yd(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof dt)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:o,bytes:s}=e;return new dt(n,i,o,s||wd(n,i,o.bytes))}else if(e[qx]===!0){let{version:n,multihash:i,code:o}=e,s=Pn(i);return dt.create(n,o,s)}else return null}static create(t,e,n){if(typeof e!="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(e!==fo)throw new Error(`Version 0 CID must use dag-pb (code: ${fo}) block encoding`);return new dt(t,e,n,n.bytes)}case 1:{let i=wd(t,e,n.bytes);return new dt(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return dt.create(0,fo,t)}static createV1(t,e){return dt.create(1,t,e)}static decode(t){let[e,n]=dt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=dt.inspectBytes(t),n=e.size-e.multihashSize,i=Ir(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new vi(e.multihashCode,e.digestSize,o,i);return[e.version===0?dt.createV0(s):dt.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,d]=uo(t.subarray(e));return e+=d,f},i=n(),o=fo;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),l=e+c,u=l-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,e){let[n,i]=Ux(t,e),o=dt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ll(o).set(n,t),o}},Ux=(r,t)=>{switch(r[0]){case"Q":{let e=t||Kt;return[Kt.prefix,e.decode(`${Kt.prefix}${r}`)]}case Kt.prefix:{let e=t||Kt;return[Kt.prefix,e.decode(r)]}case ve.prefix:{let e=t||ve;return[ve.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},Fx=(r,t,e)=>{let{prefix:n}=e;if(n!==Kt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i},Kx=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i},fo=112,Vx=18,wd=(r,t,e)=>{let n=xi(r),i=n+xi(t),o=new Uint8Array(i+e.byteLength);return Ei(r,o,0),Ei(t,o,n),o.set(e,i),o},qx=Symbol.for("@ipld/js-cid/CID");var jr={...xl,...vl,...bl,..._l,...Sl,...gl,...Al,...yl,...wl,...Rl},qI={...Dl,...Pl};function Bn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Dr(r=0){return globalThis.Buffer?.alloc!=null?Bn(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Pr(r=0){return globalThis.Buffer?.allocUnsafe!=null?Bn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function xd(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ed=xd("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Bl=xd("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Pr(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Hx={utf8:Ed,"utf-8":Ed,hex:jr.base16,latin1:Bl,ascii:Bl,binary:Bl,...jr},Us=Hx;function $(r,t="utf8"){let e=Us[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var vd=od,$x=sd,Nl=function(r){let t=0;if(r=r.toString().trim(),vd(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if($x(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let o=vd(e[n]),s;o&&(s=Nl(e[n]),e[n]=$(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,$(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let o=[n,1];for(n=9-e.length;n>0;n--)o.push("0");e.splice.apply(e,o)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let o=parseInt(e[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},bd=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let o=0;o<e;o++)i.push(r[t+o]);return i.join(".")}if(e===16){let i=[];for(let o=0;o<e;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ho={},Ol={},Gx=[[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"],[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"],[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"]];Gx.forEach(r=>{let t=Yx(...r);Ol[t.code]=t,ho[t.name]=t});function Yx(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:Boolean(n),path:Boolean(i)}}function pt(r){if(typeof r=="number"){if(Ol[r]!=null)return Ol[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ho[r]!=null)return ho[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var ar=S(Fs(),1);function U(r,t="utf8"){let e=Us[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Bn(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Vt(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=Pr(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Bn(e)}function kd(r,t){switch(pt(r).code){case 4:case 41:return cv(t);case 42:return Nd(t);case 6:case 273:case 33:case 132:return Ud(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return Nd(t);case 421:return hv(t);case 444:return Od(t);case 445:return Od(t);case 466:return fv(t);default:return $(t,"base16")}}function Md(r,t){switch(pt(r).code){case 4:return Ld(t);case 41:return Ld(t);case 42:return Bd(t);case 6:case 273:case 33:case 132:return Fl(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return Bd(t);case 421:return lv(t);case 444:return dv(t);case 445:return pv(t);case 466:return uv(t);default:return U(t,"base16")}}var Ul=Object.values(jr).map(r=>r.decoder),av=function(){let r=Ul[0].or(Ul[1]);return Ul.slice(2).forEach(t=>r=r.or(t)),r}();function Ld(r){if(!wi(r))throw new Error("invalid ip address");return Nl(r)}function cv(r){let t=bd(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!wi(t))throw new Error("invalid ip address");return t}function Fl(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ud(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Bd(r){let t=U(r),e=Uint8Array.from(ar.default.encode(t.length));return Vt([e,t],e.length+t.length)}function Nd(r){let t=ar.default.decode(r);if(r=r.slice(ar.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return $(r)}function lv(r){let t;r[0]==="Q"||r[0]==="1"?t=Pn(Kt.decode(`z${r}`)).bytes:t=dt.parse(r).multihash.bytes;let e=Uint8Array.from(ar.default.encode(t.length));return Vt([e,t],e.length+t.length)}function uv(r){let t=av.decode(r),e=Uint8Array.from(ar.default.encode(t.length));return Vt([e,t],e.length+t.length)}function fv(r){let t=ar.default.decode(r),e=r.slice(ar.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+$(e,"base64url")}function hv(r){let t=ar.default.decode(r),e=r.slice(ar.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return $(e,"base58btc")}function dv(r){let t=r.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 e=ve.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Fl(n);return Vt([e,i],e.length+i.length)}function pv(r){let t=r.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 e=ve.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Fl(n);return Vt([e,i],e.length+i.length)}function Od(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=$(t,"base32"),i=Ud(e);return`${n}:${i}`}var bi=S(Fs(),1);function mv(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],o=pt(i);if(o.size===0){t.push([i]);continue}if(n++,n>=e.length)throw Kd("invalid address: "+r);if(o.path===!0){t.push([i,$l(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function yv(r){let t=[];return r.map(e=>{let n=qs(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),$l(t.join("/"))}function gv(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=qs(t);return t.length>1?[e.code,Md(e.code,t[1])]:[e.code]})}function Kl(r){return r.map(t=>{let e=qs(t);return t[1]!=null?[e.code,kd(e.code,t[1])]:[e.code]})}function Vl(r){return Vs(Vt(r.map(t=>{let e=qs(t),n=Uint8Array.from(bi.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Vt([n,t[1]])),n})))}function ql(r,t){return r.size>0?r.size/8:r.size===0?0:bi.default.decode(t)+(bi.default.decode.bytes??0)}function Ks(r){let t=[],e=0;for(;e<r.length;){let n=bi.default.decode(r,e),i=bi.default.decode.bytes??0,o=pt(n),s=ql(o,r.slice(e+i));if(s===0){t.push([n]),e+=i;continue}let a=r.slice(e+i,e+i+s);if(e+=s+i,e>r.length)throw Kd("Invalid address Uint8Array: "+$(r,"base16"));t.push([n,a])}return t}function Hl(r){let t=Ks(r),e=Kl(t);return yv(e)}function wv(r){r=$l(r);let t=mv(r),e=gv(t);return Vl(e)}function Fd(r){return wv(r)}function Vs(r){let t=Ev(r);if(t!=null)throw t;return Uint8Array.from(r)}function Ev(r){try{Ks(r)}catch(t){return t}}function $l(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Kd(r){return new Error("Error parsing address: "+r)}function qs(r){return pt(r[0])}var Gl=S(Fs(),1);var $d=S(V(),1);function Et(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var _i=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},zl=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},po,mo,yo,Hd,bv=Symbol.for("nodejs.util.inspect.custom"),_v=[pt("dns").code,pt("dns4").code,pt("dns6").code,pt("dnsaddr").code],Yl=new Map,zd=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Gd(r,t){if(r==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let e,n=r.address;switch(r.family){case 4:e="ip4";break;case 6:if(e="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],e=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new cr("/"+[e,n,t,r.port].join("/"))}function Le(r){return Boolean(r?.[zd])}var cr=class{constructor(t){if(po.set(this,void 0),mo.set(this,void 0),yo.set(this,void 0),this[Hd]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Vs(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Fd(t)}else if(Le(t))this.bytes=Vs(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return _i(this,po,"f")==null&&zl(this,po,Hl(this.bytes),"f"),_i(this,po,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,o="",s=pt("tcp"),a=pt("udp"),c=pt("ip4"),l=pt("ip6"),u=pt("dns6"),f=pt("ip6zone");for(let[h,p]of this.stringTuples())h===f.code&&(o=`%${p??""}`),_v.includes(h)&&(e=s.name,i=443,n=`${p??""}${o}`,t=h===u.code?6:4),(h===s.code||h===a.code)&&(e=pt(h).name,i=parseInt(p??"")),(h===c.code||h===l.code)&&(e=pt(h).name,n=`${p??""}${o}`,t=h===l.code?6:4);if(t==null||e==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:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},pt(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=Gl.default.decode(e,n),o=Gl.default.decode.bytes??0,s=pt(i),a=ql(s,e.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return _i(this,mo,"f")==null&&zl(this,mo,Ks(this.bytes),"f"),_i(this,mo,"f")}stringTuples(){return _i(this,yo,"f")==null&&zl(this,yo,Kl(this.tuples()),"f"),_i(this,yo,"f")}encapsulate(t){return t=new cr(t),new cr(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new cr(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new cr(Vl(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===ho.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?$(Kt.decode(`z${n}`),"base58btc"):$(dt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>pt(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return Et(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(o=>o.resolvable);if(e==null)return[this];let n=Yl.get(e.name);if(n==null)throw(0,$d.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new cr(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 e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[(po=new WeakMap,mo=new WeakMap,yo=new WeakMap,Hd=zd,bv)](){return`Multiaddr(${Hl(this.bytes)})`}};function j(r){return new cr(r)}async function Ge(r){let t=[];for await(let e of r)t.push(e);return t}var Wl=(r,t)=>async function*(){yield*(await Ge(r)).sort(t)}();async function Ye(r){for await(let t of r);}async function*ce(r,t){for await(let e of r)await t(e)&&(yield e)}async function*Hs(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}var $s=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await Ye(this.putMany(t,n)),t=[],await Ye(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null&&(n=ce(n,i=>i.key.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>ce(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>Wl(i,o),n)),t.offset!=null){let i=0;n=ce(n,()=>i++>=t.offset)}return t.limit!=null&&(n=Hs(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null&&(n=ce(n,i=>i.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>ce(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>Wl(i,o),n)),t.offset!=null){let i=0;n=ce(n,()=>i++>=t.offset)}return t.limit!=null&&(n=Hs(n,t.limit)),n}};var zs=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((t,e)=>(e&=63,e<36?t+=e.toString(36):e<62?t+=(e-26).toString(36).toUpperCase():e>62?t+="-":t+="_",t),"");var Lr="/",Yd=new TextEncoder().encode(Lr),Gs=Yd[0],Mt=class{constructor(t,e){if(typeof t=="string")this._buf=U(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Gs)throw new Error("Invalid key")}toString(t="utf8"){return $(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Mt(t.join(Lr))}static random(){return new Mt(zs().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Mt(t):typeof t.uint8Array=="function"?new Mt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Yd),this._buf[0]!==Gs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Gs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Gs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let i=0;i<e.length;i++){if(n.length<i+1)return!1;let o=e[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return e.length<n.length}reverse(){return Mt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(Lr).slice(1)}type(){return Sv(this.baseNamespace())}name(){return Av(this.baseNamespace())}instance(t){return new Mt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(Lr)||(t+=Lr),t+=this.type(),new Mt(t)}parent(){let t=this.list();return t.length===1?new Mt(Lr):new Mt(t.slice(0,-1).join(Lr))}child(t){return this.toString()===Lr?t:t.toString()===Lr?this:new Mt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Mt.withNamespaces([...this.namespaces(),...Rv(t.map(e=>e.namespaces()))])}};function Sv(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Av(r){let t=r.split(":");return t[t.length-1]}function Rv(r){return[].concat(...r)}var Wd=S(V(),1);function Qd(r){return r=r||new Error("Not Found"),(0,Wd.default)(r,"ERR_NOT_FOUND")}var Ys=class extends $s{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(t,e){this.data[t.toString()]=e}async get(t){if(!await this.has(t))throw Qd();return this.data[t.toString()]}async has(t){return this.data[t.toString()]!==void 0}async delete(t){delete this.data[t.toString()]}async*_all(){yield*Object.entries(this.data).map(([t,e])=>({key:new Mt(t),value:e}))}async*_allKeys(){yield*Object.entries(this.data).map(([t])=>new Mt(t))}};var xo=S(V(),1);var X;(function(r){r.NOT_STARTED_YET="The libp2p node is not started yet",r.DHT_DISABLED="DHT is not available",r.PUBSUB_DISABLED="PubSub is not available",r.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",r.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",r.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",r.NOT_FOUND="Not found"})(X||(X={}));var b;(function(r){r.DHT_DISABLED="ERR_DHT_DISABLED",r.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",r.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",r.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",r.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",r.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",r.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",r.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",r.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",r.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",r.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",r.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",r.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",r.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",r.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",r.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",r.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",r.ERR_DIALED_SELF="ERR_DIALED_SELF",r.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",r.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",r.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",r.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",r.ERR_INVALID_KEY="ERR_INVALID_KEY",r.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_PEER="ERR_INVALID_PEER",r.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",r.ERR_NOT_FOUND="ERR_NOT_FOUND",r.ERR_TIMEOUT="ERR_TIMEOUT",r.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",r.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",r.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",r.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",r.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",r.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",r.ERR_FIND_SELF="ERR_FIND_SELF",r.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",r.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",r.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",r.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",r.ERR_INVALID_CMS="ERR_INVALID_CMS",r.ERR_MISSING_KEYS="ERR_MISSING_KEYS",r.ERR_NO_KEY="ERR_NO_KEY",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",r.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",r.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",r.ERR_INVALID_RECORD="ERR_INVALID_RECORD",r.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",r.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",r.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",r.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",r.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED"})(b||(b={}));var Xd=S(V(),1);async function*go(r,t){for await(let e of r)yield t(e)}async function*wo(r,t){yield*go(r,async e=>(await t.addressBook.add(e.id,e.multiaddrs),e))}function Ws(r){let t=new Set;return ce(r,e=>t.has(e.id.toString())?!1:(t.add(e.id.toString()),!0))}async function*Qs(r,t=1){let e=0;for await(let n of r)e++,yield n;if(e<t)throw(0,Xd.default)(new Error("not found"),"NOT_FOUND")}var m0=S(Br(),1);var Zs=class{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}},Si=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Zs(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 e=this.head;this.head=e.next=new Zs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Nn(r={}){return Dv(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Dv(r,t){t=t??{};let e=t.onEnd,n=new Si,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((m,y)=>{o=g=>{o=null,n.push(g);try{m(r(n))}catch(E){y(E)}return i}}):r(n),c=m=>o!=null?o(m):(n.push(m),i),l=m=>(n=new Si,o!=null?o({error:m}):(n.push({error:m}),i)),u=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 c({done:!1,value:m})},f=m=>s?i:(s=!0,m!=null?l(m):c({done:!0})),d=()=>(n=new Si,f(),{done:!0}),h=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:h,push:u,end:f,get readableLength(){return n.size}},e==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),e!=null&&(e(m),e=void 0),{done:!0}},return(){return p.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(m){return p.end(m),e!=null&&(e(m),e=void 0),i},get readableLength(){return p.readableLength}},i}async function*Nr(...r){let t=Nn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var Pv=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},r0=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),Zl=r=>r!=null&&typeof r.sink=="function"&&r0(r.source),Lv=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=Nn({objectMode:!0});return e.then(()=>{n.end()},o=>{n.end(o)}),Nr(n,async function*(){yield*r.source,n.end()}())}return r.source};function vt(r,...t){if(Zl(r)){let n=r;r=()=>n.source}else if(r0(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&Zl(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)Zl(e[n])&&(e[n]=Lv(e[n]));return Pv(...e)}async function be(r){for await(let t of r)return t}var ea=S(Jl(),1),y0=S(lr(),1),p0=N("libp2p:peer-routing"),ta=class{constructor(t,e){this.components=t,this.routers=e.routers??[],this.refreshManagerInit=e.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,ea.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new m0.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,y0.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Ye(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){p0.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,ea.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,e){if(this.routers.length===0)throw(0,xo.default)(new Error("No peer routers available"),b.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,xo.default)(new Error("Should not try to find self"),b.ERR_FIND_SELF);let n=await vt(Nr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,e)}catch(o){p0.error(o)}}())),i=>ce(i,Boolean),i=>wo(i,this.components.peerStore),async i=>await be(i));if(n!=null)return n;throw(0,xo.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getClosestPeers(t,e){if(this.routers.length===0)throw(0,xo.default)(new Error("No peer routers available"),b.ERR_NO_ROUTERS_AVAILABLE);yield*vt(Nr(...this.routers.map(n=>n.getClosestPeers(t,e))),n=>wo(n,this.components.peerStore),n=>Ws(n),n=>Qs(n))}};var tn=S(V(),1);var ra=class{constructor(t,e){this.routers=e.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,e={}){if(this.routers.length===0)throw(0,tn.default)(new Error("No content this.routers available"),b.ERR_NO_ROUTERS_AVAILABLE);yield*vt(Nr(...this.routers.map(n=>n.findProviders(t,e))),n=>wo(n,this.components.peerStore),n=>Ws(n),n=>Qs(n))}async provide(t,e={}){if(this.routers.length===0)throw(0,tn.default)(new Error("No content routers available"),b.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>await n.provide(t,e)))}async put(t,e,n){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Ye(i.put(t,e,n))}async get(t,e){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,e))if(i.name==="VALUE")return i.value}throw(0,tn.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getMany(t,e,n){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);if(e==null||e===0)return;let i=0,o=this.components.dht;if(o!=null){for await(let s of o.get(t,n))if(s.name==="VALUE"&&(yield{from:s.from,val:s.value},i++,i===e))break}if(i===0)throw(0,tn.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}};var na=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var tu=Symbol.for("@libp2p/peer-id");function On(r){return r!=null&&Boolean(r[tu])}var Hv=Symbol.for("nodejs.util.inspect.custom"),g0=Object.values(jr).map(r=>r.decoder).reduce((r,t)=>r.or(t),jr.identity.decoder),w0=114,eu=36,ru=37,vo=class{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()})`}get[tu](){return!0}toString(){return this.string==null&&(this.string=Kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return dt.createV1(w0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Et(this.multihash.bytes,t);if(typeof t=="string")return tt(t).equals(this);if(t?.multihash?.bytes!=null)return Et(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Hv](){return`PeerId(${this.toString()})`}},kn=class extends vo{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Mn=class extends vo{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Un=class extends vo{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function qt(r){if(r.type==="RSA")return new kn(r);if(r.type==="Ed25519")return new Mn(r);if(r.type==="secp256k1")return new Un(r);throw new na("Not a PeerId","ERR_INVALID_PARAMETERS")}function tt(r,t){if(t=t??g0,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Pn(Kt.decode(`z${r}`));return r.startsWith("12D")?new Mn({multihash:e}):r.startsWith("16U")?new Un({multihash:e}):new kn({multihash:e})}return en(g0.decode(r))}function en(r){try{let t=Pn(r);if(t.code===Jr.code){if(t.digest.length===eu)return new Mn({multihash:t});if(t.digest.length===ru)return new Un({multihash:t})}if(t.code===jt.code)return new kn({multihash:t})}catch{return $v(dt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function $v(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==w0)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===jt.code)return new kn({multihash:r.multihash});if(t.code===Jr.code){if(t.digest.length===eu)return new Mn({multihash:r.multihash});if(t.digest.length===ru)return new Un({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function rn(r,t){return r.length===eu?new Mn({multihash:sr(Jr.code,r),privateKey:t}):r.length===ru?new Un({multihash:sr(Jr.code,r),privateKey:t}):new kn({multihash:await jt.digest(r),publicKey:r,privateKey:t})}var zv=r=>r,ia=class extends Pt{constructor(t,e){super();let{listen:n=[],announce:i=[]}=e;this.components=t,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Set,this.announceFilter=e.announceFilter??zv}getListenAddrs(){return Array.from(this.listen).map(t=>j(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>j(t))}getObservedAddrs(){return Array.from(this.observed).map(t=>j(t))}confirmObservedAddr(t){}removeObservedAddr(t){}addObservedAddr(t){let e=j(t),n=e.getPeerId();n!=null&&tt(n).equals(this.components.peerId)&&(e=e.decapsulate(j(`/p2p/${this.components.peerId.toString()}`)));let i=e.toString();this.observed.has(i)||(this.observed.add(i),this.dispatchEvent(new H("change:addresses")))}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(this.getObservedAddrs().map(n=>n.toString()));let e=new Set(t);return this.announceFilter(Array.from(e).map(n=>j(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var da=S(V(),1);var I0=S(R0(),1),Be=I0.default;var T0=N("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),aa=class extends Pt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",e="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",e="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",e="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",e="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",e="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=e}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?T0("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;T0(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new H("visibilityChange",{detail:t}))}};var Or=N("libp2p:connection-manager:latency-monitor"),ca=class extends Pt{constructor(t={}){super();let{latencyCheckIntervalMs:e,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:o}=t;this.latencyCheckIntervalMs=e??500,this.latencyRandomPercentage=o??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,Or("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?Or("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):Or("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(Or("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=s=>{let a=this.now(s);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(Or("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=s=>Math.round(this.now()-s)):(Or("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=s=>this.now()-s),this.latencyData=this.initLatencyData()}start(){Zv()&&(this.visibilityChangeEmitter=new aa,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:e}=t;e?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new H("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),Or.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,e={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(e.startTime)-e.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,Or.trace("MS: %s Data: %O",i,this.latencyData)};Or.trace("localData: %O",e),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(e.deltaOffset=0,e.startTime=this.now(),this.asyncTestFn(n)):(e.deltaOffset-=1,n())},e.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Zv(){return typeof globalThis.window<"u"}var pa=S(lr(),1);var la="OPEN",iu="CLOSING",ua="CLOSED";function kr(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return e}var bo=class{constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return kr(this.map.entries(),t=>[tt(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,tt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return kr(this.map.keys(),t=>tt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Mr=class{constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return kr(this.set.entries(),t=>{let e=tt(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=tt(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return kr(this.set.values(),t=>tt(t))}intersection(t){let e=new Mr;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new Mr;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new Mr;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var Ci=class{constructor(t){if(this.list=[],t!=null)for(let e of t)this.list.push(e.toString())}[Symbol.iterator](){return kr(this.list.entries(),t=>tt(t[1]))}concat(t){let e=new Ci(this);for(let n of t)e.push(n);return e}entries(){return kr(this.list.entries(),t=>[t[0],tt(t[1])])}every(t){return this.list.every((e,n)=>t(tt(e),n,this))}filter(t){let e=new Ci;return this.list.forEach((n,i)=>{let o=tt(n);t(o,i,this)&&e.push(o)}),e}find(t){let e=this.list.find((n,i)=>t(tt(n),i,this));if(e!=null)return tt(e)}findIndex(t){return this.list.findIndex((e,n)=>t(tt(e),n,this))}forEach(t){this.list.forEach((e,n)=>{t(tt(e),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return tt(t)}push(...t){for(let e of t)this.list.push(e.toString())}shift(){let t=this.list.shift();if(t!=null)return tt(t)}unshift(...t){let e=this.list.length;for(let n=t.length-1;n>-1;n--)e=this.list.unshift(t[n].toString());return e}get length(){return this.list.length}};var wu=S(Br(),1);var C0="keep-alive";var Rp=S(Sp(),1);var Ap=S(V(),1);function ha(r){if(On(r))return{peerId:r};if(Le(r)){let t=r.getPeerId();return{multiaddr:r,peerId:t==null?void 0:tt(t)}}throw(0,Ap.default)(new Error(`${r} is not a PeerId or a Multiaddr`),b.ERR_INVALID_MULTIADDR)}var Yt=N("libp2p:connection-manager"),N2={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},O2=6e4,ma=class extends Pt{constructor(t,e){if(super(),this.opts=Be.call({ignoreUndefined:!0},N2,e),this.opts.maxConnections<this.opts.minConnections)throw(0,da.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),b.ERR_INVALID_PARAMETERS);Yt("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,e.maxEventLoopDelay!=null&&e.maxEventLoopDelay>0&&e.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new ca({latencyCheckIntervalMs:e.pollInterval,dataEmitIntervalMs:e.pollInterval}));try{(0,pa.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=e.startupReconnectTimeout??O2,this.dialTimeout=e.dialTimeout??3e4,this.allow=(e.allow??[]).map(n=>j(n)),this.deny=(e.deny??[]).map(n=>j(n)),this.inboundConnectionRateLimiter=new Rp.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let e of this.connections.values())for(let n of e)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let e of this.connections.values())for(let n of e)for(let i of n.streams){let o=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;t[o]=(t[o]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.stat.direction} ${s.stat.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))t[s]=t[s]??[],t[s].push(a)}let e={};for(let[n,i]of Object.entries(t)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);e[n]=i[o]}return e}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,Yt("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let e of await this.components.peerStore.all())(await this.components.peerStore.getTags(e.id)).filter(o=>o.name===C0).length>0&&t.push(e.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new wu.TimeoutController(this.startupReconnectTimeout);try{(0,pa.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async e=>{await this.openConnection(e,{signal:this.connectOnStartupController?.signal}).catch(n=>{Yt.error(n)})}))}).catch(t=>{Yt.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),Yt("stopped")}async _close(){let t=[];for(let e of this.connections.values())for(let n of e)t.push((async()=>{try{await n.close()}catch(i){Yt.error(i)}})());Yt("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(e=>{Yt.error(e)})}async _onConnect(t){let{detail:e}=t;if(!this.started){await e.close();return}let n=e.remotePeer,i=n.toString(),o=this.connections.get(i);o!=null?o.push(e):this.connections.set(i,[e]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let s=this.getConnections().length,a=s-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",s,a),this.dispatchEvent(new H("peer:connect",{detail:e}))}onDisconnect(t){let{detail:e}=t;if(!this.started)return;let n=e.remotePeer.toString(),i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==e.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new H("peer:disconnect",{detail:e})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let e=[];for(let n of this.connections.values())e=e.concat(n);return e}async openConnection(t,e={}){let{peerId:n,multiaddr:i}=ha(t);if(n==null&&i==null)throw(0,da.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),b.ERR_INVALID_PARAMETERS);if(n!=null){Yt("dial to",n);let s=this.getConnections(n);if(s.length>0)return Yt("had an existing connection to %p",n),s[0]}let o;if(e?.signal==null){o=new wu.TimeoutController(this.dialTimeout),e.signal=o.signal;try{(0,pa.setMaxListeners)?.(1/0,o.signal)}catch{}}try{let s=await this.components.dialer.dial(t,e),a=this.connections.get(s.remotePeer.toString());a==null&&(a=[],this.connections.set(s.remotePeer.toString(),a));let c=!1;for(let l of a)l.id===s.id&&(c=!0);return c||a.push(s),s}finally{o?.clear()}}async closeConnections(t){let e=this.connections.get(t.toString())??[];await Promise.all(e.map(async n=>await n.close()))}getAll(t){if(!On(t))throw(0,da.default)(new Error("peerId must be an instance of peer-id"),b.ERR_INVALID_PARAMETERS);let e=t.toString(),n=this.connections.get(e);return n!=null?n.filter(i=>i.stat.status===la):[]}_onLatencyMeasure(t){let{detail:e}=t;this._checkMaxLimit("maxEventLoopDelay",e.avgMs,1).catch(n=>{Yt.error(n)})}async _checkMaxLimit(t,e,n=1){let i=this.opts[t];if(i==null){Yt.trace("limit %s was not set so it cannot be applied",t);return}Yt.trace("checking limit of %s. current value: %d of %d",t,e,i),e>i&&(Yt("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,e,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let e=this.getConnections(),n=new bo;for(let s of e){let a=s.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((l,u)=>l+u.value,0))}let i=e.sort((s,a)=>{let c=n.get(s.remotePeer)??0,l=n.get(a.remotePeer)??0;if(c>l)return 1;if(c<l)return-1;let u=s.stat.timeline.open,f=a.stat.timeline.open;return u<f?1:u>f?-1:0}),o=[];for(let s of i)if(Yt("too many connections open - closing a connection to %p",s.remotePeer),o.push(s),o.length===t)break;await Promise.all(o.map(async s=>{try{await s.close()}catch(a){Yt.error(a)}this.onDisconnect(new H("connectionEnd",{detail:s}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Yt("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return Yt("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Yt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(Yt("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var Eu=S(Xl(),1);async function*Ao(r,t){yield*(await Ge(r)).sort(t)}var nn=N("libp2p:connection-manager:auto-dialler"),k2={enabled:!0,minConnections:0,autoDialInterval:1e4},ya=class{constructor(t,e){this.components=t,this.options=Be.call({ignoreUndefined:!0},k2,e),this.running=!1,this._autoDial=this._autoDial.bind(this),nn("options: %j",this.options)}isStarted(){return this.running}async start(){if(!this.options.enabled){nn("not enabled");return}this.running=!0,this._autoDial().catch(t=>{nn.error("could start autodial",t)}),nn("started")}async stop(){if(!this.options.enabled){nn("not enabled");return}this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),nn("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,Eu.default)(this._autoDial,this.options.autoDialInterval);return}let e=await this.components.peerStore.all(),n=await vt(e.sort(()=>Math.random()>.5?1:-1),i=>ce(i,o=>!o.id.equals(this.components.peerId)),i=>Ao(i,(o,s)=>s.protocols.length>o.protocols.length||s.id.publicKey!=null&&o.id.publicKey==null?1:-1),async i=>await Ge(i));for(let i=0;this.running&&i<n.length&&this.components.connectionManager.getConnections().length<t;i++){if(!this.running)return;let o=n[i];if(this.components.connectionManager.getConnections(o.id).length===0){nn("connecting to a peerStore stored peer %p",o.id);try{await this.components.connectionManager.openConnection(o.id)}catch(s){nn.error("could not connect to peerStore stored peer",s)}}}this.running&&(this.autoDialTimeout=(0,Eu.default)(this._autoDial,this.options.autoDialInterval))}};var Mm=S(V(),1);var M2=q("dns4"),U2=q("dns6"),F2=q("dnsaddr"),Ni=le(q("dns"),F2,M2,U2),ga=le(q("ip4"),q("ip6")),Co=le(W(ga,q("tcp")),W(Ni,q("tcp"))),Tp=W(ga,q("udp")),K2=W(Tp,q("utp")),V2=W(Tp,q("quic")),Ro=le(W(Co,q("ws")),W(Ni,q("ws"))),Io=le(W(Co,q("wss")),W(Ni,q("wss"))),xu=le(W(Co,q("http")),W(ga,q("http")),W(Ni,q("http"))),vu=le(W(Co,q("https")),W(ga,q("https")),W(Ni,q("https"))),Cp=le(W(Ro,q("p2p-webrtc-star"),q("p2p")),W(Io,q("p2p-webrtc-star"),q("p2p")),W(Ro,q("p2p-webrtc-star")),W(Io,q("p2p-webrtc-star"))),SD=le(W(Ro,q("p2p-websocket-star"),q("p2p")),W(Io,q("p2p-websocket-star"),q("p2p")),W(Ro,q("p2p-websocket-star")),W(Io,q("p2p-websocket-star"))),Dp=le(W(xu,q("p2p-webrtc-direct"),q("p2p")),W(vu,q("p2p-webrtc-direct"),q("p2p")),W(xu,q("p2p-webrtc-direct")),W(vu,q("p2p-webrtc-direct"))),To=le(Ro,Io,xu,vu,Cp,Dp,Co,K2,V2,Ni),AD=le(W(To,q("p2p-stardust"),q("p2p")),W(To,q("p2p-stardust"))),on=le(W(To,q("p2p")),Cp,Dp,q("p2p")),Ip=le(W(on,q("p2p-circuit"),on),W(on,q("p2p-circuit")),W(q("p2p-circuit"),on),W(To,q("p2p-circuit")),W(q("p2p-circuit"),To),q("p2p-circuit")),Pp=()=>le(W(Ip,Pp),Ip),Kn=Pp(),RD=le(W(Kn,on,Kn),W(on,Kn),W(Kn,on),Kn,on);function Lp(r){function t(e){let n;try{n=j(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function W(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(i=>(n=typeof i=="function"?i().partialMatch(e):i.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Lp(t),partialMatch:t}}function le(...r){function t(n){let i=null;return r.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"{ "+r.join(" ")+" }"},input:r,matches:Lp(t),partialMatch:t}}function q(r){let t=r;function e(i){let o;try{o=j(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:e,partialMatch:n}}var Nu=S(Ru(),1),Em=S(fm(),1),Ou=S(Bu(),1),xm=S(wm(),1),vm=S(qn(),1);function Z2(){vm.default._configure(),Nu.default._configure(Em.default),Ou.default._configure(xm.default)}Z2();var bm=["uint64","int64","sint64","fixed64","sfixed64"];function J2(r){for(let t of bm){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function ku(r){return J2(new Nu.default(r))}function j2(r){for(let t of bm){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function Mu(){return j2(Ou.default.create())}function bt(r,t){let e=ku(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function _t(r,t){let e=Mu();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var ki;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(ki||(ki={}));function ba(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function cn(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return ba("enum",ki.VARINT,e,n)}function St(r,t){return ba("message",ki.LENGTH_DELIMITED,r,t)}var z;(function(r){let t;(function(a){a.SUCCESS="SUCCESS",a.HOP_SRC_ADDR_TOO_LONG="HOP_SRC_ADDR_TOO_LONG",a.HOP_DST_ADDR_TOO_LONG="HOP_DST_ADDR_TOO_LONG",a.HOP_SRC_MULTIADDR_INVALID="HOP_SRC_MULTIADDR_INVALID",a.HOP_DST_MULTIADDR_INVALID="HOP_DST_MULTIADDR_INVALID",a.HOP_NO_CONN_TO_DST="HOP_NO_CONN_TO_DST",a.HOP_CANT_DIAL_DST="HOP_CANT_DIAL_DST",a.HOP_CANT_OPEN_DST_STREAM="HOP_CANT_OPEN_DST_STREAM",a.HOP_CANT_SPEAK_RELAY="HOP_CANT_SPEAK_RELAY",a.HOP_CANT_RELAY_TO_SELF="HOP_CANT_RELAY_TO_SELF",a.STOP_SRC_ADDR_TOO_LONG="STOP_SRC_ADDR_TOO_LONG",a.STOP_DST_ADDR_TOO_LONG="STOP_DST_ADDR_TOO_LONG",a.STOP_SRC_MULTIADDR_INVALID="STOP_SRC_MULTIADDR_INVALID",a.STOP_DST_MULTIADDR_INVALID="STOP_DST_MULTIADDR_INVALID",a.STOP_RELAY_REFUSED="STOP_RELAY_REFUSED",a.MALFORMED_MESSAGE="MALFORMED_MESSAGE"})(t=r.Status||(r.Status={}));let e;(function(a){a[a.SUCCESS=100]="SUCCESS",a[a.HOP_SRC_ADDR_TOO_LONG=220]="HOP_SRC_ADDR_TOO_LONG",a[a.HOP_DST_ADDR_TOO_LONG=221]="HOP_DST_ADDR_TOO_LONG",a[a.HOP_SRC_MULTIADDR_INVALID=250]="HOP_SRC_MULTIADDR_INVALID",a[a.HOP_DST_MULTIADDR_INVALID=251]="HOP_DST_MULTIADDR_INVALID",a[a.HOP_NO_CONN_TO_DST=260]="HOP_NO_CONN_TO_DST",a[a.HOP_CANT_DIAL_DST=261]="HOP_CANT_DIAL_DST",a[a.HOP_CANT_OPEN_DST_STREAM=262]="HOP_CANT_OPEN_DST_STREAM",a[a.HOP_CANT_SPEAK_RELAY=270]="HOP_CANT_SPEAK_RELAY",a[a.HOP_CANT_RELAY_TO_SELF=280]="HOP_CANT_RELAY_TO_SELF",a[a.STOP_SRC_ADDR_TOO_LONG=320]="STOP_SRC_ADDR_TOO_LONG",a[a.STOP_DST_ADDR_TOO_LONG=321]="STOP_DST_ADDR_TOO_LONG",a[a.STOP_SRC_MULTIADDR_INVALID=350]="STOP_SRC_MULTIADDR_INVALID",a[a.STOP_DST_MULTIADDR_INVALID=351]="STOP_DST_MULTIADDR_INVALID",a[a.STOP_RELAY_REFUSED=390]="STOP_RELAY_REFUSED",a[a.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE"})(e||(e={})),function(a){a.codec=()=>cn(e)}(t=r.Status||(r.Status={}));let n;(function(a){a.HOP="HOP",a.STOP="STOP",a.STATUS="STATUS",a.CAN_HOP="CAN_HOP"})(n=r.Type||(r.Type={}));let i;(function(a){a[a.HOP=1]="HOP",a[a.STOP=2]="STOP",a[a.STATUS=3]="STATUS",a[a.CAN_HOP=4]="CAN_HOP"})(i||(i={})),function(a){a.codec=()=>cn(i)}(n=r.Type||(r.Type={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=St((l,u,f={})=>{if(f.lengthDelimited!==!1&&u.fork(),(f.writeDefaults===!0||l.id!=null&&l.id.byteLength>0)&&(u.uint32(10),u.bytes(l.id)),l.addrs!=null)for(let d of l.addrs)u.uint32(18),u.bytes(d);f.lengthDelimited!==!1&&u.ldelim()},(l,u)=>{let f={id:new Uint8Array(0),addrs:[]},d=u==null?l.len:l.pos+u;for(;l.pos<d;){let h=l.uint32();switch(h>>>3){case 1:f.id=l.bytes();break;case 2:f.addrs.push(l.bytes());break;default:l.skipType(h&7);break}}return f})),c),a.encode=l=>_t(l,a.codec()),a.decode=l=>bt(l,a.codec())})(o=r.Peer||(r.Peer={}));let s;r.codec=()=>(s==null&&(s=St((a,c,l={})=>{l.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),r.Type.codec().encode(a.type,c)),a.srcPeer!=null&&(c.uint32(18),r.Peer.codec().encode(a.srcPeer,c,{writeDefaults:!1})),a.dstPeer!=null&&(c.uint32(26),r.Peer.codec().encode(a.dstPeer,c,{writeDefaults:!1})),a.code!=null&&(c.uint32(32),r.Status.codec().encode(a.code,c)),l.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let l={},u=c==null?a.len:a.pos+c;for(;a.pos<u;){let f=a.uint32();switch(f>>>3){case 1:l.type=r.Type.codec().decode(a);break;case 2:l.srcPeer=r.Peer.codec().decode(a,a.uint32());break;case 3:l.dstPeer=r.Peer.codec().decode(a,a.uint32());break;case 4:l.code=r.Status.codec().decode(a);break;default:a.skipType(f&7);break}}return l})),s),r.encode=a=>_t(a,r.codec()),r.decode=a=>bt(a,r.codec())})(z||(z={}));var Lo=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function _m(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function $n(r,t,e){let n=e??{},i=_m(r);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:u,abortCode:f}=n;throw new Lo(u,f)}let l=new Promise((u,f)=>{s=()=>{let{abortMessage:d,abortCode:h}=n;f(new Lo(d,h))}});c=await Promise.race([l,i.next()]),s=null}catch(l){t.removeEventListener("abort",a);let u=l.type==="aborted"&&t.aborted;if(u&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(u&&n.returnOnAbort===!0)return;throw l}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function tb(r,t,e){return n=>r($n(n,t,e))}function Se(r,t,e){return{sink:tb(r.sink,t,{...e,onAbort:void 0}),source:$n(r.source,t,e)}}var eb=N("libp2p:stream:converter");function Uu(r,t={}){let{stream:e,remoteAddr:n}=r,{sink:i,source:o}=e,s=async function*(){for await(let l of o)yield*l}(),a={async sink(l){t.signal!=null&&(l=$n(l,t.signal));try{await i(l),await c()}catch(u){u.type!=="aborted"&&eb(u)}},source:t.signal!=null?$n(s,t.signal):s,remoteAddr:n,timeline:{open:Date.now(),close:void 0},async close(){await i(async function*(){yield new Uint8Array(0)}()),await c()}};async function c(){return a.timeline.close==null&&(a.timeline.close=Date.now()),await Promise.resolve()}return a}var hr="/libp2p/circuit/relay/0.1.0";function Sm(r){let t=new Map;async function e(o){let s=o.toString().split("/p2p-circuit").find(d=>d!==""),a=j(s),c=a.getPeerId();if(c==null)throw new Error("Could not determine relay peer from multiaddr");let l=tt(c);await r.peerStore.addressBook.add(l,[a]);let u=await r.connectionManager.openConnection(l),f=u.remoteAddr.encapsulate("/p2p-circuit");t.set(u.remotePeer.toString(),f),i.dispatchEvent(new H("listening"))}function n(){let o=[];for(let s of t.values())o.push(s);return o}let i=Object.assign(new Pt,{close:async()=>await Promise.resolve(),listen:e,getAddrs:n});return r.connectionManager.addEventListener("peer:disconnect",o=>{let{detail:s}=o;t.delete(s.remotePeer.toString())&&i.dispatchEvent(new H("close"))}),i}var qu=S(V(),1);function Am(r,t){r.write({type:z.Type.STATUS,code:t})}function _a(r,t){try{r.dstPeer?.addrs!=null&&r.dstPeer.addrs.forEach(e=>j(e))}catch(e){throw Am(t,r.type===z.Type.HOP?z.Status.HOP_DST_MULTIADDR_INVALID:z.Status.STOP_DST_MULTIADDR_INVALID),e}try{r.srcPeer?.addrs!=null&&r.srcPeer.addrs.forEach(e=>j(e))}catch(e){throw Am(t,r.type===z.Type.HOP?z.Status.HOP_SRC_MULTIADDR_INVALID:z.Status.STOP_SRC_MULTIADDR_INVALID),e}}var Im=Symbol.for("@achingbrain/uint8arraylist");function Rm(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Sa(r){return Boolean(r?.[Im])}var Ut=class{constructor(...t){Object.defineProperty(this,Im,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Sa(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Sa(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Rm(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Rm(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Sa(t))for(let n=0;n<t.length;n++)this.set(e+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,e){let{bufs:n,length:i}=this._subList(t,e);return Vt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Vt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new Ut;return o.length=i,o.bufs=n,o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===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 l=t>=a&&t<c,u=e>a&&e<=c;if(l&&u){if(t===a&&e===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(e-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Sa(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(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=e;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){u=Math.max(1,d-a[h]);break}}if(u===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Pr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=Dr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=Dr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=Dr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Pr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=Dr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=Dr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=Dr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=Dr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=Dr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ut)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Et(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new Ut;return n.bufs=t,e==null&&(e=t.reduce((i,o)=>i+o.byteLength,0)),n.length=e,n}};function Aa(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var Tm=4294967296,Ae=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Ae(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Ae(e,n)}toBytes(t,e=0){let n=Aa(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new Ae;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>Tm&&(i=0,++n>Tm&&(n=0))),new Ae(n,i)}static fromNumber(t){if(t===0)return new Ae;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ae(i,n)}static fromBytes(t,e=0){let n=Aa(t),i=new Ae,o=0;if(t.length-e>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(e)&127)<<o*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;o=0}else for(;o<4;++o){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<o*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(e)&127)<<o*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;o<5;++o){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<o*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var rb=Math.pow(2,7),nb=Math.pow(2,14),ib=Math.pow(2,21),ob=Math.pow(2,28),sb=Math.pow(2,35),ab=Math.pow(2,42),cb=Math.pow(2,49),lb=Math.pow(2,56),ub=Math.pow(2,63),Xe={encodingLength(r){return r<rb?1:r<nb?2:r<ib?3:r<ob?4:r<sb?5:r<ab?6:r<cb?7:r<lb?8:r<ub?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Pr(Xe.encodingLength(r))),Ae.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return Ae.fromBytes(r,t).toNumber(!0)}};function Cm(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Ra=r=>{let t=Xe.encodingLength(r),e=Cm(t);return Xe.encode(r,e),Ra.bytes=t,e};Ra.bytes=0;function ke(r){r=r??{};let t=r.lengthEncoder??Ra;return async function*(n){for await(let i of n){let o=t(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}ke.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ra;return new Ut(e(r.byteLength),r)};var Bo=S(V(),1),fb=8,hb=1024*1024*4,zn;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(zn||(zn={}));var Fu=r=>{let t=Xe.decode(r);return Fu.bytes=Xe.encodingLength(t),t};Fu.bytes=0;function Re(r){return async function*(e){let n=new Ut,i=zn.LENGTH,o=-1,s=r?.lengthDecoder??Fu,a=r?.maxLengthLength??fb,c=r?.maxDataLength??hb;for await(let l of e)for(n.append(l);n.byteLength>0;){if(i===zn.LENGTH)try{if(o=s(n),o<0)throw(0,Bo.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Bo.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;n.consume(u),r?.onLength!=null&&r.onLength(o),i=zn.DATA}catch(u){if(u instanceof RangeError){if(n.byteLength>a)throw(0,Bo.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(i===zn.DATA){if(n.byteLength<o)break;let u=n.sublist(0,o);n.consume(o),r?.onData!=null&&r.onData(u),yield u,i=zn.LENGTH}}if(n.byteLength>0)throw(0,Bo.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Re.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(e);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{e=1}}();return Re({...t??{},onLength:o=>{e=o}})(n)};function Ku(r){let t=async function*(){let e=yield,n=new Ut;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new Ut;continue}for(n.append(i);n.length>=e;){let o=n.sublist(0,e);if(n.consume(e),e=yield o,e==null){n.length>0&&(e=yield n,n=new Ut);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function Vu(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}function Mi(r){let t=Nn(),e=Ku(r.source),n=Vu(),i,o=r.sink(async function*(){yield*t,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:e,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await o),source:e},rest:()=>t.end(),write:t.push,read:async()=>{let a=await e.next();if(a.value!=null)return a.value}}}var No=N("libp2p:circuit:stream-handler"),Ur=class{constructor(t){let{stream:e,maxLength:n=4096}=t;this.stream=e,this.shake=Mi(this.stream),this.decoder=Re.fromReader(this.shake.reader,{maxDataLength:n})}async read(){let t=await this.decoder.next();if(t.value!=null){let e=z.decode(t.value);return No("read message type",e.type),e}No("read received no value, closing stream"),this.close()}write(t){No("write message type %s",t.type),this.shake.write(ke.single(z.encode(t)))}rest(){return this.shake.rest(),this.shake.stream}end(t){this.write(t),this.close()}close(){No("closing the stream"),this.rest().sink([]).catch(t=>{No.error(t)})}};var Oo=N("libp2p:circuit:stop");function Dm(r){let{connection:t,request:e,streamHandler:n}=r;try{_a(e,n)}catch(i){Oo.error("invalid stop request via peer %p %o",t.remotePeer,i);return}return Oo("stop request is valid"),n.write({type:z.Type.STATUS,code:z.Status.SUCCESS}),n.rest()}async function Pm(r){let{connection:t,request:e,signal:n}=r,i=await t.newStream(hr,{signal:n});Oo("starting stop request to %p",t.remotePeer);let o=new Ur({stream:i});o.write(e);let s=await o.read();if(s==null){o.close();return}if(s.code===z.Status.SUCCESS)return Oo("stop request to %p was successful",t.remotePeer),o.rest();Oo("stop request failed with code %d",s.code),o.close()}var Me=N("libp2p:circuit:hop");async function Lm(r){let{connection:t,request:e,streamHandler:n,circuit:i,connectionManager:o}=r;if(!i.hopEnabled())return Me("HOP request received but we are not acting as a relay"),n.end({type:z.Type.STATUS,code:z.Status.HOP_CANT_SPEAK_RELAY});try{_a(e,n)}catch(f){Me.error("invalid hop request via peer %p %o",t.remotePeer,f);return}if(e.dstPeer==null){Me("HOP request received but we do not receive a dstPeer");return}let s=en(e.dstPeer.id),a=o.getConnections(s);if(a.length===0&&!i.hopActive())return Me("HOP request received but we are not connected to the destination peer"),n.end({type:z.Type.STATUS,code:z.Status.HOP_NO_CONN_TO_DST});if(a.length===0)return Me("did not have connection to remote peer"),n.end({type:z.Type.STATUS,code:z.Status.HOP_NO_CONN_TO_DST});let c={type:z.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},l;try{Me("performing STOP request");let f=await Pm({connection:a[0],request:c});if(f==null)throw new Error("Could not stop");l=f}catch(f){Me.error(f);return}Me("hop request from %p is valid",t.remotePeer),n.write({type:z.Type.STATUS,code:z.Status.SUCCESS});let u=n.rest();return Me("creating related connections"),await vt(u,l,u)}async function Bm(r){let{connection:t,request:e,signal:n}=r,i=await t.newStream(hr,{signal:n}),o=new Ur({stream:i});o.write(e);let s=await o.read();if(s==null)throw(0,qu.default)(new Error("HOP request had no response"),b.ERR_HOP_REQUEST_FAILED);if(s.code===z.Status.SUCCESS)return Me("hop request was successful"),o.rest();throw Me("hop request failed with code %d, closing stream",s.code),o.close(),(0,qu.default)(new Error(`HOP request failed with code "${s.code??"unknown"}"`),b.ERR_HOP_REQUEST_FAILED)}async function Nm(r){let{connection:t,signal:e}=r,n=await t.newStream(hr,{signal:e}),i=new Ur({stream:n});i.write({type:z.Type.CAN_HOP});let o=await i.read();return await i.close(),!(o==null||o.code!==z.Status.SUCCESS)}function Om(r){let{connection:t,streamHandler:e,circuit:n}=r,i=n.hopEnabled();Me("can hop (%s) request from %p",i,t.remotePeer),e.end({type:z.Type.STATUS,code:i?z.Status.SUCCESS:z.Status.HOP_CANT_SPEAK_RELAY})}var km=Symbol.for("@libp2p/transport");var ln;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ln||(ln={}));var Um=S(Br(),1),Fm=S(lr(),1),Ue=N("libp2p:circuit"),Ta=class{constructor(t,e){this._init=e,this.components=t,this._started=!1}isStarted(){return this._started}async start(){this._started||(this._started=!0,await this.components.registrar.handle(hr,t=>{this._onProtocol(t).catch(e=>{Ue.error(e)})},{...this._init}).catch(t=>{Ue.error(t)}))}async stop(){await this.components.registrar.unhandle(hr)}hopEnabled(){return!0}hopActive(){return!0}get[km](){return!0}get[Symbol.toStringTag](){return"libp2p/circuit-relay-v1"}async _onProtocol(t){let{connection:e,stream:n}=t,i=new Um.TimeoutController(this._init.hop.timeout);try{(0,Fm.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=Se(n,i.signal),s=new Ur({stream:{...n,...o}}),a=await s.read();if(a==null){Ue("request was invalid, could not read from stream"),s.write({type:z.Type.STATUS,code:z.Status.MALFORMED_MESSAGE}),s.close();return}let c;switch(a.type){case z.Type.CAN_HOP:{Ue("received CAN_HOP request from %p",e.remotePeer),await Om({circuit:this,connection:e,streamHandler:s});break}case z.Type.HOP:{Ue("received HOP request from %p",e.remotePeer),await Lm({connection:e,request:a,streamHandler:s,circuit:this,connectionManager:this.components.connectionManager});break}case z.Type.STOP:{Ue("received STOP request from %p",e.remotePeer),c=await Dm({connection:e,request:a,streamHandler:s});break}default:{Ue("Request of type %s not supported",a.type),s.write({type:z.Type.STATUS,code:z.Status.MALFORMED_MESSAGE}),s.close();return}}if(c!=null){let l=e.remoteAddr.encapsulate("/p2p-circuit").encapsulate(j(a.dstPeer?.addrs[0])),u=j(a.srcPeer?.addrs[0]),f=Uu({stream:c,remoteAddr:l,localAddr:u}),d=a.type===z.Type.HOP?"relay":"inbound";Ue("new %s connection %s",d,f.remoteAddr);let h=await this.components.upgrader.upgradeInbound(f);Ue("%s connection %s upgraded",d,f.remoteAddr),this.handler!=null&&this.handler(h)}}finally{i.clear()}}async dial(t,e={}){let n=t.toString().split("/p2p-circuit"),i=j(n[0]),o=j(n[n.length-1]),s=i.getPeerId(),a=o.getPeerId();if(s==null||a==null){let h="Circuit relay dial failed as addresses did not have peer id";throw Ue.error(h),(0,Mm.default)(new Error(h),b.ERR_RELAYED_DIAL)}let c=tt(s),l=tt(a),u=!1,d=this.components.connectionManager.getConnections(c)[0];d==null&&(await this.components.peerStore.addressBook.add(c,[i]),d=await this.components.connectionManager.openConnection(c,e),u=!0);try{let h=await Bm({...e,connection:d,request:{type:z.Type.HOP,srcPeer:{id:this.components.peerId.toBytes(),addrs:this.components.addressManager.getAddresses().map(y=>y.bytes)},dstPeer:{id:l.toBytes(),addrs:[j(o).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`),m=Uu({stream:h,remoteAddr:t,localAddr:p});return Ue("new outbound connection %s",m.remoteAddr),await this.components.upgrader.upgradeOutbound(m)}catch(h){throw Ue.error("Circuit relay dial failed",h),u&&await d.close(),h}}createListener(t){return this.handler=t.handler,Sm({connectionManager:this.components.connectionManager,peerStore:this.components.peerStore})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>Kn.matches(e))}};var ka=S(Jl(),1);async function Ca(r){let t=new TextEncoder().encode(r),e=await jt.digest(t);return dt.createV0(e)}var Hu="hop_relay",$u="true",Da="/libp2p/relay";var Gm=S(Km(),1);var Vm="[a-fA-F\\d:]",un=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${Vm})|(?<=${Vm})(?=\\s|$))`:"",Ze="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Wt="[a-fA-F\\d]{1,4}",Pa=`
|
|
37
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function e_(r){return r.replace(/^\s+/,"")}});var My=T((x8,ky)=>{var mr=mt();Wn();$t();var By=ky.exports=mr.sha256=mr.sha256||{};mr.md.sha256=mr.md.algorithms.sha256=By;By.create=function(){Ny||r_();var r=null,t=mr.util.createBuffer(),e=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=mr.util.createBuffer(),r={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=mr.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),Ly(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=mr.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(cf.substr(0,n.blockLength-s));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4,h5:r.h5,h6:r.h6,h7:r.h7};Ly(f,e,i);var d=mr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var cf=null,Ny=!1,Oy=null;function r_(){cf=String.fromCharCode(128),cf+=mr.util.fillString(String.fromCharCode(0),64),Oy=[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],Ny=!0}function Ly(r,t,e){for(var n,i,o,s,a,c,l,u,f,d,h,p,m,y,g,E=e.length();E>=64;){for(l=0;l<16;++l)t[l]=e.getInt32();for(;l<64;++l)n=t[l-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[l-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[l]=n+t[l-7]+i+t[l-16]|0;for(u=r.h0,f=r.h1,d=r.h2,h=r.h3,p=r.h4,m=r.h5,y=r.h6,g=r.h7,l=0;l<64;++l)s=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&f|d&(u^f),n=g+s+a+Oy[l]+t[l],i=o+c,g=y,y=m,m=p,p=h+n>>>0,h=d,d=f,f=u,u=n+i>>>0;r.h0=r.h0+u|0,r.h1=r.h1+f|0,r.h2=r.h2+d|0,r.h3=r.h3+h|0,r.h4=r.h4+p|0,r.h5=r.h5+m|0,r.h6=r.h6+y|0,r.h7=r.h7+g|0,E-=64}}});var Fy=T((v8,Uy)=>{var yr=mt();$t();var Wa=null;yr.util.isNodejs&&!yr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Wa=Kn());var n_=Uy.exports=yr.prng=yr.prng||{};n_.create=function(r){for(var t={plugin:r,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},e=r.md,n=new Array(32),i=0;i<32;++i)n[i]=e.create();t.pools=n,t.pool=0,t.generate=function(l,u){if(!u)return t.generateSync(l);var f=t.plugin.cipher,d=t.plugin.increment,h=t.plugin.formatKey,p=t.plugin.formatSeed,m=yr.util.createBuffer();t.key=null,y();function y(g){if(g)return u(g);if(m.length()>=l)return u(null,m.getBytes(l));if(t.generated>1048575&&(t.key=null),t.key===null)return yr.util.nextTick(function(){o(y)});var E=f(t.key,t.seed);t.generated+=E.length,m.putBytes(E),t.key=h(f(t.key,d(t.seed))),t.seed=p(f(t.key,t.seed)),yr.util.setImmediate(y)}},t.generateSync=function(l){var u=t.plugin.cipher,f=t.plugin.increment,d=t.plugin.formatKey,h=t.plugin.formatSeed;t.key=null;for(var p=yr.util.createBuffer();p.length()<l;){t.generated>1048575&&(t.key=null),t.key===null&&s();var m=u(t.key,t.seed);t.generated+=m.length,p.putBytes(m),t.key=d(u(t.key,f(t.seed))),t.seed=h(u(t.key,t.seed))}return p.getBytes(l)};function o(l){if(t.pools[0].messageLength>=32)return a(),l();var u=32-t.pools[0].messageLength<<5;t.seedFile(u,function(f,d){if(f)return l(f);t.collect(d),a(),l()})}function s(){if(t.pools[0].messageLength>=32)return a();var l=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(l)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var l=t.plugin.md.create();l.update(t.keyBytes);for(var u=1,f=0;f<32;++f)t.reseeds%u===0&&(l.update(t.pools[f].digest().getBytes()),t.pools[f].start()),u=u<<1;t.keyBytes=l.digest().getBytes(),l.start(),l.update(t.keyBytes);var d=l.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(l){var u=null,f=yr.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(u=function(C){return d.getRandomValues(C)});var h=yr.util.createBuffer();if(u)for(;h.length()<l;){var p=Math.max(1,Math.min(l-h.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{u(m);for(var y=0;y<m.length;++y)h.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(h.length()<l)for(var g,E,_,k=Math.floor(Math.random()*65536);h.length()<l;){E=16807*(k&65535),g=16807*(k>>16),E+=(g&32767)<<16,E+=g>>15,E=(E&2147483647)+(E>>31),k=E&4294967295;for(var y=0;y<3;++y)_=k>>>(y<<3),_^=Math.floor(Math.random()*256),h.putByte(_&255)}return h.getBytes(l)}return Wa?(t.seedFile=function(l,u){Wa.randomBytes(l,function(f,d){if(f)return u(f);u(null,d.toString())})},t.seedFileSync=function(l){return Wa.randomBytes(l).toString()}):(t.seedFile=function(l,u){try{u(null,c(l))}catch(f){u(f)}},t.seedFileSync=c),t.collect=function(l){for(var u=l.length,f=0;f<u;++f)t.pools[t.pool].update(l.substr(f,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(l,u){for(var f="",d=0;d<u;d+=8)f+=String.fromCharCode(l>>d&255);t.collect(f)},t.registerWorker=function(l){if(l===self)t.seedFile=function(f,d){function h(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",h),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",h),self.postMessage({forge:{prng:{needed:f}}})};else{var u=function(f){var d=f.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(h,p){l.postMessage({forge:{prng:{err:h,bytes:p}}})})};l.addEventListener("message",u)}},t}});var Vo=T((b8,lf)=>{var oe=mt();Ha();My();Fy();$t();(function(){if(oe.random&&oe.random.getBytes){lf.exports=oe.random;return}(function(r){var t={},e=new Array(4),n=oe.util.createBuffer();t.formatKey=function(f){var d=oe.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),oe.aes._expandKey(f,!1)},t.formatSeed=function(f){var d=oe.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},t.cipher=function(f,d){return oe.aes._updateBlock(f,d,e,!1),n.putInt32(e[0]),n.putInt32(e[1]),n.putInt32(e[2]),n.putInt32(e[3]),n.getBytes()},t.increment=function(f){return++f[3],f},t.md=oe.md.sha256;function i(){var f=oe.prng.create(t);return f.getBytes=function(d,h){return f.generate(d,h)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=oe.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),oe.options.usePureJavaScript||!oe.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var l="";for(var u in navigator)try{typeof navigator[u]=="string"&&(l+=navigator[u])}catch{}o.collect(l),l=null}r&&(r().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),r().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!oe.random)oe.random=o;else for(var u in o)oe.random[u]=o[u];oe.random.createInstance=i,lf.exports=oe.random})(typeof jQuery<"u"?jQuery:null)})()});var Hy=T((_8,qy)=>{var ye=mt();$t();var uf=[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],Ky=[1,2,3,5],i_=function(r,t){return r<<t&65535|(r&65535)>>16-t},o_=function(r,t){return(r&65535)>>t|r<<16-t&65535};qy.exports=ye.rc2=ye.rc2||{};ye.rc2.expandKey=function(r,t){typeof r=="string"&&(r=ye.util.createBuffer(r)),t=t||128;var e=r,n=r.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)e.putByte(uf[e.at(a-1)+e.at(a-n)&255]);for(e.setAt(128-o,uf[e.at(128-o)&s]),a=127-o;a>=0;a--)e.setAt(a,uf[e.at(a+1)^e.at(a+o)]);return e};var Vy=function(r,t,e){var n=!1,i=null,o=null,s=null,a,c,l,u,f=[];for(r=ye.rc2.expandKey(r,t),l=0;l<64;l++)f.push(r.getInt16Le());e?(a=function(p){for(l=0;l<4;l++)p[l]+=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),p[l]=i_(p[l],Ky[l]),u++},c=function(p){for(l=0;l<4;l++)p[l]+=f[p[(l+3)%4]&63]}):(a=function(p){for(l=3;l>=0;l--)p[l]=o_(p[l],Ky[l]),p[l]-=f[u]+(p[(l+3)%4]&p[(l+2)%4])+(~p[(l+3)%4]&p[(l+1)%4]),u--},c=function(p){for(l=3;l>=0;l--)p[l]-=f[p[(l+3)%4]&63]});var d=function(p){var m=[];for(l=0;l<4;l++){var y=i.getInt16Le();s!==null&&(e?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}u=e?0:63;for(var g=0;g<p.length;g++)for(var E=0;E<p[g][0];E++)p[g][1](m);for(l=0;l<4;l++)s!==null&&(e?s.putInt16Le(m[l]):m[l]^=s.getInt16Le()),o.putInt16Le(m[l])},h=null;return h={start:function(p,m){p&&typeof p=="string"&&(p=ye.util.createBuffer(p)),n=!1,i=ye.util.createBuffer(),o=m||new ye.util.createBuffer,s=p,h.output=o},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(e)if(p)m=p(8,i,!e);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,h.update()),!e&&(m=i.length()===0,m))if(p)m=p(8,o,!e);else{var g=o.length(),E=o.at(g-1);E>g?m=!1:o.truncate(E)}return m}},h};ye.rc2.startEncrypting=function(r,t,e){var n=ye.rc2.createEncryptionCipher(r,128);return n.start(t,e),n};ye.rc2.createEncryptionCipher=function(r,t){return Vy(r,t,!0)};ye.rc2.startDecrypting=function(r,t,e){var n=ye.rc2.createDecryptionCipher(r,128);return n.start(t,e),n};ye.rc2.createDecryptionCipher=function(r,t){return Vy(r,t,!1)}});var Za=T((S8,Zy)=>{var ff=mt();Zy.exports=ff.jsbn=ff.jsbn||{};var Vr,s_=0xdeadbeefcafe,$y=(s_&16777215)==15715070;function A(r,t,e){this.data=[],r!=null&&(typeof r=="number"?this.fromNumber(r,t,e):t==null&&typeof r!="string"?this.fromString(r,256):this.fromString(r,t))}ff.jsbn.BigInteger=A;function ct(){return new A(null)}function a_(r,t,e,n,i,o){for(;--o>=0;){var s=t*this.data[r++]+e.data[n]+i;i=Math.floor(s/67108864),e.data[n++]=s&67108863}return i}function c_(r,t,e,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[r]&32767,l=this.data[r++]>>15,u=a*c+l*s;c=s*c+((u&32767)<<15)+e.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*l+(i>>>30),e.data[n++]=c&1073741823}return i}function zy(r,t,e,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[r]&16383,l=this.data[r++]>>14,u=a*c+l*s;c=s*c+((u&16383)<<14)+e.data[n]+i,i=(c>>28)+(u>>14)+a*l,e.data[n++]=c&268435455}return i}typeof navigator>"u"?(A.prototype.am=zy,Vr=28):$y&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=c_,Vr=30):$y&&navigator.appName!="Netscape"?(A.prototype.am=a_,Vr=26):(A.prototype.am=zy,Vr=28);A.prototype.DB=Vr;A.prototype.DM=(1<<Vr)-1;A.prototype.DV=1<<Vr;var hf=52;A.prototype.FV=Math.pow(2,hf);A.prototype.F1=hf-Vr;A.prototype.F2=2*Vr-hf;var l_="0123456789abcdefghijklmnopqrstuvwxyz",Qa=new Array,qi,Fe;qi="0".charCodeAt(0);for(Fe=0;Fe<=9;++Fe)Qa[qi++]=Fe;qi="a".charCodeAt(0);for(Fe=10;Fe<36;++Fe)Qa[qi++]=Fe;qi="A".charCodeAt(0);for(Fe=10;Fe<36;++Fe)Qa[qi++]=Fe;function Gy(r){return l_.charAt(r)}function Yy(r,t){var e=Qa[r.charCodeAt(t)];return e??-1}function u_(r){for(var t=this.t-1;t>=0;--t)r.data[t]=this.data[t];r.t=this.t,r.s=this.s}function f_(r){this.t=1,this.s=r<0?-1:0,r>0?this.data[0]=r:r<-1?this.data[0]=r+this.DV:this.t=0}function dn(r){var t=ct();return t.fromInt(r),t}function h_(r,t){var e;if(t==16)e=4;else if(t==8)e=3;else if(t==256)e=8;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else{this.fromRadix(r,t);return}this.t=0,this.s=0;for(var n=r.length,i=!1,o=0;--n>=0;){var s=e==8?r[n]&255:Yy(r,n);if(s<0){r.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+e>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+=e,o>=this.DB&&(o-=this.DB)}e==8&&r[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function d_(){for(var r=this.s&this.DM;this.t>0&&this.data[this.t-1]==r;)--this.t}function p_(r){if(this.s<0)return"-"+this.negate().toString(r);var t;if(r==16)t=4;else if(r==8)t=3;else if(r==2)t=1;else if(r==32)t=5;else if(r==4)t=2;else return this.toRadix(r);var e=(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=Gy(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)&e,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Gy(n));return i?o:"0"}function m_(){var r=ct();return A.ZERO.subTo(this,r),r}function y_(){return this.s<0?this.negate():this}function g_(r){var t=this.s-r.s;if(t!=0)return t;var e=this.t;if(t=e-r.t,t!=0)return this.s<0?-t:t;for(;--e>=0;)if((t=this.data[e]-r.data[e])!=0)return t;return 0}function Xa(r){var t=1,e;return(e=r>>>16)!=0&&(r=e,t+=16),(e=r>>8)!=0&&(r=e,t+=8),(e=r>>4)!=0&&(r=e,t+=4),(e=r>>2)!=0&&(r=e,t+=2),(e=r>>1)!=0&&(r=e,t+=1),t}function w_(){return this.t<=0?0:this.DB*(this.t-1)+Xa(this.data[this.t-1]^this.s&this.DM)}function E_(r,t){var e;for(e=this.t-1;e>=0;--e)t.data[e+r]=this.data[e];for(e=r-1;e>=0;--e)t.data[e]=0;t.t=this.t+r,t.s=this.s}function x_(r,t){for(var e=r;e<this.t;++e)t.data[e-r]=this.data[e];t.t=Math.max(this.t-r,0),t.s=this.s}function v_(r,t){var e=r%this.DB,n=this.DB-e,i=(1<<n)-1,o=Math.floor(r/this.DB),s=this.s<<e&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)<<e;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 b_(r,t){t.s=this.s;var e=Math.floor(r/this.DB);if(e>=this.t){t.t=0;return}var n=r%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[e]>>n;for(var s=e+1;s<this.t;++s)t.data[s-e-1]|=(this.data[s]&o)<<i,t.data[s-e]=this.data[s]>>n;n>0&&(t.data[this.t-e-1]|=(this.s&o)<<i),t.t=this.t-e,t.clamp()}function __(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]-r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n-=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n-=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n-=r.s}t.s=n<0?-1:0,n<-1?t.data[e++]=this.DV+n:n>0&&(t.data[e++]=n),t.t=e,t.clamp()}function S_(r,t){var e=this.abs(),n=r.abs(),i=e.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+e.t]=e.am(0,n.data[i],t,i,0,e.t);t.s=0,t.clamp(),this.s!=r.s&&A.ZERO.subTo(t,t)}function A_(r){for(var t=this.abs(),e=r.t=2*t.t;--e>=0;)r.data[e]=0;for(e=0;e<t.t-1;++e){var n=t.am(e,t.data[e],r,2*e,0,1);(r.data[e+t.t]+=t.am(e+1,2*t.data[e],r,2*e+1,n,t.t-e-1))>=t.DV&&(r.data[e+t.t]-=t.DV,r.data[e+t.t+1]=1)}r.t>0&&(r.data[r.t-1]+=t.am(e,t.data[e],r,2*e,0,1)),r.s=0,r.clamp()}function R_(r,t,e){var n=r.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),e!=null&&this.copyTo(e);return}e==null&&(e=ct());var o=ct(),s=this.s,a=r.s,c=this.DB-Xa(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,e)):(n.copyTo(o),i.copyTo(e));var l=o.t,u=o.data[l-1];if(u!=0){var f=u*(1<<this.F1)+(l>1?o.data[l-2]>>this.F2:0),d=this.FV/f,h=(1<<this.F1)/f,p=1<<this.F2,m=e.t,y=m-l,g=t??ct();for(o.dlShiftTo(y,g),e.compareTo(g)>=0&&(e.data[e.t++]=1,e.subTo(g,e)),A.ONE.dlShiftTo(l,g),g.subTo(o,o);o.t<l;)o.data[o.t++]=0;for(;--y>=0;){var E=e.data[--m]==u?this.DM:Math.floor(e.data[m]*d+(e.data[m-1]+p)*h);if((e.data[m]+=o.am(0,E,e,y,0,l))<E)for(o.dlShiftTo(y,g),e.subTo(g,e);e.data[m]<--E;)e.subTo(g,e)}t!=null&&(e.drShiftTo(l,t),s!=a&&A.ZERO.subTo(t,t)),e.t=l,e.clamp(),c>0&&e.rShiftTo(c,e),s<0&&A.ZERO.subTo(e,e)}}}function I_(r){var t=ct();return this.abs().divRemTo(r,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&r.subTo(t,t),t}function Qn(r){this.m=r}function T_(r){return r.s<0||r.compareTo(this.m)>=0?r.mod(this.m):r}function C_(r){return r}function D_(r){r.divRemTo(this.m,null,r)}function P_(r,t,e){r.multiplyTo(t,e),this.reduce(e)}function L_(r,t){r.squareTo(t),this.reduce(t)}Qn.prototype.convert=T_;Qn.prototype.revert=C_;Qn.prototype.reduce=D_;Qn.prototype.mulTo=P_;Qn.prototype.sqrTo=L_;function B_(){if(this.t<1)return 0;var r=this.data[0];if(!(r&1))return 0;var t=r&3;return t=t*(2-(r&15)*t)&15,t=t*(2-(r&255)*t)&255,t=t*(2-((r&65535)*t&65535))&65535,t=t*(2-r*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Xn(r){this.m=r,this.mp=r.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<r.DB-15)-1,this.mt2=2*r.t}function N_(r){var t=ct();return r.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),r.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function O_(r){var t=ct();return r.copyTo(t),this.reduce(t),t}function k_(r){for(;r.t<=this.mt2;)r.data[r.t++]=0;for(var t=0;t<this.m.t;++t){var e=r.data[t]&32767,n=e*this.mpl+((e*this.mph+(r.data[t]>>15)*this.mpl&this.um)<<15)&r.DM;for(e=t+this.m.t,r.data[e]+=this.m.am(0,n,r,t,0,this.m.t);r.data[e]>=r.DV;)r.data[e]-=r.DV,r.data[++e]++}r.clamp(),r.drShiftTo(this.m.t,r),r.compareTo(this.m)>=0&&r.subTo(this.m,r)}function M_(r,t){r.squareTo(t),this.reduce(t)}function U_(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Xn.prototype.convert=N_;Xn.prototype.revert=O_;Xn.prototype.reduce=k_;Xn.prototype.mulTo=U_;Xn.prototype.sqrTo=M_;function F_(){return(this.t>0?this.data[0]&1:this.s)==0}function K_(r,t){if(r>4294967295||r<1)return A.ONE;var e=ct(),n=ct(),i=t.convert(this),o=Xa(r)-1;for(i.copyTo(e);--o>=0;)if(t.sqrTo(e,n),(r&1<<o)>0)t.mulTo(n,i,e);else{var s=e;e=n,n=s}return t.revert(e)}function V_(r,t){var e;return r<256||t.isEven()?e=new Qn(t):e=new Xn(t),this.exp(r,e)}A.prototype.copyTo=u_;A.prototype.fromInt=f_;A.prototype.fromString=h_;A.prototype.clamp=d_;A.prototype.dlShiftTo=E_;A.prototype.drShiftTo=x_;A.prototype.lShiftTo=v_;A.prototype.rShiftTo=b_;A.prototype.subTo=__;A.prototype.multiplyTo=S_;A.prototype.squareTo=A_;A.prototype.divRemTo=R_;A.prototype.invDigit=B_;A.prototype.isEven=F_;A.prototype.exp=K_;A.prototype.toString=p_;A.prototype.negate=m_;A.prototype.abs=y_;A.prototype.compareTo=g_;A.prototype.bitLength=w_;A.prototype.mod=I_;A.prototype.modPowInt=V_;A.ZERO=dn(0);A.ONE=dn(1);function q_(){var r=ct();return this.copyTo(r),r}function H_(){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 $_(){return this.t==0?this.s:this.data[0]<<24>>24}function z_(){return this.t==0?this.s:this.data[0]<<16>>16}function G_(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function Y_(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function W_(r){if(r==null&&(r=10),this.signum()==0||r<2||r>36)return"0";var t=this.chunkSize(r),e=Math.pow(r,t),n=dn(e),i=ct(),o=ct(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(e+o.intValue()).toString(r).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(r)+s}function Q_(r,t){this.fromInt(0),t==null&&(t=10);for(var e=this.chunkSize(t),n=Math.pow(t,e),i=!1,o=0,s=0,a=0;a<r.length;++a){var c=Yy(r,a);if(c<0){r.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=e&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function X_(r,t,e){if(typeof t=="number")if(r<2)this.fromInt(1);else for(this.fromNumber(r,e),this.testBit(r-1)||this.bitwiseTo(A.ONE.shiftLeft(r-1),df,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>r&&this.subTo(A.ONE.shiftLeft(r-1),this);else{var n=new Array,i=r&7;n.length=(r>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Z_(){var r=this.t,t=new Array;t[0]=this.s;var e=this.DB-r*this.DB%8,n,i=0;if(r-- >0)for(e<this.DB&&(n=this.data[r]>>e)!=(this.s&this.DM)>>e&&(t[i++]=n|this.s<<this.DB-e);r>=0;)e<8?(n=(this.data[r]&(1<<e)-1)<<8-e,n|=this.data[--r]>>(e+=this.DB-8)):(n=this.data[r]>>(e-=8)&255,e<=0&&(e+=this.DB,--r)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function J_(r){return this.compareTo(r)==0}function j_(r){return this.compareTo(r)<0?this:r}function tS(r){return this.compareTo(r)>0?this:r}function eS(r,t,e){var n,i,o=Math.min(r.t,this.t);for(n=0;n<o;++n)e.data[n]=t(this.data[n],r.data[n]);if(r.t<this.t){for(i=r.s&this.DM,n=o;n<this.t;++n)e.data[n]=t(this.data[n],i);e.t=this.t}else{for(i=this.s&this.DM,n=o;n<r.t;++n)e.data[n]=t(i,r.data[n]);e.t=r.t}e.s=t(this.s,r.s),e.clamp()}function rS(r,t){return r&t}function nS(r){var t=ct();return this.bitwiseTo(r,rS,t),t}function df(r,t){return r|t}function iS(r){var t=ct();return this.bitwiseTo(r,df,t),t}function Wy(r,t){return r^t}function oS(r){var t=ct();return this.bitwiseTo(r,Wy,t),t}function Qy(r,t){return r&~t}function sS(r){var t=ct();return this.bitwiseTo(r,Qy,t),t}function aS(){for(var r=ct(),t=0;t<this.t;++t)r.data[t]=this.DM&~this.data[t];return r.t=this.t,r.s=~this.s,r}function cS(r){var t=ct();return r<0?this.rShiftTo(-r,t):this.lShiftTo(r,t),t}function lS(r){var t=ct();return r<0?this.lShiftTo(-r,t):this.rShiftTo(r,t),t}function uS(r){if(r==0)return-1;var t=0;return r&65535||(r>>=16,t+=16),r&255||(r>>=8,t+=8),r&15||(r>>=4,t+=4),r&3||(r>>=2,t+=2),r&1||++t,t}function fS(){for(var r=0;r<this.t;++r)if(this.data[r]!=0)return r*this.DB+uS(this.data[r]);return this.s<0?this.t*this.DB:-1}function hS(r){for(var t=0;r!=0;)r&=r-1,++t;return t}function dS(){for(var r=0,t=this.s&this.DM,e=0;e<this.t;++e)r+=hS(this.data[e]^t);return r}function pS(r){var t=Math.floor(r/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<r%this.DB)!=0}function mS(r,t){var e=A.ONE.shiftLeft(r);return this.bitwiseTo(e,t,e),e}function yS(r){return this.changeBit(r,df)}function gS(r){return this.changeBit(r,Qy)}function wS(r){return this.changeBit(r,Wy)}function ES(r,t){for(var e=0,n=0,i=Math.min(r.t,this.t);e<i;)n+=this.data[e]+r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;if(r.t<this.t){for(n+=r.s;e<this.t;)n+=this.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;e<r.t;)n+=r.data[e],t.data[e++]=n&this.DM,n>>=this.DB;n+=r.s}t.s=n<0?-1:0,n>0?t.data[e++]=n:n<-1&&(t.data[e++]=this.DV+n),t.t=e,t.clamp()}function xS(r){var t=ct();return this.addTo(r,t),t}function vS(r){var t=ct();return this.subTo(r,t),t}function bS(r){var t=ct();return this.multiplyTo(r,t),t}function _S(r){var t=ct();return this.divRemTo(r,t,null),t}function SS(r){var t=ct();return this.divRemTo(r,null,t),t}function AS(r){var t=ct(),e=ct();return this.divRemTo(r,t,e),new Array(t,e)}function RS(r){this.data[this.t]=this.am(0,r-1,this,0,0,this.t),++this.t,this.clamp()}function IS(r,t){if(r!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=r;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function qo(){}function Xy(r){return r}function TS(r,t,e){r.multiplyTo(t,e)}function CS(r,t){r.squareTo(t)}qo.prototype.convert=Xy;qo.prototype.revert=Xy;qo.prototype.mulTo=TS;qo.prototype.sqrTo=CS;function DS(r){return this.exp(r,new qo)}function PS(r,t,e){var n=Math.min(this.t+r.t,t);for(e.s=0,e.t=n;n>0;)e.data[--n]=0;var i;for(i=e.t-this.t;n<i;++n)e.data[n+this.t]=this.am(0,r.data[n],e,n,0,this.t);for(i=Math.min(r.t,t);n<i;++n)this.am(0,r.data[n],e,n,0,t-n);e.clamp()}function LS(r,t,e){--t;var n=e.t=this.t+r.t-t;for(e.s=0;--n>=0;)e.data[n]=0;for(n=Math.max(t-this.t,0);n<r.t;++n)e.data[this.t+n-t]=this.am(t-n,r.data[n],e,0,0,this.t+n-t);e.clamp(),e.drShiftTo(1,e)}function Hi(r){this.r2=ct(),this.q3=ct(),A.ONE.dlShiftTo(2*r.t,this.r2),this.mu=this.r2.divide(r),this.m=r}function BS(r){if(r.s<0||r.t>2*this.m.t)return r.mod(this.m);if(r.compareTo(this.m)<0)return r;var t=ct();return r.copyTo(t),this.reduce(t),t}function NS(r){return r}function OS(r){for(r.drShiftTo(this.m.t-1,this.r2),r.t>this.m.t+1&&(r.t=this.m.t+1,r.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);r.compareTo(this.r2)<0;)r.dAddOffset(1,this.m.t+1);for(r.subTo(this.r2,r);r.compareTo(this.m)>=0;)r.subTo(this.m,r)}function kS(r,t){r.squareTo(t),this.reduce(t)}function MS(r,t,e){r.multiplyTo(t,e),this.reduce(e)}Hi.prototype.convert=BS;Hi.prototype.revert=NS;Hi.prototype.reduce=OS;Hi.prototype.mulTo=MS;Hi.prototype.sqrTo=kS;function US(r,t){var e=r.bitLength(),n,i=dn(1),o;if(e<=0)return i;e<18?n=1:e<48?n=3:e<144?n=4:e<768?n=5:n=6,e<8?o=new Qn(t):t.isEven()?o=new Hi(t):o=new Xn(t);var s=new Array,a=3,c=n-1,l=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=ct();for(o.sqrTo(s[1],u);a<=l;)s[a]=ct(),o.mulTo(u,s[a-2],s[a]),a+=2}var f=r.t-1,d,h=!0,p=ct(),m;for(e=Xa(r.data[f])-1;f>=0;){for(e>=c?d=r.data[f]>>e-c&l:(d=(r.data[f]&(1<<e+1)-1)<<c-e,f>0&&(d|=r.data[f-1]>>this.DB+e-c)),a=n;!(d&1);)d>>=1,--a;if((e-=a)<0&&(e+=this.DB,--f),h)s[d].copyTo(i),h=!1;else{for(;a>1;)o.sqrTo(i,p),o.sqrTo(p,i),a-=2;a>0?o.sqrTo(i,p):(m=i,i=p,p=m),o.mulTo(p,s[d],i)}for(;f>=0&&!(r.data[f]&1<<e);)o.sqrTo(i,p),m=i,i=p,p=m,--e<0&&(e=this.DB-1,--f)}return o.revert(i)}function FS(r){var t=this.s<0?this.negate():this.clone(),e=r.s<0?r.negate():r.clone();if(t.compareTo(e)<0){var n=t;t=e,e=n}var i=t.getLowestSetBit(),o=e.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),e.rShiftTo(o,e));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),t.compareTo(e)>=0?(t.subTo(e,t),t.rShiftTo(1,t)):(e.subTo(t,e),e.rShiftTo(1,e));return o>0&&e.lShiftTo(o,e),e}function KS(r){if(r<=0)return 0;var t=this.DV%r,e=this.s<0?r-1:0;if(this.t>0)if(t==0)e=this.data[0]%r;else for(var n=this.t-1;n>=0;--n)e=(t*e+this.data[n])%r;return e}function VS(r){var t=r.isEven();if(this.isEven()&&t||r.signum()==0)return A.ZERO;for(var e=r.clone(),n=this.clone(),i=dn(1),o=dn(0),s=dn(0),a=dn(1);e.signum()!=0;){for(;e.isEven();)e.rShiftTo(1,e),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(r,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(r,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(r,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(r,a),a.rShiftTo(1,a);e.compareTo(n)>=0?(e.subTo(n,e),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(e,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(r)>=0)return a.subtract(r);if(a.signum()<0)a.addTo(r,a);else return a;return a.signum()<0?a.add(r):a}var Je=[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],qS=(1<<26)/Je[Je.length-1];function HS(r){var t,e=this.abs();if(e.t==1&&e.data[0]<=Je[Je.length-1]){for(t=0;t<Je.length;++t)if(e.data[0]==Je[t])return!0;return!1}if(e.isEven())return!1;for(t=1;t<Je.length;){for(var n=Je[t],i=t+1;i<Je.length&&n<qS;)n*=Je[i++];for(n=e.modInt(n);t<i;)if(n%Je[t++]==0)return!1}return e.millerRabin(r)}function $S(r){var t=this.subtract(A.ONE),e=t.getLowestSetBit();if(e<=0)return!1;for(var n=t.shiftRight(e),i=zS(),o,s=0;s<r;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<e&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function zS(){return{nextBytes:function(r){for(var t=0;t<r.length;++t)r[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=G_;A.prototype.toRadix=W_;A.prototype.fromRadix=Q_;A.prototype.fromNumber=X_;A.prototype.bitwiseTo=eS;A.prototype.changeBit=mS;A.prototype.addTo=ES;A.prototype.dMultiply=RS;A.prototype.dAddOffset=IS;A.prototype.multiplyLowerTo=PS;A.prototype.multiplyUpperTo=LS;A.prototype.modInt=KS;A.prototype.millerRabin=$S;A.prototype.clone=q_;A.prototype.intValue=H_;A.prototype.byteValue=$_;A.prototype.shortValue=z_;A.prototype.signum=Y_;A.prototype.toByteArray=Z_;A.prototype.equals=J_;A.prototype.min=j_;A.prototype.max=tS;A.prototype.and=nS;A.prototype.or=iS;A.prototype.xor=oS;A.prototype.andNot=sS;A.prototype.not=aS;A.prototype.shiftLeft=cS;A.prototype.shiftRight=lS;A.prototype.getLowestSetBit=fS;A.prototype.bitCount=dS;A.prototype.testBit=pS;A.prototype.setBit=yS;A.prototype.clearBit=gS;A.prototype.flipBit=wS;A.prototype.add=xS;A.prototype.subtract=vS;A.prototype.multiply=bS;A.prototype.divide=_S;A.prototype.remainder=SS;A.prototype.divideAndRemainder=AS;A.prototype.modPow=US;A.prototype.modInverse=VS;A.prototype.pow=DS;A.prototype.gcd=FS;A.prototype.isProbablePrime=HS});var rg=T((A8,eg)=>{var gr=mt();Wn();$t();var jy=eg.exports=gr.sha1=gr.sha1||{};gr.md.sha1=gr.md.algorithms.sha1=jy;jy.create=function(){tg||GS();var r=null,t=gr.util.createBuffer(),e=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=gr.util.createBuffer(),r={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=gr.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),Jy(r,e,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=gr.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(pf.substr(0,n.blockLength-s));for(var a,c,l=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,l+=c,i.putInt32(l>>>0),l=a>>>0;i.putInt32(l);var f={h0:r.h0,h1:r.h1,h2:r.h2,h3:r.h3,h4:r.h4};Jy(f,e,i);var d=gr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var pf=null,tg=!1;function GS(){pf=String.fromCharCode(128),pf+=gr.util.fillString(String.fromCharCode(0),64),tg=!0}function Jy(r,t,e){for(var n,i,o,s,a,c,l,u,f=e.length();f>=64;){for(i=r.h0,o=r.h1,s=r.h2,a=r.h3,c=r.h4,u=0;u<16;++u)n=e.getInt32(),t[u]=n,l=a^o&(s^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=a^o&(s^a),n=(i<<5|i>>>27)+l+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=t[u-3]^t[u-8]^t[u-14]^t[u-16],n=n<<1|n>>>31,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o&s|a&(o^s),n=(i<<5|i>>>27)+l+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=t[u-6]^t[u-16]^t[u-28]^t[u-32],n=n<<2|n>>>30,t[u]=n,l=o^s^a,n=(i<<5|i>>>27)+l+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;r.h0=r.h0+i|0,r.h1=r.h1+o|0,r.h2=r.h2+s|0,r.h3=r.h3+a|0,r.h4=r.h4+c|0,f-=64}}});var og=T((R8,ig)=>{var wr=mt();$t();Vo();rg();var ng=ig.exports=wr.pkcs1=wr.pkcs1||{};ng.encode_rsa_oaep=function(r,t,e){var n,i,o,s;typeof e=="string"?(n=e,i=arguments[3]||void 0,o=arguments[4]||void 0):e&&(n=e.label||void 0,i=e.seed||void 0,o=e.md||void 0,e.mgf1&&e.mgf1.md&&(s=e.mgf1.md)),o?o.start():o=wr.md.sha1.create(),s||(s=o);var a=Math.ceil(r.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var l=new Error("RSAES-OAEP input message length is too long.");throw l.length=t.length,l.maxLength=c,l}n||(n=""),o.update(n,"raw");for(var u=o.digest(),f="",d=c-t.length,h=0;h<d;h++)f+="\0";var p=u.getBytes()+f+""+t;if(!i)i=wr.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var l=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=i.length,l.digestLength=o.digestLength,l}var m=Ja(i,a-o.digestLength-1,s),y=wr.util.xorBytes(p,m,p.length),g=Ja(y,o.digestLength,s),E=wr.util.xorBytes(i,g,i.length);return"\0"+E+y};ng.decode_rsa_oaep=function(r,t,e){var n,i,o;typeof e=="string"?(n=e,i=arguments[3]||void 0):e&&(n=e.label||void 0,i=e.md||void 0,e.mgf1&&e.mgf1.md&&(o=e.mgf1.md));var s=Math.ceil(r.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=wr.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),l=t.substring(1,i.digestLength+1),u=t.substring(1+i.digestLength),f=Ja(u,i.digestLength,o),d=wr.util.xorBytes(l,f,l.length),h=Ja(d,s-i.digestLength-1,o),p=wr.util.xorBytes(u,h,u.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var E=1,_=i.digestLength,k=i.digestLength;k<p.length;k++){var C=p.charCodeAt(k),D=C&1^1,J=E?65534:0;y|=C&J,E=E&D,_+=E}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function Ja(r,t,e){e||(e=wr.md.sha1.create());for(var n="",i=Math.ceil(t/e.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);e.start(),e.update(r+s),n+=e.digest().getBytes()}return n.substring(0,t)}});var sg=T((I8,mf)=>{var pn=mt();$t();Za();Vo();(function(){if(pn.prime){mf.exports=pn.prime;return}var r=mf.exports=pn.prime=pn.prime||{},t=pn.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(f,d){return f|d};r.generateProbablePrime=function(f,d,h){typeof d=="function"&&(h=d,d={}),d=d||{};var p=d.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=d.prng||pn.random,y={nextBytes:function(g){for(var E=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=E.charCodeAt(_)}};if(p.name==="PRIMEINC")return o(f,y,p.options,h);throw new Error("Invalid prime generation algorithm: "+p.name)};function o(f,d,h,p){return"workers"in h?c(f,d,h,p):s(f,d,h,p)}function s(f,d,h,p){var m=l(f,d),y=0,g=u(m.bitLength());"millerRabinTests"in h&&(g=h.millerRabinTests);var E=10;"maxBlockTime"in h&&(E=h.maxBlockTime),a(m,f,d,y,g,E,p)}function a(f,d,h,p,m,y,g){var E=+new Date;do{if(f.bitLength()>d&&(f=l(d,h)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(e[p++%8],0)}while(y<0||+new Date-E<y);pn.util.setImmediate(function(){a(f,d,h,p,m,y,g)})}function c(f,d,h,p){if(typeof Worker>"u")return s(f,d,h,p);var m=l(f,d),y=h.workers,g=h.workLoad||100,E=g*30/8,_=h.workerScript||"forge/prime.worker.js";if(y===-1)return pn.util.estimateCores(function(C,D){C&&(D=2),y=D-1,k()});k();function k(){y=Math.max(1,y);for(var C=[],D=0;D<y;++D)C[D]=new Worker(_);for(var J=y,D=0;D<y;++D)C[D].addEventListener("message",Jt);var rt=!1;function Jt(ze){if(!rt){--J;var Ee=ze.data;if(Ee.found){for(var ue=0;ue<C.length;++ue)C[ue].terminate();return rt=!0,p(null,new t(Ee.prime,16))}m.bitLength()>f&&(m=l(f,d));var di=m.toString(16);ze.target.postMessage({hex:di,workLoad:g}),m.dAddOffset(E,0)}}}}function l(f,d){var h=new t(f,d),p=f-1;return h.testBit(p)||h.bitwiseTo(t.ONE.shiftLeft(p),i,h),h.dAddOffset(31-h.mod(n).byteValue(),0),h}function u(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var tc=T((T8,dg)=>{var F=mt();Ko();Za();Ua();og();sg();Vo();$t();typeof it>"u"&&(it=F.jsbn.BigInteger);var it,yf=F.util.isNodejs?Kn():null,x=F.asn1,Ke=F.util;F.pki=F.pki||{};dg.exports=F.pki.rsa=F.rsa=F.rsa||{};var G=F.pki,YS=[6,4,2,4,2,4,6,2],WS={name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},QS={name:"RSAPrivateKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},XS={name:"RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:x.Class.UNIVERSAL,type:x.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},ZS=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},JS={name:"DigestInfo",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:x.Class.UNIVERSAL,type:x.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:x.Class.UNIVERSAL,type:x.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:x.Class.UNIVERSAL,type:x.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:x.Class.UNIVERSAL,type:x.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},jS=function(r){var t;if(r.algorithm in G.oids)t=G.oids[r.algorithm];else{var e=new Error("Unknown message digest algorithm.");throw e.algorithm=r.algorithm,e}var n=x.oidToDer(t).getBytes(),i=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]),o=x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[]);o.value.push(x.create(x.Class.UNIVERSAL,x.Type.OID,!1,n)),o.value.push(x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,""));var s=x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,r.digest().getBytes());return i.value.push(o),i.value.push(s),x.toDer(i).getBytes()},fg=function(r,t,e){if(e)return r.modPow(t.e,t.n);if(!t.p||!t.q)return r.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(it.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(it.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new it(F.util.bytesToHex(F.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(it.ONE));r=r.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=r.mod(t.p).modPow(t.dP,t.p),o=r.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};G.rsa.encrypt=function(r,t,e){var n=e,i,o=Math.ceil(t.n.bitLength()/8);e!==!1&&e!==!0?(n=e===2,i=hg(r,t,e)):(i=F.util.createBuffer(),i.putBytes(r));for(var s=new it(i.toHex(),16),a=fg(s,t,n),c=a.toString(16),l=F.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(F.util.hexToBytes(c)),l.getBytes()};G.rsa.decrypt=function(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8);if(r.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=r.length,o.expected=i,o}var s=new it(F.util.createBuffer(r).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=fg(s,t,e),c=a.toString(16),l=F.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)l.putByte(0),--u;return l.putBytes(F.util.hexToBytes(c)),n!==!1?ja(l.getBytes(),t,e):l.getBytes()};G.rsa.createKeyPairGenerationState=function(r,t,e){typeof r=="string"&&(r=parseInt(r,10)),r=r||2048,e=e||{};var n=e.prng||F.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),l=0;l<a.length;++l)a[l]=c.charCodeAt(l)}},o=e.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:r,rng:i,eInt:t||65537,e:new it(null),p:null,q:null,qBits:r>>1,pBits:r-(r>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};G.rsa.stepKeyPairGenerationState=function(r,t){"algorithm"in r||(r.algorithm="PRIMEINC");var e=new it(null);e.fromInt(30);for(var n=0,i=function(f,d){return f|d},o=+new Date,s,a=0;r.keys===null&&(t<=0||a<t);){if(r.state===0){var c=r.p===null?r.pBits:r.qBits,l=c-1;r.pqState===0?(r.num=new it(c,r.rng),r.num.testBit(l)||r.num.bitwiseTo(it.ONE.shiftLeft(l),i,r.num),r.num.dAddOffset(31-r.num.mod(e).byteValue(),0),n=0,++r.pqState):r.pqState===1?r.num.bitLength()>c?r.pqState=0:r.num.isProbablePrime(eA(r.num.bitLength()))?++r.pqState:r.num.dAddOffset(YS[n++%8],0):r.pqState===2?r.pqState=r.num.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)===0?3:0:r.pqState===3&&(r.pqState=0,r.p===null?r.p=r.num:r.q=r.num,r.p!==null&&r.q!==null&&++r.state,r.num=null)}else if(r.state===1)r.p.compareTo(r.q)<0&&(r.num=r.p,r.p=r.q,r.q=r.num),++r.state;else if(r.state===2)r.p1=r.p.subtract(it.ONE),r.q1=r.q.subtract(it.ONE),r.phi=r.p1.multiply(r.q1),++r.state;else if(r.state===3)r.phi.gcd(r.e).compareTo(it.ONE)===0?++r.state:(r.p=null,r.q=null,r.state=0);else if(r.state===4)r.n=r.p.multiply(r.q),r.n.bitLength()===r.bits?++r.state:(r.q=null,r.state=0);else if(r.state===5){var u=r.e.modInverse(r.phi);r.keys={privateKey:G.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:G.rsa.setPublicKey(r.n,r.e)}}s=+new Date,a+=s-o,o=s}return r.keys!==null};G.rsa.generateKeyPair=function(r,t,e,n){if(arguments.length===1?typeof r=="object"?(e=r,r=void 0):typeof r=="function"&&(n=r,r=void 0):arguments.length===2?typeof r=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(e=t,t=void 0):(e=r,n=t,r=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof e=="function"&&(n=e,e=void 0):(n=e,e=t,t=void 0)),e=e||{},r===void 0&&(r=e.bits||2048),t===void 0&&(t=e.e||65537),!F.options.usePureJavaScript&&!e.prng&&r>=256&&r<=16384&&(t===65537||t===3)){if(n){if(ag("generateKeyPair"))return yf.generateKeyPair("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,l){if(a)return n(a);n(null,{privateKey:G.privateKeyFromPem(l),publicKey:G.publicKeyFromPem(c)})});if(cg("generateKey")&&cg("exportKey"))return Ke.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:ug(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Ke.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=G.privateKeyFromAsn1(x.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:G.setRsaPublicKey(c.n,c.e)})}});if(lg("generateKey")&&lg("exportKey")){var i=Ke.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:ug(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,l=Ke.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);l.oncomplete=function(u){var f=u.target.result,d=G.privateKeyFromAsn1(x.fromDer(F.util.createBuffer(f)));n(null,{privateKey:d,publicKey:G.setRsaPublicKey(d.n,d.e)})},l.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(ag("generateKeyPairSync")){var o=yf.generateKeyPairSync("rsa",{modulusLength:r,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(o.privateKey),publicKey:G.publicKeyFromPem(o.publicKey)}}}var s=G.rsa.createKeyPairGenerationState(r,t,e);if(!n)return G.rsa.stepKeyPairGenerationState(s,0),s.keys;tA(s,e,n)};G.setRsaPublicKey=G.rsa.setPublicKey=function(r,t){var e={n:r,e:t};return e.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,l){return hg(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.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,e,!0);return G.rsa.encrypt(s,e,!0)},e.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,l){l=ja(l,e,!0);var u=x.fromDer(l,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!x.validate(u,JS,f,d)){var h=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw h.errors=d,h}var p=x.derToOid(f.algorithmIdentifier);if(!(p===F.oids.md2||p===F.oids.md5||p===F.oids.sha1||p===F.oids.sha224||p===F.oids.sha256||p===F.oids.sha384||p===F.oids.sha512||p===F.oids["sha512-224"]||p===F.oids["sha512-256"])){var h=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw h.oid=p,h}if((p===F.oids.md2||p===F.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,l){return l=ja(l,e,!0),c===l}});var a=G.rsa.decrypt(i,e,!0,!1);return o.verify(n,a,e.n.bitLength())},e};G.setRsaPrivateKey=G.rsa.setPrivateKey=function(r,t,e,n,i,o,s,a){var c={n:r,e:t,d:e,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(l,u,f){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var d=G.rsa.decrypt(l,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:ja};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(h,p){return F.pkcs1.decode_rsa_oaep(p,h,f)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(h){return h}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(d,c,!1)},c.sign=function(l,u){var f=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:jS},f=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return l}},f=1);var d=u.encode(l,c.n.bitLength());return G.rsa.encrypt(d,c,f)},c};G.wrapRsaPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(G.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.OCTETSTRING,!1,x.toDer(r).getBytes())])};G.privateKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,WS,t,e)&&(r=x.fromDer(F.util.createBuffer(t.privateKey))),t={},e=[],!x.validate(r,QS,t,e)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=e,n}var i,o,s,a,c,l,u,f;return i=F.util.createBuffer(t.privateKeyModulus).toHex(),o=F.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=F.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(t.privateKeyPrime1).toHex(),c=F.util.createBuffer(t.privateKeyPrime2).toHex(),l=F.util.createBuffer(t.privateKeyExponent1).toHex(),u=F.util.createBuffer(t.privateKeyExponent2).toHex(),f=F.util.createBuffer(t.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new it(i,16),new it(o,16),new it(s,16),new it(a,16),new it(c,16),new it(l,16),new it(u,16),new it(f,16))};G.privateKeyToAsn1=G.privateKeyToRSAPrivateKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,x.integerToDer(0).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.e)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.d)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.p)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.q)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.dP)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.dQ)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.qInv))])};G.publicKeyFromAsn1=function(r){var t={},e=[];if(x.validate(r,ZS,t,e)){var n=x.derToOid(t.publicKeyOid);if(n!==G.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}r=t.rsaPublicKey}if(e=[],!x.validate(r,XS,t,e)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=e,i}var o=F.util.createBuffer(t.publicKeyModulus).toHex(),s=F.util.createBuffer(t.publicKeyExponent).toHex();return G.setRsaPublicKey(new it(o,16),new it(s,16))};G.publicKeyToAsn1=G.publicKeyToSubjectPublicKeyInfo=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.OID,!1,x.oidToDer(G.oids.rsaEncryption).getBytes()),x.create(x.Class.UNIVERSAL,x.Type.NULL,!1,"")]),x.create(x.Class.UNIVERSAL,x.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(r)])])};G.publicKeyToRSAPublicKey=function(r){return x.create(x.Class.UNIVERSAL,x.Type.SEQUENCE,!0,[x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.n)),x.create(x.Class.UNIVERSAL,x.Type.INTEGER,!1,Er(r.e))])};function hg(r,t,e){var n=F.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(r.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=r.length,o.max=i-11,o}n.putByte(0),n.putByte(e);var s=i-3-r.length,a;if(e===0||e===1){a=e===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var l=0,u=F.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++l:n.putByte(a);s=l}return n.putByte(0),n.putBytes(r),n}function ja(r,t,e,n){var i=Math.ceil(t.n.bitLength()/8),o=F.util.createBuffer(r),s=o.getByte(),a=o.getByte();if(s!==0||e&&a!==0&&a!==1||!e&&a!=2||e&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var l=0;l<c;++l)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function tA(r,t,e){typeof t=="function"&&(e=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(r.pBits,function(a,c){if(a)return e(a);if(r.p=c,r.q!==null)return s(a,r.q);o(r.qBits,s)})}function o(a,c){F.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return e(a);if(r.q=c,r.p.compareTo(r.q)<0){var l=r.p;r.p=r.q,r.q=l}if(r.p.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)!==0){r.p=null,i();return}if(r.q.subtract(it.ONE).gcd(r.e).compareTo(it.ONE)!==0){r.q=null,o(r.qBits,s);return}if(r.p1=r.p.subtract(it.ONE),r.q1=r.q.subtract(it.ONE),r.phi=r.p1.multiply(r.q1),r.phi.gcd(r.e).compareTo(it.ONE)!==0){r.p=r.q=null,i();return}if(r.n=r.p.multiply(r.q),r.n.bitLength()!==r.bits){r.q=null,o(r.qBits,s);return}var u=r.e.modInverse(r.phi);r.keys={privateKey:G.rsa.setPrivateKey(r.n,r.e,u,r.p,r.q,u.mod(r.p1),u.mod(r.q1),r.q.modInverse(r.p)),publicKey:G.rsa.setPublicKey(r.n,r.e)},e(null,r.keys)}}function Er(r){var t=r.toString(16);t[0]>="8"&&(t="00"+t);var e=F.util.hexToBytes(t);return e.length>1&&(e.charCodeAt(0)===0&&!(e.charCodeAt(1)&128)||e.charCodeAt(0)===255&&(e.charCodeAt(1)&128)===128)?e.substr(1):e}function eA(r){return r<=100?27:r<=150?18:r<=200?15:r<=250?12:r<=300?9:r<=350?8:r<=400?7:r<=500?6:r<=600?5:r<=800?4:r<=1250?3:2}function ag(r){return F.util.isNodejs&&typeof yf[r]=="function"}function cg(r){return typeof Ke.globalScope<"u"&&typeof Ke.globalScope.crypto=="object"&&typeof Ke.globalScope.crypto.subtle=="object"&&typeof Ke.globalScope.crypto.subtle[r]=="function"}function lg(r){return typeof Ke.globalScope<"u"&&typeof Ke.globalScope.msCrypto=="object"&&typeof Ke.globalScope.msCrypto.subtle=="object"&&typeof Ke.globalScope.msCrypto.subtle[r]=="function"}function ug(r){for(var t=F.util.hexToBytes(r.toString(16)),e=new Uint8Array(t.length),n=0;n<t.length;++n)e[n]=t.charCodeAt(n);return e}});var Eg=T((C8,wg)=>{var L=mt();Ha();Ko();Sy();Wn();Ua();af();Py();Vo();Hy();tc();$t();typeof pg>"u"&&(pg=L.jsbn.BigInteger);var pg,v=L.asn1,Y=L.pki=L.pki||{};wg.exports=Y.pbe=L.pbe=L.pbe||{};var Zn=Y.oids,rA={name:"EncryptedPrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},nA={name:"PBES2Algorithms",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},iA={name:"pkcs-12PbeParams",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.encryptPrivateKeyInfo=function(r,t,e){e=e||{},e.saltSize=e.saltSize||8,e.count=e.count||2048,e.algorithm=e.algorithm||"aes128",e.prfAlgorithm=e.prfAlgorithm||"sha1";var n=L.random.getBytesSync(e.saltSize),i=e.count,o=v.integerToDer(i),s,a,c;if(e.algorithm.indexOf("aes")===0||e.algorithm==="des"){var l,u,f;switch(e.algorithm){case"aes128":s=16,l=16,u=Zn["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":s=24,l=16,u=Zn["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":s=32,l=16,u=Zn["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":s=8,l=8,u=Zn.desCBC,f=L.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var h="hmacWith"+e.prfAlgorithm.toUpperCase(),p=gg(h),m=L.pkcs5.pbkdf2(t,n,i,s,p),y=L.random.getBytesSync(l),g=f(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes();var E=oA(n,o,s,h);a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Zn.pkcs5PBES2).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Zn.pkcs5PBKDF2).getBytes()),E]),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(u).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,y)])])])}else if(e.algorithm==="3des"){s=24;var _=new L.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(t,_,1,i,s),y=Y.pbe.generatePkcs12Key(t,_,2,i,s),g=L.des.createEncryptionCipher(m);g.start(y),g.update(v.toDer(r)),g.finish(),c=g.output.getBytes(),a=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Zn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,n),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=e.algorithm,d}var k=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[a,v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,c)]);return k};Y.decryptPrivateKeyInfo=function(r,t){var e=null,n={},i=[];if(!v.validate(r,rA,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=v.derToOid(n.encryptionOid),a=Y.pbe.getCipher(s,n.encryptionParams,t),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(e=v.fromDer(a.output)),e};Y.encryptedPrivateKeyToPem=function(r,t){var e={type:"ENCRYPTED PRIVATE KEY",body:v.toDer(r).getBytes()};return L.pem.encode(e,{maxline:t})};Y.encryptedPrivateKeyFromPem=function(r){var t=L.pem.decode(r)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var e=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw e.headerType=t.type,e}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return v.fromDer(t.body)};Y.encryptRsaPrivateKey=function(r,t,e){if(e=e||{},!e.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(r));return n=Y.encryptPrivateKeyInfo(n,t,e),Y.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(e.algorithm){case"aes128":i="AES-128-CBC",s=16,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+e.algorithm+'".');throw c.algorithm=e.algorithm,c}var l=L.pbe.opensslDeriveBytes(t,o.substr(0,8),s),u=a(l);u.start(o),u.update(v.toDer(Y.privateKeyToAsn1(r))),u.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return L.pem.encode(f)};Y.decryptRsaPrivateKey=function(r,t){var e=null,n=L.pem.decode(r)[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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=L.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=L.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=L.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return L.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(t,a.substr(0,8),o),l=s(c);if(l.start(a),l.update(L.util.createBuffer(n.body)),l.finish())e=l.output.getBytes();else return e}else e=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?e=Y.decryptPrivateKeyInfo(v.fromDer(e),t):e=v.fromDer(e),e!==null&&(e=Y.privateKeyFromAsn1(e)),e};Y.pbe.generatePkcs12Key=function(r,t,e,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');o=L.md.sha1.create()}var c=o.digestLength,l=o.blockLength,u=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(r!=null){for(a=0;a<r.length;a++)f.putInt16(r.charCodeAt(a));f.putInt16(0)}var d=f.length(),h=t.length(),p=new L.util.ByteBuffer;p.fillWithByte(e,l);var m=l*Math.ceil(h/l),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(t.at(a%h));var g=l*Math.ceil(d/l),E=new L.util.ByteBuffer;for(a=0;a<g;a++)E.putByte(f.at(a%d));var _=y;_.putBuffer(E);for(var k=Math.ceil(i/c),C=1;C<=k;C++){var D=new L.util.ByteBuffer;D.putBytes(p.bytes()),D.putBytes(_.bytes());for(var J=0;J<n;J++)o.start(),o.update(D.getBytes()),D=o.digest();var rt=new L.util.ByteBuffer;for(a=0;a<l;a++)rt.putByte(D.at(a%c));var Jt=Math.ceil(h/l)+Math.ceil(d/l),ze=new L.util.ByteBuffer;for(s=0;s<Jt;s++){var Ee=new L.util.ByteBuffer(_.getBytes(l)),ue=511;for(a=rt.length()-1;a>=0;a--)ue=ue>>8,ue+=rt.at(a)+Ee.at(a),Ee.setAt(a,ue&255);ze.putBuffer(Ee)}_=ze,u.putBuffer(D)}return u.truncate(u.length()-i),u};Y.pbe.getCipher=function(r,t,e){switch(r){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(r,t,e);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.pbe.getCipherForPKCS12PBE(r,t,e);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=r,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Y.pbe.getCipherForPBES2=function(r,t,e){var n={},i=[];if(!v.validate(t,nA,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(r=v.derToOid(n.kdfOid),r!==Y.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=r,o.supportedOids=["pkcs5PBKDF2"],o}if(r=v.derToOid(n.encOid),r!==Y.oids["aes128-CBC"]&&r!==Y.oids["aes192-CBC"]&&r!==Y.oids["aes256-CBC"]&&r!==Y.oids["des-EDE3-CBC"]&&r!==Y.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=r,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,l;switch(Y.oids[r]){case"aes128-CBC":c=16,l=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,l=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,l=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,l=L.des.createDecryptionCipher;break;case"desCBC":c=8,l=L.des.createDecryptionCipher;break}var u=yg(n.prfOid),f=L.pkcs5.pbkdf2(e,s,a,c,u),d=n.encIv,h=l(f);return h.start(d),h};Y.pbe.getCipherForPKCS12PBE=function(r,t,e){var n={},i=[];if(!v.validate(t,iA,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,l,u;switch(r){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,l=8,u=L.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,l=8,u=function(m,y){var g=L.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=r,o}var f=yg(n.prfOid),d=Y.pbe.generatePkcs12Key(e,s,1,a,c,f);f.start();var h=Y.pbe.generatePkcs12Key(e,s,2,a,l,f);return u(d,h)};Y.pbe.opensslDeriveBytes=function(r,t,e,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}t===null&&(t="");for(var i=[mg(n,r+t)],o=16,s=1;o<e;++s,o+=16)i.push(mg(n,i[s-1]+r+t));return i.join("").substr(0,e)};function mg(r,t){return r.start().update(t).digest().getBytes()}function yg(r){var t;if(!r)t="hmacWithSHA1";else if(t=Y.oids[v.derToOid(r)],!t){var e=new Error("Unsupported PRF OID.");throw e.oid=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}return gg(t)}function gg(r){var t=L.md;switch(r){case"hmacWithSHA224":t=L.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":r=r.substr(8).toLowerCase();break;default:var e=new Error("Unsupported PRF algorithm.");throw e.algorithm=r,e.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],e}if(!t||!(r in t))throw new Error("Unknown hash algorithm: "+r);return t[r].create()}function oA(r,t,e,n){var i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,r),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,L.util.hexToBytes(e.toString(16))),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(Y.oids[n]).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")])),i}});var Cg=T((sB,Tg)=>{var It=mt();Wn();$t();var Ho=Tg.exports=It.sha512=It.sha512||{};It.md.sha512=It.md.algorithms.sha512=Ho;var Rg=It.sha384=It.sha512.sha384=It.sha512.sha384||{};Rg.create=function(){return Ho.create("SHA-384")};It.md.sha384=It.md.algorithms.sha384=Rg;It.sha512.sha256=It.sha512.sha256||{create:function(){return Ho.create("SHA-512/256")}};It.md["sha512/256"]=It.md.algorithms["sha512/256"]=It.sha512.sha256;It.sha512.sha224=It.sha512.sha224||{create:function(){return Ho.create("SHA-512/224")}};It.md["sha512/224"]=It.md.algorithms["sha512/224"]=It.sha512.sha224;Ho.create=function(r){if(Ig||uA(),typeof r>"u"&&(r="SHA-512"),!(r in Jn))throw new Error("Invalid SHA-512 algorithm: "+r);for(var t=Jn[r],e=null,n=It.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(r){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:r.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,l=0;l<c;++l)a.fullMessageLength.push(0);n=It.util.createBuffer(),e=new Array(t.length);for(var l=0;l<t.length;++l)e[l]=t[l].slice(0);return a},a.start(),a.update=function(c,l){l==="utf8"&&(c=It.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=u[1],u[1]=u[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),Ag(e,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=It.util.createBuffer();c.putBytes(n.bytes());var l=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=l&a.blockLength-1;c.putBytes(gf.substr(0,a.blockLength-u));for(var f,d,h=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,d=f/4294967296>>>0,h+=d,c.putInt32(h>>>0),h=f>>>0;c.putInt32(h);for(var m=new Array(e.length),p=0;p<e.length;++p)m[p]=e[p].slice(0);Ag(m,i,c);var y=It.util.createBuffer(),g;r==="SHA-512"?g=m.length:r==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||r!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var gf=null,Ig=!1,wf=null,Jn=null;function uA(){gf=String.fromCharCode(128),gf+=It.util.fillString(String.fromCharCode(0),128),wf=[[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]],Jn={},Jn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Jn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Jn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Jn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Ig=!0}function Ag(r,t,e){for(var n,i,o,s,a,c,l,u,f,d,h,p,m,y,g,E,_,k,C,D,J,rt,Jt,ze,Ee,ue,di,Ps,Gt,pe,K,ol,sl,al,cl,$h=e.length();$h>=128;){for(Gt=0;Gt<16;++Gt)t[Gt][0]=e.getInt32()>>>0,t[Gt][1]=e.getInt32()>>>0;for(;Gt<80;++Gt)ol=t[Gt-2],pe=ol[0],K=ol[1],n=((pe>>>19|K<<13)^(K>>>29|pe<<3)^pe>>>6)>>>0,i=((pe<<13|K>>>19)^(K<<3|pe>>>29)^(pe<<26|K>>>6))>>>0,al=t[Gt-15],pe=al[0],K=al[1],o=((pe>>>1|K<<31)^(pe>>>8|K<<24)^pe>>>7)>>>0,s=((pe<<31|K>>>1)^(pe<<24|K>>>8)^(pe<<25|K>>>7))>>>0,sl=t[Gt-7],cl=t[Gt-16],K=i+sl[1]+s+cl[1],t[Gt][0]=n+sl[0]+o+cl[0]+(K/4294967296>>>0)>>>0,t[Gt][1]=K>>>0;for(m=r[0][0],y=r[0][1],g=r[1][0],E=r[1][1],_=r[2][0],k=r[2][1],C=r[3][0],D=r[3][1],J=r[4][0],rt=r[4][1],Jt=r[5][0],ze=r[5][1],Ee=r[6][0],ue=r[6][1],di=r[7][0],Ps=r[7][1],Gt=0;Gt<80;++Gt)l=((J>>>14|rt<<18)^(J>>>18|rt<<14)^(rt>>>9|J<<23))>>>0,u=((J<<18|rt>>>14)^(J<<14|rt>>>18)^(rt<<23|J>>>9))>>>0,f=(Ee^J&(Jt^Ee))>>>0,d=(ue^rt&(ze^ue))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,h=(m&g|_&(m^g))>>>0,p=(y&E|k&(y^E))>>>0,K=Ps+u+d+wf[Gt][1]+t[Gt][1],n=di+l+f+wf[Gt][0]+t[Gt][0]+(K/4294967296>>>0)>>>0,i=K>>>0,K=c+p,o=a+h+(K/4294967296>>>0)>>>0,s=K>>>0,di=Ee,Ps=ue,Ee=Jt,ue=ze,Jt=J,ze=rt,K=D+i,J=C+n+(K/4294967296>>>0)>>>0,rt=K>>>0,C=_,D=k,_=g,k=E,g=m,E=y,K=i+s,m=n+o+(K/4294967296>>>0)>>>0,y=K>>>0;K=r[0][1]+y,r[0][0]=r[0][0]+m+(K/4294967296>>>0)>>>0,r[0][1]=K>>>0,K=r[1][1]+E,r[1][0]=r[1][0]+g+(K/4294967296>>>0)>>>0,r[1][1]=K>>>0,K=r[2][1]+k,r[2][0]=r[2][0]+_+(K/4294967296>>>0)>>>0,r[2][1]=K>>>0,K=r[3][1]+D,r[3][0]=r[3][0]+C+(K/4294967296>>>0)>>>0,r[3][1]=K>>>0,K=r[4][1]+rt,r[4][0]=r[4][0]+J+(K/4294967296>>>0)>>>0,r[4][1]=K>>>0,K=r[5][1]+ze,r[5][0]=r[5][0]+Jt+(K/4294967296>>>0)>>>0,r[5][1]=K>>>0,K=r[6][1]+ue,r[6][0]=r[6][0]+Ee+(K/4294967296>>>0)>>>0,r[6][1]=K>>>0,K=r[7][1]+Ps,r[7][0]=r[7][0]+di+(K/4294967296>>>0)>>>0,r[7][1]=K>>>0,$h-=128}}});var fE=T((MO,uE)=>{function SR(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}uE.exports=SR});var AE=T((kk,fh)=>{"use strict";var TR=Object.prototype.hasOwnProperty,de="~";function vs(){}Object.create&&(vs.prototype=Object.create(null),new vs().__proto__||(de=!1));function CR(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function SE(r,t,e,n,i){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new CR(e,n||r,i),s=de?de+t:t;return r._events[s]?r._events[s].fn?r._events[s]=[r._events[s],o]:r._events[s].push(o):(r._events[s]=o,r._eventsCount++),r}function Fc(r,t){--r._eventsCount===0?r._events=new vs:delete r._events[t]}function le(){this._events=new vs,this._eventsCount=0}le.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)TR.call(e,n)&&t.push(de?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};le.prototype.listeners=function(t){var e=de?de+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};le.prototype.listenerCount=function(t){var e=de?de+t:t,n=this._events[e];return n?n.fn?1:n.length:0};le.prototype.emit=function(t,e,n,i,o,s){var a=de?de+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,u,f;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,i),!0;case 5:return c.fn.call(c.context,e,n,i,o),!0;case 6:return c.fn.call(c.context,e,n,i,o,s),!0}for(f=1,u=new Array(l-1);f<l;f++)u[f-1]=arguments[f];c.fn.apply(c.context,u)}else{var d=c.length,h;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(t,c[f].fn,void 0,!0),l){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,e);break;case 3:c[f].fn.call(c[f].context,e,n);break;case 4:c[f].fn.call(c[f].context,e,n,i);break;default:if(!u)for(h=1,u=new Array(l-1);h<l;h++)u[h-1]=arguments[h];c[f].fn.apply(c[f].context,u)}}return!0};le.prototype.on=function(t,e,n){return SE(this,t,e,n,!1)};le.prototype.once=function(t,e,n){return SE(this,t,e,n,!0)};le.prototype.removeListener=function(t,e,n,i){var o=de?de+t:t;if(!this._events[o])return this;if(!e)return Fc(this,o),this;var s=this._events[o];if(s.fn)s.fn===e&&(!i||s.once)&&(!n||s.context===n)&&Fc(this,o);else{for(var a=0,c=[],l=s.length;a<l;a++)(s[a].fn!==e||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Fc(this,o)}return this};le.prototype.removeAllListeners=function(t){var e;return t?(e=de?de+t:t,this._events[e]&&Fc(this,e)):(this._events=new vs,this._eventsCount=0),this};le.prototype.off=le.prototype.removeListener;le.prototype.addListener=le.prototype.on;le.prefixed=de;le.EventEmitter=le;typeof fh<"u"&&(fh.exports=le)});var zE=T((R6,$E)=>{"use strict";$E.exports=HE;var BR=ll(),Tn=HE.prototype,NR=new Date%1e9;function OR(){return(Math.random()*1e9>>>0)+NR++}function HE(r){r=r||{},this.id=r.id||OR(),this.max=r.max||1/0,this.items=r.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(r.lastModified||new Date);for(var t,e,n=this.items.length;n--;)t=this.items[n],e=new Date(t.expires)-new Date,this._lookup[t.key]=t,e>0?this.expire(t.key,e):e<=0&&this.delete(t.key)}Tn.has=function(r){return r in this._lookup};Tn.get=function(r){if(!this.has(r))return null;var t=this._lookup[r];return t.refresh&&this.expire(r,t.refresh),this.items.splice(this.items.indexOf(t),1),this.items.push(t),t.value};Tn.meta=function(r){if(!this.has(r))return null;var t=this._lookup[r];return"meta"in t?t.meta:null};Tn.set=function(r,t,e){var n=this._lookup[r],i=this._lookup[r]={key:r,value:t};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),e&&("ttl"in e&&this.expire(r,e.ttl),"meta"in e&&(i.meta=e.meta),e.refresh&&(i.refresh=e.ttl)),this};Tn.delete=function(r){var t=this._lookup[r];return t?(this.lastModified=new Date,this.items.splice(this.items.indexOf(t),1),clearTimeout(t.timeout),delete this._lookup[r],this.size--,this):!1};Tn.expire=function(r,t){var e=t||0,n=this._lookup[r];if(!n)return this;if(typeof e=="string"&&(e=BR(t)),typeof e!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),e),n.expires=Number(new Date)+e,this};Tn.clear=function(){for(var r=this.items.length;r--;)this.delete(this.items[r].key);return this};Tn.toJSON=function(){for(var r=new Array(this.items.length),t,e=r.length;e--;)t=this.items[e],r[e]={key:t.key,meta:t.meta,value:t.value,expires:t.expires,refresh:t.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:r}}});var Kh=T((s5,Fh)=>{function e1(r){let t=new globalThis.AbortController;function e(){t.abort();for(let n of r)!n||!n.removeEventListener||n.removeEventListener("abort",e)}for(let n of r)if(!(!n||!n.addEventListener)){if(n.aborted){e();break}n.addEventListener("abort",e)}return t.signal}Fh.exports=e1;Fh.exports.anySignal=e1});var n1=T((c5,r1)=>{r1.exports=class{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}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var s1=T((u5,o1)=>{var i1=n1();o1.exports=class{constructor(t){this.hwm=t||16,this.head=new i1(this.hwm),this.tail=this.head}push(t){if(!this.head.push(t)){let e=this.head;this.head=e.next=new i1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next){let e=this.tail.next;return this.tail.next=null,this.tail=e,this.tail.shift()}return t}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var c1=T((f5,a1)=>{"use strict";var $R=()=>{let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r};a1.exports=$R});var h1=T((d5,f1)=>{var l1=s1(),u1=c1();f1.exports=class{constructor(){this._buffer=new l1,this._waitingConsumers=new l1}push(t){let{promise:e,resolve:n}=u1();return this._buffer.push({chunk:t,resolve:n}),this._consume(),e}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let t=this._waitingConsumers.shift(),e=this._buffer.shift();t.resolve(e.chunk),e.resolve()}}shift(){let{promise:t,resolve:e}=u1();return this._waitingConsumers.push({resolve:e}),this._consume(),t}isEmpty(){return this._buffer.isEmpty()}}});var WR={};ae(WR,{createLibp2p:()=>YR});var ir=S(ul(),1);var ml={};ae(ml,{base58btc:()=>Kt,base58flickr:()=>H1});function U1(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var i=0;i<r.length;i++){var o=r.charAt(i),s=o.charCodeAt(0);if(e[s]!==255)throw new TypeError(o+" is ambiguous");e[s]=i}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function f(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,E=p.length;g!==E&&p[g]===0;)g++,m++;for(var _=(E-g)*u+1>>>0,k=new Uint8Array(_);g!==E;){for(var C=p[g],D=0,J=_-1;(C!==0||D<y)&&J!==-1;J--,D++)C+=256*k[J]>>>0,k[J]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=D,g++}for(var rt=_-y;rt!==_&&k[rt]===0;)rt++;for(var Jt=c.repeat(m);rt<_;++rt)Jt+=r.charAt(k[rt]);return Jt}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var E=(p.length-m)*l+1>>>0,_=new Uint8Array(E);p[m];){var k=e[p.charCodeAt(m)];if(k===255)return;for(var C=0,D=E-1;(k!==0||C<g)&&D!==-1;D--,C++)k+=a*_[D]>>>0,_[D]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var J=E-g;J!==E&&_[J]===0;)J++;for(var rt=new Uint8Array(y+(E-J)),Jt=y;J!==E;)rt[Jt++]=_[J++];return rt}}}function h(p){var m=d(p);if(m)return m;throw new Error(`Non-${t} character`)}return{encode:f,decodeUnsafe:d,decode:h}}var F1=U1,K1=F1,Qh=K1;var jR=new Uint8Array(0);var Xh=(r,t)=>{if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0},Rr=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Zh=r=>new TextEncoder().encode(r),Jh=r=>new TextDecoder().decode(r);var fl=class{constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},hl=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.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 td(this,t)}},dl=class{constructor(t){this.decoders=t}or(t){return td(this,t)}decode(t){let e=t[0],n=this.decoders[e];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`)}},td=(r,t)=>new dl({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),pl=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new fl(t,e,n),this.decoder=new hl(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},gi=({name:r,prefix:t,encode:e,decode:n})=>new pl(r,t,e,n),Zr=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=Qh(e,t);return gi({prefix:r,name:t,encode:n,decode:o=>Rr(i(o))})},V1=(r,t,e,n)=>{let i={};for(let u=0;u<t.length;++u)i[t[u]]=u;let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),a=0,c=0,l=0;for(let u=0;u<o;++u){let f=i[r[u]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|f,a+=e,a>=8&&(a-=8,s[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},q1=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,o="",s=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],s+=8;s>e;)s-=e,o+=t[i&a>>s];if(s&&(o+=t[i&a<<e-s]),n)for(;o.length*e&7;)o+="=";return o},kt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>gi({prefix:t,name:r,encode(i){return q1(i,n,e)},decode(i){return V1(i,n,e,r)}});var Kt=Zr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),H1=Zr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var yl={};ae(yl,{base32:()=>ve,base32hex:()=>Y1,base32hexpad:()=>Q1,base32hexpadupper:()=>X1,base32hexupper:()=>W1,base32pad:()=>z1,base32padupper:()=>G1,base32upper:()=>$1,base32z:()=>Z1});var ve=kt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),$1=kt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z1=kt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),G1=kt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Y1=kt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),W1=kt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Q1=kt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),X1=kt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Z1=kt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var gl={};ae(gl,{base64:()=>Dn,base64pad:()=>J1,base64url:()=>j1,base64urlpad:()=>tx});var Dn=kt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),J1=kt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),j1=kt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tx=kt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ir.default.formatters.b=r=>r==null?"undefined":Kt.baseEncode(r);ir.default.formatters.t=r=>r==null?"undefined":ve.baseEncode(r);ir.default.formatters.m=r=>r==null?"undefined":Dn.baseEncode(r);ir.default.formatters.p=r=>r==null?"undefined":r.toString();ir.default.formatters.c=r=>r==null?"undefined":r.toString();ir.default.formatters.k=r=>r==null?"undefined":r.toString();function N(r){return Object.assign((0,ir.default)(r),{error:(0,ir.default)(`${r}:error`),trace:(0,ir.default)(`${r}:trace`)})}var Pn=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Ir,Dt=class extends EventTarget{constructor(){super(...arguments),Ir.set(this,new Map)}listenerCount(t){let e=Pn(this,Ir,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=Pn(this,Ir,"f").get(t);i==null&&(i=[],Pn(this,Ir,"f").set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=Pn(this,Ir,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==e),Pn(this,Ir,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=Pn(this,Ir,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),Pn(this,Ir,"f").set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new H(t,e))}};Ir=new WeakMap;var wl=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},H=globalThis.CustomEvent??wl;function Tr(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var Os=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}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 e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",l=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,t);if(!Number.isNaN(d))return d});if(u===void 0)break;if(o*=t,o+=u,o>l||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[i]=s[0],e[i+1]=s[1],e[i+2]=s[2],e[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];e[i]=o>>8,e[i+1]=o&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;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 e.set(o.subarray(0,a),16-a),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ed=45,ex=15,wi=new Os;function rd(r){if(!(r.length>ex))return wi.new(r).parseWith(()=>wi.readIPv4Addr())}function nd(r){if(!(r.length>ed))return wi.new(r).parseWith(()=>wi.readIPv6Addr())}function id(r){if(!(r.length>ed))return wi.new(r).parseWith(()=>wi.readIPAddr())}function od(r){return Boolean(rd(r))}function sd(r){return Boolean(nd(r))}function Ei(r){return Boolean(id(r))}var El={};ae(El,{identity:()=>rx});var rx=gi({prefix:"\0",name:"identity",encode:r=>Jh(r),decode:r=>Zh(r)});var xl={};ae(xl,{base2:()=>nx});var nx=kt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var vl={};ae(vl,{base8:()=>ix});var ix=kt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var bl={};ae(bl,{base10:()=>ox});var ox=Zr({prefix:"9",name:"base10",alphabet:"0123456789"});var _l={};ae(_l,{base16:()=>sx,base16upper:()=>ax});var sx=kt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ax=kt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Sl={};ae(Sl,{base36:()=>cx,base36upper:()=>lx});var cx=Zr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),lx=Zr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Al={};ae(Al,{base256emoji:()=>px});var ad=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}"),ux=ad.reduce((r,t,e)=>(r[e]=t,r),[]),fx=ad.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function hx(r){return r.reduce((t,e)=>(t+=ux[e],t),"")}function dx(r){let t=[];for(let e of r){let n=fx[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var px=gi({prefix:"\u{1F680}",name:"base256emoji",encode:hx,decode:dx});var Cl={};ae(Cl,{sha256:()=>jt,sha512:()=>Bx});var mx=ud,cd=128,yx=127,gx=~yx,wx=Math.pow(2,31);function ud(r,t,e){t=t||[],e=e||0;for(var n=e;r>=wx;)t[e++]=r&255|cd,r/=128;for(;r&gx;)t[e++]=r&255|cd,r>>>=7;return t[e]=r|0,ud.bytes=e-n+1,t}var Ex=Rl,xx=128,ld=127;function Rl(r,n){var e=0,n=n||0,i=0,o=n,s,a=r.length;do{if(o>=a)throw Rl.bytes=0,new RangeError("Could not decode varint");s=r[o++],e+=i<28?(s&ld)<<i:(s&ld)*Math.pow(2,i),i+=7}while(s>=xx);return Rl.bytes=o-n,e}var vx=Math.pow(2,7),bx=Math.pow(2,14),_x=Math.pow(2,21),Sx=Math.pow(2,28),Ax=Math.pow(2,35),Rx=Math.pow(2,42),Ix=Math.pow(2,49),Tx=Math.pow(2,56),Cx=Math.pow(2,63),Dx=function(r){return r<vx?1:r<bx?2:r<_x?3:r<Sx?4:r<Ax?5:r<Rx?6:r<Ix?7:r<Tx?8:r<Cx?9:10},Px={encode:mx,decode:Ex,encodingLength:Dx},Lx=Px,lo=Lx;var uo=(r,t=0)=>[lo.decode(r,t),lo.decode.bytes],xi=(r,t,e=0)=>(lo.encode(r,t,e),t),vi=r=>lo.encodingLength(r);var or=(r,t)=>{let e=t.byteLength,n=vi(r),i=n+vi(e),o=new Uint8Array(i+e);return xi(r,o,0),xi(e,o,n),o.set(t,i),new bi(r,e,t,o)},Ln=r=>{let t=Rr(r),[e,n]=uo(t),[i,o]=uo(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new bi(e,i,s,t)},fd=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Xh(r.bytes,e.bytes)}},bi=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var Tl=({name:r,code:t,encode:e})=>new Il(r,t,e),Il=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?or(this.code,e):e.then(n=>or(this.code,n))}else throw Error("Unknown type, must be binary type")}};var dd=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),jt=Tl({name:"sha2-256",code:18,encode:dd("SHA-256")}),Bx=Tl({name:"sha2-512",code:19,encode:dd("SHA-512")});var Dl={};ae(Dl,{identity:()=>Jr});var pd=0,Nx="identity",md=Rr,Ox=r=>or(pd,md(r)),Jr={code:pd,name:Nx,encode:md,digest:Ox};var PI=new TextEncoder,LI=new TextDecoder;var yd=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Fx(e,Pl(r),t||Kt.encoder);default:return Kx(e,Pl(r),t||ve.encoder)}};var gd=new WeakMap,Pl=r=>{let t=gd.get(r);if(t==null){let e=new Map;return gd.set(r,e),e}return t},dt=class{constructor(t,e,n,i){this.code=e,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:e}=this;if(t!==fo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Vx)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return dt.createV0(e)}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:e}=this.multihash,n=or(t,e);return dt.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 dt.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&fd(t.multihash,n.multihash)}toString(t){return yd(this,t)}toJSON(){return{"/":yd(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof dt)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:o,bytes:s}=e;return new dt(n,i,o,s||wd(n,i,o.bytes))}else if(e[qx]===!0){let{version:n,multihash:i,code:o}=e,s=Ln(i);return dt.create(n,o,s)}else return null}static create(t,e,n){if(typeof e!="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(e!==fo)throw new Error(`Version 0 CID must use dag-pb (code: ${fo}) block encoding`);return new dt(t,e,n,n.bytes)}case 1:{let i=wd(t,e,n.bytes);return new dt(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return dt.create(0,fo,t)}static createV1(t,e){return dt.create(1,t,e)}static decode(t){let[e,n]=dt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=dt.inspectBytes(t),n=e.size-e.multihashSize,i=Rr(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let o=i.subarray(e.multihashSize-e.digestSize),s=new bi(e.multihashCode,e.digestSize,o,i);return[e.version===0?dt.createV0(s):dt.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[f,d]=uo(t.subarray(e));return e+=d,f},i=n(),o=fo;if(i===18?(i=0,e=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=e,a=n(),c=n(),l=e+c,u=l-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:l}}static parse(t,e){let[n,i]=Ux(t,e),o=dt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Pl(o).set(n,t),o}},Ux=(r,t)=>{switch(r[0]){case"Q":{let e=t||Kt;return[Kt.prefix,e.decode(`${Kt.prefix}${r}`)]}case Kt.prefix:{let e=t||Kt;return[Kt.prefix,e.decode(r)]}case ve.prefix:{let e=t||ve;return[ve.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},Fx=(r,t,e)=>{let{prefix:n}=e;if(n!==Kt.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let o=e.encode(r).slice(1);return t.set(n,o),o}else return i},Kx=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let o=e.encode(r);return t.set(n,o),o}else return i},fo=112,Vx=18,wd=(r,t,e)=>{let n=vi(r),i=n+vi(t),o=new Uint8Array(i+e.byteLength);return xi(r,o,0),xi(t,o,n),o.set(e,i),o},qx=Symbol.for("@ipld/js-cid/CID");var jr={...El,...xl,...vl,...bl,..._l,...yl,...Sl,...ml,...gl,...Al},qI={...Cl,...Dl};function Nn(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Cr(r=0){return globalThis.Buffer?.alloc!=null?Nn(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function Dr(r=0){return globalThis.Buffer?.allocUnsafe!=null?Nn(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function xd(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ed=xd("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ll=xd("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Dr(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Hx={utf8:Ed,"utf-8":Ed,hex:jr.base16,latin1:Ll,ascii:Ll,binary:Ll,...jr},Ms=Hx;function $(r,t="utf8"){let e=Ms[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var vd=od,$x=sd,Bl=function(r){let t=0;if(r=r.toString().trim(),vd(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if($x(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let o=vd(e[n]),s;o&&(s=Bl(e[n]),e[n]=$(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,$(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let o=[n,1];for(n=9-e.length;n>0;n--)o.push("0");e.splice.apply(e,o)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let o=parseInt(e[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},bd=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let o=0;o<e;o++)i.push(r[t+o]);return i.join(".")}if(e===16){let i=[];for(let o=0;o<e;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ho={},Nl={},Gx=[[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"],[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"],[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"]];Gx.forEach(r=>{let t=Yx(...r);Nl[t.code]=t,ho[t.name]=t});function Yx(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:Boolean(n),path:Boolean(i)}}function pt(r){if(typeof r=="number"){if(Nl[r]!=null)return Nl[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ho[r]!=null)return ho[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var sr=S(Us(),1);function U(r,t="utf8"){let e=Ms[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Nn(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Vt(r,t){t==null&&(t=r.reduce((i,o)=>i+o.length,0));let e=Dr(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Nn(e)}function kd(r,t){switch(pt(r).code){case 4:case 41:return cv(t);case 42:return Nd(t);case 6:case 273:case 33:case 132:return Ud(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return Nd(t);case 421:return hv(t);case 444:return Od(t);case 445:return Od(t);case 466:return fv(t);default:return $(t,"base16")}}function Md(r,t){switch(pt(r).code){case 4:return Ld(t);case 41:return Ld(t);case 42:return Bd(t);case 6:case 273:case 33:case 132:return Ul(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return Bd(t);case 421:return lv(t);case 444:return dv(t);case 445:return pv(t);case 466:return uv(t);default:return U(t,"base16")}}var Ml=Object.values(jr).map(r=>r.decoder),av=function(){let r=Ml[0].or(Ml[1]);return Ml.slice(2).forEach(t=>r=r.or(t)),r}();function Ld(r){if(!Ei(r))throw new Error("invalid ip address");return Bl(r)}function cv(r){let t=bd(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Ei(t))throw new Error("invalid ip address");return t}function Ul(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Ud(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Bd(r){let t=U(r),e=Uint8Array.from(sr.default.encode(t.length));return Vt([e,t],e.length+t.length)}function Nd(r){let t=sr.default.decode(r);if(r=r.slice(sr.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return $(r)}function lv(r){let t;r[0]==="Q"||r[0]==="1"?t=Ln(Kt.decode(`z${r}`)).bytes:t=dt.parse(r).multihash.bytes;let e=Uint8Array.from(sr.default.encode(t.length));return Vt([e,t],e.length+t.length)}function uv(r){let t=av.decode(r),e=Uint8Array.from(sr.default.encode(t.length));return Vt([e,t],e.length+t.length)}function fv(r){let t=sr.default.decode(r),e=r.slice(sr.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+$(e,"base64url")}function hv(r){let t=sr.default.decode(r),e=r.slice(sr.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return $(e,"base58btc")}function dv(r){let t=r.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 e=ve.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ul(n);return Vt([e,i],e.length+i.length)}function pv(r){let t=r.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 e=ve.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ul(n);return Vt([e,i],e.length+i.length)}function Od(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=$(t,"base32"),i=Ud(e);return`${n}:${i}`}var _i=S(Us(),1);function mv(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],o=pt(i);if(o.size===0){t.push([i]);continue}if(n++,n>=e.length)throw Kd("invalid address: "+r);if(o.path===!0){t.push([i,Hl(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function yv(r){let t=[];return r.map(e=>{let n=Vs(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Hl(t.join("/"))}function gv(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=Vs(t);return t.length>1?[e.code,Md(e.code,t[1])]:[e.code]})}function Fl(r){return r.map(t=>{let e=Vs(t);return t[1]!=null?[e.code,kd(e.code,t[1])]:[e.code]})}function Kl(r){return Ks(Vt(r.map(t=>{let e=Vs(t),n=Uint8Array.from(_i.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=Vt([n,t[1]])),n})))}function Vl(r,t){return r.size>0?r.size/8:r.size===0?0:_i.default.decode(t)+(_i.default.decode.bytes??0)}function Fs(r){let t=[],e=0;for(;e<r.length;){let n=_i.default.decode(r,e),i=_i.default.decode.bytes??0,o=pt(n),s=Vl(o,r.slice(e+i));if(s===0){t.push([n]),e+=i;continue}let a=r.slice(e+i,e+i+s);if(e+=s+i,e>r.length)throw Kd("Invalid address Uint8Array: "+$(r,"base16"));t.push([n,a])}return t}function ql(r){let t=Fs(r),e=Fl(t);return yv(e)}function wv(r){r=Hl(r);let t=mv(r),e=gv(t);return Kl(e)}function Fd(r){return wv(r)}function Ks(r){let t=Ev(r);if(t!=null)throw t;return Uint8Array.from(r)}function Ev(r){try{Fs(r)}catch(t){return t}}function Hl(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Kd(r){return new Error("Error parsing address: "+r)}function Vs(r){return pt(r[0])}var zl=S(Us(),1);var $d=S(V(),1);function Et(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Si=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},$l=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},po,mo,yo,Hd,bv=Symbol.for("nodejs.util.inspect.custom"),_v=[pt("dns").code,pt("dns4").code,pt("dns6").code,pt("dnsaddr").code],Gl=new Map,zd=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Gd(r,t){if(r==null)throw new Error("requires node address object");if(t==null)throw new Error("requires transport protocol");let e,n=r.address;switch(r.family){case 4:e="ip4";break;case 6:if(e="ip6",n.includes("%")){let i=n.split("%");if(i.length!==2)throw Error("Multiple ip6 zones in multiaddr");n=i[0],e=`/ip6zone/${i[1]}/ip6`}break;default:throw Error("Invalid addr family, should be 4 or 6.")}return new ar("/"+[e,n,t,r.port].join("/"))}function Le(r){return Boolean(r?.[zd])}var ar=class{constructor(t){if(po.set(this,void 0),mo.set(this,void 0),yo.set(this,void 0),this[Hd]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Ks(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Fd(t)}else if(Le(t))this.bytes=Ks(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Si(this,po,"f")==null&&$l(this,po,ql(this.bytes),"f"),Si(this,po,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,o="",s=pt("tcp"),a=pt("udp"),c=pt("ip4"),l=pt("ip6"),u=pt("dns6"),f=pt("ip6zone");for(let[h,p]of this.stringTuples())h===f.code&&(o=`%${p??""}`),_v.includes(h)&&(e=s.name,i=443,n=`${p??""}${o}`,t=h===u.code?6:4),(h===s.code||h===a.code)&&(e=pt(h).name,i=parseInt(p??"")),(h===c.code||h===l.code)&&(e=pt(h).name,n=`${p??""}${o}`,t=h===l.code?6:4);if(t==null||e==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:e,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},pt(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=zl.default.decode(e,n),o=zl.default.decode.bytes??0,s=pt(i),a=Vl(s,e.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return Si(this,mo,"f")==null&&$l(this,mo,Fs(this.bytes),"f"),Si(this,mo,"f")}stringTuples(){return Si(this,yo,"f")==null&&$l(this,yo,Fl(this.tuples()),"f"),Si(this,yo,"f")}encapsulate(t){return t=new ar(t),new ar(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new ar(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new ar(Kl(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===ho.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?$(Kt.decode(`z${n}`),"base58btc"):$(dt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>pt(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return Et(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(o=>o.resolvable);if(e==null)return[this];let n=Gl.get(e.name);if(n==null)throw(0,$d.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new ar(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 e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[(po=new WeakMap,mo=new WeakMap,yo=new WeakMap,Hd=zd,bv)](){return`Multiaddr(${ql(this.bytes)})`}};function j(r){return new ar(r)}async function Pr(r){let t=[];for await(let e of r)t.push(e);return t}var Yl=(r,t)=>async function*(){yield*(await Pr(r)).sort(t)}();async function Ge(r){for await(let t of r);}async function*me(r,t){for await(let e of r)await t(e)&&(yield e)}async function*qs(r,t){let e=0;if(!(t<1)){for await(let n of r)if(yield n,e++,e===t)return}}var Hs=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(t,e,n){return Promise.reject(new Error(".put is not implemented"))}get(t,e){return Promise.reject(new Error(".get is not implemented"))}has(t,e){return Promise.reject(new Error(".has is not implemented"))}delete(t,e){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(t,e={}){for await(let{key:n,value:i}of t)await this.put(n,i,e),yield{key:n,value:i}}async*getMany(t,e={}){for await(let n of t)yield this.get(n,e)}async*deleteMany(t,e={}){for await(let n of t)await this.delete(n,e),yield n}batch(){let t=[],e=[];return{put(n,i){t.push({key:n,value:i})},delete(n){e.push(n)},commit:async n=>{await Ge(this.putMany(t,n)),t=[],await Ge(this.deleteMany(e,n)),e=[]}}}async*_all(t,e){throw new Error("._all is not implemented")}async*_allKeys(t,e){throw new Error("._allKeys is not implemented")}query(t,e){let n=this._all(t,e);if(t.prefix!=null&&(n=me(n,i=>i.key.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>me(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>Yl(i,o),n)),t.offset!=null){let i=0;n=me(n,()=>i++>=t.offset)}return t.limit!=null&&(n=qs(n,t.limit)),n}queryKeys(t,e){let n=this._allKeys(t,e);if(t.prefix!=null&&(n=me(n,i=>i.toString().startsWith(t.prefix))),Array.isArray(t.filters)&&(n=t.filters.reduce((i,o)=>me(i,o),n)),Array.isArray(t.orders)&&(n=t.orders.reduce((i,o)=>Yl(i,o),n)),t.offset!=null){let i=0;n=me(n,()=>i++>=t.offset)}return t.limit!=null&&(n=qs(n,t.limit)),n}};var $s=(r=21)=>crypto.getRandomValues(new Uint8Array(r)).reduce((t,e)=>(e&=63,e<36?t+=e.toString(36):e<62?t+=(e-26).toString(36).toUpperCase():e>62?t+="-":t+="_",t),"");var Lr="/",Yd=new TextEncoder().encode(Lr),zs=Yd[0],Mt=class{constructor(t,e){if(typeof t=="string")this._buf=U(t);else if(t instanceof Uint8Array)this._buf=t;else throw new Error("Invalid key, should be String of Uint8Array");if(e==null&&(e=!0),e&&this.clean(),this._buf.byteLength===0||this._buf[0]!==zs)throw new Error("Invalid key")}toString(t="utf8"){return $(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Mt(t.join(Lr))}static random(){return new Mt($s().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Mt(t):typeof t.uint8Array=="function"?new Mt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Yd),this._buf[0]!==zs){let t=new Uint8Array(this._buf.byteLength+1);t.fill(zs,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===zs;)this._buf=this._buf.subarray(0,-1)}less(t){let e=this.list(),n=t.list();for(let i=0;i<e.length;i++){if(n.length<i+1)return!1;let o=e[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return e.length<n.length}reverse(){return Mt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(Lr).slice(1)}type(){return Sv(this.baseNamespace())}name(){return Av(this.baseNamespace())}instance(t){return new Mt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(Lr)||(t+=Lr),t+=this.type(),new Mt(t)}parent(){let t=this.list();return t.length===1?new Mt(Lr):new Mt(t.slice(0,-1).join(Lr))}child(t){return this.toString()===Lr?t:t.toString()===Lr?this:new Mt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Mt.withNamespaces([...this.namespaces(),...Rv(t.map(e=>e.namespaces()))])}};function Sv(r){let t=r.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Av(r){let t=r.split(":");return t[t.length-1]}function Rv(r){return[].concat(...r)}var Wd=S(V(),1);function Qd(r){return r=r||new Error("Not Found"),(0,Wd.default)(r,"ERR_NOT_FOUND")}var Gs=class extends Hs{constructor(){super(),this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(t,e){this.data[t.toString()]=e}async get(t){if(!await this.has(t))throw Qd();return this.data[t.toString()]}async has(t){return this.data[t.toString()]!==void 0}async delete(t){delete this.data[t.toString()]}async*_all(){yield*Object.entries(this.data).map(([t,e])=>({key:new Mt(t),value:e}))}async*_allKeys(){yield*Object.entries(this.data).map(([t])=>new Mt(t))}};var xo=S(V(),1);var X;(function(r){r.NOT_STARTED_YET="The libp2p node is not started yet",r.DHT_DISABLED="DHT is not available",r.PUBSUB_DISABLED="PubSub is not available",r.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",r.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",r.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",r.NOT_FOUND="Not found"})(X||(X={}));var b;(function(r){r.DHT_DISABLED="ERR_DHT_DISABLED",r.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",r.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",r.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",r.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",r.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",r.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",r.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",r.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",r.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",r.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",r.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",r.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",r.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",r.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",r.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",r.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",r.ERR_DIALED_SELF="ERR_DIALED_SELF",r.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",r.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",r.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",r.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",r.ERR_INVALID_KEY="ERR_INVALID_KEY",r.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_PEER="ERR_INVALID_PEER",r.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",r.ERR_NOT_FOUND="ERR_NOT_FOUND",r.ERR_TIMEOUT="ERR_TIMEOUT",r.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",r.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",r.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",r.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",r.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",r.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",r.ERR_FIND_SELF="ERR_FIND_SELF",r.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",r.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",r.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",r.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",r.ERR_INVALID_CMS="ERR_INVALID_CMS",r.ERR_MISSING_KEYS="ERR_MISSING_KEYS",r.ERR_NO_KEY="ERR_NO_KEY",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",r.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",r.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",r.ERR_INVALID_RECORD="ERR_INVALID_RECORD",r.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",r.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",r.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",r.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",r.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED"})(b||(b={}));var Xd=S(V(),1);async function*go(r,t){for await(let e of r)yield t(e)}async function*wo(r,t){yield*go(r,async e=>(await t.addressBook.add(e.id,e.multiaddrs),e))}function Ys(r){let t=new Set;return me(r,e=>t.has(e.id.toString())?!1:(t.add(e.id.toString()),!0))}async function*Ws(r,t=1){let e=0;for await(let n of r)e++,yield n;if(e<t)throw(0,Xd.default)(new Error("not found"),"NOT_FOUND")}var m0=S(Br(),1);var Xs=class{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}},Ai=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Xs(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 e=this.head;this.head=e.next=new Xs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function On(r={}){return Dv(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Dv(r,t){t=t??{};let e=t.onEnd,n=new Ai,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((m,y)=>{o=g=>{o=null,n.push(g);try{m(r(n))}catch(E){y(E)}return i}}):r(n),c=m=>o!=null?o(m):(n.push(m),i),l=m=>(n=new Ai,o!=null?o({error:m}):(n.push({error:m}),i)),u=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 c({done:!1,value:m})},f=m=>s?i:(s=!0,m!=null?l(m):c({done:!0})),d=()=>(n=new Ai,f(),{done:!0}),h=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:h,push:u,end:f,get readableLength(){return n.size}},e==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),e!=null&&(e(m),e=void 0),{done:!0}},return(){return p.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(m){return p.end(m),e!=null&&(e(m),e=void 0),i},get readableLength(){return p.readableLength}},i}async function*Nr(...r){let t=On({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async e=>{for await(let n of e)t.push(n)})),t.end()}catch(e){t.end(e)}}),yield*t}var Pv=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},r0=r=>r!=null&&(typeof r[Symbol.asyncIterator]=="function"||typeof r[Symbol.iterator]=="function"||typeof r.next=="function"),Xl=r=>r!=null&&typeof r.sink=="function"&&r0(r.source),Lv=r=>t=>{let e=r.sink(t);if(e.then!=null){let n=On({objectMode:!0});return e.then(()=>{n.end()},o=>{n.end(o)}),Nr(n,async function*(){yield*r.source,n.end()}())}return r.source};function Pt(r,...t){if(Xl(r)){let n=r;r=()=>n.source}else if(r0(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&Xl(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)Xl(e[n])&&(e[n]=Lv(e[n]));return Pv(...e)}async function be(r){for await(let t of r)return t}var ta=S(Zl(),1),y0=S(cr(),1),p0=N("libp2p:peer-routing"),js=class{constructor(t,e){this.components=t,this.routers=e.routers??[],this.refreshManagerInit=e.refreshManager??{},this.started=!1,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}isStarted(){return this.started}async start(){this.started||this.routers.length===0||this.timeoutId!=null||this.refreshManagerInit.enabled===!1||(this.timeoutId=(0,ta.setDelayedInterval)(this._findClosestPeersTask,this.refreshManagerInit.interval,this.refreshManagerInit.bootDelay),this.started=!0)}async _findClosestPeersTask(){if(this.abortController==null)try{this.abortController=new m0.TimeoutController(this.refreshManagerInit.timeout??1e4);try{(0,y0.setMaxListeners)?.(1/0,this.abortController.signal)}catch{}await Ge(this.getClosestPeers(this.components.peerId.toBytes(),{signal:this.abortController.signal}))}catch(t){p0.error(t)}finally{this.abortController?.clear(),this.abortController=void 0}}async stop(){(0,ta.clearDelayedInterval)(this.timeoutId),this.abortController?.abort(),this.started=!1}async findPeer(t,e){if(this.routers.length===0)throw(0,xo.default)(new Error("No peer routers available"),b.ERR_NO_ROUTERS_AVAILABLE);if(t.toString()===this.components.peerId.toString())throw(0,xo.default)(new Error("Should not try to find self"),b.ERR_FIND_SELF);let n=await Pt(Nr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(t,e)}catch(o){p0.error(o)}}())),i=>me(i,Boolean),i=>wo(i,this.components.peerStore),async i=>await be(i));if(n!=null)return n;throw(0,xo.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getClosestPeers(t,e){if(this.routers.length===0)throw(0,xo.default)(new Error("No peer routers available"),b.ERR_NO_ROUTERS_AVAILABLE);yield*Pt(Nr(...this.routers.map(n=>n.getClosestPeers(t,e))),n=>wo(n,this.components.peerStore),n=>Ys(n),n=>Ws(n))}};var tn=S(V(),1);var ea=class{constructor(t,e){this.routers=e.routers??[],this.started=!1,this.components=t}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(t,e={}){if(this.routers.length===0)throw(0,tn.default)(new Error("No content this.routers available"),b.ERR_NO_ROUTERS_AVAILABLE);yield*Pt(Nr(...this.routers.map(n=>n.findProviders(t,e))),n=>wo(n,this.components.peerStore),n=>Ys(n),n=>Ws(n))}async provide(t,e={}){if(this.routers.length===0)throw(0,tn.default)(new Error("No content routers available"),b.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>await n.provide(t,e)))}async put(t,e,n){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);let i=this.components.dht;i!=null&&await Ge(i.put(t,e,n))}async get(t,e){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);let n=this.components.dht;if(n!=null){for await(let i of n.get(t,e))if(i.name==="VALUE")return i.value}throw(0,tn.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getMany(t,e,n){if(!this.isStarted())throw(0,tn.default)(new Error(X.NOT_STARTED_YET),b.DHT_NOT_STARTED);if(e==null||e===0)return;let i=0,o=this.components.dht;if(o!=null){for await(let s of o.get(t,n))if(s.name==="VALUE"&&(yield{from:s.from,val:s.value},i++,i===e))break}if(i===0)throw(0,tn.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}};var ra=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var jl=Symbol.for("@libp2p/peer-id");function kn(r){return r!=null&&Boolean(r[jl])}var Hv=Symbol.for("nodejs.util.inspect.custom"),g0=Object.values(jr).map(r=>r.decoder).reduce((r,t)=>r.or(t),jr.identity.decoder),w0=114,tu=36,eu=37,vo=class{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()})`}get[jl](){return!0}toString(){return this.string==null&&(this.string=Kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return dt.createV1(w0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Et(this.multihash.bytes,t);if(typeof t=="string")return tt(t).equals(this);if(t?.multihash?.bytes!=null)return Et(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Hv](){return`PeerId(${this.toString()})`}},Mn=class extends vo{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Un=class extends vo{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Fn=class extends vo{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function qt(r){if(r.type==="RSA")return new Mn(r);if(r.type==="Ed25519")return new Un(r);if(r.type==="secp256k1")return new Fn(r);throw new ra("Not a PeerId","ERR_INVALID_PARAMETERS")}function tt(r,t){if(t=t??g0,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Ln(Kt.decode(`z${r}`));return r.startsWith("12D")?new Un({multihash:e}):r.startsWith("16U")?new Fn({multihash:e}):new Mn({multihash:e})}return en(g0.decode(r))}function en(r){try{let t=Ln(r);if(t.code===Jr.code){if(t.digest.length===tu)return new Un({multihash:t});if(t.digest.length===eu)return new Fn({multihash:t})}if(t.code===jt.code)return new Mn({multihash:t})}catch{return $v(dt.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function $v(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==w0)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===jt.code)return new Mn({multihash:r.multihash});if(t.code===Jr.code){if(t.digest.length===tu)return new Un({multihash:r.multihash});if(t.digest.length===eu)return new Fn({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function rn(r,t){return r.length===tu?new Un({multihash:or(Jr.code,r),privateKey:t}):r.length===eu?new Fn({multihash:or(Jr.code,r),privateKey:t}):new Mn({multihash:await jt.digest(r),publicKey:r,privateKey:t})}var zv=r=>r,na=class extends Dt{constructor(t,e){super();let{listen:n=[],announce:i=[]}=e;this.components=t,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Set,this.announceFilter=e.announceFilter??zv}getListenAddrs(){return Array.from(this.listen).map(t=>j(t))}getAnnounceAddrs(){return Array.from(this.announce).map(t=>j(t))}getObservedAddrs(){return Array.from(this.observed).map(t=>j(t))}confirmObservedAddr(t){}removeObservedAddr(t){}addObservedAddr(t){let e=j(t),n=e.getPeerId();n!=null&&tt(n).equals(this.components.peerId)&&(e=e.decapsulate(j(`/p2p/${this.components.peerId.toString()}`)));let i=e.toString();this.observed.has(i)||(this.observed.add(i),this.dispatchEvent(new H("change:addresses")))}getAddresses(){let t=this.getAnnounceAddrs().map(n=>n.toString());t.length===0&&(t=this.components.transportManager.getAddrs().map(n=>n.toString())),t=t.concat(this.getObservedAddrs().map(n=>n.toString()));let e=new Set(t);return this.announceFilter(Array.from(e).map(n=>j(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var ha=S(V(),1);var I0=S(R0(),1),Be=I0.default;var T0=N("libp2p:connection-manager:latency-monitor:visibility-change-emitter"),sa=class extends Dt{constructor(){super(),this.hidden="hidden",this.visibilityChange="visibilityChange",globalThis.document!=null&&(this._initializeVisibilityVarNames(),this._addVisibilityChangeListener())}_initializeVisibilityVarNames(){let t="hidden",e="visibilitychange";typeof globalThis.document.hidden<"u"?(t="hidden",e="visibilitychange"):typeof globalThis.document.mozHidden<"u"?(t="mozHidden",e="mozvisibilitychange"):typeof globalThis.document.msHidden<"u"?(t="msHidden",e="msvisibilitychange"):typeof globalThis.document.webkitHidden<"u"&&(t="webkitHidden",e="webkitvisibilitychange"),this.hidden=t,this.visibilityChange=e}_addVisibilityChangeListener(){typeof globalThis.document.addEventListener>"u"||typeof document[this.hidden]>"u"?T0("Checking page visibility requires a browser that supports the Page Visibility API."):globalThis.document.addEventListener(this.visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this.hidden===void 0||document[this.hidden]===void 0))return document[this.hidden]==null}_handleVisibilityChange(){let t=globalThis.document[this.hidden]===!1;T0(t?"Page Visible":"Page Hidden"),this.dispatchEvent(new H("visibilityChange",{detail:t}))}};var Or=N("libp2p:connection-manager:latency-monitor"),aa=class extends Dt{constructor(t={}){super();let{latencyCheckIntervalMs:e,dataEmitIntervalMs:n,asyncTestFn:i,latencyRandomPercentage:o}=t;this.latencyCheckIntervalMs=e??500,this.latencyRandomPercentage=o??10,this.latencyCheckMultiply=2*(this.latencyRandomPercentage/100)*this.latencyCheckIntervalMs,this.latencyCheckSubtract=this.latencyCheckMultiply/2,this.dataEmitIntervalMs=n===null||n===0?void 0:n??5*1e3,Or("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",this.latencyCheckIntervalMs,this.dataEmitIntervalMs),this.dataEmitIntervalMs!=null?Or("Expecting ~%s events per summary",this.latencyCheckIntervalMs/this.dataEmitIntervalMs):Or("Not emitting summaries"),this.asyncTestFn=i,globalThis.process?.hrtime!=null?(Or("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=s=>{let a=this.now(s);return a[0]*1e3+a[1]/1e6}):typeof window<"u"&&window.performance?.now!=null?(Or("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=s=>Math.round(this.now()-s)):(Or("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=s=>this.now()-s),this.latencyData=this.initLatencyData()}start(){Zv()&&(this.visibilityChangeEmitter=new sa,this.visibilityChangeEmitter.addEventListener("visibilityChange",t=>{let{detail:e}=t;e?this._startTimers():(this._emitSummary(),this._stopTimers())})),this.visibilityChangeEmitter?.isVisible()===!0&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this.checkLatencyID==null&&(this.checkLatency(),this.dataEmitIntervalMs!=null&&(this.emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this.emitIntervalID.unref=="function"&&this.emitIntervalID.unref()))}_stopTimers(){this.checkLatencyID!=null&&(clearTimeout(this.checkLatencyID),this.checkLatencyID=void 0),this.emitIntervalID!=null&&(clearInterval(this.emitIntervalID),this.emitIntervalID=void 0)}_emitSummary(){let t=this.getSummary();t.events>0&&this.dispatchEvent(new H("data",{detail:t}))}getSummary(){let t={events:this.latencyData.events,minMs:this.latencyData.minMs,maxMs:this.latencyData.maxMs,avgMs:this.latencyData.events>0?this.latencyData.totalMs/this.latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this.latencyData.startTime)};return this.latencyData=this.initLatencyData(),Or.trace("Summary: %O",t),t}checkLatency(){let t=Math.random()*this.latencyCheckMultiply-this.latencyCheckSubtract,e={deltaOffset:Math.ceil(this.latencyCheckIntervalMs+t),startTime:this.now()},n=()=>{if(this.checkLatencyID==null)return;let i=this.getDeltaMS(e.startTime)-e.deltaOffset;this.checkLatency(),this.latencyData.events++,this.latencyData.minMs=Math.min(this.latencyData.minMs,i),this.latencyData.maxMs=Math.max(this.latencyData.maxMs,i),this.latencyData.totalMs+=i,Or.trace("MS: %s Data: %O",i,this.latencyData)};Or.trace("localData: %O",e),this.checkLatencyID=setTimeout(()=>{this.asyncTestFn!=null?(e.deltaOffset=0,e.startTime=this.now(),this.asyncTestFn(n)):(e.deltaOffset-=1,n())},e.deltaOffset),typeof this.checkLatencyID.unref=="function"&&this.checkLatencyID.unref()}initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function Zv(){return typeof globalThis.window<"u"}var da=S(cr(),1);var ca="OPEN",nu="CLOSING",la="CLOSED";function kr(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return e}var bo=class{constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return kr(this.map.entries(),t=>[tt(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,tt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return kr(this.map.keys(),t=>tt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Mr=class{constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return kr(this.set.entries(),t=>{let e=tt(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=tt(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return kr(this.set.values(),t=>tt(t))}intersection(t){let e=new Mr;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new Mr;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new Mr;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var Di=class{constructor(t){if(this.list=[],t!=null)for(let e of t)this.list.push(e.toString())}[Symbol.iterator](){return kr(this.list.entries(),t=>tt(t[1]))}concat(t){let e=new Di(this);for(let n of t)e.push(n);return e}entries(){return kr(this.list.entries(),t=>[t[0],tt(t[1])])}every(t){return this.list.every((e,n)=>t(tt(e),n,this))}filter(t){let e=new Di;return this.list.forEach((n,i)=>{let o=tt(n);t(o,i,this)&&e.push(o)}),e}find(t){let e=this.list.find((n,i)=>t(tt(n),i,this));if(e!=null)return tt(e)}findIndex(t){return this.list.findIndex((e,n)=>t(tt(e),n,this))}forEach(t){this.list.forEach((e,n)=>{t(tt(e),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return tt(t)}push(...t){for(let e of t)this.list.push(e.toString())}shift(){let t=this.list.shift();if(t!=null)return tt(t)}unshift(...t){let e=this.list.length;for(let n=t.length-1;n>-1;n--)e=this.list.unshift(t[n].toString());return e}get length(){return this.list.length}};var gu=S(Br(),1);var C0="keep-alive";var Rp=S(Sp(),1);var Ap=S(V(),1);function fa(r){if(kn(r))return{peerId:r};if(Le(r)){let t=r.getPeerId();return{multiaddr:r,peerId:t==null?void 0:tt(t)}}throw(0,Ap.default)(new Error(`${r} is not a PeerId or a Multiaddr`),b.ERR_INVALID_MULTIADDR)}var Yt=N("libp2p:connection-manager"),N2={maxConnections:1/0,minConnections:0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,inboundConnectionThreshold:5,maxIncomingPendingConnections:10},O2=6e4,pa=class extends Dt{constructor(t,e){if(super(),this.opts=Be.call({ignoreUndefined:!0},N2,e),this.opts.maxConnections<this.opts.minConnections)throw(0,ha.default)(new Error("Connection Manager maxConnections must be greater than minConnections"),b.ERR_INVALID_PARAMETERS);Yt("options: %o",this.opts),this.components=t,this.connections=new Map,this.started=!1,e.maxEventLoopDelay!=null&&e.maxEventLoopDelay>0&&e.maxEventLoopDelay!==1/0&&(this.latencyMonitor=new aa({latencyCheckIntervalMs:e.pollInterval,dataEmitIntervalMs:e.pollInterval}));try{(0,da.setMaxListeners)?.(1/0,this)}catch{}this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.startupReconnectTimeout=e.startupReconnectTimeout??O2,this.dialTimeout=e.dialTimeout??3e4,this.allow=(e.allow??[]).map(n=>j(n)),this.deny=(e.deny??[]).map(n=>j(n)),this.inboundConnectionRateLimiter=new Rp.RateLimiterMemory({points:this.opts.inboundConnectionThreshold,duration:1}),this.incomingPendingConnections=0}isStarted(){return this.started}async start(){this.components.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let t={inbound:0,outbound:0};for(let e of this.connections.values())for(let n of e)n.stat.direction==="inbound"?t.inbound++:t.outbound++;return t}}),this.components.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let t={};for(let e of this.connections.values())for(let n of e)for(let i of n.streams){let o=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;t[o]=(t[o]??0)+1}return t}}),this.components.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let t={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.stat.direction} ${s.stat.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))t[s]=t[s]??[],t[s].push(a)}let e={};for(let[n,i]of Object.entries(t)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);e[n]=i[o]}return e}}),this.latencyMonitor?.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this.latencyMonitor?.addEventListener("data",this._onLatencyMeasure),this.started=!0,Yt("started")}async afterStart(){this.components.upgrader.addEventListener("connection",this.onConnect),this.components.upgrader.addEventListener("connectionEnd",this.onDisconnect),Promise.resolve().then(async()=>{let t=[];for(let e of await this.components.peerStore.all())(await this.components.peerStore.getTags(e.id)).filter(o=>o.name===C0).length>0&&t.push(e.id);this.connectOnStartupController?.clear(),this.connectOnStartupController=new gu.TimeoutController(this.startupReconnectTimeout);try{(0,da.setMaxListeners)?.(1/0,this.connectOnStartupController.signal)}catch{}await Promise.all(t.map(async e=>{await this.openConnection(e,{signal:this.connectOnStartupController?.signal}).catch(n=>{Yt.error(n)})}))}).catch(t=>{Yt.error(t)}).finally(()=>{this.connectOnStartupController?.clear()})}async beforeStop(){this.connectOnStartupController?.abort(),this.components.upgrader.removeEventListener("connection",this.onConnect),this.components.upgrader.removeEventListener("connectionEnd",this.onDisconnect)}async stop(){this.latencyMonitor?.removeEventListener("data",this._onLatencyMeasure),this.latencyMonitor?.stop(),this.started=!1,await this._close(),Yt("stopped")}async _close(){let t=[];for(let e of this.connections.values())for(let n of e)t.push((async()=>{try{await n.close()}catch(i){Yt.error(i)}})());Yt("closing %d connections",t.length),await Promise.all(t),this.connections.clear()}onConnect(t){this._onConnect(t).catch(e=>{Yt.error(e)})}async _onConnect(t){let{detail:e}=t;if(!this.started){await e.close();return}let n=e.remotePeer,i=n.toString(),o=this.connections.get(i);o!=null?o.push(e):this.connections.set(i,[e]),n.publicKey!=null&&await this.components.peerStore.keyBook.set(n,n.publicKey);let s=this.getConnections().length,a=s-this.opts.maxConnections;await this._checkMaxLimit("maxConnections",s,a),this.dispatchEvent(new H("peer:connect",{detail:e}))}onDisconnect(t){let{detail:e}=t;if(!this.started)return;let n=e.remotePeer.toString(),i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==e.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.dispatchEvent(new H("peer:disconnect",{detail:e})))}getConnections(t){if(t!=null)return this.connections.get(t.toString())??[];let e=[];for(let n of this.connections.values())e=e.concat(n);return e}async openConnection(t,e={}){let{peerId:n,multiaddr:i}=fa(t);if(n==null&&i==null)throw(0,ha.default)(new TypeError("Can only open connections to PeerIds or Multiaddrs"),b.ERR_INVALID_PARAMETERS);if(n!=null){Yt("dial to",n);let s=this.getConnections(n);if(s.length>0)return Yt("had an existing connection to %p",n),s[0]}let o;if(e?.signal==null){o=new gu.TimeoutController(this.dialTimeout),e.signal=o.signal;try{(0,da.setMaxListeners)?.(1/0,o.signal)}catch{}}try{let s=await this.components.dialer.dial(t,e),a=this.connections.get(s.remotePeer.toString());a==null&&(a=[],this.connections.set(s.remotePeer.toString(),a));let c=!1;for(let l of a)l.id===s.id&&(c=!0);return c||a.push(s),s}finally{o?.clear()}}async closeConnections(t){let e=this.connections.get(t.toString())??[];await Promise.all(e.map(async n=>await n.close()))}getAll(t){if(!kn(t))throw(0,ha.default)(new Error("peerId must be an instance of peer-id"),b.ERR_INVALID_PARAMETERS);let e=t.toString(),n=this.connections.get(e);return n!=null?n.filter(i=>i.stat.status===ca):[]}_onLatencyMeasure(t){let{detail:e}=t;this._checkMaxLimit("maxEventLoopDelay",e.avgMs,1).catch(n=>{Yt.error(n)})}async _checkMaxLimit(t,e,n=1){let i=this.opts[t];if(i==null){Yt.trace("limit %s was not set so it cannot be applied",t);return}Yt.trace("checking limit of %s. current value: %d of %d",t,e,i),e>i&&(Yt("%s: limit exceeded: %p, %d/%d, pruning %d connection(s)",this.components.peerId,t,e,i,n),await this._pruneConnections(n))}async _pruneConnections(t){let e=this.getConnections(),n=new bo;for(let s of e){let a=s.remotePeer;if(n.has(a))continue;let c=await this.components.peerStore.getTags(a);n.set(a,c.reduce((l,u)=>l+u.value,0))}let i=e.sort((s,a)=>{let c=n.get(s.remotePeer)??0,l=n.get(a.remotePeer)??0;if(c>l)return 1;if(c<l)return-1;let u=s.stat.timeline.open,f=a.stat.timeline.open;return u<f?1:u>f?-1:0}),o=[];for(let s of i)if(Yt("too many connections open - closing a connection to %p",s.remotePeer),o.push(s),o.length===t)break;await Promise.all(o.map(async s=>{try{await s.close()}catch(a){Yt.error(a)}this.onDisconnect(new H("connectionEnd",{detail:s}))}))}async acceptIncomingConnection(t){if(this.deny.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return Yt("connection from %s refused - connection remote address was in deny list",t.remoteAddr),!1;if(this.allow.some(i=>t.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.opts.maxIncomingPendingConnections)return Yt("connection from %s refused - incomingPendingConnections exceeded by peer %s",t.remoteAddr),!1;if(t.remoteAddr.isThinWaistAddress()){let i=t.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return Yt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,t.remoteAddr),!1}}return this.getConnections().length<this.opts.maxConnections?(this.incomingPendingConnections++,!0):(Yt("connection from %s refused - maxConnections exceeded",t.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}};var wu=S(Ql(),1),nn=N("libp2p:connection-manager:auto-dialler"),k2={enabled:!0,minConnections:0,autoDialInterval:1e4},ma=class{constructor(t,e){this.components=t,this.options=Be.call({ignoreUndefined:!0},k2,e),this.running=!1,this._autoDial=this._autoDial.bind(this),nn("options: %j",this.options)}isStarted(){return this.running}async start(){if(!this.options.enabled){nn("not enabled");return}this.running=!0,this._autoDial().catch(t=>{nn.error("could start autodial",t)}),nn("started")}async stop(){if(!this.options.enabled){nn("not enabled");return}this.running=!1,this.autoDialTimeout!=null&&this.autoDialTimeout.clear(),nn("stopped")}async _autoDial(){this.autoDialTimeout!=null&&this.autoDialTimeout.clear();let t=this.options.minConnections;if(this.components.connectionManager.getConnections().length>=t){this.autoDialTimeout=(0,wu.default)(this._autoDial,this.options.autoDialInterval);return}let e=await this.components.peerStore.all();e=e.filter(n=>!(n.id.equals(this.components.peerId)||n.addresses.length===0)),e=e.sort(()=>Math.random()>.5?1:-1),e=e.sort((n,i)=>i.protocols.length>n.protocols.length||i.id.publicKey!=null&&n.id.publicKey==null?1:-1);for(let n=0;this.running&&n<e.length&&this.components.connectionManager.getConnections().length<t;n++){if(!this.running)return;let i=e[n];if(this.components.connectionManager.getConnections(i.id).length===0){nn("connecting to a peerStore stored peer %p",i.id);try{await this.components.connectionManager.openConnection(i.id)}catch(o){nn.error("could not connect to peerStore stored peer",o)}}}this.running&&(this.autoDialTimeout=(0,wu.default)(this._autoDial,this.options.autoDialInterval))}};var Mm=S(V(),1);var M2=q("dns4"),U2=q("dns6"),F2=q("dnsaddr"),Oi=ce(q("dns"),F2,M2,U2),ya=ce(q("ip4"),q("ip6")),To=ce(W(ya,q("tcp")),W(Oi,q("tcp"))),Tp=W(ya,q("udp")),K2=W(Tp,q("utp")),V2=W(Tp,q("quic")),Ao=ce(W(To,q("ws")),W(Oi,q("ws"))),Ro=ce(W(To,q("wss")),W(Oi,q("wss"))),Eu=ce(W(To,q("http")),W(ya,q("http")),W(Oi,q("http"))),xu=ce(W(To,q("https")),W(ya,q("https")),W(Oi,q("https"))),Cp=ce(W(Ao,q("p2p-webrtc-star"),q("p2p")),W(Ro,q("p2p-webrtc-star"),q("p2p")),W(Ao,q("p2p-webrtc-star")),W(Ro,q("p2p-webrtc-star"))),wD=ce(W(Ao,q("p2p-websocket-star"),q("p2p")),W(Ro,q("p2p-websocket-star"),q("p2p")),W(Ao,q("p2p-websocket-star")),W(Ro,q("p2p-websocket-star"))),Dp=ce(W(Eu,q("p2p-webrtc-direct"),q("p2p")),W(xu,q("p2p-webrtc-direct"),q("p2p")),W(Eu,q("p2p-webrtc-direct")),W(xu,q("p2p-webrtc-direct"))),Io=ce(Ao,Ro,Eu,xu,Cp,Dp,To,K2,V2,Oi),ED=ce(W(Io,q("p2p-stardust"),q("p2p")),W(Io,q("p2p-stardust"))),on=ce(W(Io,q("p2p")),Cp,Dp,q("p2p")),Ip=ce(W(on,q("p2p-circuit"),on),W(on,q("p2p-circuit")),W(q("p2p-circuit"),on),W(Io,q("p2p-circuit")),W(q("p2p-circuit"),Io),q("p2p-circuit")),Pp=()=>ce(W(Ip,Pp),Ip),Vn=Pp(),xD=ce(W(Vn,on,Vn),W(on,Vn),W(Vn,on),Vn,on);function Lp(r){function t(e){let n;try{n=j(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function W(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(i=>(n=typeof i=="function"?i().partialMatch(e):i.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:Lp(t),partialMatch:t}}function ce(...r){function t(n){let i=null;return r.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"{ "+r.join(" ")+" }"},input:r,matches:Lp(t),partialMatch:t}}function q(r){let t=r;function e(i){let o;try{o=j(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:e,partialMatch:n}}var Bu=S(Au(),1),Em=S(fm(),1),Nu=S(Lu(),1),xm=S(wm(),1),vm=S(Hn(),1);function Z2(){vm.default._configure(),Bu.default._configure(Em.default),Nu.default._configure(xm.default)}Z2();var bm=["uint64","int64","sint64","fixed64","sfixed64"];function J2(r){for(let t of bm){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function Ou(r){return J2(new Bu.default(r))}function j2(r){for(let t of bm){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function ku(){return j2(Nu.default.create())}function vt(r,t){let e=Ou(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function bt(r,t){let e=ku();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Mi;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Mi||(Mi={}));function va(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function cn(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return va("enum",Mi.VARINT,e,n)}function _t(r,t){return va("message",Mi.LENGTH_DELIMITED,r,t)}var z;(function(r){let t;(function(a){a.SUCCESS="SUCCESS",a.HOP_SRC_ADDR_TOO_LONG="HOP_SRC_ADDR_TOO_LONG",a.HOP_DST_ADDR_TOO_LONG="HOP_DST_ADDR_TOO_LONG",a.HOP_SRC_MULTIADDR_INVALID="HOP_SRC_MULTIADDR_INVALID",a.HOP_DST_MULTIADDR_INVALID="HOP_DST_MULTIADDR_INVALID",a.HOP_NO_CONN_TO_DST="HOP_NO_CONN_TO_DST",a.HOP_CANT_DIAL_DST="HOP_CANT_DIAL_DST",a.HOP_CANT_OPEN_DST_STREAM="HOP_CANT_OPEN_DST_STREAM",a.HOP_CANT_SPEAK_RELAY="HOP_CANT_SPEAK_RELAY",a.HOP_CANT_RELAY_TO_SELF="HOP_CANT_RELAY_TO_SELF",a.STOP_SRC_ADDR_TOO_LONG="STOP_SRC_ADDR_TOO_LONG",a.STOP_DST_ADDR_TOO_LONG="STOP_DST_ADDR_TOO_LONG",a.STOP_SRC_MULTIADDR_INVALID="STOP_SRC_MULTIADDR_INVALID",a.STOP_DST_MULTIADDR_INVALID="STOP_DST_MULTIADDR_INVALID",a.STOP_RELAY_REFUSED="STOP_RELAY_REFUSED",a.MALFORMED_MESSAGE="MALFORMED_MESSAGE"})(t=r.Status||(r.Status={}));let e;(function(a){a[a.SUCCESS=100]="SUCCESS",a[a.HOP_SRC_ADDR_TOO_LONG=220]="HOP_SRC_ADDR_TOO_LONG",a[a.HOP_DST_ADDR_TOO_LONG=221]="HOP_DST_ADDR_TOO_LONG",a[a.HOP_SRC_MULTIADDR_INVALID=250]="HOP_SRC_MULTIADDR_INVALID",a[a.HOP_DST_MULTIADDR_INVALID=251]="HOP_DST_MULTIADDR_INVALID",a[a.HOP_NO_CONN_TO_DST=260]="HOP_NO_CONN_TO_DST",a[a.HOP_CANT_DIAL_DST=261]="HOP_CANT_DIAL_DST",a[a.HOP_CANT_OPEN_DST_STREAM=262]="HOP_CANT_OPEN_DST_STREAM",a[a.HOP_CANT_SPEAK_RELAY=270]="HOP_CANT_SPEAK_RELAY",a[a.HOP_CANT_RELAY_TO_SELF=280]="HOP_CANT_RELAY_TO_SELF",a[a.STOP_SRC_ADDR_TOO_LONG=320]="STOP_SRC_ADDR_TOO_LONG",a[a.STOP_DST_ADDR_TOO_LONG=321]="STOP_DST_ADDR_TOO_LONG",a[a.STOP_SRC_MULTIADDR_INVALID=350]="STOP_SRC_MULTIADDR_INVALID",a[a.STOP_DST_MULTIADDR_INVALID=351]="STOP_DST_MULTIADDR_INVALID",a[a.STOP_RELAY_REFUSED=390]="STOP_RELAY_REFUSED",a[a.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE"})(e||(e={})),function(a){a.codec=()=>cn(e)}(t=r.Status||(r.Status={}));let n;(function(a){a.HOP="HOP",a.STOP="STOP",a.STATUS="STATUS",a.CAN_HOP="CAN_HOP"})(n=r.Type||(r.Type={}));let i;(function(a){a[a.HOP=1]="HOP",a[a.STOP=2]="STOP",a[a.STATUS=3]="STATUS",a[a.CAN_HOP=4]="CAN_HOP"})(i||(i={})),function(a){a.codec=()=>cn(i)}(n=r.Type||(r.Type={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=_t((l,u,f={})=>{if(f.lengthDelimited!==!1&&u.fork(),(f.writeDefaults===!0||l.id!=null&&l.id.byteLength>0)&&(u.uint32(10),u.bytes(l.id)),l.addrs!=null)for(let d of l.addrs)u.uint32(18),u.bytes(d);f.lengthDelimited!==!1&&u.ldelim()},(l,u)=>{let f={id:new Uint8Array(0),addrs:[]},d=u==null?l.len:l.pos+u;for(;l.pos<d;){let h=l.uint32();switch(h>>>3){case 1:f.id=l.bytes();break;case 2:f.addrs.push(l.bytes());break;default:l.skipType(h&7);break}}return f})),c),a.encode=l=>bt(l,a.codec()),a.decode=l=>vt(l,a.codec())})(o=r.Peer||(r.Peer={}));let s;r.codec=()=>(s==null&&(s=_t((a,c,l={})=>{l.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),r.Type.codec().encode(a.type,c)),a.srcPeer!=null&&(c.uint32(18),r.Peer.codec().encode(a.srcPeer,c,{writeDefaults:!1})),a.dstPeer!=null&&(c.uint32(26),r.Peer.codec().encode(a.dstPeer,c,{writeDefaults:!1})),a.code!=null&&(c.uint32(32),r.Status.codec().encode(a.code,c)),l.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let l={},u=c==null?a.len:a.pos+c;for(;a.pos<u;){let f=a.uint32();switch(f>>>3){case 1:l.type=r.Type.codec().decode(a);break;case 2:l.srcPeer=r.Peer.codec().decode(a,a.uint32());break;case 3:l.dstPeer=r.Peer.codec().decode(a,a.uint32());break;case 4:l.code=r.Status.codec().decode(a);break;default:a.skipType(f&7);break}}return l})),s),r.encode=a=>bt(a,r.codec()),r.decode=a=>vt(a,r.codec())})(z||(z={}));var Po=class extends Error{constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function _m(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function zn(r,t,e){let n=e??{},i=_m(r);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:u,abortCode:f}=n;throw new Po(u,f)}let l=new Promise((u,f)=>{s=()=>{let{abortMessage:d,abortCode:h}=n;f(new Po(d,h))}});c=await Promise.race([l,i.next()]),s=null}catch(l){t.removeEventListener("abort",a);let u=l.type==="aborted"&&t.aborted;if(u&&n.onAbort!=null&&await n.onAbort(r),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(u&&n.returnOnAbort===!0)return;throw l}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function tb(r,t,e){return n=>r(zn(n,t,e))}function Se(r,t,e){return{sink:tb(r.sink,t,{...e,onAbort:void 0}),source:zn(r.source,t,e)}}var eb=N("libp2p:stream:converter");function Mu(r,t={}){let{stream:e,remoteAddr:n}=r,{sink:i,source:o}=e,s=async function*(){for await(let l of o)yield*l}(),a={async sink(l){t.signal!=null&&(l=zn(l,t.signal));try{await i(l),await c()}catch(u){u.type!=="aborted"&&eb(u)}},source:t.signal!=null?zn(s,t.signal):s,remoteAddr:n,timeline:{open:Date.now(),close:void 0},async close(){await i(async function*(){yield new Uint8Array(0)}()),await c()}};async function c(){return a.timeline.close==null&&(a.timeline.close=Date.now()),await Promise.resolve()}return a}var fr="/libp2p/circuit/relay/0.1.0";function Sm(r){let t=new Map;async function e(o){let s=o.toString().split("/p2p-circuit").find(d=>d!==""),a=j(s),c=a.getPeerId();if(c==null)throw new Error("Could not determine relay peer from multiaddr");let l=tt(c);await r.peerStore.addressBook.add(l,[a]);let u=await r.connectionManager.openConnection(l),f=u.remoteAddr.encapsulate("/p2p-circuit");t.set(u.remotePeer.toString(),f),i.dispatchEvent(new H("listening"))}function n(){let o=[];for(let s of t.values())o.push(s);return o}let i=Object.assign(new Dt,{close:async()=>await Promise.resolve(),listen:e,getAddrs:n});return r.connectionManager.addEventListener("peer:disconnect",o=>{let{detail:s}=o;t.delete(s.remotePeer.toString())&&i.dispatchEvent(new H("close"))}),i}var Vu=S(V(),1);function Am(r,t){r.write({type:z.Type.STATUS,code:t})}function ba(r,t){try{r.dstPeer?.addrs!=null&&r.dstPeer.addrs.forEach(e=>j(e))}catch(e){throw Am(t,r.type===z.Type.HOP?z.Status.HOP_DST_MULTIADDR_INVALID:z.Status.STOP_DST_MULTIADDR_INVALID),e}try{r.srcPeer?.addrs!=null&&r.srcPeer.addrs.forEach(e=>j(e))}catch(e){throw Am(t,r.type===z.Type.HOP?z.Status.HOP_SRC_MULTIADDR_INVALID:z.Status.STOP_SRC_MULTIADDR_INVALID),e}}var Im=Symbol.for("@achingbrain/uint8arraylist");function Rm(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function _a(r){return Boolean(r?.[Im])}var Ut=class{constructor(...t){Object.defineProperty(this,Im,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(_a(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(_a(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=Rm(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Rm(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(_a(t))for(let n=0;n<t.length;n++)this.set(e+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,e){let{bufs:n,length:i}=this._subList(t,e);return Vt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:Vt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),o=new Ut;return o.length=i,o.bufs=n,o}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===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 l=t>=a&&t<c,u=e>a&&e<=c;if(l&&u){if(t===a&&e===c){n.push(s);break}let f=t-a;n.push(s.subarray(f,f+(e-t)));break}if(l){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(u){if(e===c){n.push(s);break}n.push(s.subarray(0,e-a));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!_a(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(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let f=e;f<=c;f+=u){u=0;for(let d=l;d>=0;d--){let h=this.get(f+d);if(n[d]!==h){u=Math.max(1,d-a[h]);break}}if(u===0)return f}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=Dr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let i=Cr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let i=Cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let i=Cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=Dr(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let i=Cr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let i=Cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let i=Cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let i=Cr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let i=Cr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ut)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Et(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new Ut;return n.bufs=t,e==null&&(e=t.reduce((i,o)=>i+o.byteLength,0)),n.length=e,n}};function Sa(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var Tm=4294967296,Ae=class{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Ae(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Ae(e,n)}toBytes(t,e=0){let n=Sa(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new Ae;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>Tm&&(i=0,++n>Tm&&(n=0))),new Ae(n,i)}static fromNumber(t){if(t===0)return new Ae;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ae(i,n)}static fromBytes(t,e=0){let n=Sa(t),i=new Ae,o=0;if(t.length-e>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(e)&127)<<o*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;o=0}else for(;o<4;++o){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<o*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(e)&127)<<o*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;o<5;++o){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<o*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var rb=Math.pow(2,7),nb=Math.pow(2,14),ib=Math.pow(2,21),ob=Math.pow(2,28),sb=Math.pow(2,35),ab=Math.pow(2,42),cb=Math.pow(2,49),lb=Math.pow(2,56),ub=Math.pow(2,63),Qe={encodingLength(r){return r<rb?1:r<nb?2:r<ib?3:r<ob?4:r<sb?5:r<ab?6:r<cb?7:r<lb?8:r<ub?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=Dr(Qe.encodingLength(r))),Ae.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return Ae.fromBytes(r,t).toNumber(!0)}};function Cm(r){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}var Aa=r=>{let t=Qe.encodingLength(r),e=Cm(t);return Qe.encode(r,e),Aa.bytes=t,e};Aa.bytes=0;function ke(r){r=r??{};let t=r.lengthEncoder??Aa;return async function*(n){for await(let i of n){let o=t(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}ke.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Aa;return new Ut(e(r.byteLength),r)};var Lo=S(V(),1),fb=8,hb=1024*1024*4,Gn;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Gn||(Gn={}));var Uu=r=>{let t=Qe.decode(r);return Uu.bytes=Qe.encodingLength(t),t};Uu.bytes=0;function Re(r){return async function*(e){let n=new Ut,i=Gn.LENGTH,o=-1,s=r?.lengthDecoder??Uu,a=r?.maxLengthLength??fb,c=r?.maxDataLength??hb;for await(let l of e)for(n.append(l);n.byteLength>0;){if(i===Gn.LENGTH)try{if(o=s(n),o<0)throw(0,Lo.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Lo.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;n.consume(u),r?.onLength!=null&&r.onLength(o),i=Gn.DATA}catch(u){if(u instanceof RangeError){if(n.byteLength>a)throw(0,Lo.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(i===Gn.DATA){if(n.byteLength<o)break;let u=n.sublist(0,o);n.consume(o),r?.onData!=null&&r.onData(u),yield u,i=Gn.LENGTH}}if(n.byteLength>0)throw(0,Lo.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}Re.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:o,value:s}=await r.next(e);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{e=1}}();return Re({...t??{},onLength:o=>{e=o}})(n)};function Fu(r){let t=async function*(){let e=yield,n=new Ut;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new Ut;continue}for(n.append(i);n.length>=e;){let o=n.sublist(0,e);if(n.consume(e),e=yield o,e==null){n.length>0&&(e=yield n,n=new Ut);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function Ku(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}function Ui(r){let t=On(),e=Fu(r.source),n=Ku(),i,o=r.sink(async function*(){yield*t,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:e,writer:t,stream:{sink:async a=>i!=null?await Promise.reject(i):(n.resolve(a),await o),source:e},rest:()=>t.end(),write:t.push,read:async()=>{let a=await e.next();if(a.value!=null)return a.value}}}var Bo=N("libp2p:circuit:stream-handler"),Ur=class{constructor(t){let{stream:e,maxLength:n=4096}=t;this.stream=e,this.shake=Ui(this.stream),this.decoder=Re.fromReader(this.shake.reader,{maxDataLength:n})}async read(){let t=await this.decoder.next();if(t.value!=null){let e=z.decode(t.value);return Bo("read message type",e.type),e}Bo("read received no value, closing stream"),this.close()}write(t){Bo("write message type %s",t.type),this.shake.write(ke.single(z.encode(t)))}rest(){return this.shake.rest(),this.shake.stream}end(t){this.write(t),this.close()}close(){Bo("closing the stream"),this.rest().sink([]).catch(t=>{Bo.error(t)})}};var No=N("libp2p:circuit:stop");function Dm(r){let{connection:t,request:e,streamHandler:n}=r;try{ba(e,n)}catch(i){No.error("invalid stop request via peer %p %o",t.remotePeer,i);return}return No("stop request is valid"),n.write({type:z.Type.STATUS,code:z.Status.SUCCESS}),n.rest()}async function Pm(r){let{connection:t,request:e,signal:n}=r,i=await t.newStream(fr,{signal:n});No("starting stop request to %p",t.remotePeer);let o=new Ur({stream:i});o.write(e);let s=await o.read();if(s==null){o.close();return}if(s.code===z.Status.SUCCESS)return No("stop request to %p was successful",t.remotePeer),o.rest();No("stop request failed with code %d",s.code),o.close()}var Me=N("libp2p:circuit:hop");async function Lm(r){let{connection:t,request:e,streamHandler:n,circuit:i,connectionManager:o}=r;if(!i.hopEnabled())return Me("HOP request received but we are not acting as a relay"),n.end({type:z.Type.STATUS,code:z.Status.HOP_CANT_SPEAK_RELAY});try{ba(e,n)}catch(f){Me.error("invalid hop request via peer %p %o",t.remotePeer,f);return}if(e.dstPeer==null){Me("HOP request received but we do not receive a dstPeer");return}let s=en(e.dstPeer.id),a=o.getConnections(s);if(a.length===0&&!i.hopActive())return Me("HOP request received but we are not connected to the destination peer"),n.end({type:z.Type.STATUS,code:z.Status.HOP_NO_CONN_TO_DST});if(a.length===0)return Me("did not have connection to remote peer"),n.end({type:z.Type.STATUS,code:z.Status.HOP_NO_CONN_TO_DST});let c={type:z.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},l;try{Me("performing STOP request");let f=await Pm({connection:a[0],request:c});if(f==null)throw new Error("Could not stop");l=f}catch(f){Me.error(f);return}Me("hop request from %p is valid",t.remotePeer),n.write({type:z.Type.STATUS,code:z.Status.SUCCESS});let u=n.rest();return Me("creating related connections"),await Pt(u,l,u)}async function Bm(r){let{connection:t,request:e,signal:n}=r,i=await t.newStream(fr,{signal:n}),o=new Ur({stream:i});o.write(e);let s=await o.read();if(s==null)throw(0,Vu.default)(new Error("HOP request had no response"),b.ERR_HOP_REQUEST_FAILED);if(s.code===z.Status.SUCCESS)return Me("hop request was successful"),o.rest();throw Me("hop request failed with code %d, closing stream",s.code),o.close(),(0,Vu.default)(new Error(`HOP request failed with code "${s.code??"unknown"}"`),b.ERR_HOP_REQUEST_FAILED)}async function Nm(r){let{connection:t,signal:e}=r,n=await t.newStream(fr,{signal:e}),i=new Ur({stream:n});i.write({type:z.Type.CAN_HOP});let o=await i.read();return await i.close(),!(o==null||o.code!==z.Status.SUCCESS)}function Om(r){let{connection:t,streamHandler:e,circuit:n}=r,i=n.hopEnabled();Me("can hop (%s) request from %p",i,t.remotePeer),e.end({type:z.Type.STATUS,code:i?z.Status.SUCCESS:z.Status.HOP_CANT_SPEAK_RELAY})}var km=Symbol.for("@libp2p/transport");var ln;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(ln||(ln={}));var Um=S(Br(),1),Fm=S(cr(),1),Ue=N("libp2p:circuit"),Ia=class{constructor(t,e){this._init=e,this.components=t,this._started=!1}isStarted(){return this._started}async start(){this._started||(this._started=!0,await this.components.registrar.handle(fr,t=>{this._onProtocol(t).catch(e=>{Ue.error(e)})},{...this._init}).catch(t=>{Ue.error(t)}))}async stop(){await this.components.registrar.unhandle(fr)}hopEnabled(){return!0}hopActive(){return!0}get[km](){return!0}get[Symbol.toStringTag](){return"libp2p/circuit-relay-v1"}async _onProtocol(t){let{connection:e,stream:n}=t,i=new Um.TimeoutController(this._init.hop.timeout);try{(0,Fm.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=Se(n,i.signal),s=new Ur({stream:{...n,...o}}),a=await s.read();if(a==null){Ue("request was invalid, could not read from stream"),s.write({type:z.Type.STATUS,code:z.Status.MALFORMED_MESSAGE}),s.close();return}let c;switch(a.type){case z.Type.CAN_HOP:{Ue("received CAN_HOP request from %p",e.remotePeer),await Om({circuit:this,connection:e,streamHandler:s});break}case z.Type.HOP:{Ue("received HOP request from %p",e.remotePeer),await Lm({connection:e,request:a,streamHandler:s,circuit:this,connectionManager:this.components.connectionManager});break}case z.Type.STOP:{Ue("received STOP request from %p",e.remotePeer),c=await Dm({connection:e,request:a,streamHandler:s});break}default:{Ue("Request of type %s not supported",a.type),s.write({type:z.Type.STATUS,code:z.Status.MALFORMED_MESSAGE}),s.close();return}}if(c!=null){let l=e.remoteAddr.encapsulate("/p2p-circuit").encapsulate(j(a.dstPeer?.addrs[0])),u=j(a.srcPeer?.addrs[0]),f=Mu({stream:c,remoteAddr:l,localAddr:u}),d=a.type===z.Type.HOP?"relay":"inbound";Ue("new %s connection %s",d,f.remoteAddr);let h=await this.components.upgrader.upgradeInbound(f);Ue("%s connection %s upgraded",d,f.remoteAddr),this.handler!=null&&this.handler(h)}}finally{i.clear()}}async dial(t,e={}){let n=t.toString().split("/p2p-circuit"),i=j(n[0]),o=j(n[n.length-1]),s=i.getPeerId(),a=o.getPeerId();if(s==null||a==null){let h="Circuit relay dial failed as addresses did not have peer id";throw Ue.error(h),(0,Mm.default)(new Error(h),b.ERR_RELAYED_DIAL)}let c=tt(s),l=tt(a),u=!1,d=this.components.connectionManager.getConnections(c)[0];d==null&&(await this.components.peerStore.addressBook.add(c,[i]),d=await this.components.connectionManager.openConnection(c,e),u=!0);try{let h=await Bm({...e,connection:d,request:{type:z.Type.HOP,srcPeer:{id:this.components.peerId.toBytes(),addrs:this.components.addressManager.getAddresses().map(y=>y.bytes)},dstPeer:{id:l.toBytes(),addrs:[j(o).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`),m=Mu({stream:h,remoteAddr:t,localAddr:p});return Ue("new outbound connection %s",m.remoteAddr),await this.components.upgrader.upgradeOutbound(m)}catch(h){throw Ue.error("Circuit relay dial failed",h),u&&await d.close(),h}}createListener(t){return this.handler=t.handler,Sm({connectionManager:this.components.connectionManager,peerStore:this.components.peerStore})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>Vn.matches(e))}};var Oa=S(Zl(),1);async function Ta(r){let t=new TextEncoder().encode(r),e=await jt.digest(t);return dt.createV0(e)}var qu="hop_relay",Hu="true",Ca="/libp2p/relay";async function*$u(r,t){yield*(await Pr(r)).sort(t)}var Gm=S(Km(),1);var Vm="[a-fA-F\\d:]",un=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${Vm})|(?<=${Vm})(?=\\s|$))`:"",Xe="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Wt="[a-fA-F\\d]{1,4}",Da=`
|
|
38
38
|
(?:
|
|
39
39
|
(?:${Wt}:){7}(?:${Wt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
-
(?:${Wt}:){6}(?:${
|
|
41
|
-
(?:${Wt}:){5}(?::${
|
|
42
|
-
(?:${Wt}:){4}(?:(?::${Wt}){0,1}:${
|
|
43
|
-
(?:${Wt}:){3}(?:(?::${Wt}){0,2}:${
|
|
44
|
-
(?:${Wt}:){2}(?:(?::${Wt}){0,3}:${
|
|
45
|
-
(?:${Wt}:){1}(?:(?::${Wt}){0,4}:${
|
|
46
|
-
(?::(?:(?::${Wt}){0,5}:${
|
|
40
|
+
(?:${Wt}:){6}(?:${Xe}|:${Wt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
41
|
+
(?:${Wt}:){5}(?::${Xe}|(?::${Wt}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
42
|
+
(?:${Wt}:){4}(?:(?::${Wt}){0,1}:${Xe}|(?::${Wt}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
43
|
+
(?:${Wt}:){3}(?:(?::${Wt}){0,2}:${Xe}|(?::${Wt}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
44
|
+
(?:${Wt}:){2}(?:(?::${Wt}){0,3}:${Xe}|(?::${Wt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
45
|
+
(?:${Wt}:){1}(?:(?::${Wt}){0,4}:${Xe}|(?::${Wt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${Wt}){0,5}:${Xe}|(?::${Wt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
47
47
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
48
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),pb=new RegExp(`(?:^${Ze}$)|(?:^${Pa}$)`),mb=new RegExp(`^${Ze}$`),yb=new RegExp(`^${Pa}$`),zu=r=>r&&r.exact?pb:new RegExp(`(?:${un(r)}${Ze}${un(r)})|(?:${un(r)}${Pa}${un(r)})`,"g");zu.v4=r=>r&&r.exact?mb:new RegExp(`${un(r)}${Ze}${un(r)}`,"g");zu.v6=r=>r&&r.exact?yb:new RegExp(`${un(r)}${Pa}${un(r)}`,"g");var qm=zu;var Ym=S($m(),1),{isValid:gb,parse:wb}=Ym.default,Eb=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],xb=Eb.map(r=>new Gm.Netmask(r));function vb(r){for(let t of xb)if(t.contains(r))return!0;return!1}function zm(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var Wm=r=>{if(gb(r)){let t=wb(r);if(t.kind()==="ipv4")return vb(t.toNormalizedString());if(t.kind()==="ipv6")return zm(r)}else if(wi(r)&&qm.v6().test(r))return zm(r)};var Ba=Wm;function Gu(r){let{address:t}=r.nodeAddress();return Boolean(Ba(t))}function Ui(r,t){let e=Gu(r.multiaddr),n=Gu(t.multiaddr);return e&&!n?1:!e&&n||r.isCertified&&!t.isCertified?-1:!r.isCertified&&t.isCertified?1:0}var Mo=N("libp2p:auto-relay"),_b=()=>{},Na=class{constructor(t,e){this.components=t,this.addressSorter=e.addressSorter??Ui,this.maxListeners=e.maxListeners??1,this.listenRelays=new Set,this.onError=e.onError??_b,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this.components.peerStore.addEventListener("change:protocols",n=>{this._onProtocolChange(n).catch(i=>{Mo.error(i)})}),this.components.connectionManager.addEventListener("peer:disconnect",this._onPeerDisconnected)}async _onProtocolChange(t){let{peerId:e,protocols:n}=t.detail,i=e.toString();if(n.find(s=>s===hr)==null){this.listenRelays.has(i)&&await this._removeListenRelay(i);return}if(!this.listenRelays.has(i))try{let s=this.components.connectionManager.getConnections(e);if(s.length===0)return;let a=s[0];if(a.remoteAddr.protoCodes().includes(290)){Mo(`relayed connection to ${i} will not be used to hop on`);return}await Nm({connection:a})&&(await this.components.peerStore.metadataBook.setValue(e,Hu,U($u)),await this._addListenRelay(a,i))}catch(s){this.onError(s)}}_onPeerDisconnected(t){let i=t.detail.remotePeer.toString();this.listenRelays.has(i)&&this._removeListenRelay(i).catch(o=>{Mo.error(o)})}async _addListenRelay(t,e){try{if(this.listenRelays.size>=this.maxListeners)return;let n=await vt(await this.components.peerStore.addressBook.get(t.remotePeer),o=>Ao(o,this.addressSorter),async o=>await Ge(o));(await Promise.all(n.map(async o=>{try{let s=o.multiaddr;return s.getPeerId()==null&&(s=s.encapsulate(`/p2p/${t.remotePeer.toString()}`)),s=s.encapsulate("/p2p-circuit"),await this.components.transportManager.listen([s]),!0}catch(s){Mo.error("error listening on circuit address",s),this.onError(s)}return!1}))).includes(!0)&&this.listenRelays.add(e)}catch(n){this.onError(n),this.listenRelays.delete(e)}}async _removeListenRelay(t){this.listenRelays.delete(t)&&await this._listenOnAvailableHopRelays([t])}async _listenOnAvailableHopRelays(t=[]){if(this.listenRelays.size>=this.maxListeners)return;let e=[],n=await this.components.peerStore.all();for(let{id:i,metadata:o}of n){let s=i.toString();if(this.listenRelays.has(s)||t.includes(s))continue;let a=o.get(Hu);if(a==null||$(a)!==$u)continue;let c=this.components.connectionManager.getConnections(i);if(c.length===0){e.push(i);continue}if(await this._addListenRelay(c[0],s),this.listenRelays.size>=this.maxListeners)return}for(let i of e)if(await this._tryToListenOnRelay(i),this.listenRelays.size>=this.maxListeners)return;try{let i=await Ca(Da);for await(let o of this.components.contentRouting.findProviders(i)){if(o.multiaddrs.length===0)continue;let s=o.id;if(!s.equals(this.components.peerId)&&(await this.components.peerStore.addressBook.add(s,o.multiaddrs),await this._tryToListenOnRelay(s),this.listenRelays.size>=this.maxListeners))return}}catch(i){this.onError(i)}}async _tryToListenOnRelay(t){try{let e=await this.components.connectionManager.openConnection(t);await this._addListenRelay(e,t.toString())}catch(e){Mo.error("Could not use %p as relay",t,e),this.onError(e,`could not connect and listen on known hop relay ${t.toString()}`)}}};var Qm=N("libp2p:relay"),Oa=class{constructor(t,e){this.components=t,this.autoRelay=e.autoRelay?.enabled!==!1?new Na(t,{addressSorter:e.addressSorter,...e.autoRelay}):void 0,this.started=!1,this.init=e,this._advertiseService=this._advertiseService.bind(this)}isStarted(){return this.started}async start(){this.init.hop.enabled!==!1&&this.init.advertise.enabled!==!1&&(this.timeout=(0,ka.setDelayedInterval)(this._advertiseService,this.init.advertise.ttl,this.init.advertise.bootDelay)),this.started=!0}async stop(){this.timeout!=null&&(0,ka.clearDelayedInterval)(this.timeout),this.started=!1}async _advertiseService(){try{let t=await Ca(Da);await this.components.contentRouting.provide(t)}catch(t){t.code===b.ERR_NO_ROUTERS_AVAILABLE?(Qm.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),await this.stop()):Qm.error(t)}}};var Dw=S(iy(),1);var ut=S(V(),1);var nt;(function(r){r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(nt||(nt={}));var Lt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Lt||(Lt={}));var Yu;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Yu||(Yu={}));(function(r){r.codec=()=>cn(Yu)})(Lt||(Lt={}));var dr;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Lt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.Type=Lt.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(dr||(dr={}));var pr;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Lt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.Type=Lt.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(pr||(pr={}));var GB=S(Vo(),1),YB=S(Eg(),1),mc=S(mt(),1),qf=S(V(),1);var sA=S(V(),1);var ge={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var aA=S(V(),1);var H8=S($t(),1),$8=S(Ja(),1),vg=S(mt(),1);function tr(r,t){let e=Uint8Array.from(r.abs().toByteArray());if(e=e[0]===0?e.subarray(1):e,t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Vt([new Uint8Array(t-e.length),e])}return $(e,"base64url")}function Ie(r){let t=bg(r);return new vg.default.jsbn.BigInteger($(t,"base16"),16)}function bg(r,t){let e=U(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Vt([new Uint8Array(t-e.length),e])}return e}var cA={"P-256":256,"P-384":384,"P-521":521},lA=Object.keys(cA),tB=lA.join(" / ");function rc(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,i=r?.digest??"SHA-256",o=r?.saltLength??16,s=r?.iterations??32767,a=ge.get();e*=8;async function c(f,d){let h=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof d=="string"&&(d=U(d));let y={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},g=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:e},!0,["encrypt"]),_=await a.subtle.encrypt(m,E,f);return Vt([h,m.iv,new Uint8Array(_)])}async function l(f,d){let h=f.subarray(0,o),p=f.subarray(o,o+n),m=f.subarray(o+n),y={name:t,iv:p};typeof d=="string"&&(d=U(d));let g={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),_=await a.subtle.deriveKey(g,E,{name:t,length:e},!0,["decrypt"]),k=await a.subtle.decrypt(y,_,m);return new Uint8Array(k)}return{encrypt:c,decrypt:l}}async function Sg(r,t){let e=Cn.decode(r);return await rc().decrypt(e,t)}var Cf={};ae(Cf,{RsaPrivateKey:()=>Xi,RsaPublicKey:()=>Xo,fromJwk:()=>NA,generateKeyPair:()=>OA,unmarshalRsaPrivateKey:()=>LA,unmarshalRsaPublicKey:()=>BA});var Tf=S(V(),1);var PB=S(Cg(),1),Qo=S(mt(),1);var fA=S(Fn(),1);var ot=BigInt(0),Ct=BigInt(1),yn=BigInt(2),Go=BigInt(3),Dg=BigInt(8),Ft=Object.freeze({a:ot,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Ct,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Pg=(r,t)=>(r+t/yn)/t,nc={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(r){let{n:t}=Ft,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Ct*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=e,s=BigInt("0x100000000000000000000000000000000"),a=Pg(o*r,t),c=Pg(-n*r,t),l=B(r-a*e-c*i,t),u=B(-a*n-c*o,t),f=l>s,d=u>s;if(f&&(l=t-l),d&&(u=t-u),l>s||u>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+r);return{k1neg:f,k1:l,k2neg:d,k2:u}}},er=32,zi=32,hA=32,Lg=er+1,Bg=2*er+1;function Ng(r){let{a:t,b:e}=Ft,n=B(r*r),i=B(n*r);return B(i+t*r+e)}var ic=Ft.a===ot,ac=class extends Error{constructor(t){super(t)}};function Og(r){if(!(r instanceof lt))throw new TypeError("JacobianPoint expected")}var lt=class{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof ft))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ft.ZERO)?lt.ZERO:new lt(t.x,t.y,Ct)}static toAffineBatch(t){let e=gA(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return lt.toAffineBatch(t).map(lt.fromAffine)}equals(t){Og(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=B(i*i),l=B(a*a),u=B(e*l),f=B(o*c),d=B(B(n*a)*l),h=B(B(s*i)*c);return u===f&&d===h}negate(){return new lt(this.x,B(-this.y),this.z)}double(){let{x:t,y:e,z:n}=this,i=B(t*t),o=B(e*e),s=B(o*o),a=t+o,c=B(yn*(B(a*a)-i-s)),l=B(Go*i),u=B(l*l),f=B(u-yn*c),d=B(l*(c-f)-Dg*s),h=B(yn*e*n);return new lt(f,d,h)}add(t){Og(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===ot||s===ot)return this;if(e===ot||n===ot)return t;let c=B(i*i),l=B(a*a),u=B(e*l),f=B(o*c),d=B(B(n*a)*l),h=B(B(s*i)*c),p=B(f-u),m=B(h-d);if(p===ot)return m===ot?this.double():lt.ZERO;let y=B(p*p),g=B(p*y),E=B(u*y),_=B(m*m-g-yn*E),k=B(m*(E-_)-d*g),C=B(i*a*p);return new lt(_,k,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let e=lt.ZERO;if(typeof t=="bigint"&&t===ot)return e;let n=Ug(t);if(n===Ct)return this;if(!ic){let f=e,d=this;for(;n>ot;)n&Ct&&(f=f.add(d)),d=d.double(),n>>=Ct;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=nc.splitScalar(n),c=e,l=e,u=this;for(;o>ot||a>ot;)o&Ct&&(c=c.add(u)),a&Ct&&(l=l.add(u)),u=u.double(),o>>=Ct,a>>=Ct;return i&&(c=c.negate()),s&&(l=l.negate()),l=new lt(B(l.x*nc.beta),l.y,l.z),c.add(l)}precomputeWindow(t){let e=ic?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<e;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,e){!e&&this.equals(lt.BASE)&&(e=ft.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&xf.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=lt.normalizeZ(i),xf.set(e,i)));let o=lt.ZERO,s=lt.BASE,a=1+(ic?128/n:256/n),c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=Ct);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(oc(g,i[m])):o=o.add(oc(E,i[y]))}return{p:o,f:s}}multiply(t,e){let n=Ug(t),i,o;if(ic){let{k1neg:s,k1:a,k2neg:c,k2:l}=nc.splitScalar(n),{p:u,f}=this.wNAF(a,e),{p:d,f:h}=this.wNAF(l,e);u=oc(s,u),d=oc(c,d),d=new lt(B(d.x*nc.beta),d.y,d.z),i=u.add(d),o=f.add(h)}else{let{p:s,f:a}=this.wNAF(n,e);i=s,o=a}return lt.normalizeZ([i,o])[0]}toAffine(t){let{x:e,y:n,z:i}=this,o=this.equals(lt.ZERO);t==null&&(t=o?Dg:Wi(i));let s=t,a=B(s*s),c=B(a*s),l=B(e*a),u=B(n*c),f=B(i*s);if(o)return ft.ZERO;if(f!==Ct)throw new Error("invZ was invalid");return new ft(l,u)}};lt.BASE=new lt(Ft.Gx,Ft.Gy,Ct);lt.ZERO=new lt(ot,Ct,ot);function oc(r,t){let e=t.negate();return r?e:t}var xf=new WeakMap,ft=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,xf.delete(this)}hasEvenY(){return this.y%yn===ot}static fromCompressedHex(t){let e=t.length===32,n=gn(e?t:t.subarray(1));if(!Ef(n))throw new Error("Point is not on curve");let i=Ng(n),o=yA(i),s=(o&Ct)===Ct;e?s&&(o=B(-o)):(t[0]&1)===1!==s&&(o=B(-o));let a=new ft(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let e=gn(t.subarray(1,er+1)),n=gn(t.subarray(er+1,er*2+1)),i=new ft(e,n);return i.assertValidity(),i}static fromHex(t){let e=Yi(t),n=e.length,i=e[0];if(n===er)return this.fromCompressedHex(e);if(n===Lg&&(i===2||i===3))return this.fromCompressedHex(e);if(n===Bg&&i===4)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Lg} compressed bytes or ${Bg} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ft.BASE.multiply(lc(t))}static fromSignature(t,e,n){let{r:i,s:o}=Fg(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=_f(Yi(t)),{n:a}=Ft,c=n===2||n===3?i+a:i,l=Wi(c,a),u=B(-s*l,a),f=B(o*l,a),d=n&1?"03":"02",h=ft.fromHex(d+Hi(c)),p=ft.BASE.multiplyAndAddUnsafe(h,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return Jn(this.toHex(t))}toHex(t=!1){let e=Hi(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${Hi(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:e,y:n}=this;if(!Ef(e)||!Ef(n))throw new Error(t);let i=B(n*n),o=Ng(e);if(B(i-o)!==ot)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ft(this.x,B(-this.y))}double(){return lt.fromAffine(this).double().toAffine()}add(t){return lt.fromAffine(this).add(lt.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return lt.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){let i=lt.fromAffine(this),o=e===ot||e===Ct||this!==ft.BASE?i.multiplyUnsafe(e):i.multiply(e),s=lt.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(lt.ZERO)?void 0:a.toAffine()}};ft.BASE=new ft(Ft.Gx,Ft.Gy);ft.ZERO=new ft(ot,ot);function kg(r){return Number.parseInt(r[0],16)>=8?"00"+r:r}function Mg(r){if(r.length<2||r[0]!==2)throw new Error(`Invalid signature integer tag: ${Gi(r)}`);let t=r[1],e=r.subarray(2,t+2);if(!t||e.length!==t)throw new Error("Invalid signature integer: wrong length");if(e[0]===0&&e[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:gn(e),left:r.subarray(t+2)}}function dA(r){if(r.length<2||r[0]!=48)throw new Error(`Invalid signature tag: ${Gi(r)}`);if(r[1]!==r.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:e}=Mg(r.subarray(2)),{data:n,left:i}=Mg(e);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Gi(i)}`);return{r:t,s:n}}var vr=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){let e=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=e?Gi(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new vr(cc(i.slice(0,64)),cc(i.slice(64,128)))}static fromDER(t){let e=t instanceof Uint8Array;if(typeof t!="string"&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=dA(e?t:Jn(t));return new vr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:e}=this;if(!Wo(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Wo(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Ft.n>>Ct;return this.s>t}normalizeS(){return this.hasHighS()?new vr(this.r,B(-this.s,Ft.n)):this}toDERRawBytes(){return Jn(this.toDERHex())}toDERHex(){let t=kg(zo(this.s)),e=kg(zo(this.r)),n=t.length/2,i=e.length/2,o=zo(n),s=zo(i);return`30${zo(i+n+4)}02${s}${e}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Jn(this.toCompactHex())}toCompactHex(){return Hi(this.r)+Hi(this.s)}};function mn(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let o=r[n];e.set(o,i),i+=o.length}return e}var pA=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Gi(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let e=0;e<r.length;e++)t+=pA[r[e]];return t}var mA=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Hi(r){if(typeof r!="bigint")throw new Error("Expected bigint");if(!(ot<=r&&r<mA))throw new Error("Expected number 0 <= n < 2^256");return r.toString(16).padStart(64,"0")}function vf(r){let t=Jn(Hi(r));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function zo(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function cc(r){if(typeof r!="string")throw new TypeError("hexToNumber: expected string, got "+typeof r);return BigInt(`0x${r}`)}function Jn(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+r.length);let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[e]=o}return t}function gn(r){return cc(Gi(r))}function Yi(r){return r instanceof Uint8Array?Uint8Array.from(r):Jn(r)}function Ug(r){if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)return BigInt(r);if(typeof r=="bigint"&&Wo(r))return r;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function B(r,t=Ft.P){let e=r%t;return e>=ot?e:t+e}function Ve(r,t){let{P:e}=Ft,n=r;for(;t-- >ot;)n*=n,n%=e;return n}function yA(r){let{P:t}=Ft,e=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=r*r*r%t,l=c*c*r%t,u=Ve(l,Go)*l%t,f=Ve(u,Go)*l%t,d=Ve(f,yn)*c%t,h=Ve(d,n)*d%t,p=Ve(h,i)*h%t,m=Ve(p,s)*p%t,y=Ve(m,a)*m%t,g=Ve(y,s)*p%t,E=Ve(g,Go)*l%t,_=Ve(E,o)*h%t,k=Ve(_,e)*c%t,C=Ve(k,yn);if(C*C%t!==r)throw new Error("Cannot find square root");return C}function Wi(r,t=Ft.P){if(r===ot||t<=ot)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=B(r,t),n=t,i=ot,o=Ct,s=Ct,a=ot;for(;e!==ot;){let l=n/e,u=n%e,f=i-s*l,d=o-a*l;n=e,e=u,i=s,o=a,s=f,a=d}if(n!==Ct)throw new Error("invert: does not exist");return B(i,t)}function gA(r,t=Ft.P){let e=new Array(r.length),n=r.reduce((o,s,a)=>s===ot?o:(e[a]=o,B(o*s,t)),Ct),i=Wi(n,t);return r.reduceRight((o,s,a)=>s===ot?o:(e[a]=B(o*e[a],t),B(o*s,t)),i),e}function wA(r){let t=r.length*8-zi*8,e=gn(r);return t>0?e>>BigInt(t):e}function _f(r,t=!1){let e=wA(r);if(t)return e;let{n}=Ft;return e>=n?e-n:e}var $i,Yo,bf=class{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return rr.hmacSha256(this.k,...t)}hmacSync(...t){return Yo(this.k,...t)}checkSync(){if(typeof Yo!="function")throw new ac("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return mn(...e)}generateSync(){this.checkSync(),this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return mn(...e)}};function Wo(r){return ot<r&&r<Ft.n}function Ef(r){return ot<r&&r<Ft.P}function EA(r,t,e,n=!0){let{n:i}=Ft,o=_f(r,!0);if(!Wo(o))return;let s=Wi(o,i),a=ft.BASE.multiply(o),c=B(a.x,i);if(c===ot)return;let l=B(s*B(t+e*c,i),i);if(l===ot)return;let u=new vr(c,l),f=(a.x===u.r?0:2)|Number(a.y&Ct);return n&&u.hasHighS()&&(u=u.normalizeS(),f^=1),{sig:u,recovery:f}}function lc(r){let t;if(typeof r=="bigint")t=r;else if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)t=BigInt(r);else if(typeof r=="string"){if(r.length!==2*zi)throw new Error("Expected 32 bytes of private key");t=cc(r)}else if(r instanceof Uint8Array){if(r.length!==zi)throw new Error("Expected 32 bytes of private key");t=gn(r)}else throw new TypeError("Expected valid private key");if(!Wo(t))throw new Error("Expected private key: 0 < key < n");return t}function xA(r){return r instanceof ft?(r.assertValidity(),r):ft.fromHex(r)}function Fg(r){if(r instanceof vr)return r.assertValidity(),r;try{return vr.fromDER(r)}catch{return vr.fromCompact(r)}}function Sf(r,t=!1){return ft.fromPrivateKey(r).toRawBytes(t)}function Kg(r){let t=r.length>er?r.slice(0,er):r;return gn(t)}function vA(r){let t=Kg(r),e=B(t,Ft.n);return Vg(e<ot?t:e)}function Vg(r){return vf(r)}function bA(r,t,e){if(r==null)throw new Error(`sign: expected valid message hash, not "${r}"`);let n=Yi(r),i=lc(t),o=[Vg(i),vA(n)];if(e!=null){e===!0&&(e=rr.randomBytes(er));let c=Yi(e);if(c.length!==er)throw new Error(`sign: Expected ${er} bytes of extra data`);o.push(c)}let s=mn(...o),a=Kg(n);return{seed:s,m:a,d:i}}function _A(r,t){let{sig:e,recovery:n}=r,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?e.toDERRawBytes():e.toCompactRawBytes();return o?[s,n]:s}async function qg(r,t,e={}){let{seed:n,m:i,d:o}=bA(r,t,e.extraEntropy),s=new bf(hA,zi);await s.reseed(n);let a;for(;!(a=EA(await s.generate(),i,o,e.canonical));)await s.reseed();return _A(a,e)}var SA={strict:!0};function Hg(r,t,e,n=SA){let i;try{i=Fg(r),t=Yi(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=_f(t),c;try{c=xA(e)}catch{return!1}let{n:l}=Ft,u=Wi(s,l),f=B(a*u,l),d=B(o*u,l),h=ft.BASE.multiplyAndAddUnsafe(c,f,d);return h?B(h.x,l)===o:!1}ft.BASE._setWindowSize(8);var Te={node:fA,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var sc={},rr={bytesToHex:Gi,hexToBytes:Jn,concatBytes:mn,mod:B,invert:Wi,isValidPrivateKey(r){try{return lc(r),!0}catch{return!1}},_bigintTo32Bytes:vf,_normalizePrivateKey:lc,hashToPrivateKey:r=>{r=Yi(r);let t=zi+8;if(r.length<t||r.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let e=B(gn(r),Ft.n-Ct)+Ct;return vf(e)},randomBytes:(r=32)=>{if(Te.web)return Te.web.getRandomValues(new Uint8Array(r));if(Te.node){let{randomBytes:t}=Te.node;return Uint8Array.from(t(r))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>rr.hashToPrivateKey(rr.randomBytes(zi+8)),precompute(r=8,t=ft.BASE){let e=t===ft.BASE?t:new ft(t.x,t.y);return e._setWindowSize(r),e.multiply(Go),e},sha256:async(...r)=>{if(Te.web){let t=await Te.web.subtle.digest("SHA-256",mn(...r));return new Uint8Array(t)}else if(Te.node){let{createHash:t}=Te.node,e=t("sha256");return r.forEach(n=>e.update(n)),Uint8Array.from(e.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(r,...t)=>{if(Te.web){let e=await Te.web.subtle.importKey("raw",r,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=mn(...t),i=await Te.web.subtle.sign("HMAC",e,n);return new Uint8Array(i)}else if(Te.node){let{createHmac:e}=Te.node,n=e("sha256",r);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(r,...t)=>{let e=sc[r];if(e===void 0){let n=await rr.sha256(Uint8Array.from(r,i=>i.charCodeAt(0)));e=mn(n,n),sc[r]=e}return rr.sha256(e,...t)},taggedHashSync:(r,...t)=>{if(typeof $i!="function")throw new ac("sha256Sync is undefined, you need to set it");let e=sc[r];if(e===void 0){let n=$i(Uint8Array.from(r,i=>i.charCodeAt(0)));e=mn(n,n),sc[r]=e}return $i(e,...t)},_JacobianPoint:lt};Object.defineProperties(rr,{sha256Sync:{configurable:!1,get(){return $i},set(r){$i||($i=r)}},hmacSha256Sync:{configurable:!1,get(){return Yo},set(r){Yo||(Yo=r)}}});var $g=S(V(),1);function qr(r){if(isNaN(r)||r<=0)throw(0,$g.default)(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return rr.randomBytes(r)}var jn={};ae(jn,{jwkToPkcs1:()=>IA,jwkToPkix:()=>CA,pkcs1ToJwk:()=>RA,pkixToJwk:()=>TA});var dB=S(Vo(),1),pB=S(ec(),1),Hr=S(mt(),1);var Af=S(V(),1);function RA(r){let t=Hr.default.asn1.fromDer($(r,"ascii")),e=Hr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:tr(e.n),e:tr(e.e),d:tr(e.d),p:tr(e.p),q:tr(e.q),dp:tr(e.dP),dq:tr(e.dQ),qi:tr(e.qInv),alg:"RS256"}}function IA(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw(0,Af.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=Hr.default.pki.privateKeyToAsn1({n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dP:Ie(r.dp),dQ:Ie(r.dq),qInv:Ie(r.qi)});return U(Hr.default.asn1.toDer(t).getBytes(),"ascii")}function TA(r){let t=Hr.default.asn1.fromDer($(r,"ascii")),e=Hr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:tr(e.n),e:tr(e.e)}}function CA(r){if(r.n==null||r.e==null)throw(0,Af.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=Hr.default.pki.publicKeyToAsn1({n:Ie(r.n),e:Ie(r.e)});return U(Hr.default.asn1.toDer(t).getBytes(),"ascii")}var wB=S(ec(),1),Rf=S(mt(),1);function zg(r,t){return t.map(e=>Ie(r[e]))}function Gg(r){return Rf.default.pki.setRsaPrivateKey(...zg(r,["n","e","d","p","q","dp","dq","qi"]))}function Yg(r){return Rf.default.pki.setRsaPublicKey(...zg(r,["n","e"]))}var Wg=S(V(),1);async function Qg(r){let t=await ge.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Jg(t);return{privateKey:e[0],publicKey:e[1]}}async function If(r){let e=[await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await DA(r)],n=await Jg({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Xg(r,t){let e=await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ge.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Zg(r,t,e){let n=await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await ge.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e)}async function Jg(r){if(r.privateKey==null||r.publicKey==null)throw(0,Wg.default)(new Error("Private and public key are required"),"ERR_INVALID_PARAMETERS");return await Promise.all([ge.get().subtle.exportKey("jwk",r.privateKey),ge.get().subtle.exportKey("jwk",r.publicKey)])}async function DA(r){return await ge.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function jg(r,t,e,n){let i=t?Yg(r):Gg(r),o=$(Uint8Array.from(e),"ascii"),s=n(o,i);return U(s,"ascii")}function tw(r,t){return jg(r,!0,t,(e,n)=>n.encrypt(e))}function ew(r,t){return jg(r,!1,t,(e,n)=>n.decrypt(e))}async function Qi(r,t){let n=await rc().encrypt(r,t);return Cn.encode(n)}var Xo=class{constructor(t){this._key=t}async verify(t,e){return await Zg(this._key,e,t)}marshal(){return jn.jwkToPkix(this._key)}get bytes(){return dr.encode({Type:Lt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return tw(this._key,t)}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},Xi=class{constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return qr(16)}async sign(t){return await Xg(this._key,t)}get public(){if(this._publicKey==null)throw(0,Tf.default)(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Xo(this._publicKey)}decrypt(t){return ew(this._key,t)}marshal(){return jn.jwkToPkcs1(this._key)}get bytes(){return pr.encode({Type:Lt.RSA,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return $(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8"){let n=new Qo.default.util.ByteBuffer(this.marshal()),i=Qo.default.asn1.fromDer(n),o=Qo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Qo.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(e==="libp2p-key")return await Qi(this.bytes,t);throw(0,Tf.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function LA(r){let t=jn.pkcs1ToJwk(r),e=await If(t);return new Xi(e.privateKey,e.publicKey)}function BA(r){let t=jn.pkixToJwk(r);return new Xo(t)}async function NA(r){let t=await If(r);return new Xi(t.privateKey,t.publicKey)}async function OA(r){let t=await Qg(r);return new Xi(t.privateKey,t.publicKey)}var Ff={};ae(Ff,{Ed25519PrivateKey:()=>ei,Ed25519PublicKey:()=>es,generateKeyPair:()=>rR,generateKeyPairFromSeed:()=>yw,unmarshalEd25519PrivateKey:()=>tR,unmarshalEd25519PublicKey:()=>eR});var Uf=S(V(),1);var kA=S(Fn(),1);var se=BigInt(0),st=BigInt(1),Zi=BigInt(2),MA=BigInt(8),rw=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Dt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:rw,n:rw,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var aw=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Zo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),BB=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),UA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),FA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),KA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),VA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),et=class{constructor(t,e,n,i){this.x=t,this.y=e,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Nt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Nt.ZERO)?et.ZERO:new et(t.x,t.y,st,R(t.x*t.y))}static toAffineBatch(t){let e=$A(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){iw(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=R(e*a),l=R(o*i),u=R(n*a),f=R(s*i);return c===l&&u===f}negate(){return new et(R(-this.x),this.y,this.z,R(-this.t))}double(){let{x:t,y:e,z:n}=this,{a:i}=Dt,o=R(t*t),s=R(e*e),a=R(Zi*R(n*n)),c=R(i*o),l=t+e,u=R(R(l*l)-o-s),f=c+s,d=f-a,h=c-s,p=R(u*d),m=R(f*h),y=R(u*h),g=R(d*f);return new et(p,m,g,y)}add(t){iw(t);let{x:e,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:l}=t,u=R((n-e)*(a+s)),f=R((n+e)*(a-s)),d=R(f-u);if(d===se)return this.double();let h=R(i*Zi*l),p=R(o*Zi*c),m=p+h,y=f+u,g=p-h,E=R(m*d),_=R(y*g),k=R(m*g),C=R(d*y);return new et(E,_,C,k)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let e=1+256/t,n=[],i=this,o=i;for(let s=0;s<e;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,e){!e&&this.equals(et.BASE)&&(e=Nt.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Nf.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=et.normalizeZ(i),Nf.set(e,i)));let o=et.ZERO,s=et.BASE,a=1+256/n,c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=st);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(nw(g,i[m])):o=o.add(nw(E,i[y]))}return et.normalizeZ([o,s])[0]}multiply(t,e){return this.wNAF(fc(t,Dt.l),e)}multiplyUnsafe(t){let e=fc(t,Dt.l,!1),n=et.BASE,i=et.ZERO;if(e===se)return i;if(this.equals(i)||e===st)return this;if(this.equals(n))return this.wNAF(e);let o=i,s=this;for(;e>se;)e&st&&(o=o.add(s)),s=s.double(),e>>=st;return o}isSmallOrder(){return this.multiplyUnsafe(Dt.h).equals(et.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(Dt.l/2n).double();return Dt.l%2n&&(t=t.add(this)),t.equals(et.ZERO)}toAffine(t){let{x:e,y:n,z:i}=this,o=this.equals(et.ZERO);t==null&&(t=o?MA:hc(i));let s=R(e*t),a=R(n*t),c=R(i*t);if(o)return Nt.ZERO;if(c!==st)throw new Error("invZ was invalid");return new Nt(s,a)}fromRistrettoBytes(){Pf()}toRistrettoBytes(){Pf()}fromRistrettoHash(){Pf()}};et.BASE=new et(Dt.Gx,Dt.Gy,st,R(Dt.Gx*Dt.Gy));et.ZERO=new et(se,st,st,se);function nw(r,t){let e=t.negate();return r?e:t}function iw(r){if(!(r instanceof et))throw new TypeError("ExtendedPoint expected")}function Df(r){if(!(r instanceof we))throw new TypeError("RistrettoPoint expected")}function Pf(){throw new Error("Legacy method: switch to RistrettoPoint")}var we=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:e}=Dt,n=R(Zo*t*t),i=R((n+st)*KA),o=BigInt(-1),s=R((o-e*n)*R(n+e)),{isValid:a,value:c}=kf(i,s),l=R(c*t);En(l)||(l=R(-l)),a||(c=l),a||(o=n);let u=R(o*(n-st)*VA-s),f=c*c,d=R((c+c)*s),h=R(u*UA),p=R(st-f),m=R(st+f);return new et(R(d*m),R(p*h),R(h*m),R(d*p))}static hashToCurve(t){t=xn(t,64);let e=Lf(t.slice(0,32)),n=this.calcElligatorRistrettoMap(e),i=Lf(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new we(n.add(o))}static fromHex(t){t=xn(t,32);let{a:e,d:n}=Dt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=Lf(t);if(!GA(Jo(o),t)||En(o))throw new Error(i);let s=R(o*o),a=R(st+e*s),c=R(st-e*s),l=R(a*a),u=R(c*c),f=R(e*n*l-u),{isValid:d,value:h}=sw(R(f*u)),p=R(h*c),m=R(h*p*f),y=R((o+o)*p);En(y)&&(y=R(-y));let g=R(a*m),E=R(y*g);if(!d||En(E)||g===se)throw new Error(i);return new we(new et(y,g,st,E))}toRawBytes(){let{x:t,y:e,z:n,t:i}=this.ep,o=R(R(n+e)*R(n-e)),s=R(t*e),a=R(s*s),{value:c}=sw(R(o*a)),l=R(c*o),u=R(c*s),f=R(l*u*i),d;if(En(i*f)){let p=R(e*Zo),m=R(t*Zo);t=p,e=m,d=R(l*FA)}else d=u;En(t*f)&&(e=R(-e));let h=R((n-e)*d);return En(h)&&(h=R(-h)),Jo(h)}toHex(){return jo(this.toRawBytes())}toString(){return this.toHex()}equals(t){Df(t);let e=this.ep,n=t.ep,i=R(e.x*n.y)===R(e.y*n.x),o=R(e.y*n.y)===R(e.x*n.x);return i||o}add(t){return Df(t),new we(this.ep.add(t.ep))}subtract(t){return Df(t),new we(this.ep.subtract(t.ep))}multiply(t){return new we(this.ep.multiply(t))}multiplyUnsafe(t){return new we(this.ep.multiplyUnsafe(t))}};we.BASE=new we(et.BASE);we.ZERO=new we(et.ZERO);var Nf=new WeakMap,Nt=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Nf.delete(this)}static fromHex(t,e=!0){let{d:n,P:i}=Dt;t=xn(t,32);let o=t.slice();o[31]=t[31]&-129;let s=ts(o);if(e&&s>=i)throw new Error("Expected 0 < hex < P");if(!e&&s>=aw)throw new Error("Expected 0 < hex < 2**256");let a=R(s*s),c=R(a-st),l=R(n*a+st),{isValid:u,value:f}=kf(c,l);if(!u)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&st)===st;return(t[31]&128)!==0!==d&&(f=R(-f)),new Nt(f,s)}static async fromPrivateKey(t){return(await dc(t)).point}toRawBytes(){let t=Jo(this.y);return t[31]|=this.x&st?128:0,t}toHex(){return jo(this.toRawBytes())}toX25519(){let{y:t}=this,e=R((st+t)*hc(st-t));return Jo(e)}isTorsionFree(){return et.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Nt(R(-this.x),this.y)}add(t){return et.fromAffine(this).add(et.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return et.fromAffine(this).multiply(t,this).toAffine()}};Nt.BASE=new Nt(Dt.Gx,Dt.Gy);Nt.ZERO=new Nt(se,st);var ti=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){let e=xn(t,64),n=Nt.fromHex(e.slice(0,32),!1),i=ts(e.slice(32,64));return new ti(n,i)}assertValidity(){let{r:t,s:e}=this;if(!(t instanceof Nt))throw new Error("Expected Point instance");return fc(e,Dt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Jo(this.s),32),t}toHex(){return jo(this.toRawBytes())}};function ow(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let o=r[n];e.set(o,i),i+=o.length}return e}var qA=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function jo(r){if(!(r instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=qA[r[e]];return t}function Of(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[e]=o}return t}function cw(r){let e=r.toString(16).padStart(64,"0");return Of(e)}function Jo(r){return cw(r).reverse()}function En(r){return(R(r)&st)===st}function ts(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+jo(Uint8Array.from(r).reverse()))}var HA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Lf(r){return R(ts(r)&HA)}function R(r,t=Dt.P){let e=r%t;return e>=se?e:t+e}function hc(r,t=Dt.P){if(r===se||t<=se)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=R(r,t),n=t,i=se,o=st,s=st,a=se;for(;e!==se;){let l=n/e,u=n%e,f=i-s*l,d=o-a*l;n=e,e=u,i=s,o=a,s=f,a=d}if(n!==st)throw new Error("invert: does not exist");return R(i,t)}function $A(r,t=Dt.P){let e=new Array(r.length),n=r.reduce((o,s,a)=>s===se?o:(e[a]=o,R(o*s,t)),st),i=hc(n,t);return r.reduceRight((o,s,a)=>s===se?o:(e[a]=R(o*e[a],t),R(o*s,t)),i),e}function br(r,t){let{P:e}=Dt,n=r;for(;t-- >se;)n*=n,n%=e;return n}function zA(r){let{P:t}=Dt,e=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=r*r%t*r%t,l=br(c,Zi)*c%t,u=br(l,st)*r%t,f=br(u,e)*u%t,d=br(f,n)*f%t,h=br(d,i)*d%t,p=br(h,o)*h%t,m=br(p,s)*p%t,y=br(m,s)*p%t,g=br(y,n)*f%t;return{pow_p_5_8:br(g,Zi)*r%t,b2:c}}function kf(r,t){let e=R(t*t*t),n=R(e*e*t),i=zA(r*n).pow_p_5_8,o=R(r*e*i),s=R(t*o*o),a=o,c=R(o*Zo),l=s===r,u=s===R(-r),f=s===R(-r*Zo);return l&&(o=a),(u||f)&&(o=c),En(o)&&(o=R(-o)),{isValid:l||u,value:o}}function sw(r){return kf(st,r)}function uc(r){return R(ts(r),Dt.l)}function GA(r,t){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==t[e])return!1;return!0}function xn(r,t){let e=r instanceof Uint8Array?Uint8Array.from(r):Of(r);if(typeof t=="number"&&e.length!==t)throw new Error(`Expected ${t} bytes`);return e}function fc(r,t,e=!0){if(!t)throw new TypeError("Specify max value");if(typeof r=="number"&&Number.isSafeInteger(r)&&(r=BigInt(r)),typeof r=="bigint"&&r<t){if(e){if(se<r)return r}else if(se<=r)return r}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function YA(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function WA(r){if(r=typeof r=="bigint"||typeof r=="number"?cw(fc(r,aw)):xn(r),r.length!==32)throw new Error("Expected 32 bytes");return r}function QA(r){let t=YA(r.slice(0,32)),e=r.slice(32,64),n=uc(t),i=Nt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:e,scalar:n,point:i,pointBytes:o}}var Bf;async function dc(r){return QA(await vn.sha512(WA(r)))}async function Mf(r){return(await dc(r)).pointBytes}async function lw(r,t){r=xn(r);let{prefix:e,scalar:n,pointBytes:i}=await dc(t),o=uc(await vn.sha512(e,r)),s=Nt.BASE.multiply(o),a=uc(await vn.sha512(s.toRawBytes(),i,r)),c=R(o+a*n,Dt.l);return new ti(s,c).toRawBytes()}function XA(r,t,e){t=xn(t),e instanceof Nt||(e=Nt.fromHex(e,!1));let{r:n,s:i}=r instanceof ti?r.assertValidity():ti.fromHex(r),o=et.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:e,msg:t}}function ZA(r,t,e,n){let i=uc(n),o=et.fromAffine(r).multiplyUnsafe(i);return et.fromAffine(t).add(o).subtract(e).multiplyUnsafe(Dt.h).equals(et.ZERO)}async function uw(r,t,e){let{r:n,SB:i,msg:o,pub:s}=XA(r,t,e),a=await vn.sha512(n.toRawBytes(),s.toRawBytes(),o);return ZA(s,n,i,a)}Nt.BASE._setWindowSize(8);var wn={node:kA,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},vn={bytesToHex:jo,hexToBytes:Of,concatBytes:ow,getExtendedPublicKey:dc,mod:R,invert:hc,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:r=>{if(r=xn(r),r.length<40||r.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return R(ts(r),Dt.l-st)+st},randomBytes:(r=32)=>{if(wn.web)return wn.web.getRandomValues(new Uint8Array(r));if(wn.node){let{randomBytes:t}=wn.node;return new Uint8Array(t(r).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>vn.randomBytes(32),sha512:async(...r)=>{let t=ow(...r);if(wn.web){let e=await wn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(wn.node)return Uint8Array.from(wn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(r=8,t=Nt.BASE){let e=t.equals(Nt.BASE)?t:new Nt(t.x,t.y);return e._setWindowSize(r),e.multiply(Zi),e},sha512Sync:void 0};Object.defineProperties(vn,{sha512Sync:{configurable:!1,get(){return Bf},set(r){Bf||(Bf=r)}}});var Ji=32,$r=64,pc=32;async function fw(){let r=vn.randomPrivateKey(),t=await Mf(r);return{privateKey:mw(r,t),publicKey:t}}async function hw(r){if(r.length!==pc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=await Mf(t);return{privateKey:mw(t,e),publicKey:e}}async function dw(r,t){let e=r.subarray(0,pc);return await lw(t,e)}async function pw(r,t,e){return await uw(t,e,r)}function mw(r,t){let e=new Uint8Array($r);for(let n=0;n<pc;n++)e[n]=r[n],e[pc+n]=t[n];return e}var es=class{constructor(t){this._key=ji(t,Ji)}async verify(t,e){return await pw(this._key,e,t)}marshal(){return this._key}get bytes(){return dr.encode({Type:Lt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},ei=class{constructor(t,e){this._key=ji(t,$r),this._publicKey=ji(e,Ji)}async sign(t){return await dw(this._key,t)}get public(){return new es(this._publicKey)}marshal(){return this._key}get bytes(){return pr.encode({Type:Lt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await Jr.digest(this.public.bytes);return Kt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Qi(this.bytes,t);throw(0,Uf.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function tR(r){if(r.length>$r){r=ji(r,$r+Ji);let n=r.subarray(0,$r),i=r.subarray($r,r.length);return new ei(n,i)}r=ji(r,$r);let t=r.subarray(0,$r),e=r.subarray(Ji);return new ei(t,e)}function eR(r){return r=ji(r,Ji),new es(r)}async function rR(){let{privateKey:r,publicKey:t}=await fw();return new ei(r,t)}async function yw(r){let{privateKey:t,publicKey:e}=await hw(r);return new ei(t,e)}function ji(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw(0,Uf.default)(new Error(`Key must be a Uint8Array of length ${t}, got ${r.length}`),"ERR_INVALID_KEY_TYPE");return r}var Vf={};ae(Vf,{Secp256k1PrivateKey:()=>ns,Secp256k1PublicKey:()=>rs,generateKeyPair:()=>sR,unmarshalSecp256k1PrivateKey:()=>iR,unmarshalSecp256k1PublicKey:()=>oR});var _w=S(V(),1);var to=S(V(),1);function gw(){return rr.randomPrivateKey()}async function ww(r,t){let{digest:e}=await jt.digest(t);try{return await qg(e,r)}catch(n){throw(0,to.default)(n,"ERR_INVALID_INPUT")}}async function Ew(r,t,e){try{let{digest:n}=await jt.digest(e);return Hg(t,n,r)}catch(n){throw(0,to.default)(n,"ERR_INVALID_INPUT")}}function xw(r){return ft.fromHex(r).toRawBytes(!0)}function vw(r){try{Sf(r,!0)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PRIVATE_KEY")}}function Kf(r){try{ft.fromHex(r)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PUBLIC_KEY")}}function bw(r){try{return Sf(r,!0)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PRIVATE_KEY")}}var rs=class{constructor(t){Kf(t),this._key=t}async verify(t,e){return await Ew(this._key,e,t)}marshal(){return xw(this._key)}get bytes(){return dr.encode({Type:Lt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},ns=class{constructor(t,e){this._key=t,this._publicKey=e??bw(t),vw(this._key),Kf(this._publicKey)}async sign(t){return await ww(this._key,t)}get public(){return new rs(this._publicKey)}marshal(){return this._key}get bytes(){return pr.encode({Type:Lt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return $(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Qi(this.bytes,t);throw(0,_w.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function iR(r){return new ns(r)}function oR(r){return new rs(r)}async function sR(){let r=await gw();return new ns(r)}var zr={rsa:Cf,ed25519:Ff,secp256k1:Vf};function Hf(r){let t=Object.keys(zr).join(" / ");return(0,qf.default)(new Error(`invalid or unsupported key type ${r}. Must be ${t}`),"ERR_UNSUPPORTED_KEY_TYPE")}function $f(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return zr[r];throw Hf(r)}async function yc(r,t){return await $f(r).generateKeyPair(t??2048)}function is(r){let t=dr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Lt.RSA:return zr.rsa.unmarshalRsaPublicKey(e);case Lt.Ed25519:return zr.ed25519.unmarshalEd25519PublicKey(e);case Lt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Hf(t.Type??"RSA")}}function Sw(r,t){return t=(t??"rsa").toLowerCase(),$f(t),r.bytes}async function eo(r){let t=pr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Lt.RSA:return await zr.rsa.unmarshalRsaPrivateKey(e);case Lt.Ed25519:return zr.ed25519.unmarshalEd25519PrivateKey(e);case Lt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw Hf(t.Type??"RSA")}}function Aw(r,t){return t=(t??"rsa").toLowerCase(),$f(t),r.bytes}async function os(r,t){try{let i=await Sg(r,t);return await eo(i)}catch{}let e=mc.default.pki.decryptRsaPrivateKey(r,t);if(e===null)throw(0,qf.default)(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=mc.default.asn1.toDer(mc.default.pki.privateKeyToAsn1(e));return n=U(n.getBytes(),"ascii"),await zr.rsa.unmarshalRsaPrivateKey(n)}var JB=S($a(),1),cR=S(mt(),1);var uR=S(V(),1);var Iw=S(af(),1),Tw=S($t(),1),Cw=S(V(),1),Rw={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function ss(r,t,e,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Rw).join(" / ");throw(0,Cw.default)(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=Rw[i],s=(0,Iw.default)(r,t,e,n,o);return Tw.default.encode64(s,null)}var gc=N("libp2p:keychain"),hR="/pkcs8/",Pw="/info/",ri=new WeakMap,ni={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},zf={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Gr(r){return r==null||typeof r!="string"?!1:r===(0,Dw.default)(r.trim())&&r.length>0}async function gt(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function _r(r){return new Mt(hR+r)}function bn(r){return new Mt(Pw+r)}var ii=class{constructor(t,e){if(this.components=t,this.init=Be(zf,e),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<ni.minKeyLength)throw new Error(`dek.keyLength must be least ${ni.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<ni.minSaltLength)throw new Error(`dek.saltLength must be least ${ni.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<ni.minIterationCount)throw new Error(`dek.iterationCount must be least ${ni.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?ss(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ri.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},zf),e=Math.ceil(ni.minSaltLength/3)*3;return t.dek.salt=$(qr(e),"base64"),t}static get options(){return zf}async createKey(t,e,n=2048){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error("Invalid key name"),nt.ERR_INVALID_KEY_NAME);if(typeof e!="string")throw await gt(),(0,ut.default)(new Error("Invalid key type"),nt.ERR_INVALID_KEY_TYPE);let i=_r(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error("Key name already exists"),nt.ERR_KEY_ALREADY_EXISTS);switch(e.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await gt(),(0,ut.default)(new Error("Invalid RSA key size"),nt.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await yc(e,n),c=await a.id(),l=ri.get(this);if(l==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let u=l.dek,f=await a.export(u);s={name:t,id:c};let d=this.components.datastore.batch();d.put(i,U(f)),d.put(bn(t),U(JSON.stringify(s))),await d.commit()}catch(a){throw await gt(),a}return s}async listKeys(){let t={prefix:Pw},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse($(n.value)));return e}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw(0,ut.default)(new Error(`Key with id '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND);return n}catch(e){throw await gt(),e}}async findKeyByName(t){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);let e=bn(t);try{let n=await this.components.datastore.get(e);return JSON.parse($(n))}catch(n){throw await gt(),gc.error(n),(0,ut.default)(new Error(`Key '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);let e=_r(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(e),i.delete(bn(t)),await i.commit(),n}async renameKey(t,e){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid old key name '${t}'`),nt.ERR_OLD_KEY_NAME_INVALID);if(!Gr(e)||e==="self")throw await gt(),(0,ut.default)(new Error(`Invalid new key name '${e}'`),nt.ERR_NEW_KEY_NAME_INVALID);let n=_r(t),i=_r(e),o=bn(t),s=bn(e);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${e}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(o),u=JSON.parse($(l));u.name=e;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,U(JSON.stringify(u))),f.delete(n),f.delete(o),await f.commit(),u}catch(c){throw await gt(),c}}async exportKey(t,e){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),(0,ut.default)(new Error("Password is required"),nt.ERR_PASSWORD_REQUIRED);let n=_r(t);try{let i=await this.components.datastore.get(n),o=$(i),s=ri.get(this);if(s==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await os(o,a)).export(e)}catch(i){throw await gt(),i}}async exportPeerId(t){let e="temporary-password",n=await this.exportKey(t,e),i=await os(n,e);return await rn(i.public.bytes,i.bytes)}async importKey(t,e,n){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),(0,ut.default)(new Error("PEM encoded key is required"),nt.ERR_PEM_REQUIRED);let i=_r(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${t}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);let s;try{s=await os(e,n)}catch{throw await gt(),(0,ut.default)(new Error("Cannot read the key, most likely the password is wrong"),nt.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let u=ri.get(this);if(u==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let f=u.dek;e=await s.export(f)}catch(u){throw await gt(),u}let c={name:t,id:a},l=this.components.datastore.batch();return l.put(i,U(e)),l.put(bn(t),U(JSON.stringify(c))),await l.commit(),c}async importPeer(t,e){try{if(!Gr(t))throw(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw(0,ut.default)(new Error("PeerId is required"),nt.ERR_MISSING_PRIVATE_KEY);if(e.privateKey==null)throw(0,ut.default)(new Error("PeerId.privKey is required"),nt.ERR_MISSING_PRIVATE_KEY);let n=await eo(e.privateKey),i=_r(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${t}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);let s=ri.get(this);if(s==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),l={name:t,id:e.toString()},u=this.components.datastore.batch();return u.put(i,U(c)),u.put(bn(t),U(JSON.stringify(l))),await u.commit(),l}catch(n){throw await gt(),n}}async getPrivateKey(t){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);try{let e=_r(t),n=await this.components.datastore.get(e);return $(n)}catch(e){throw await gt(),gc.error(e),(0,ut.default)(new Error(`Key '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await gt(),(0,ut.default)(new Error(`Invalid old pass type '${typeof t}'`),nt.ERR_INVALID_OLD_PASS_TYPE);if(typeof e!="string")throw await gt(),(0,ut.default)(new Error(`Invalid new pass type '${typeof e}'`),nt.ERR_INVALID_NEW_PASS_TYPE);if(e.length<20)throw await gt(),(0,ut.default)(new Error(`Invalid pass length ${e.length}`),nt.ERR_INVALID_PASS_LENGTH);gc("recreating keychain");let n=ri.get(this);if(n==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=e;let o=e!=null&&this.init.dek?.salt!=null?ss(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ri.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(_r(a.name)),l=$(c),u=await os(l,i),f=o.toString(),d=await u.export(f),h=this.components.datastore.batch(),p={name:a.name,id:a.id};h.put(_r(a.name),U(d)),h.put(bn(a.name),U(JSON.stringify(p))),await h.commit()}gc("keychain reconstructed")}};async function as(r){try{return{status:"fulfilled",value:await r,isFulfilled:!0,isRejected:!1}}catch(t){return{status:"rejected",reason:t,isFulfilled:!1,isRejected:!0}}}var Gf=class{value;next;constructor(t){this.value=t}},cs=class{#t;#e;#r;constructor(){this.clear()}enqueue(t){let e=new Gf(t);this.#t?(this.#e.next=e,this.#e=e):(this.#t=e,this.#e=e),this.#r++}dequeue(){let t=this.#t;if(t)return this.#t=this.#t.next,this.#r--,t.value}clear(){this.#t=void 0,this.#e=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let t=this.#t;for(;t;)yield t.value,t=t.next}};function Yf(r){if(!((Number.isInteger(r)||r===Number.POSITIVE_INFINITY)&&r>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new cs,e=0,n=()=>{e--,t.size>0&&t.dequeue()()},i=async(a,c,l)=>{e++;let u=(async()=>a(...l))();c(u);try{await u}catch{}n()},o=(a,c,l)=>{t.enqueue(i.bind(void 0,a,c,l)),(async()=>(await Promise.resolve(),e<r&&t.size>0&&t.dequeue()()))()},s=(a,...c)=>new Promise(l=>{o(a,l,c)});return Object.defineProperties(s,{activeCount:{get:()=>e},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}async function Wf(r,t={}){let{concurrency:e=Number.POSITIVE_INFINITY}=t,n=Yf(e);return Promise.all(r.map(i=>i&&typeof i.then=="function"?as(i):typeof i=="function"?as(n(()=>i())):as(Promise.resolve(i))))}var ro=S(V(),1);var Qf=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function ls(r){let{name:t,metrics:e}=r,n;return e!=null?n=new Qf({name:t,metrics:e}):n=new Map,n}var oi=N("libp2p:transports"),wc=class extends Pt{constructor(t,e={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=ls({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=e.faultTolerance??ln.FATAL_ALL}add(t){let e=t[Symbol.toStringTag];if(e==null)throw(0,ro.default)(new Error("Transport must have a valid tag"),b.ERR_INVALID_KEY);if(this.transports.has(e))throw(0,ro.default)(new Error("There is already a transport with this tag"),b.ERR_DUPLICATE_TRANSPORT);oi("adding transport %s",e),this.transports.set(e,t),this.listeners.has(e)||this.listeners.set(e,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[e,n]of this.listeners)for(oi("closing listeners for %s",e);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),oi("all listeners closed");for(let e of this.listeners.keys())this.listeners.set(e,[]);this.started=!1}async dial(t,e){let n=this.transportForMultiaddr(t);if(n==null)throw(0,ro.default)(new Error(`No transport available for address ${String(t)}`),b.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...e,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=b.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let e of this.listeners.values())for(let n of e)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let e of this.transports.values())if(e.filter([t]).length>0)return e}async listen(t){if(t==null||t.length===0){oi("no addresses were provided for listening, this node is dial only");return}let e=[];for(let[n,i]of this.transports.entries()){let o=i.filter(t),s=[];for(let l of o){oi("creating listener for %s on %s",n,l);let u=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(u),u.addEventListener("listening",()=>{this.dispatchEvent(new H("listener:listening",{detail:u}))}),u.addEventListener("close",()=>{this.dispatchEvent(new H("listener:close",{detail:u}))}),s.push(u.listen(l))}if(s.length===0){e.push(n);continue}if((await Wf(s)).find(l=>l.isFulfilled)==null&&this.faultTolerance!==ln.NO_FATAL)throw(0,ro.default)(new Error(`Transport (${n}) could not listen on any available address`),b.ERR_NO_VALID_ADDRESSES)}if(e.length===this.transports.size){let n=`no valid addresses were provided for transports [${e.join(", ")}]`;if(this.faultTolerance===ln.FATAL_ALL)throw(0,ro.default)(new Error(n),b.ERR_NO_VALID_ADDRESSES);oi(`libp2p in dial mode only: ${n}`)}}async remove(t){oi("removing %s",t);for(let e of this.listeners.get(t)??[])await e.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let e of this.transports.keys())t.push(this.remove(e));await Promise.all(t)}};var te=S(V(),1);var Yr="/multistream/1.0.0";var Ow=S(V(),1);var Xf=S(V(),1);var pR=N("libp2p:mss"),Lw=U(`
|
|
49
|
-
`);function us(r){let t=new Ut(r,Lw);return ke.single(t)}function si(r,t,e={}){let n=us(t);e.writeBytes===!0?r.push(n.subarray()):r.push(n)}function Bw(r,t,e={}){let n=new Ut;for(let i of t)n.append(us(i));e.writeBytes===!0?r.push(n.subarray()):r.push(n)}async function mR(r,t){let e=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await r.next(e)},i=n;t?.signal!=null&&(i=$n(n,t.signal));let s=await vt(i,Re({onLength:a=>{e=a},maxDataLength:1024}),async a=>await be(a));if(s==null||s.length===0)throw(0,Xf.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==Lw[0])throw pR.error("Invalid mss message - missing newline - %s",s.subarray()),(0,Xf.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function no(r,t){let e=await mR(r,t);return $(e.subarray())}var fs=N("libp2p:mss:select");async function hs(r,t,e={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:o,stream:s}=Mi(r),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");fs('select: write ["%s", "%s"]',Yr,a);let c=U(Yr),l=U(a);Bw(i,[c,l],e);let u=await no(n,e);if(fs('select: read "%s"',u),u===Yr&&(u=await no(n,e),fs('select: read "%s"',u)),u===a)return o(),{stream:s,protocol:a};for(let f of t){fs('select: write "%s"',f),si(i,U(f),e);let d=await no(n,e);if(fs('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),(0,Ow.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var ds=N("libp2p:mss:handle");async function ps(r,t,e){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:o,stream:s}=Mi(r);for(;;){let a=await no(i,e);if(ds('read "%s"',a),a===Yr){ds('respond with "%s" for "%s"',Yr,a),si(n,U(Yr),e);continue}if(t.includes(a))return si(n,U(a),e),ds('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){si(n,new Ut(...t.map(c=>us(U(c)))),e),ds('respond with "%s" for %s',t,a);continue}si(n,U("na"),e),ds('respond with "na" for "%s"',a)}}var Zf=S(V(),1);var kw=Symbol.for("@libp2p/connection");var gR=N("libp2p:connection"),Jf=class{constructor(t){let{remoteAddr:e,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=e,this.remotePeer=n,this.stat={...a,status:la},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[kw](){return!0}get streams(){return this._getStreams()}async newStream(t,e){if(this.stat.status===iu)throw(0,Zf.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===ua)throw(0,Zf.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,e);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===ua||this._closing)){this.stat.status=iu;try{this.streams.forEach(t=>t.close())}catch(t){gR.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=ua}}};function Mw(r){return new Jf(r)}var Ec=S(V(),1);var wR=Symbol.for("@libp2p/topology");function Uw(r){return r!=null&&Boolean(r[wR])}var jf=N("libp2p:registrar"),th=32,eh=64,xc=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let e=this.handlers.get(t);if(e==null)throw(0,Ec.default)(new Error(`No handler registered for protocol ${t}`),b.ERR_NO_HANDLER_FOR_PROTOCOL);return e}getTopologies(t){let e=this.topologies.get(t);return e==null?[]:[...e.values()]}async handle(t,e,n){if(this.handlers.has(t))throw(0,Ec.default)(new Error(`Handler already registered for protocol ${t}`),b.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Be.bind({ignoreUndefined:!0})({maxInboundStreams:th,maxOutboundStreams:eh},n);this.handlers.set(t,{handler:e,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let e=Array.isArray(t)?t:[t];e.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,e)}async register(t,e){if(!Uw(e))throw jf.error("topology must be an instance of interfaces/topology"),(0,Ec.default)(new Error("topology must be an instance of interfaces/topology"),b.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,e),await e.setRegistrar(this),n}unregister(t){for(let[e,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(e))}_onDisconnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect(e.remotePeer)}}).catch(n=>{jf.error(n)})}_onConnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onConnect(e.remotePeer,e)}}).catch(n=>{jf.error(n)})}_onProtocolChange(t){let{peerId:e,protocols:n,oldProtocols:i}=t.detail,o=i.filter(a=>!n.includes(a)),s=n.filter(a=>!i.includes(a));for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let l of c.values())l.onDisconnect(e)}for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let l of c.values()){let u=this.components.connectionManager.getConnections(e)[0];u!=null&&l.onConnect(e,u)}}}};var rh=S(Br(),1);var nh=S(lr(),1),Rt=N("libp2p:upgrader");function ER(r,t){try{let{options:e}=t.getHandler(r);return e.maxInboundStreams}catch(e){if(e.code!==b.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return th}function xR(r,t){try{let{options:e}=t.getHandler(r);return e.maxOutboundStreams}catch(e){if(e.code!==b.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return eh}function Fw(r,t,e){let n=0;return e.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===r&&n++}),n}var vc=class extends Pt{constructor(t,e){super(),this.components=t,this.connectionEncryption=new Map,e.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,e.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=e.inboundUpgradeTimeout}async upgradeInbound(t,e){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,te.default)(new Error("connection denied"),b.ERR_CONNECTION_DENIED);let i,o,s,a,c,l=new rh.TimeoutController(this.inboundUpgradeTimeout);try{(0,nh.setMaxListeners)?.(1/0,l.signal)}catch{}try{let u=Se(t,l.signal);if(t.source=u.source,t.sink=u.sink,await this.components.connectionGater.denyInboundConnection(t))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),b.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),Rt("starting the inbound connection upgrade");let f=t;if(e?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(Rt("protecting the inbound connection"),f=await d.protect(t))}try{if(i=f,e?.skipEncryption!==!0){if({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection(o,{...f,...i}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED)}else{let d=t.remoteAddr.getPeerId();if(d==null)throw(0,te.default)(new Error("inbound connection that skipped encryption must have a peer id"),b.ERR_INVALID_MULTIADDR);let h=tt(d);c="native",o=h}if(s=i,e?.muxerFactory!=null)a=e.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,s=d.stream}}catch(d){throw Rt.error("Failed to upgrade inbound connection",d),d}if(await this.components.connectionGater.denyInboundUpgradedConnection(o,{...f,...i}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED);return Rt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),l.clear()}}async upgradeOutbound(t,e){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=tt(n),await this.components.connectionGater.denyOutboundConnection(i,t)))throw(0,te.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),b.ERR_CONNECTION_INTERCEPTED);let o,s,a,c,l;this.components.metrics?.trackMultiaddrConnection(t),Rt("Starting the outbound connection upgrade");let u=t;if(e?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(u=await f.protect(t))}try{if(o=u,e?.skipEncryption!==!0){if({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(u,i),await this.components.connectionGater.denyOutboundEncryptedConnection(s,{...u,...o}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,te.default)(new Error("Encryption was skipped but no peer id was passed"),b.ERR_INVALID_PEER);c="native",s=i}if(a=o,e?.muxerFactory!=null)l=e.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...u,...o},this.muxers);l=f.muxerFactory,a=f.stream}}catch(f){throw Rt.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection(s,{...u,...o}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED);return Rt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:l,remotePeer:s})}_createConnection(t){let{cryptoProtocol:e,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=t,c,l,u;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:h=>{u!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await ps(h,p);if(Rt("%s: incoming stream opened on %s",n,y),u==null)return;let g=ER(y,this.components.registrar);if(Fw(y,"inbound",u)===g){h.abort((0,te.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),b.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}h.source=m.source,h.sink=m.sink,h.stat.protocol=y,this.components.peerStore.protoBook.add(s,[y]).catch(_=>Rt.error(_)),u.addStream(h),this.components.metrics?.trackProtocolStream(h,u),this._onStream({connection:u,stream:h,protocol:y})}).catch(p=>{Rt.error(p),h.stat.timeline.close==null&&h.close()})},onStreamEnd:h=>{u?.removeStream(h.id)}}),l=async(h,p={})=>{if(c==null)throw(0,te.default)(new Error("Stream is not multiplexed"),b.ERR_MUXER_UNAVAILABLE);Rt("%s: starting new stream on %s",n,h);let m=await c.newStream(),y;try{if(p.signal==null){Rt("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),y=new rh.TimeoutController(3e4),p.signal=y.signal;try{(0,nh.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await hs(m,h,p),_=xR(E,this.components.registrar);if(Fw(E,"outbound",u)===_){let C=(0,te.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${_}`),b.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(C),C}return this.components.peerStore.protoBook.add(s,[E]).catch(C=>Rt.error(C)),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,u),m}catch(g){throw Rt.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,te.default)(g,b.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(h=>{Rt.error(h)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...h)=>(u!=null&&h[1]==="close"&&h[2]!=null&&f.close==null&&(async()=>{try{u.stat.status==="OPEN"&&await u.close()}catch(p){Rt.error(p)}finally{this.dispatchEvent(new H("connectionEnd",{detail:u}))}})().catch(p=>{Rt.error(p)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let d=()=>{throw(0,te.default)(new Error("connection is not multiplexed"),b.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=Mw({remoteAddr:i.remoteAddr,remotePeer:s,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:e},newStream:l??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new H("connection",{detail:u})),u}_onStream(t){let{connection:e,stream:n,protocol:i}=t,{handler:o}=this.components.registrar.getHandler(i);o({connection:e,stream:n})}async _encryptInbound(t){let e=Array.from(this.connectionEncryption.keys());Rt("handling inbound crypto protocol selection",e);try{let{stream:n,protocol:i}=await ps(t,e,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return Rt("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,te.default)(n,b.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,e){let n=Array.from(this.connectionEncryption.keys());Rt("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await hs(t,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return Rt("encrypting outbound connection to %p",e),{...await s.secureOutbound(this.components.peerId,i,e),protocol:o}}catch(i){throw(0,te.default)(i,b.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,e){let n=Array.from(e.keys());Rt("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await hs(t,n,{writeBytes:!0});Rt("%s selected as muxer protocol",o);let s=e.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Rt.error("error multiplexing outbound stream",i),(0,te.default)(i,b.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,e){let n=Array.from(e.keys());Rt("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ps(t,n,{writeBytes:!0}),s=e.get(o);return{stream:i,muxerFactory:s}}catch(i){throw Rt.error("error multiplexing inbound stream",i),(0,te.default)(i,b.ERR_MUXER_UNAVAILABLE)}}};var ci=S(V(),1);var ai;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let o of e.listenAddrs)n.uint32(18),n.bytes(o);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let o of e.protocols)n.uint32(26),n.string(o);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 5:i.protocolVersion=e.string();break;case 6:i.agentVersion=e.string();break;case 1:i.publicKey=e.bytes();break;case 2:i.listenAddrs.push(e.bytes());break;case 4:i.observedAddr=e.bytes();break;case 3:i.protocols.push(e.string());break;case 8:i.signedPeerRecord=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(ai||(ai={}));var Vw=S(V(),1);var Kw={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ms;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.publicKey!=null&&e.publicKey.byteLength>0)&&(n.uint32(10),n.bytes(e.publicKey)),(i.writeDefaults===!0||e.payloadType!=null&&e.payloadType.byteLength>0)&&(n.uint32(18),n.bytes(e.payloadType)),(i.writeDefaults===!0||e.payload!=null&&e.payload.byteLength>0)&&(n.uint32(26),n.bytes(e.payload)),(i.writeDefaults===!0||e.signature!=null&&e.signature.byteLength>0)&&(n.uint32(42),n.bytes(e.signature)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.publicKey=e.bytes();break;case 2:i.payloadType=e.bytes();break;case 3:i.payload=e.bytes();break;case 5:i.signature=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(ms||(ms={}));var vR,ee=class{constructor(t){let{peerId:e,payloadType:n,payload:i,signature:o}=t;this.peerId=e,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=ms.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Et(this.marshal(),t.marshal())}async validate(t){let e=qw(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await is(this.peerId.publicKey).verify(e.subarray(),this.signature)}};vR=ee;ee.createFromProtobuf=async r=>{let t=ms.decode(r),e=await rn(t.publicKey);return new ee({peerId:e,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};ee.seal=async(r,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let e=r.domain,n=r.codec,i=r.marshal(),o=qw(e,n,i),a=await(await eo(t.privateKey)).sign(o.subarray());return new ee({peerId:t,payloadType:n,payload:i,signature:a})};ee.openAndCertify=async(r,t)=>{let e=await ee.createFromProtobuf(r);if(!await e.validate(t))throw(0,Vw.default)(new Error("envelope signature is not valid for the given domain"),Kw.ERR_SIGNATURE_NOT_VALID);return e};var qw=(r,t,e)=>{let n=U(r),i=Xe.encode(n.byteLength),o=Xe.encode(t.length),s=Xe.encode(e.length);return new Ut(i,n,o,t,s,e)};function Hw(r,t){let e=(n,i)=>n.toString().localeCompare(i.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,i)=>t[i].equals(n)))}var ys;(function(r){let t;(function(n){let i;n.codec=()=>(i==null&&(i=St((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),(a.writeDefaults===!0||o.multiaddr!=null&&o.multiaddr.byteLength>0)&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let l=o.uint32();switch(l>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(l&7);break}}return a})),i),n.encode=o=>_t(o,n.codec()),n.decode=o=>bt(o,n.codec())})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=St((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),(o.writeDefaults===!0||n.peerId!=null&&n.peerId.byteLength>0)&&(i.uint32(10),i.bytes(n.peerId)),(o.writeDefaults===!0||n.seq!==0n)&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),r.AddressInfo.codec().encode(s,i,{writeDefaults:!0});o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),e),r.encode=n=>_t(n,r.codec()),r.decode=n=>bt(n,r.codec())})(ys||(ys={}));var $w="libp2p-peer-record",zw=Uint8Array.from([3,1]);var Qt=class{constructor(t){this.domain=Qt.DOMAIN,this.codec=Qt.CODEC;let{peerId:e,multiaddrs:n,seqNumber:i}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ys.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof Qt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Hw(this.multiaddrs,t.multiaddrs))}};Qt.createFromProtobuf=r=>{let t=ys.decode(r),e=en(t.peerId),n=(t.addresses??[]).map(o=>j(o.multiaddr)),i=t.seq;return new Qt({peerId:e,multiaddrs:n,seqNumber:i})};Qt.DOMAIN=$w;Qt.CODEC=zw;var bc="0.0.0",Gw="libp2p";var ih=`js-libp2p/${bc}`;var Yw="0.1.0",Ww="id",Qw="id/push",Xw="1.0.0",Zw="1.0.0";var gs=S(Br(),1);var ws=S(lr(),1),xt=N("libp2p:identify"),Jw=1024*8,io=class{constructor(t,e){this.components=t,this.started=!1,this.init=e,this.identifyProtocolStr=`/${e.protocolPrefix}/${Ww}/${Xw}`,this.identifyPushProtocolStr=`/${e.protocolPrefix}/${Qw}/${Zw}`,this.host={protocolVersion:`${e.protocolPrefix}/${Yw}`,...e.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(xt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>xt.error(o))}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>xt.error(o))})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",U(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",U(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(e=>{xt.error(e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(e=>{xt.error(e)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let e=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(s=>s.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),o=t.map(async s=>{let a,c=new gs.TimeoutController(this.init.timeout);try{(0,ws.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await s.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await Se(a,c.signal).sink(vt([ai.encode({listenAddrs:n,signedPeerRecord:e,protocols:i})],ke()))}catch(l){xt.error("could not push identify update to peer",l)}finally{a?.close(),c.clear()}});await Promise.all(o)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let e of this.components.connectionManager.getConnections()){let n=e.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(e)}await this.push(t)}async _identify(t,e={}){let n,i=e.signal,o;if(i==null){n=new gs.TimeoutController(this.init.timeout),i=n.signal;try{(0,ws.setMaxListeners)?.(1/0,n.signal)}catch{}}try{o=await t.newStream([this.identifyProtocolStr],{signal:i});let s=Se(o,i),a=await vt([],s,Re({maxDataLength:this.init.maxIdentifyMessageSize??Jw}),async c=>await be(c));if(a==null)throw(0,ci.default)(new Error("No data could be retrieved"),b.ERR_CONNECTION_ENDED);try{return ai.decode(a)}catch(c){throw(0,ci.default)(c,b.ERR_INVALID_MESSAGE)}}finally{n?.clear(),o?.close()}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:i,listenAddrs:o,protocols:s,observedAddr:a,signedPeerRecord:c,agentVersion:l,protocolVersion:u}=n;if(i==null)throw(0,ci.default)(new Error("public key was missing from identify message"),b.ERR_MISSING_PUBLIC_KEY);let f=await rn(i);if(!t.remotePeer.equals(f))throw(0,ci.default)(new Error("identified peer does not match the expected peer"),b.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,ci.default)(new Error("identified peer is our own peer id?"),b.ERR_INVALID_PEER);let d=io.getCleanMultiaddr(a);if(c!=null){xt("received signed peer record from %p",f);try{let h=await ee.openAndCertify(c,Qt.DOMAIN);if(!h.peerId.equals(f))throw(0,ci.default)(new Error("identified peer does not match the expected peer"),b.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(h)){await this.components.peerStore.protoBook.set(f,s),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",U(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",U(u)),xt("identify completed for peer %p and protocols %o",f,s);return}}catch(h){xt("received invalid envelope, discard it and fallback to listenAddrs is available",h)}}else xt("no signed peer record received from %p",f);xt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,o.map(h=>j(h)))}catch(h){xt.error("received invalid addrs",h)}await this.components.peerStore.protoBook.set(f,s),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",U(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",U(u)),xt("identify completed for peer %p and protocols %o",f,s),xt("received observed address of %s",d?.toString())}async _handleIdentify(t){let{connection:e,stream:n}=t,i=new gs.TimeoutController(this.init.timeout);try{(0,ws.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=this.components.peerId.publicKey??new Uint8Array(0),s=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(d=>d.decapsulateCode(pt("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let d=new Qt({peerId:this.components.peerId,multiaddrs:a}),h=await ee.seal(d,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(h),c=h.marshal().subarray()}let l=ai.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(d=>d.bytes),signedPeerRecord:c,observedAddr:e.remoteAddr.bytes,protocols:s.protocols}),u=Se(n,i.signal),f=vt([l],ke());await u.sink(f)}catch(o){xt.error("could not respond to identify request",o)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:e,stream:n}=t,i=new gs.TimeoutController(this.init.timeout);try{(0,ws.setMaxListeners)?.(1/0,i.signal)}catch{}let o;try{let a=Se(n,i.signal),c=await vt([],a,Re({maxDataLength:this.init.maxIdentifyMessageSize??Jw}),async l=>await be(l));c!=null&&(o=ai.decode(c))}catch(a){return xt.error("received invalid message",a)}finally{n.close(),i.clear()}if(o==null)return xt.error("received invalid message");let s=e.remotePeer;if(this.components.peerId.equals(s)){xt("received push from ourselves?");return}if(xt("received push from %p",s),o.signedPeerRecord!=null){xt("received signedPeerRecord in push");try{let a=await ee.openAndCertify(o.signedPeerRecord,Qt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){xt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(s,o.protocols);return}else xt("failed to consume signedPeerRecord sent in push")}catch(a){xt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else xt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(s,o.listenAddrs.map(a=>j(a)))}catch(a){xt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(s,o.protocols)}catch(a){xt.error("received invalid protocols",a)}xt("handled push from %p",s)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return j(t)}catch{}}};var oo=S(V(),1);var Es;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.identifier!=="")&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.identifier=e.string();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Es||(Es={}));var nr;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>cn(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=St((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),(s.writeDefaults===!0||i.status!=null&&e[i.status]!==0)&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),(s.writeDefaults===!0||i.data!=null&&i.data.byteLength>0)&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={status:t.OK,data:new Uint8Array(0)},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.status=r.StatusCode.codec().decode(i);break;case 2:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),r.encode=i=>_t(i,r.codec()),r.decode=i=>bt(i,r.codec())})(nr||(nr={}));var jw="0.0.1",tE="fetch";var eE=S(Br(),1),rE=S(lr(),1);var qe=N("libp2p:fetch"),_c=class{constructor(t,e){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${tE}/${jw}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(e=>{qe.error(e)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){qe("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o,s=n.signal,a;if(s==null){qe("using default timeout of %d ms",this.init.timeout),o=new eE.TimeoutController(this.init.timeout),s=o.signal;try{(0,rE.setMaxListeners)?.(1/0,o.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:s});let c=Se(a,s);return qe("fetch %s",e),await vt([Es.encode({identifier:e})],ke(),c,Re(),async function(u){let f=await be(u);if(f==null)throw(0,oo.default)(new Error("No data received"),b.ERR_INVALID_MESSAGE);let d=nr.decode(f);switch(d.status){case nr.StatusCode.OK:return qe("received status for %s ok",e),d.data;case nr.StatusCode.NOT_FOUND:return qe("received status for %s not found",e),null;case nr.StatusCode.ERROR:{qe("received status for %s error",e);let h=$(d.data);throw(0,oo.default)(new Error("Error in fetch protocol response: "+h),b.ERR_INVALID_PARAMETERS)}default:throw qe("received status for %s unknown",e),(0,oo.default)(new Error("Unknown response status"),b.ERR_INVALID_MESSAGE)}})??null}finally{o?.clear(),a?.close()}}async handleMessage(t){let{stream:e}=t,n=this;await vt(e,Re(),async function*(i){let o=await be(i);if(o==null)throw(0,oo.default)(new Error("No data received"),b.ERR_INVALID_MESSAGE);let s=Es.decode(o),a,c=n._getLookupFunction(s.identifier);if(c!=null){qe("look up data with identifier %s",s.identifier);let l=await c(s.identifier);l!=null?(qe("sending status for %s ok",s.identifier),a={status:nr.StatusCode.OK,data:l}):(qe("sending status for %s not found",s.identifier),a={status:nr.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{qe("sending status for %s error",s.identifier);let l=U(`No lookup function registered for key: ${s.identifier}`);a={status:nr.StatusCode.ERROR,data:l}}yield nr.encode(a)},ke(),e)}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw(0,oo.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),b.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};var sE=S(V(),1);var nE="1.0.0",iE="ping";var aE=S(Br(),1),cE=S(lr(),1),oE=N("libp2p:ping"),Sc=class{constructor(t,e){this.components=t,this.started=!1,this.protocol=`/${e.protocolPrefix}/${iE}/${nE}`,this.init=e}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:e}=t;vt(e,e).catch(n=>{oE.error(n)})}async ping(t,e={}){oE("dialing %s to %p",this.protocol,t);let n=Date.now(),i=qr(32),o=await this.components.connectionManager.openConnection(t,e),s,a=e.signal,c;if(a==null){s=new aE.TimeoutController(this.init.timeout),a=s.signal;try{(0,cE.setMaxListeners)?.(1/0,s.signal)}catch{}}try{c=await o.newStream([this.protocol],{signal:a});let l=Se(c,a),u=await vt([i],l,async d=>await be(d)),f=Date.now();if(u==null||!Et(i,u.subarray()))throw(0,sE.default)(new Error("Received wrong ping ack"),b.ERR_WRONG_PING_ACK);return f-n}finally{s?.clear(),c?.close()}}};async function lE(){throw new Error("Not supported in browsers")}var hE=S(fE(),1),oh=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Ac=(0,hE.default)(),xs=oh&&!Ac,dE=Ac&&!oh,pE=Ac&&oh,mE=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Ac,yE=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,qO=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",gE=typeof navigator<"u"&&navigator.product==="ReactNative";var xE=S(V(),1);function wE(r){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r)||/^::1$/.test(r)}function EE(r){let{address:t}=r.nodeAddress();return wE(t)}var sh=N("libp2p:nat"),ah=7200;function AR(r=1024,t=65535){return Math.floor(Math.random()*(t-r+1)+r)}var Rc=class{constructor(t,e){if(this.components=t,this.started=!1,this.enabled=e.enabled,this.externalAddress=e.externalAddress,this.localAddress=e.localAddress,this.description=e.description??`${Gw}@${bc} ${this.components.peerId.toString()}`,this.ttl=e.ttl??ah,this.keepAlive=e.keepAlive??!0,this.gateway=e.gateway,this.ttl<ah)throw(0,xE.default)(new Error(`NatManager ttl should be at least ${ah} seconds`),b.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){xs||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{sh.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let e of t){let{family:n,host:i,port:o,transport:s}=e.toOptions();if(!e.isThinWaistAddress()||s!=="tcp"||EE(e)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),l=Ba(c);if(l===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(l==null)throw new Error(`${c} is not an IP address`);let u=AR();sh(`opening uPnP connection from ${c}:${u} to ${i}:${o}`),await a.map({publicPort:u,localPort:o,localAddress:this.localAddress,protocol:s.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Gd({family:4,address:c,port:u},s))}}async _getClient(){return this.client!=null?this.client:(this.client=await lE({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(xs||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){sh.error(t)}}};var RR=N("libp2p:peer-record-updater"),Ic=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new Qt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(pt("p2p").code))}),e=await ee.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(e)}).catch(t=>{RR.error("Could not update self peer record: %o",t)})}};var vE=S(V(),1);var Tc=class{constructor(t){this.dht=t}async findPeer(t,e={}){for await(let n of this.dht.findPeer(t,e))if(n.name==="FINAL_PEER")return n.peer;throw(0,vE.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getClosestPeers(t,e={}){for await(let n of this.dht.getClosestPeers(t,e))n.name==="FINAL_PEER"&&(yield n.peer)}};var Dc=S(V(),1);var Q={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};async function*ch(r,t){for await(let e of r)await t(e),yield e}var wt=N("libp2p:peer-store:address-book"),Cc="change:multiaddrs";async function IR(){return!0}var Pc=class{constructor(t,e,n){this.dispatchEvent=t,this.store=e,this.addressFilter=n??IR}async consumePeerRecord(t){wt.trace("consumePeerRecord await write lock");let e=await this.store.lock.writeLock();wt.trace("consumePeerRecord got write lock");let n,i,o;try{let s;try{s=Qt.createFromProtobuf(t.payload)}catch{return wt.error("invalid peer record received"),!1}n=s.peerId;let a=s.multiaddrs;if(!n.equals(t.peerId))return wt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let l=await ee.createFromProtobuf(i.peerRecordEnvelope),u=Qt.createFromProtobuf(l.payload);if(u.seqNumber>=s.seqNumber)return wt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",u.seqNumber,s.seqNumber),!1}let c=await lh(n,a,this.addressFilter,!0);o=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),wt("stored provided peer record for %p",s.peerId)}finally{wt.trace("consumePeerRecord release write lock"),e()}return this.dispatchEvent(new H(Cc,{detail:{peerId:n,multiaddrs:o.addresses.map(({multiaddr:s})=>s),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:s})=>s)}})),!0}async getRawEnvelope(t){wt.trace("getRawEnvelope await read lock");let e=await this.store.lock.readLock();wt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{wt.trace("getRawEnvelope release read lock"),e()}}async getPeerRecord(t){let e=await this.getRawEnvelope(t);if(e!=null)return await ee.createFromProtobuf(e)}async get(t){t=qt(t),wt.trace("get wait for read lock");let e=await this.store.lock.readLock();wt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{wt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=qt(t),!Array.isArray(e))throw wt.error("multiaddrs must be an array of Multiaddrs"),(0,Dc.default)(new Error("multiaddrs must be an array of Multiaddrs"),Q.ERR_INVALID_PARAMETERS);wt.trace("set await write lock");let n=await this.store.lock.writeLock();wt.trace("set got write lock");let i=!1,o,s;try{let a=await lh(t,e,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length&&a.length===o.addresses.length)return}catch(c){if(c.code!==Q.ERR_NOT_FOUND)throw c}s=await this.store.patchOrCreate(t,{addresses:a}),wt("set multiaddrs for %p",t)}finally{wt.trace("set multiaddrs for %p",t),wt("set release write lock"),n()}this.dispatchEvent(new H(Cc,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new H("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async add(t,e){if(t=qt(t),!Array.isArray(e))throw wt.error("multiaddrs must be an array of Multiaddrs"),(0,Dc.default)(new Error("multiaddrs must be an array of Multiaddrs"),Q.ERR_INVALID_PARAMETERS);wt.trace("add await write lock");let n=await this.store.lock.writeLock();wt.trace("add got write lock");let i,o,s;try{let a=await lh(t,e,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length)return}catch(c){if(c.code!==Q.ERR_NOT_FOUND)throw c}s=await this.store.mergeOrCreate(t,{addresses:a}),wt("added multiaddrs for %p",t)}finally{wt.trace("set release write lock"),n()}this.dispatchEvent(new H(Cc,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new H("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async delete(t){t=qt(t),wt.trace("delete await write lock");let e=await this.store.lock.writeLock();wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{wt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Cc,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function lh(r,t,e,n=!1){return await vt(t,i=>ch(i,o=>{if(!Le(o))throw wt.error("multiaddr must be an instance of Multiaddr"),(0,Dc.default)(new Error("multiaddr must be an instance of Multiaddr"),Q.ERR_INVALID_PARAMETERS)}),i=>ce(i,async o=>await e(r,o)),i=>go(i,o=>({multiaddr:o,isCertified:n})),async i=>await Ge(i))}var _E=S(V(),1);var Sr=N("libp2p:peer-store:key-book"),bE="change:pubkey",Lc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async set(t,e){if(t=qt(t),!(e instanceof Uint8Array))throw Sr.error("publicKey must be an instance of Uint8Array to store data"),(0,_E.default)(new Error("publicKey must be an instance of PublicKey"),Q.ERR_INVALID_PARAMETERS);Sr.trace("set await write lock");let n=await this.store.lock.writeLock();Sr.trace("set got write lock");let i=!1,o;try{try{if(o=await this.store.load(t),o.pubKey!=null&&Et(o.pubKey,e))return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}await this.store.patchOrCreate(t,{pubKey:e}),i=!0}finally{Sr.trace("set release write lock"),n()}i&&this.dispatchEvent(new H(bE,{detail:{peerId:t,publicKey:e,oldPublicKey:o?.pubKey}}))}async get(t){t=qt(t),Sr.trace("get await write lock");let e=await this.store.lock.readLock();Sr.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{Sr("get release write lock"),e()}}async delete(t){t=qt(t),Sr.trace("delete await write lock");let e=await this.store.lock.writeLock();Sr.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}finally{Sr.trace("delete release write lock"),e()}this.dispatchEvent(new H(bE,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var uh=S(V(),1);var Xt=N("libp2p:peer-store:metadata-book"),Bc="change:metadata",Nc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){t=qt(t),Xt.trace("get await read lock");let e=await this.store.lock.readLock();Xt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{Xt.trace("get release read lock"),e()}return new Map}async getValue(t,e){t=qt(t),Xt.trace("getValue await read lock");let n=await this.store.lock.readLock();Xt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(e)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}finally{Xt.trace("getValue release write lock"),n()}}async set(t,e){if(t=qt(t),!(e instanceof Map))throw Xt.error("valid metadata must be provided to store data"),(0,uh.default)(new Error("valid metadata must be provided"),Q.ERR_INVALID_PARAMETERS);Xt.trace("set await write lock");let n=await this.store.lock.writeLock();Xt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(o){if(o.code!==Q.ERR_NOT_FOUND)throw o}await this.store.mergeOrCreate(t,{metadata:e})}finally{Xt.trace("set release write lock"),n()}this.dispatchEvent(new H(Bc,{detail:{peerId:t,metadata:e,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,e,n){if(t=qt(t),typeof e!="string"||!(n instanceof Uint8Array))throw Xt.error("valid key and value must be provided to store data"),(0,uh.default)(new Error("valid key and value must be provided"),Q.ERR_INVALID_PARAMETERS);Xt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Xt.trace("setValue got write lock");let o,s;try{try{o=await this.store.load(t);let a=o.metadata.get(e);if(a!=null&&Et(n,a))return}catch(a){if(a.code!==Q.ERR_NOT_FOUND)throw a}s=await this.store.mergeOrCreate(t,{metadata:new Map([[e,n]])})}finally{Xt.trace("setValue release write lock"),i()}this.dispatchEvent(new H(Bc,{detail:{peerId:t,metadata:s.metadata,oldMetadata:o==null?new Map:o.metadata}}))}async delete(t){t=qt(t),Xt.trace("delete await write lock");let e=await this.store.lock.writeLock();Xt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Xt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Bc,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,e){t=qt(t),Xt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Xt.trace("deleteValue got write lock");let i,o;try{o=await this.store.load(t),i=o.metadata,i.delete(e),await this.store.patch(t,{metadata:i})}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}finally{Xt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new H(Bc,{detail:{peerId:t,metadata:i,oldMetadata:o==null?new Map:o.metadata}}))}};var kc=S(V(),1);var Zt=N("libp2p:peer-store:proto-book"),Oc="change:protocols",Mc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){Zt.trace("get wait for read lock");let e=await this.store.lock.readLock();Zt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{Zt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,kc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("set await write lock");let n=await this.store.lock.writeLock();Zt.trace("set got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...e]).size===i.protocols.length)return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:e}),Zt("stored provided protocols for %p",t)}finally{Zt.trace("set release write lock"),n()}this.dispatchEvent(new H(Oc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,kc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("add await write lock");let n=await this.store.lock.writeLock();Zt.trace("add got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...e]).size===i.protocols.length)return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.mergeOrCreate(t,{protocols:e}),Zt("added provided protocols for %p",t)}finally{Zt.trace("add release write lock"),n()}this.dispatchEvent(new H(Oc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,kc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("remove await write lock");let n=await this.store.lock.writeLock();Zt.trace("remove got write lock");let i,o;try{try{i=await this.store.load(t);let s=new Set(i.protocols);for(let a of e)s.delete(a);if(i.protocols.length===s.size)return;e=Array.from(s)}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:e})}finally{Zt.trace("remove release write lock"),n()}this.dispatchEvent(new H(Oc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=qt(t),Zt.trace("delete await write lock");let e=await this.store.lock.writeLock();Zt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Zt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Oc,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Ch=S(V(),1);var vs;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addresses!=null)for(let o of e.addresses)n.uint32(10),Uc.codec().encode(o,n,{writeDefaults:!0});if(e.protocols!=null)for(let o of e.protocols)n.uint32(18),n.string(o);if(e.metadata!=null)for(let o of e.metadata)n.uint32(26),Fc.codec().encode(o,n,{writeDefaults:!0});e.pubKey!=null&&(n.uint32(34),n.bytes(e.pubKey)),e.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(e.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addresses:[],protocols:[],metadata:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.addresses.push(Uc.codec().decode(e,e.uint32()));break;case 2:i.protocols.push(e.string());break;case 3:i.metadata.push(Fc.codec().decode(e,e.uint32()));break;case 4:i.pubKey=e.bytes();break;case 5:i.peerRecordEnvelope=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(vs||(vs={}));var Uc;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.multiaddr!=null&&e.multiaddr.byteLength>0)&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.multiaddr=e.bytes();break;case 2:i.isCertified=e.bool();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Uc||(Uc={}));var Fc;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.key!=="")&&(n.uint32(10),n.string(e.key)),(i.writeDefaults===!0||e.value!=null&&e.value.byteLength>0)&&(n.uint32(18),n.bytes(e.value)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={key:"",value:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.key=e.string();break;case 2:i.value=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Fc||(Fc={}));var NE=S(AE(),1);var _s=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},hh=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},RE=r=>globalThis.DOMException===void 0?new hh(r):new DOMException(r),IE=r=>{let t=r.reason===void 0?RE("This operation was aborted."):r.reason;return t instanceof Error?t:RE(t)};function dh(r,t,e,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(IE(c)),c.addEventListener("abort",()=>{a(IE(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof e=="function"){try{s(e())}catch(u){a(u)}return}let c=typeof e=="string"?e:`Promise timed out after ${t} milliseconds`,l=e instanceof Error?e:new _s(c);typeof r.cancel=="function"&&r.cancel(),a(l)},t),(async()=>{try{s(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function ph(r,t,e){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;e(r[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var li=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Wr,Ss=class{constructor(){Wr.set(this,[])}enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&li(this,Wr,"f")[this.size-1].priority>=e.priority){li(this,Wr,"f").push(n);return}let i=ph(li(this,Wr,"f"),n,(o,s)=>s.priority-o.priority);li(this,Wr,"f").splice(i,0,n)}dequeue(){let t=li(this,Wr,"f").shift();return t?.run}filter(t){return li(this,Wr,"f").filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return li(this,Wr,"f").length}};Wr=new WeakMap;var Ot=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},O=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},zt,Rs,Is,Sn,Gc,Ts,Vc,ir,As,Ce,qc,De,Cs,_n,Hc,TE,CE,LE,DE,PE,$c,mh,yh,Yc,BE,zc,Wc=class extends Error{},so=class extends NE.default{constructor(t){var e,n,i,o;if(super(),zt.add(this),Rs.set(this,void 0),Is.set(this,void 0),Sn.set(this,0),Gc.set(this,void 0),Ts.set(this,void 0),Vc.set(this,0),ir.set(this,void 0),As.set(this,void 0),Ce.set(this,void 0),qc.set(this,void 0),De.set(this,0),Cs.set(this,void 0),_n.set(this,void 0),Hc.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Ss,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(e=t.intervalCap)===null||e===void 0?void 0:e.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);Ot(this,Rs,t.carryoverConcurrencyCount,"f"),Ot(this,Is,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ot(this,Gc,t.intervalCap,"f"),Ot(this,Ts,t.interval,"f"),Ot(this,Ce,new t.queueClass,"f"),Ot(this,qc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ot(this,Hc,t.throwOnTimeout===!0,"f"),Ot(this,_n,t.autoStart===!1,"f")}get concurrency(){return O(this,Cs,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Ot(this,Cs,t,"f"),O(this,zt,"m",Yc).call(this)}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:O(this,Hc,"f"),...e},new Promise((n,i)=>{O(this,Ce,"f").enqueue(async()=>{var o,s,a;Ot(this,De,(s=O(this,De,"f"),s++,s),"f"),Ot(this,Sn,(a=O(this,Sn,"f"),a++,a),"f");try{if(!((o=e.signal)===null||o===void 0)&&o.aborted)throw new Wc("The task was aborted.");let c=t({signal:e.signal});e.timeout&&(c=dh(Promise.resolve(c),e.timeout)),e.signal&&(c=Promise.race([c,O(this,zt,"m",BE).call(this,e.signal)]));let l=await c;n(l),this.emit("completed",l)}catch(c){if(c instanceof _s&&!e.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{O(this,zt,"m",LE).call(this)}},e),this.emit("add"),O(this,zt,"m",$c).call(this)})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return O(this,_n,"f")?(Ot(this,_n,!1,"f"),O(this,zt,"m",Yc).call(this),this):this}pause(){Ot(this,_n,!0,"f")}clear(){Ot(this,Ce,new(O(this,qc,"f")),"f")}async onEmpty(){O(this,Ce,"f").size!==0&&await O(this,zt,"m",zc).call(this,"empty")}async onSizeLessThan(t){O(this,Ce,"f").size<t||await O(this,zt,"m",zc).call(this,"next",()=>O(this,Ce,"f").size<t)}async onIdle(){O(this,De,"f")===0&&O(this,Ce,"f").size===0||await O(this,zt,"m",zc).call(this,"idle")}get size(){return O(this,Ce,"f").size}sizeBy(t){return O(this,Ce,"f").filter(t).length}get pending(){return O(this,De,"f")}get isPaused(){return O(this,_n,"f")}};Rs=new WeakMap,Is=new WeakMap,Sn=new WeakMap,Gc=new WeakMap,Ts=new WeakMap,Vc=new WeakMap,ir=new WeakMap,As=new WeakMap,Ce=new WeakMap,qc=new WeakMap,De=new WeakMap,Cs=new WeakMap,_n=new WeakMap,Hc=new WeakMap,zt=new WeakSet,TE=function(){return O(this,Is,"f")||O(this,Sn,"f")<O(this,Gc,"f")},CE=function(){return O(this,De,"f")<O(this,Cs,"f")},LE=function(){var t;Ot(this,De,(t=O(this,De,"f"),t--,t),"f"),O(this,zt,"m",$c).call(this),this.emit("next")},DE=function(){O(this,zt,"m",yh).call(this),O(this,zt,"m",mh).call(this),Ot(this,As,void 0,"f")},PE=function(){let t=Date.now();if(O(this,ir,"f")===void 0){let e=O(this,Vc,"f")-t;if(e<0)Ot(this,Sn,O(this,Rs,"f")?O(this,De,"f"):0,"f");else return O(this,As,"f")===void 0&&Ot(this,As,setTimeout(()=>{O(this,zt,"m",DE).call(this)},e),"f"),!0}return!1},$c=function(){if(O(this,Ce,"f").size===0)return O(this,ir,"f")&&clearInterval(O(this,ir,"f")),Ot(this,ir,void 0,"f"),this.emit("empty"),O(this,De,"f")===0&&this.emit("idle"),!1;if(!O(this,_n,"f")){let t=!O(this,zt,"a",PE);if(O(this,zt,"a",TE)&&O(this,zt,"a",CE)){let e=O(this,Ce,"f").dequeue();return e?(this.emit("active"),e(),t&&O(this,zt,"m",mh).call(this),!0):!1}}return!1},mh=function(){O(this,Is,"f")||O(this,ir,"f")!==void 0||(Ot(this,ir,setInterval(()=>{O(this,zt,"m",yh).call(this)},O(this,Ts,"f")),"f"),Ot(this,Vc,Date.now()+O(this,Ts,"f"),"f"))},yh=function(){O(this,Sn,"f")===0&&O(this,De,"f")===0&&O(this,ir,"f")&&(clearInterval(O(this,ir,"f")),Ot(this,ir,void 0,"f")),Ot(this,Sn,O(this,Rs,"f")?O(this,De,"f"):0,"f"),O(this,zt,"m",Yc).call(this)},Yc=function(){for(;O(this,zt,"m",$c).call(this););},BE=async function(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(new Wc("The task was aborted."))},{once:!0})})},zc=async function(t,e){return new Promise(n=>{let i=()=>{e&&!e()||(this.off(t,i),n())};this.on(t,i)})};var gh=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},wh=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},OE=r=>globalThis.DOMException===void 0?new wh(r):new DOMException(r),kE=r=>{let t=r.reason===void 0?OE("This operation was aborted."):r.reason;return t instanceof Error?t:OE(t)};function Eh(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,a=new Promise((c,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){c(r);return}if(t.signal){let{signal:u}=t;u.aborted&&l(kE(u)),u.addEventListener("abort",()=>{l(kE(u))})}s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(u){l(u)}return}if(typeof r.cancel=="function"&&r.cancel(),i===!1)c();else if(i instanceof Error)l(i);else{let u=i??`Promise timed out after ${e} milliseconds`;l(new gh(u))}},e),(async()=>{try{c(await r)}catch(u){l(u)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var xh="lock:worker:request-read",vh="lock:worker:release-read",bh="lock:master:grant-read",_h="lock:worker:request-write",Sh="lock:worker:release-write",Ah="lock:master:grant-write";var An={},ao=r=>{r.addEventListener("message",t=>{ao.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{ao.dispatchEvent("message",r,t)})};ao.addEventListener=(r,t)=>{An[r]==null&&(An[r]=[]),An[r].push(t)};ao.removeEventListener=(r,t)=>{An[r]!=null&&(An[r]=An[r].filter(e=>e===t))};ao.dispatchEvent=function(r,t,e){An[r]!=null&&An[r].forEach(n=>n(t,e))};var Rh=ao;var ME=(r,t,e,n,i)=>(o,s)=>{if(s.data.type!==e)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=u=>{if(u==null||u.data==null)return;let f={type:u.data.type,name:u.data.name,identifier:u.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",l),c())};o.addEventListener("message",l)}))}}))},UE=(r,t,e,n)=>async()=>{let i=zs();return globalThis.postMessage({type:t,identifier:i,name:r}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",s)})},DR={singleProcess:!1},FE=r=>{if(r=Object.assign({},DR,r),Boolean(globalThis.document)||r.singleProcess){let e=new EventTarget;return Rh.addEventListener("message",ME(e,"requestReadLock",xh,vh,bh)),Rh.addEventListener("message",ME(e,"requestWriteLock",_h,Sh,Ah)),e}return{isWorker:!0,readLock:e=>UE(e,xh,bh,vh),writeLock:e=>UE(e,_h,Ah,Sh)}};var ui={},Rn;async function Ih(r,t){let e,n=new Promise(i=>{e=i});return r.add(async()=>await Eh((async()=>await new Promise(i=>{e(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var PR=(r,t)=>{if(Rn.isWorker===!0)return{readLock:Rn.readLock(r,t),writeLock:Rn.writeLock(r,t)};let e=new so({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ih(n,t);n=new so({concurrency:t.concurrency,autoStart:!1});let i=n,o=Ih(n,t);return e.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Ih(e,t)}}},LR={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Th(r){let t=Object.assign({},LR,r);return Rn==null&&(Rn=FE(t),Rn.isWorker!==!0&&(Rn.addEventListener("requestReadLock",e=>{ui[e.data.name]!=null&&ui[e.data.name].readLock().then(async n=>await e.data.handler().finally(()=>n()))}),Rn.addEventListener("requestWriteLock",async e=>{ui[e.data.name]!=null&&ui[e.data.name].writeLock().then(async n=>await e.data.handler().finally(()=>n()))}))),ui[t.name]==null&&(ui[t.name]=PR(t.name,t)),ui[t.name]}var KE=N("libp2p:peer-store:store"),VE="/peers/",Qc=class{constructor(t){this.components=t,this.lock=Th({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw KE.error("peerId must be an instance of peer-id to store data"),(0,Ch.default)(new Error("peerId must be an instance of peer-id"),Q.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Mt(`${VE}${e}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let e=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=vs.decode(e),i=new Map;for(let o of n.metadata)i.set(o.key,o.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:j(o),isCertified:s??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!Et(t.pubKey,t.id.publicKey))throw KE.error("peer publicKey bytes do not match peer id publicKey bytes"),(0,Ch.default)(new Error("publicKey bytes do not match peer id publicKey bytes"),Q.ERR_INVALID_PARAMETERS);let e=new Set,n=t.addresses.filter(s=>e.has(s.multiaddr.toString())?!1:(e.add(s.multiaddr.toString()),!0)).sort((s,a)=>s.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:s,isCertified:a})=>({multiaddr:s.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(s=>{let a=t.metadata.get(s);a!=null&&i.push({key:s,value:a})});let o=vs.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),o.subarray()),await this.load(t.id)}async patch(t,e){let n=await this.load(t);return await this._patch(t,e,n)}async patchOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,e,n)}async _patch(t,e,n){return await this.save({...n,...e,id:t})}async merge(t,e){let n=await this.load(t);return await this._merge(t,e,n)}async mergeOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,e,n)}async _merge(t,e,n){let i=new Map;return n.addresses.forEach(o=>{i.set(o.multiaddr.toString(),o.isCertified)}),(e.addresses??[]).forEach(o=>{let s=o.multiaddr.toString(),c=Boolean(i.get(s))||o.isCertified;i.set(s,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([o,s])=>({multiaddr:j(o),isCertified:s})),protocols:Array.from(new Set([...n.protocols??[],...e.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...e.metadata?.entries()??[]]),pubKey:e.pubKey??n?.pubKey,peerRecordEnvelope:e.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:VE})){let e=t.toString().split("/")[2],n=ve.decode(e);yield this.load(en(n))}}};var Dh=S(V(),1);var Qr;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.tags!=null)for(let o of e.tags)n.uint32(10),Xc.codec().encode(o,n,{writeDefaults:!0});i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={tags:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.tags.push(Xc.codec().decode(e,e.uint32()));break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Qr||(Qr={}));var Xc;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.name!=="")&&(n.uint32(10),n.string(e.name)),e.value!=null&&(n.uint32(16),n.uint32(e.value)),e.expiry!=null&&(n.uint32(24),n.uint64(e.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={name:""},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.name=e.string();break;case 2:i.value=e.uint32();break;case 3:i.expiry=e.uint64();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Xc||(Xc={}));var He=N("libp2p:peer-store"),Zc=class extends Pt{constructor(t,e={}){super(),this.components=t,this.store=new Qc(t),this.addressBook=new Pc(this.dispatchEvent.bind(this),this.store,e.addressFilter),this.keyBook=new Lc(this.dispatchEvent.bind(this),this.store),this.metadataBook=new Nc(this.dispatchEvent.bind(this),this.store),this.protoBook=new Mc(this.dispatchEvent.bind(this),this.store)}async forEach(t){He.trace("getPeers await read lock");let e=await this.store.lock.readLock();He.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{He.trace("getPeers release read lock"),e()}}async all(){let t=[];return await this.forEach(e=>{t.push(e)}),t}async delete(t){He.trace("delete await write lock");let e=await this.store.lock.writeLock();He.trace("delete got write lock");try{await this.store.delete(t)}finally{He.trace("delete release write lock"),e()}}async get(t){He.trace("get await read lock");let e=await this.store.lock.readLock();He.trace("get got read lock");try{return await this.store.load(t)}finally{He.trace("get release read lock"),e()}}async has(t){He.trace("has await read lock");let e=await this.store.lock.readLock();He.trace("has got read lock");try{return await this.store.has(t)}finally{He.trace("has release read lock"),e()}}async tagPeer(t,e,n={}){let i=n.value??0,o=Math.round(i),s=n.ttl??void 0;if(o!==i||o<0||o>100)throw(0,Dh.default)(new Error("Tag value must be between 0-100"),"ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=Qr.decode(a).tags);for(let l of c)if(l.name===e)throw(0,Dh.default)(new Error("Peer already tagged"),"ERR_DUPLICATE_TAG");c.push({name:e,value:o,expiry:s==null?void 0:BigInt(Date.now()+s)}),await this.metadataBook.setValue(t,"tags",Qr.encode({tags:c}).subarray())}async unTagPeer(t,e){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=Qr.decode(n).tags),i=i.filter(o=>o.name!==e),await this.metadataBook.setValue(t,"tags",Qr.encode({tags:i}).subarray())}async getTags(t){let e=await this.metadataBook.getValue(t,"tags"),n=[];e!=null&&(n=Qr.decode(e).tags);let i=BigInt(Date.now()),o=n.filter(s=>s.expiry==null||s.expiry>i);return o.length!==n.length&&await this.metadataBook.setValue(t,"tags",Qr.encode({tags:o}).subarray()),o.map(s=>({name:s.name,value:s.value??0}))}};var qE=S(V(),1),Jc=class{constructor(t){this.dht=t}async provide(t){await Ye(this.dht.provide(t))}async*findProviders(t,e={}){for await(let n of this.dht.findProviders(t,e))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,e,n){await Ye(this.dht.put(t,e,n))}async get(t,e){for await(let n of this.dht.get(t,e))if(n.name==="VALUE")return n.value;throw(0,qE.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var Pe=S(V(),1);var jc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>Cr(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,Pe.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,Pe.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,Pe.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,Pe.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,Pe.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,Pe.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,Pe.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,Pe.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,Pe.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,Pe.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,Pe.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,Pe.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Lh=S(fl(),1),Bh=S(zE(),1);var GE=globalThis.fetch,YE=globalThis.Headers,P6=globalThis.Request,L6=globalThis.Response;function tl(r,t,e){return`${r}?name=${t}&type=${e}`}async function WE(r,t){return await(await GE(r,{headers:new YE({accept:"application/dns-json"}),signal:t})).json()}function fi(r,t){return`${t}_${r}`}var Ph=Object.assign((0,Lh.default)("dns-over-http-resolver"),{error:(0,Lh.default)("dns-over-http-resolver:error")}),Nh=class{constructor(t={}){this._cache=new Bh.default({max:t?.maxCache??100}),this._TXTcache=new Bh.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??WE,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*e),i=t[e];t[e]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,e="A"){switch(e){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${e} is not supported`)}}async resolve4(t){let e="A",n=this._cache.get(fi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(tl(o,t,e),s.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(fi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolve6(t){let e="AAAA",n=this._cache.get(fi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(tl(o,t,e),s.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(fi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolveTxt(t){let e="TXT",n=this._TXTcache.get(fi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(tl(o,t,e),s.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),l=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(fi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},QE=Nh;var XE=QE;var{code:MR}=pt("dnsaddr");async function ZE(r,t={}){let e=new XE;t.signal!=null&&t.signal.addEventListener("abort",()=>{e.cancel()});let n=r.getPeerId(),[,i]=r.stringTuples().find(([a])=>a===MR)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await e.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var el=S(V(),1);var qR={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:r=>r},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:ZE},addressSorter:Ui},connectionGater:{},transportManager:{faultTolerance:ln.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},relay:{enabled:!0,advertise:{bootDelay:9e5,enabled:!1,ttl:18e5},hop:{enabled:!1,active:!1,timeout:3e4},autoRelay:{enabled:!1,maxListeners:2}},identify:{protocolPrefix:"ipfs",host:{agentVersion:ih},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};function JE(r){let t=Be(qR,r);if(t.transports==null||t.transports.length<1)throw(0,el.default)(new Error(X.ERR_TRANSPORTS_REQUIRED),b.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,el.default)(new Error(X.CONN_ENCRYPTION_REQUIRED),b.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,el.default)(new Error(X.ERR_PROTECTOR_REQUIRED),b.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===ih&&(mE||dE?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(xs||yE||pE||gE)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Uh;(function(r){let t;r.codec=()=>(t==null&&(t=St((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.id!=null&&e.id.byteLength>0)&&(n.uint32(10),n.bytes(e.id)),e.pubKey!=null&&(n.uint32(18),n.bytes(e.pubKey)),e.privKey!=null&&(n.uint32(26),n.bytes(e.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={id:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.id=e.bytes();break;case 2:i.pubKey=e.bytes();break;case 3:i.privKey=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>_t(e,r.codec()),r.decode=e=>bt(e,r.codec())})(Uh||(Uh={}));var jE=async()=>{let r=await yc("Ed25519"),t=await HR(r);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function HR(r){return await rn(Sw(r.public),Aw(r))}var Ps=S(V(),1);var $e=S(V(),1);var t1=Symbol.for("@libp2p/peer-discovery");var rl=class extends Pt{get[t1](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}get lan(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}get(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}findProviders(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}findPeer(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}getClosestPeers(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}provide(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}put(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async getMode(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async setMode(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async refreshRoutingTable(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}};var Xr=S(V(),1);var nl=class extends Pt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}async publish(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}};var co=S(V(),1);var g1=S(Br(),1),qh=S(Kh(),1),w1=S(lr(),1);var Ds=S(V(),1),p1=S(Kh(),1),m1=S(h1(),1),Vh=S(lr(),1);var d1=N("libp2p:dialer:dial-request"),il=class{constructor(t){let{addrs:e,dialAction:n,dialer:i}=t;this.addrs=e,this.dialer=i,this.dialAction=n}async run(t={}){let e=this.dialer.getTokens(this.addrs.length);if(e.length<1)throw(0,Ds.default)(new Error("No dial tokens available"),b.ERR_NO_DIAL_TOKENS);let n=new m1.default;for(let a of e)n.push(a).catch(c=>{d1.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,Vh.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,Vh.setMaxListeners)?.(1/0,t.signal)}catch{}let o=0,s=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let l=await n.shift();if(s)throw this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0]),(0,Ds.default)(new Error("dialAction already succeeded"),b.ERR_ALREADY_SUCCEEDED);let u=i[c];if(u==null)throw(0,Ds.default)(new Error("dialAction did not come with an AbortController"),b.ERR_INVALID_PARAMETERS);let f;try{let d=u.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,p1.anySignal)([d,t.signal]):d}),i[c]=void 0}finally{o++,this.addrs.length-o>=e.length?n.push(l).catch(d=>{d1.error(d)}):this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0])}if(f==null)throw(0,Ds.default)(new Error("dialAction led to empty object"),b.ERR_TRANSPORT_DIAL_FAILED);return s=!0,f}))}finally{i.forEach(a=>{a!==void 0&&a.abort()}),e.forEach(a=>this.dialer.releaseToken(a))}}};var Ar=N("libp2p:dialer"),ol=class{constructor(t,e={}){this.started=!1,this.addressSorter=e.addressSorter??Ui,this.maxAddrsToDial=e.maxAddrsToDial??25,this.timeout=e.dialTimeout??3e4,this.maxDialsPerPeer=e.maxDialsPerPeer??4,this.tokens=[...new Array(e.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=ls({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=ls({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(e.resolvers??{}))Yl.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(e){Ar.error(e)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,e={}){let{peerId:n,multiaddr:i}=ha(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,co.default)(new Error("Tried to dial self"),b.ERR_DIALED_SELF);if(i!=null&&(Ar("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer(n))throw(0,co.default)(new Error("The dial request is blocked by gater.allowDialPeer"),b.ERR_PEER_DIAL_INTERCEPTED)}Ar("creating dial target for %p",n);let o=new AbortController,s=y1();this.pendingDialTargets.set(s,o);let a=o.signal;e.signal!=null&&(a=(0,qh.anySignal)([a,e.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...e,signal:a})}finally{this.pendingDialTargets.delete(s)}if(c.addrs.length===0)throw(0,co.default)(new Error("The dial request has no valid addresses"),b.ERR_NO_VALID_ADDRESSES);let l=this.pendingDials.get(c.id)??this._createPendingDial(c,e);try{let u=await l.promise;return Ar("dial succeeded to %s",c.id),u}catch(u){throw Ar("dial failed to %s",c.id,u),l.controller.signal.aborted&&(u.code=b.ERR_TIMEOUT),Ar.error(u),u}finally{l.destroy()}}async _createDialTarget(t,e){let n=[];if(Le(t.multiaddr)&&n.push(t.multiaddr),!Le(t.multiaddr)&&On(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async o=>await this._resolve(o,e)))).flat().filter(o=>Boolean(this.components.transportManager.transportForMultiaddr(o))),n=[...new Set(n.map(o=>o.toString()))].map(o=>j(o)),n.length>this.maxAddrsToDial)throw(0,co.default)(new Error("dial with more addresses than allowed"),b.ERR_TOO_MANY_ADDRESSES);let i=On(t.peerId)?t.peerId:void 0;if(i!=null){let o=`/p2p/${i.toString()}`;n=n.map(s=>{let a=s.getPeerId();return a==null||!i.equals(a)?s.encapsulate(o):s})}return{id:i==null?y1():i.toString(),addrs:n}}async _loadAddresses(t){let e=await this.components.peerStore.addressBook.get(t);return(await Promise.all(e.map(async n=>await this.components.connectionGater.denyDialMultiaddr(t,n.multiaddr)?!1:n))).filter(GR).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,e={}){let n=async(l,u={})=>{if(u.signal?.aborted===!0)throw(0,co.default)(new Error("already aborted"),b.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(l,u).catch(f=>{throw Ar.error("dial to %s failed",l,f),f})},i=new il({addrs:t.addrs,dialAction:n,dialer:this}),o=new g1.TimeoutController(this.timeout),s=[o.signal];e.signal!=null&&s.push(e.signal);let a=(0,qh.anySignal)(s);try{(0,w1.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:o,promise:i.run({...e,signal:a}),destroy:()=>{o.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let e=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,e);return Ar("%d tokens request, returning %d, %d remaining",t,e,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(Ar("token %d released",t),this.tokens.push(t))}async _resolve(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,e);return(await Promise.all(i.map(async a=>await this._resolve(a,e)))).flat().reduce((a,c)=>(a.find(l=>l.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,e){try{return t=j(t.toString()),await t.resolve(e)}catch(n){return Ar.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function GR(r){return Boolean(r)}function y1(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Rr=N("libp2p"),Hh=class extends Pt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let e=this.components=new jc({peerId:t.peerId,datastore:t.datastore??new Ys,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});e.peerStore=new Zc(e,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[e],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",s=>{let{detail:a}=s;this.dispatchEvent(new H("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(e)),this.components.upgrader=new vc(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(s=>this.configureComponent(s(this.components))),muxers:(t.streamMuxers??[]).map(s=>this.configureComponent(s(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new ol(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new ma(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",s=>{this.dispatchEvent(new H("peer:disconnect",{detail:s.detail}))}),this.components.connectionManager.addEventListener("peer:connect",s=>{this.dispatchEvent(new H("peer:connect",{detail:s.detail}))}),this.registrar=this.components.registrar=new xc(this.components),this.components.transportManager=new wc(this.components,t.transportManager),this.components.addressManager=new ia(this.components,t.addresses),this.configureComponent(new Ic(this.components)),this.configureComponent(new ya(this.components,{enabled:t.connectionManager.autoDial,minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval}));let n=ii.generateOptions();this.keychain=this.configureComponent(new ii(this.components,{...n,...t.keychain})),this.services.push(new Rc(this.components,t.nat)),t.transports.forEach(s=>{this.components.transportManager.add(this.configureComponent(s(this.components)))}),this.identifyService=new io(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new rl,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new nl;let i=(t.peerRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&(i.push(this.configureComponent(new Tc(this.dht))),this.dht.addEventListener("peer",s=>{this.onDiscoveryPeer(s)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new ta(this.components,{...t.peerRouting,routers:i}));let o=(t.contentRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&o.push(this.configureComponent(new Jc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new ra(this.components,{routers:o})),t.relay.enabled&&(this.components.transportManager.add(this.configureComponent(new Ta(this.components,t.relay))),this.configureComponent(new Oa(this.components,{addressSorter:t.connectionManager.addressSorter,...t.relay}))),this.fetchService=this.configureComponent(new _c(this.components,{...t.fetch})),this.pingService=this.configureComponent(new Sc(this.components,{...t.ping}));for(let s of t.peerDiscovery??[])this.configureComponent(s(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)})}configureComponent(t){return Cr(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,Rr("libp2p is starting"),(await this.keychain.listKeys()).find(e=>e.name==="self")==null&&(Rr("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(this.services.map(e=>e.start())),await Promise.all(this.services.map(async e=>{e.afterStart!=null&&await e.afterStart()})),Rr("libp2p has started")}catch(e){throw Rr.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){this.started&&(Rr("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(t=>t.stop())),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),Rr("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Mr;for(let e of this.components.connectionManager.getConnections())t.add(e.remotePeer);return Array.from(t)}async dial(t,e={}){return await this.components.connectionManager.openConnection(t,e)}async dialProtocol(t,e,n={}){if(e==null)throw(0,Ps.default)(new Error("no protocols were provided to open a stream"),b.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(e=Array.isArray(e)?e:[e],e.length===0)throw(0,Ps.default)(new Error("no protocols were provided to open a stream"),b.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(e,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){Le(t)&&(t=tt(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,e={}){if(Rr("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,Ps.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),b.ERR_NO_ROUTERS_AVAILABLE);let i=Vt([U("/pk/"),t.multihash.digest]);for await(let o of this.dht.get(i,e))if(o.name==="VALUE"){let s=is(o.value);return await this.peerStore.keyBook.set(t,o.value),s.bytes}throw(0,Ps.default)(new Error(`Node not responding with its public key: ${t.toString()}`),b.ERR_INVALID_RECORD)}async fetch(t,e,n={}){if(Le(t)){let i=tt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,e,n)}async ping(t,e={}){if(Le(t)){let n=tt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,e)}async handle(t,e,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,e,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async e=>{await this.components.registrar.unhandle(e)}))}async register(t,e){return await this.registrar.register(t,e)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:e}=t;if(e.id.toString()===this.peerId.toString()){Rr.error(new Error(b.ERR_DISCOVERED_SELF));return}e.multiaddrs.length>0&&this.components.peerStore.addressBook.add(e.id,e.multiaddrs).catch(n=>Rr.error(n)),e.protocols.length>0&&this.components.peerStore.protoBook.set(e.id,e.protocols).catch(n=>Rr.error(n)),this.dispatchEvent(new H("peer:discovery",{detail:e}))}};async function E1(r){if(r.peerId==null){let t=r.datastore;if(t!=null)try{let e=new ii({datastore:t},Be(ii.generateOptions(),r.keychain));r.peerId=await e.exportPeerId("self")}catch(e){if(e.code!=="ERR_NOT_FOUND")throw e}}return r.peerId==null&&(r.peerId=await jE()),new Hh(JE(r))}async function YR(r){let t=await E1(r);return r.start!==!1&&await t.start(),t}return A1(WR);})();
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),pb=new RegExp(`(?:^${Xe}$)|(?:^${Da}$)`),mb=new RegExp(`^${Xe}$`),yb=new RegExp(`^${Da}$`),zu=r=>r&&r.exact?pb:new RegExp(`(?:${un(r)}${Xe}${un(r)})|(?:${un(r)}${Da}${un(r)})`,"g");zu.v4=r=>r&&r.exact?mb:new RegExp(`${un(r)}${Xe}${un(r)}`,"g");zu.v6=r=>r&&r.exact?yb:new RegExp(`${un(r)}${Da}${un(r)}`,"g");var qm=zu;var Ym=S($m(),1),{isValid:gb,parse:wb}=Ym.default,Eb=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],xb=Eb.map(r=>new Gm.Netmask(r));function vb(r){for(let t of xb)if(t.contains(r))return!0;return!1}function zm(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var Wm=r=>{if(gb(r)){let t=wb(r);if(t.kind()==="ipv4")return vb(t.toNormalizedString());if(t.kind()==="ipv6")return zm(r)}else if(Ei(r)&&qm.v6().test(r))return zm(r)};var La=Wm;function Gu(r){let{address:t}=r.nodeAddress();return Boolean(La(t))}function Fi(r,t){let e=Gu(r.multiaddr),n=Gu(t.multiaddr);return e&&!n?1:!e&&n||r.isCertified&&!t.isCertified?-1:!r.isCertified&&t.isCertified?1:0}var ko=N("libp2p:auto-relay"),_b=()=>{},Ba=class{constructor(t,e){this.components=t,this.addressSorter=e.addressSorter??Fi,this.maxListeners=e.maxListeners??1,this.listenRelays=new Set,this.onError=e.onError??_b,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this.components.peerStore.addEventListener("change:protocols",n=>{this._onProtocolChange(n).catch(i=>{ko.error(i)})}),this.components.connectionManager.addEventListener("peer:disconnect",this._onPeerDisconnected)}async _onProtocolChange(t){let{peerId:e,protocols:n}=t.detail,i=e.toString();if(n.find(s=>s===fr)==null){this.listenRelays.has(i)&&await this._removeListenRelay(i);return}if(!this.listenRelays.has(i))try{let s=this.components.connectionManager.getConnections(e);if(s.length===0)return;let a=s[0];if(a.remoteAddr.protoCodes().includes(290)){ko(`relayed connection to ${i} will not be used to hop on`);return}await Nm({connection:a})&&(await this.components.peerStore.metadataBook.setValue(e,qu,U(Hu)),await this._addListenRelay(a,i))}catch(s){this.onError(s)}}_onPeerDisconnected(t){let i=t.detail.remotePeer.toString();this.listenRelays.has(i)&&this._removeListenRelay(i).catch(o=>{ko.error(o)})}async _addListenRelay(t,e){try{if(this.listenRelays.size>=this.maxListeners)return;let n=await Pt(await this.components.peerStore.addressBook.get(t.remotePeer),o=>$u(o,this.addressSorter),async o=>await Pr(o));(await Promise.all(n.map(async o=>{try{let s=o.multiaddr;return s.getPeerId()==null&&(s=s.encapsulate(`/p2p/${t.remotePeer.toString()}`)),s=s.encapsulate("/p2p-circuit"),await this.components.transportManager.listen([s]),!0}catch(s){ko.error("error listening on circuit address",s),this.onError(s)}return!1}))).includes(!0)&&this.listenRelays.add(e)}catch(n){this.onError(n),this.listenRelays.delete(e)}}async _removeListenRelay(t){this.listenRelays.delete(t)&&await this._listenOnAvailableHopRelays([t])}async _listenOnAvailableHopRelays(t=[]){if(this.listenRelays.size>=this.maxListeners)return;let e=[],n=await this.components.peerStore.all();for(let{id:i,metadata:o}of n){let s=i.toString();if(this.listenRelays.has(s)||t.includes(s))continue;let a=o.get(qu);if(a==null||$(a)!==Hu)continue;let c=this.components.connectionManager.getConnections(i);if(c.length===0){e.push(i);continue}if(await this._addListenRelay(c[0],s),this.listenRelays.size>=this.maxListeners)return}for(let i of e)if(await this._tryToListenOnRelay(i),this.listenRelays.size>=this.maxListeners)return;try{let i=await Ta(Ca);for await(let o of this.components.contentRouting.findProviders(i)){if(o.multiaddrs.length===0)continue;let s=o.id;if(!s.equals(this.components.peerId)&&(await this.components.peerStore.addressBook.add(s,o.multiaddrs),await this._tryToListenOnRelay(s),this.listenRelays.size>=this.maxListeners))return}}catch(i){this.onError(i)}}async _tryToListenOnRelay(t){try{let e=await this.components.connectionManager.openConnection(t);await this._addListenRelay(e,t.toString())}catch(e){ko.error("Could not use %p as relay",t,e),this.onError(e,`could not connect and listen on known hop relay ${t.toString()}`)}}};var Qm=N("libp2p:relay"),Na=class{constructor(t,e){this.components=t,this.autoRelay=e.autoRelay?.enabled!==!1?new Ba(t,{addressSorter:e.addressSorter,...e.autoRelay}):void 0,this.started=!1,this.init=e,this._advertiseService=this._advertiseService.bind(this)}isStarted(){return this.started}async start(){this.init.hop.enabled!==!1&&this.init.advertise.enabled!==!1&&(this.timeout=(0,Oa.setDelayedInterval)(this._advertiseService,this.init.advertise.ttl,this.init.advertise.bootDelay)),this.started=!0}async stop(){this.timeout!=null&&(0,Oa.clearDelayedInterval)(this.timeout),this.started=!1}async _advertiseService(){try{let t=await Ta(Ca);await this.components.contentRouting.provide(t)}catch(t){t.code===b.ERR_NO_ROUTERS_AVAILABLE?(Qm.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),await this.stop()):Qm.error(t)}}};var Dw=S(iy(),1);var ut=S(V(),1);var nt;(function(r){r.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",r.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",r.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",r.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",r.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",r.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",r.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",r.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",r.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",r.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",r.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",r.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",r.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",r.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",r.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(nt||(nt={}));var Lt;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Lt||(Lt={}));var Yu;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Yu||(Yu={}));(function(r){r.codec=()=>cn(Yu)})(Lt||(Lt={}));var hr;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Lt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.Type=Lt.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(hr||(hr={}));var dr;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Lt.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.Type=Lt.codec().decode(e);break;case 2:i.Data=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(dr||(dr={}));var qB=S(Ko(),1),HB=S(Eg(),1),pc=S(mt(),1),qf=S(V(),1);var sA=S(V(),1);var ge={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var aA=S(V(),1);var F8=S($t(),1),K8=S(Za(),1),vg=S(mt(),1);function je(r,t){let e=Uint8Array.from(r.abs().toByteArray());if(e=e[0]===0?e.subarray(1):e,t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Vt([new Uint8Array(t-e.length),e])}return $(e,"base64url")}function Ie(r){let t=bg(r);return new vg.default.jsbn.BigInteger($(t,"base16"),16)}function bg(r,t){let e=U(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Vt([new Uint8Array(t-e.length),e])}return e}var cA={"P-256":256,"P-384":384,"P-521":521},lA=Object.keys(cA),X8=lA.join(" / ");function ec(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,i=r?.digest??"SHA-256",o=r?.saltLength??16,s=r?.iterations??32767,a=ge.get();e*=8;async function c(f,d){let h=a.getRandomValues(new Uint8Array(o)),p=a.getRandomValues(new Uint8Array(n)),m={name:t,iv:p};typeof d=="string"&&(d=U(d));let y={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},g=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),E=await a.subtle.deriveKey(y,g,{name:t,length:e},!0,["encrypt"]),_=await a.subtle.encrypt(m,E,f);return Vt([h,m.iv,new Uint8Array(_)])}async function l(f,d){let h=f.subarray(0,o),p=f.subarray(o,o+n),m=f.subarray(o+n),y={name:t,iv:p};typeof d=="string"&&(d=U(d));let g={name:"PBKDF2",salt:h,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),_=await a.subtle.deriveKey(g,E,{name:t,length:e},!0,["decrypt"]),k=await a.subtle.decrypt(y,_,m);return new Uint8Array(k)}return{encrypt:c,decrypt:l}}async function Sg(r,t){let e=Dn.decode(r);return await ec().decrypt(e,t)}var Cf={};ae(Cf,{RsaPrivateKey:()=>Zi,RsaPublicKey:()=>Qo,fromJwk:()=>NA,generateKeyPair:()=>OA,unmarshalRsaPrivateKey:()=>LA,unmarshalRsaPublicKey:()=>BA});var Tf=S(V(),1);var IB=S(Cg(),1),Wo=S(mt(),1);var fA=S(Kn(),1);var ot=BigInt(0),Tt=BigInt(1),yn=BigInt(2),zo=BigInt(3),Dg=BigInt(8),Ft=Object.freeze({a:ot,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:Tt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Pg=(r,t)=>(r+t/yn)/t,rc={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(r){let{n:t}=Ft,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Tt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=e,s=BigInt("0x100000000000000000000000000000000"),a=Pg(o*r,t),c=Pg(-n*r,t),l=B(r-a*e-c*i,t),u=B(-a*n-c*o,t),f=l>s,d=u>s;if(f&&(l=t-l),d&&(u=t-u),l>s||u>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+r);return{k1neg:f,k1:l,k2neg:d,k2:u}}},tr=32,Gi=32,hA=32,Lg=tr+1,Bg=2*tr+1;function Ng(r){let{a:t,b:e}=Ft,n=B(r*r),i=B(n*r);return B(i+t*r+e)}var nc=Ft.a===ot,sc=class extends Error{constructor(t){super(t)}};function Og(r){if(!(r instanceof lt))throw new TypeError("JacobianPoint expected")}var lt=class{constructor(t,e,n){this.x=t,this.y=e,this.z=n}static fromAffine(t){if(!(t instanceof ft))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(ft.ZERO)?lt.ZERO:new lt(t.x,t.y,Tt)}static toAffineBatch(t){let e=gA(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return lt.toAffineBatch(t).map(lt.fromAffine)}equals(t){Og(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=B(i*i),l=B(a*a),u=B(e*l),f=B(o*c),d=B(B(n*a)*l),h=B(B(s*i)*c);return u===f&&d===h}negate(){return new lt(this.x,B(-this.y),this.z)}double(){let{x:t,y:e,z:n}=this,i=B(t*t),o=B(e*e),s=B(o*o),a=t+o,c=B(yn*(B(a*a)-i-s)),l=B(zo*i),u=B(l*l),f=B(u-yn*c),d=B(l*(c-f)-Dg*s),h=B(yn*e*n);return new lt(f,d,h)}add(t){Og(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===ot||s===ot)return this;if(e===ot||n===ot)return t;let c=B(i*i),l=B(a*a),u=B(e*l),f=B(o*c),d=B(B(n*a)*l),h=B(B(s*i)*c),p=B(f-u),m=B(h-d);if(p===ot)return m===ot?this.double():lt.ZERO;let y=B(p*p),g=B(p*y),E=B(u*y),_=B(m*m-g-yn*E),k=B(m*(E-_)-d*g),C=B(i*a*p);return new lt(_,k,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let e=lt.ZERO;if(typeof t=="bigint"&&t===ot)return e;let n=Ug(t);if(n===Tt)return this;if(!nc){let f=e,d=this;for(;n>ot;)n&Tt&&(f=f.add(d)),d=d.double(),n>>=Tt;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=rc.splitScalar(n),c=e,l=e,u=this;for(;o>ot||a>ot;)o&Tt&&(c=c.add(u)),a&Tt&&(l=l.add(u)),u=u.double(),o>>=Tt,a>>=Tt;return i&&(c=c.negate()),s&&(l=l.negate()),l=new lt(B(l.x*rc.beta),l.y,l.z),c.add(l)}precomputeWindow(t){let e=nc?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<e;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,e){!e&&this.equals(lt.BASE)&&(e=ft.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&xf.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=lt.normalizeZ(i),xf.set(e,i)));let o=lt.ZERO,s=lt.BASE,a=1+(nc?128/n:256/n),c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=Tt);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(ic(g,i[m])):o=o.add(ic(E,i[y]))}return{p:o,f:s}}multiply(t,e){let n=Ug(t),i,o;if(nc){let{k1neg:s,k1:a,k2neg:c,k2:l}=rc.splitScalar(n),{p:u,f}=this.wNAF(a,e),{p:d,f:h}=this.wNAF(l,e);u=ic(s,u),d=ic(c,d),d=new lt(B(d.x*rc.beta),d.y,d.z),i=u.add(d),o=f.add(h)}else{let{p:s,f:a}=this.wNAF(n,e);i=s,o=a}return lt.normalizeZ([i,o])[0]}toAffine(t){let{x:e,y:n,z:i}=this,o=this.equals(lt.ZERO);t==null&&(t=o?Dg:Qi(i));let s=t,a=B(s*s),c=B(a*s),l=B(e*a),u=B(n*c),f=B(i*s);if(o)return ft.ZERO;if(f!==Tt)throw new Error("invZ was invalid");return new ft(l,u)}};lt.BASE=new lt(Ft.Gx,Ft.Gy,Tt);lt.ZERO=new lt(ot,Tt,ot);function ic(r,t){let e=t.negate();return r?e:t}var xf=new WeakMap,ft=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,xf.delete(this)}hasEvenY(){return this.y%yn===ot}static fromCompressedHex(t){let e=t.length===32,n=gn(e?t:t.subarray(1));if(!Ef(n))throw new Error("Point is not on curve");let i=Ng(n),o=yA(i),s=(o&Tt)===Tt;e?s&&(o=B(-o)):(t[0]&1)===1!==s&&(o=B(-o));let a=new ft(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let e=gn(t.subarray(1,tr+1)),n=gn(t.subarray(tr+1,tr*2+1)),i=new ft(e,n);return i.assertValidity(),i}static fromHex(t){let e=Wi(t),n=e.length,i=e[0];if(n===tr)return this.fromCompressedHex(e);if(n===Lg&&(i===2||i===3))return this.fromCompressedHex(e);if(n===Bg&&i===4)return this.fromUncompressedHex(e);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Lg} compressed bytes or ${Bg} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return ft.BASE.multiply(cc(t))}static fromSignature(t,e,n){let{r:i,s:o}=Fg(e);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=_f(Wi(t)),{n:a}=Ft,c=n===2||n===3?i+a:i,l=Qi(c,a),u=B(-s*l,a),f=B(o*l,a),d=n&1?"03":"02",h=ft.fromHex(d+$i(c)),p=ft.BASE.multiplyAndAddUnsafe(h,u,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return jn(this.toHex(t))}toHex(t=!1){let e=$i(this.x);return t?`${this.hasEvenY()?"02":"03"}${e}`:`04${e}${$i(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:e,y:n}=this;if(!Ef(e)||!Ef(n))throw new Error(t);let i=B(n*n),o=Ng(e);if(B(i-o)!==ot)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ft(this.x,B(-this.y))}double(){return lt.fromAffine(this).double().toAffine()}add(t){return lt.fromAffine(this).add(lt.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return lt.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,e,n){let i=lt.fromAffine(this),o=e===ot||e===Tt||this!==ft.BASE?i.multiplyUnsafe(e):i.multiply(e),s=lt.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(lt.ZERO)?void 0:a.toAffine()}};ft.BASE=new ft(Ft.Gx,Ft.Gy);ft.ZERO=new ft(ot,ot);function kg(r){return Number.parseInt(r[0],16)>=8?"00"+r:r}function Mg(r){if(r.length<2||r[0]!==2)throw new Error(`Invalid signature integer tag: ${Yi(r)}`);let t=r[1],e=r.subarray(2,t+2);if(!t||e.length!==t)throw new Error("Invalid signature integer: wrong length");if(e[0]===0&&e[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:gn(e),left:r.subarray(t+2)}}function dA(r){if(r.length<2||r[0]!=48)throw new Error(`Invalid signature tag: ${Yi(r)}`);if(r[1]!==r.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:e}=Mg(r.subarray(2)),{data:n,left:i}=Mg(e);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Yi(i)}`);return{r:t,s:n}}var xr=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromCompact(t){let e=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!e)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=e?Yi(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new xr(ac(i.slice(0,64)),ac(i.slice(64,128)))}static fromDER(t){let e=t instanceof Uint8Array;if(typeof t!="string"&&!e)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=dA(e?t:jn(t));return new xr(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:e}=this;if(!Yo(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Yo(e))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Ft.n>>Tt;return this.s>t}normalizeS(){return this.hasHighS()?new xr(this.r,B(-this.s,Ft.n)):this}toDERRawBytes(){return jn(this.toDERHex())}toDERHex(){let t=kg($o(this.s)),e=kg($o(this.r)),n=t.length/2,i=e.length/2,o=$o(n),s=$o(i);return`30${$o(i+n+4)}02${s}${e}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return jn(this.toCompactHex())}toCompactHex(){return $i(this.r)+$i(this.s)}};function mn(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let o=r[n];e.set(o,i),i+=o.length}return e}var pA=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Yi(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let e=0;e<r.length;e++)t+=pA[r[e]];return t}var mA=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function $i(r){if(typeof r!="bigint")throw new Error("Expected bigint");if(!(ot<=r&&r<mA))throw new Error("Expected number 0 <= n < 2^256");return r.toString(16).padStart(64,"0")}function vf(r){let t=jn($i(r));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function $o(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function ac(r){if(typeof r!="string")throw new TypeError("hexToNumber: expected string, got "+typeof r);return BigInt(`0x${r}`)}function jn(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+r.length);let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[e]=o}return t}function gn(r){return ac(Yi(r))}function Wi(r){return r instanceof Uint8Array?Uint8Array.from(r):jn(r)}function Ug(r){if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)return BigInt(r);if(typeof r=="bigint"&&Yo(r))return r;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function B(r,t=Ft.P){let e=r%t;return e>=ot?e:t+e}function Ve(r,t){let{P:e}=Ft,n=r;for(;t-- >ot;)n*=n,n%=e;return n}function yA(r){let{P:t}=Ft,e=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=r*r*r%t,l=c*c*r%t,u=Ve(l,zo)*l%t,f=Ve(u,zo)*l%t,d=Ve(f,yn)*c%t,h=Ve(d,n)*d%t,p=Ve(h,i)*h%t,m=Ve(p,s)*p%t,y=Ve(m,a)*m%t,g=Ve(y,s)*p%t,E=Ve(g,zo)*l%t,_=Ve(E,o)*h%t,k=Ve(_,e)*c%t,C=Ve(k,yn);if(C*C%t!==r)throw new Error("Cannot find square root");return C}function Qi(r,t=Ft.P){if(r===ot||t<=ot)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=B(r,t),n=t,i=ot,o=Tt,s=Tt,a=ot;for(;e!==ot;){let l=n/e,u=n%e,f=i-s*l,d=o-a*l;n=e,e=u,i=s,o=a,s=f,a=d}if(n!==Tt)throw new Error("invert: does not exist");return B(i,t)}function gA(r,t=Ft.P){let e=new Array(r.length),n=r.reduce((o,s,a)=>s===ot?o:(e[a]=o,B(o*s,t)),Tt),i=Qi(n,t);return r.reduceRight((o,s,a)=>s===ot?o:(e[a]=B(o*e[a],t),B(o*s,t)),i),e}function wA(r){let t=r.length*8-Gi*8,e=gn(r);return t>0?e>>BigInt(t):e}function _f(r,t=!1){let e=wA(r);if(t)return e;let{n}=Ft;return e>=n?e-n:e}var zi,Go,bf=class{constructor(t,e){if(this.hashLen=t,this.qByteLen=e,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return er.hmacSha256(this.k,...t)}hmacSync(...t){return Go(this.k,...t)}checkSync(){if(typeof Go!="function")throw new sc("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return mn(...e)}generateSync(){this.checkSync(),this.incr();let t=0,e=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();e.push(n),t+=this.v.length}return mn(...e)}};function Yo(r){return ot<r&&r<Ft.n}function Ef(r){return ot<r&&r<Ft.P}function EA(r,t,e,n=!0){let{n:i}=Ft,o=_f(r,!0);if(!Yo(o))return;let s=Qi(o,i),a=ft.BASE.multiply(o),c=B(a.x,i);if(c===ot)return;let l=B(s*B(t+e*c,i),i);if(l===ot)return;let u=new xr(c,l),f=(a.x===u.r?0:2)|Number(a.y&Tt);return n&&u.hasHighS()&&(u=u.normalizeS(),f^=1),{sig:u,recovery:f}}function cc(r){let t;if(typeof r=="bigint")t=r;else if(typeof r=="number"&&Number.isSafeInteger(r)&&r>0)t=BigInt(r);else if(typeof r=="string"){if(r.length!==2*Gi)throw new Error("Expected 32 bytes of private key");t=ac(r)}else if(r instanceof Uint8Array){if(r.length!==Gi)throw new Error("Expected 32 bytes of private key");t=gn(r)}else throw new TypeError("Expected valid private key");if(!Yo(t))throw new Error("Expected private key: 0 < key < n");return t}function xA(r){return r instanceof ft?(r.assertValidity(),r):ft.fromHex(r)}function Fg(r){if(r instanceof xr)return r.assertValidity(),r;try{return xr.fromDER(r)}catch{return xr.fromCompact(r)}}function Sf(r,t=!1){return ft.fromPrivateKey(r).toRawBytes(t)}function Kg(r){let t=r.length>tr?r.slice(0,tr):r;return gn(t)}function vA(r){let t=Kg(r),e=B(t,Ft.n);return Vg(e<ot?t:e)}function Vg(r){return vf(r)}function bA(r,t,e){if(r==null)throw new Error(`sign: expected valid message hash, not "${r}"`);let n=Wi(r),i=cc(t),o=[Vg(i),vA(n)];if(e!=null){e===!0&&(e=er.randomBytes(tr));let c=Wi(e);if(c.length!==tr)throw new Error(`sign: Expected ${tr} bytes of extra data`);o.push(c)}let s=mn(...o),a=Kg(n);return{seed:s,m:a,d:i}}function _A(r,t){let{sig:e,recovery:n}=r,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?e.toDERRawBytes():e.toCompactRawBytes();return o?[s,n]:s}async function qg(r,t,e={}){let{seed:n,m:i,d:o}=bA(r,t,e.extraEntropy),s=new bf(hA,Gi);await s.reseed(n);let a;for(;!(a=EA(await s.generate(),i,o,e.canonical));)await s.reseed();return _A(a,e)}var SA={strict:!0};function Hg(r,t,e,n=SA){let i;try{i=Fg(r),t=Wi(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=_f(t),c;try{c=xA(e)}catch{return!1}let{n:l}=Ft,u=Qi(s,l),f=B(a*u,l),d=B(o*u,l),h=ft.BASE.multiplyAndAddUnsafe(c,f,d);return h?B(h.x,l)===o:!1}ft.BASE._setWindowSize(8);var Te={node:fA,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var oc={},er={bytesToHex:Yi,hexToBytes:jn,concatBytes:mn,mod:B,invert:Qi,isValidPrivateKey(r){try{return cc(r),!0}catch{return!1}},_bigintTo32Bytes:vf,_normalizePrivateKey:cc,hashToPrivateKey:r=>{r=Wi(r);let t=Gi+8;if(r.length<t||r.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let e=B(gn(r),Ft.n-Tt)+Tt;return vf(e)},randomBytes:(r=32)=>{if(Te.web)return Te.web.getRandomValues(new Uint8Array(r));if(Te.node){let{randomBytes:t}=Te.node;return Uint8Array.from(t(r))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>er.hashToPrivateKey(er.randomBytes(Gi+8)),precompute(r=8,t=ft.BASE){let e=t===ft.BASE?t:new ft(t.x,t.y);return e._setWindowSize(r),e.multiply(zo),e},sha256:async(...r)=>{if(Te.web){let t=await Te.web.subtle.digest("SHA-256",mn(...r));return new Uint8Array(t)}else if(Te.node){let{createHash:t}=Te.node,e=t("sha256");return r.forEach(n=>e.update(n)),Uint8Array.from(e.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(r,...t)=>{if(Te.web){let e=await Te.web.subtle.importKey("raw",r,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=mn(...t),i=await Te.web.subtle.sign("HMAC",e,n);return new Uint8Array(i)}else if(Te.node){let{createHmac:e}=Te.node,n=e("sha256",r);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(r,...t)=>{let e=oc[r];if(e===void 0){let n=await er.sha256(Uint8Array.from(r,i=>i.charCodeAt(0)));e=mn(n,n),oc[r]=e}return er.sha256(e,...t)},taggedHashSync:(r,...t)=>{if(typeof zi!="function")throw new sc("sha256Sync is undefined, you need to set it");let e=oc[r];if(e===void 0){let n=zi(Uint8Array.from(r,i=>i.charCodeAt(0)));e=mn(n,n),oc[r]=e}return zi(e,...t)},_JacobianPoint:lt};Object.defineProperties(er,{sha256Sync:{configurable:!1,get(){return zi},set(r){zi||(zi=r)}},hmacSha256Sync:{configurable:!1,get(){return Go},set(r){Go||(Go=r)}}});var $g=S(V(),1);function qr(r){if(isNaN(r)||r<=0)throw(0,$g.default)(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return er.randomBytes(r)}var ti={};ae(ti,{jwkToPkcs1:()=>IA,jwkToPkix:()=>CA,pkcs1ToJwk:()=>RA,pkixToJwk:()=>TA});var lB=S(Ko(),1),uB=S(tc(),1),Hr=S(mt(),1);var Af=S(V(),1);function RA(r){let t=Hr.default.asn1.fromDer($(r,"ascii")),e=Hr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:je(e.n),e:je(e.e),d:je(e.d),p:je(e.p),q:je(e.q),dp:je(e.dP),dq:je(e.dQ),qi:je(e.qInv),alg:"RS256"}}function IA(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw(0,Af.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=Hr.default.pki.privateKeyToAsn1({n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dP:Ie(r.dp),dQ:Ie(r.dq),qInv:Ie(r.qi)});return U(Hr.default.asn1.toDer(t).getBytes(),"ascii")}function TA(r){let t=Hr.default.asn1.fromDer($(r,"ascii")),e=Hr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:je(e.n),e:je(e.e)}}function CA(r){if(r.n==null||r.e==null)throw(0,Af.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=Hr.default.pki.publicKeyToAsn1({n:Ie(r.n),e:Ie(r.e)});return U(Hr.default.asn1.toDer(t).getBytes(),"ascii")}var pB=S(tc(),1),Rf=S(mt(),1);function zg(r,t){return t.map(e=>Ie(r[e]))}function Gg(r){return Rf.default.pki.setRsaPrivateKey(...zg(r,["n","e","d","p","q","dp","dq","qi"]))}function Yg(r){return Rf.default.pki.setRsaPublicKey(...zg(r,["n","e"]))}var Wg=S(V(),1);async function Qg(r){let t=await ge.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Jg(t);return{privateKey:e[0],publicKey:e[1]}}async function If(r){let e=[await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await DA(r)],n=await Jg({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Xg(r,t){let e=await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ge.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Zg(r,t,e){let n=await ge.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await ge.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e)}async function Jg(r){if(r.privateKey==null||r.publicKey==null)throw(0,Wg.default)(new Error("Private and public key are required"),"ERR_INVALID_PARAMETERS");return await Promise.all([ge.get().subtle.exportKey("jwk",r.privateKey),ge.get().subtle.exportKey("jwk",r.publicKey)])}async function DA(r){return await ge.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function jg(r,t,e,n){let i=t?Yg(r):Gg(r),o=$(Uint8Array.from(e),"ascii"),s=n(o,i);return U(s,"ascii")}function tw(r,t){return jg(r,!0,t,(e,n)=>n.encrypt(e))}function ew(r,t){return jg(r,!1,t,(e,n)=>n.decrypt(e))}async function Xi(r,t){let n=await ec().encrypt(r,t);return Dn.encode(n)}var Qo=class{constructor(t){this._key=t}async verify(t,e){return await Zg(this._key,e,t)}marshal(){return ti.jwkToPkix(this._key)}get bytes(){return hr.encode({Type:Lt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return tw(this._key,t)}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},Zi=class{constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return qr(16)}async sign(t){return await Xg(this._key,t)}get public(){if(this._publicKey==null)throw(0,Tf.default)(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Qo(this._publicKey)}decrypt(t){return ew(this._key,t)}marshal(){return ti.jwkToPkcs1(this._key)}get bytes(){return dr.encode({Type:Lt.RSA,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return $(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8"){let n=new Wo.default.util.ByteBuffer(this.marshal()),i=Wo.default.asn1.fromDer(n),o=Wo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Wo.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(e==="libp2p-key")return await Xi(this.bytes,t);throw(0,Tf.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function LA(r){let t=ti.pkcs1ToJwk(r),e=await If(t);return new Zi(e.privateKey,e.publicKey)}function BA(r){let t=ti.pkixToJwk(r);return new Qo(t)}async function NA(r){let t=await If(r);return new Zi(t.privateKey,t.publicKey)}async function OA(r){let t=await Qg(r);return new Zi(t.privateKey,t.publicKey)}var Ff={};ae(Ff,{Ed25519PrivateKey:()=>ri,Ed25519PublicKey:()=>ts,generateKeyPair:()=>rR,generateKeyPairFromSeed:()=>yw,unmarshalEd25519PrivateKey:()=>tR,unmarshalEd25519PublicKey:()=>eR});var Uf=S(V(),1);var kA=S(Kn(),1);var se=BigInt(0),st=BigInt(1),xn=BigInt(2),MA=BigInt(8),rw=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),Ct=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:rw,n:rw,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var aw=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Xo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),CB=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),UA=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),FA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),KA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),VA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),et=class{constructor(t,e,n,i){this.x=t,this.y=e,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof Nt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(Nt.ZERO)?et.ZERO:new et(t.x,t.y,st,R(t.x*t.y))}static toAffineBatch(t){let e=$A(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(e[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){iw(t);let{x:e,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=R(e*a),l=R(o*i),u=R(n*a),f=R(s*i);return c===l&&u===f}negate(){return new et(R(-this.x),this.y,this.z,R(-this.t))}double(){let{x:t,y:e,z:n}=this,{a:i}=Ct,o=R(t*t),s=R(e*e),a=R(xn*R(n*n)),c=R(i*o),l=t+e,u=R(R(l*l)-o-s),f=c+s,d=f-a,h=c-s,p=R(u*d),m=R(f*h),y=R(u*h),g=R(d*f);return new et(p,m,g,y)}add(t){iw(t);let{x:e,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:l}=t,u=R((n-e)*(a+s)),f=R((n+e)*(a-s)),d=R(f-u);if(d===se)return this.double();let h=R(i*xn*l),p=R(o*xn*c),m=p+h,y=f+u,g=p-h,E=R(m*d),_=R(y*g),k=R(m*g),C=R(d*y);return new et(E,_,C,k)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let e=1+256/t,n=[],i=this,o=i;for(let s=0;s<e;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,e){!e&&this.equals(et.BASE)&&(e=Nt.BASE);let n=e&&e._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=e&&Nf.get(e);i||(i=this.precomputeWindow(n),e&&n!==1&&(i=et.normalizeZ(i),Nf.set(e,i)));let o=et.ZERO,s=et.BASE,a=1+256/n,c=2**(n-1),l=BigInt(2**n-1),u=2**n,f=BigInt(n);for(let d=0;d<a;d++){let h=d*c,p=Number(t&l);t>>=f,p>c&&(p-=u,t+=st);let m=h,y=h+Math.abs(p)-1,g=d%2!==0,E=p<0;p===0?s=s.add(nw(g,i[m])):o=o.add(nw(E,i[y]))}return et.normalizeZ([o,s])[0]}multiply(t,e){return this.wNAF(uc(t,Ct.l),e)}multiplyUnsafe(t){let e=uc(t,Ct.l,!1),n=et.BASE,i=et.ZERO;if(e===se)return i;if(this.equals(i)||e===st)return this;if(this.equals(n))return this.wNAF(e);let o=i,s=this;for(;e>se;)e&st&&(o=o.add(s)),s=s.double(),e>>=st;return o}isSmallOrder(){return this.multiplyUnsafe(Ct.h).equals(et.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(Ct.l/xn).double();return Ct.l%xn&&(t=t.add(this)),t.equals(et.ZERO)}toAffine(t){let{x:e,y:n,z:i}=this,o=this.equals(et.ZERO);t==null&&(t=o?MA:fc(i));let s=R(e*t),a=R(n*t),c=R(i*t);if(o)return Nt.ZERO;if(c!==st)throw new Error("invZ was invalid");return new Nt(s,a)}fromRistrettoBytes(){Pf()}toRistrettoBytes(){Pf()}fromRistrettoHash(){Pf()}};et.BASE=new et(Ct.Gx,Ct.Gy,st,R(Ct.Gx*Ct.Gy));et.ZERO=new et(se,st,st,se);function nw(r,t){let e=t.negate();return r?e:t}function iw(r){if(!(r instanceof et))throw new TypeError("ExtendedPoint expected")}function Df(r){if(!(r instanceof we))throw new TypeError("RistrettoPoint expected")}function Pf(){throw new Error("Legacy method: switch to RistrettoPoint")}var we=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:e}=Ct,n=R(Xo*t*t),i=R((n+st)*KA),o=BigInt(-1),s=R((o-e*n)*R(n+e)),{isValid:a,value:c}=kf(i,s),l=R(c*t);En(l)||(l=R(-l)),a||(c=l),a||(o=n);let u=R(o*(n-st)*VA-s),f=c*c,d=R((c+c)*s),h=R(u*UA),p=R(st-f),m=R(st+f);return new et(R(d*m),R(p*h),R(h*m),R(d*p))}static hashToCurve(t){t=vn(t,64);let e=Lf(t.slice(0,32)),n=this.calcElligatorRistrettoMap(e),i=Lf(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new we(n.add(o))}static fromHex(t){t=vn(t,32);let{a:e,d:n}=Ct,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=Lf(t);if(!GA(Zo(o),t)||En(o))throw new Error(i);let s=R(o*o),a=R(st+e*s),c=R(st-e*s),l=R(a*a),u=R(c*c),f=R(e*n*l-u),{isValid:d,value:h}=sw(R(f*u)),p=R(h*c),m=R(h*p*f),y=R((o+o)*p);En(y)&&(y=R(-y));let g=R(a*m),E=R(y*g);if(!d||En(E)||g===se)throw new Error(i);return new we(new et(y,g,st,E))}toRawBytes(){let{x:t,y:e,z:n,t:i}=this.ep,o=R(R(n+e)*R(n-e)),s=R(t*e),a=R(s*s),{value:c}=sw(R(o*a)),l=R(c*o),u=R(c*s),f=R(l*u*i),d;if(En(i*f)){let p=R(e*Xo),m=R(t*Xo);t=p,e=m,d=R(l*FA)}else d=u;En(t*f)&&(e=R(-e));let h=R((n-e)*d);return En(h)&&(h=R(-h)),Zo(h)}toHex(){return Jo(this.toRawBytes())}toString(){return this.toHex()}equals(t){Df(t);let e=this.ep,n=t.ep,i=R(e.x*n.y)===R(e.y*n.x),o=R(e.y*n.y)===R(e.x*n.x);return i||o}add(t){return Df(t),new we(this.ep.add(t.ep))}subtract(t){return Df(t),new we(this.ep.subtract(t.ep))}multiply(t){return new we(this.ep.multiply(t))}multiplyUnsafe(t){return new we(this.ep.multiplyUnsafe(t))}};we.BASE=new we(et.BASE);we.ZERO=new we(et.ZERO);var Nf=new WeakMap,Nt=class{constructor(t,e){this.x=t,this.y=e}_setWindowSize(t){this._WINDOW_SIZE=t,Nf.delete(this)}static fromHex(t,e=!0){let{d:n,P:i}=Ct;t=vn(t,32);let o=t.slice();o[31]=t[31]&-129;let s=jo(o);if(e&&s>=i)throw new Error("Expected 0 < hex < P");if(!e&&s>=aw)throw new Error("Expected 0 < hex < 2**256");let a=R(s*s),c=R(a-st),l=R(n*a+st),{isValid:u,value:f}=kf(c,l);if(!u)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&st)===st;return(t[31]&128)!==0!==d&&(f=R(-f)),new Nt(f,s)}static async fromPrivateKey(t){return(await hc(t)).point}toRawBytes(){let t=Zo(this.y);return t[31]|=this.x&st?128:0,t}toHex(){return Jo(this.toRawBytes())}toX25519(){let{y:t}=this,e=R((st+t)*fc(st-t));return Zo(e)}isTorsionFree(){return et.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Nt(R(-this.x),this.y)}add(t){return et.fromAffine(this).add(et.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return et.fromAffine(this).multiply(t,this).toAffine()}};Nt.BASE=new Nt(Ct.Gx,Ct.Gy);Nt.ZERO=new Nt(se,st);var ei=class{constructor(t,e){this.r=t,this.s=e,this.assertValidity()}static fromHex(t){let e=vn(t,64),n=Nt.fromHex(e.slice(0,32),!1),i=jo(e.slice(32,64));return new ei(n,i)}assertValidity(){let{r:t,s:e}=this;if(!(t instanceof Nt))throw new Error("Expected Point instance");return uc(e,Ct.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Zo(this.s),32),t}toHex(){return Jo(this.toRawBytes())}};function ow(...r){if(!r.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(r.length===1)return r[0];let t=r.reduce((n,i)=>n+i.length,0),e=new Uint8Array(t);for(let n=0,i=0;n<r.length;n++){let o=r[n];e.set(o,i),i+=o.length}return e}var qA=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function Jo(r){if(!(r instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let e=0;e<r.length;e++)t+=qA[r[e]];return t}function Of(r){if(typeof r!="string")throw new TypeError("hexToBytes: expected string, got "+typeof r);if(r.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(r.length/2);for(let e=0;e<t.length;e++){let n=e*2,i=r.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[e]=o}return t}function cw(r){let e=r.toString(16).padStart(64,"0");return Of(e)}function Zo(r){return cw(r).reverse()}function En(r){return(R(r)&st)===st}function jo(r){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Jo(Uint8Array.from(r).reverse()))}var HA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Lf(r){return R(jo(r)&HA)}function R(r,t=Ct.P){let e=r%t;return e>=se?e:t+e}function fc(r,t=Ct.P){if(r===se||t<=se)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=R(r,t),n=t,i=se,o=st,s=st,a=se;for(;e!==se;){let l=n/e,u=n%e,f=i-s*l,d=o-a*l;n=e,e=u,i=s,o=a,s=f,a=d}if(n!==st)throw new Error("invert: does not exist");return R(i,t)}function $A(r,t=Ct.P){let e=new Array(r.length),n=r.reduce((o,s,a)=>s===se?o:(e[a]=o,R(o*s,t)),st),i=fc(n,t);return r.reduceRight((o,s,a)=>s===se?o:(e[a]=R(o*e[a],t),R(o*s,t)),i),e}function vr(r,t){let{P:e}=Ct,n=r;for(;t-- >se;)n*=n,n%=e;return n}function zA(r){let{P:t}=Ct,e=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=r*r%t*r%t,l=vr(c,xn)*c%t,u=vr(l,st)*r%t,f=vr(u,e)*u%t,d=vr(f,n)*f%t,h=vr(d,i)*d%t,p=vr(h,o)*h%t,m=vr(p,s)*p%t,y=vr(m,s)*p%t,g=vr(y,n)*f%t;return{pow_p_5_8:vr(g,xn)*r%t,b2:c}}function kf(r,t){let e=R(t*t*t),n=R(e*e*t),i=zA(r*n).pow_p_5_8,o=R(r*e*i),s=R(t*o*o),a=o,c=R(o*Xo),l=s===r,u=s===R(-r),f=s===R(-r*Xo);return l&&(o=a),(u||f)&&(o=c),En(o)&&(o=R(-o)),{isValid:l||u,value:o}}function sw(r){return kf(st,r)}function lc(r){return R(jo(r),Ct.l)}function GA(r,t){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(r[e]!==t[e])return!1;return!0}function vn(r,t){let e=r instanceof Uint8Array?Uint8Array.from(r):Of(r);if(typeof t=="number"&&e.length!==t)throw new Error(`Expected ${t} bytes`);return e}function uc(r,t,e=!0){if(!t)throw new TypeError("Specify max value");if(typeof r=="number"&&Number.isSafeInteger(r)&&(r=BigInt(r)),typeof r=="bigint"&&r<t){if(e){if(se<r)return r}else if(se<=r)return r}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function YA(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function WA(r){if(r=typeof r=="bigint"||typeof r=="number"?cw(uc(r,aw)):vn(r),r.length!==32)throw new Error("Expected 32 bytes");return r}function QA(r){let t=YA(r.slice(0,32)),e=r.slice(32,64),n=lc(t),i=Nt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:e,scalar:n,point:i,pointBytes:o}}var Bf;async function hc(r){return QA(await bn.sha512(WA(r)))}async function Mf(r){return(await hc(r)).pointBytes}async function lw(r,t){r=vn(r);let{prefix:e,scalar:n,pointBytes:i}=await hc(t),o=lc(await bn.sha512(e,r)),s=Nt.BASE.multiply(o),a=lc(await bn.sha512(s.toRawBytes(),i,r)),c=R(o+a*n,Ct.l);return new ei(s,c).toRawBytes()}function XA(r,t,e){t=vn(t),e instanceof Nt||(e=Nt.fromHex(e,!1));let{r:n,s:i}=r instanceof ei?r.assertValidity():ei.fromHex(r),o=et.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:e,msg:t}}function ZA(r,t,e,n){let i=lc(n),o=et.fromAffine(r).multiplyUnsafe(i);return et.fromAffine(t).add(o).subtract(e).multiplyUnsafe(Ct.h).equals(et.ZERO)}async function uw(r,t,e){let{r:n,SB:i,msg:o,pub:s}=XA(r,t,e),a=await bn.sha512(n.toRawBytes(),s.toRawBytes(),o);return ZA(s,n,i,a)}Nt.BASE._setWindowSize(8);var wn={node:kA,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},bn={bytesToHex:Jo,hexToBytes:Of,concatBytes:ow,getExtendedPublicKey:hc,mod:R,invert:fc,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:r=>{if(r=vn(r),r.length<40||r.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return R(jo(r),Ct.l-st)+st},randomBytes:(r=32)=>{if(wn.web)return wn.web.getRandomValues(new Uint8Array(r));if(wn.node){let{randomBytes:t}=wn.node;return new Uint8Array(t(r).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>bn.randomBytes(32),sha512:async(...r)=>{let t=ow(...r);if(wn.web){let e=await wn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(wn.node)return Uint8Array.from(wn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(r=8,t=Nt.BASE){let e=t.equals(Nt.BASE)?t:new Nt(t.x,t.y);return e._setWindowSize(r),e.multiply(xn),e},sha512Sync:void 0};Object.defineProperties(bn,{sha512Sync:{configurable:!1,get(){return Bf},set(r){Bf||(Bf=r)}}});var Ji=32,$r=64,dc=32;async function fw(){let r=bn.randomPrivateKey(),t=await Mf(r);return{privateKey:mw(r,t),publicKey:t}}async function hw(r){if(r.length!==dc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=await Mf(t);return{privateKey:mw(t,e),publicKey:e}}async function dw(r,t){let e=r.subarray(0,dc);return await lw(t,e)}async function pw(r,t,e){return await uw(t,e,r)}function mw(r,t){let e=new Uint8Array($r);for(let n=0;n<dc;n++)e[n]=r[n],e[dc+n]=t[n];return e}var ts=class{constructor(t){this._key=ji(t,Ji)}async verify(t,e){return await pw(this._key,e,t)}marshal(){return this._key}get bytes(){return hr.encode({Type:Lt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},ri=class{constructor(t,e){this._key=ji(t,$r),this._publicKey=ji(e,Ji)}async sign(t){return await dw(this._key,t)}get public(){return new ts(this._publicKey)}marshal(){return this._key}get bytes(){return dr.encode({Type:Lt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await Jr.digest(this.public.bytes);return Kt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Xi(this.bytes,t);throw(0,Uf.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function tR(r){if(r.length>$r){r=ji(r,$r+Ji);let n=r.subarray(0,$r),i=r.subarray($r,r.length);return new ri(n,i)}r=ji(r,$r);let t=r.subarray(0,$r),e=r.subarray(Ji);return new ri(t,e)}function eR(r){return r=ji(r,Ji),new ts(r)}async function rR(){let{privateKey:r,publicKey:t}=await fw();return new ri(r,t)}async function yw(r){let{privateKey:t,publicKey:e}=await hw(r);return new ri(t,e)}function ji(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw(0,Uf.default)(new Error(`Key must be a Uint8Array of length ${t}, got ${r.length}`),"ERR_INVALID_KEY_TYPE");return r}var Vf={};ae(Vf,{Secp256k1PrivateKey:()=>rs,Secp256k1PublicKey:()=>es,generateKeyPair:()=>sR,unmarshalSecp256k1PrivateKey:()=>iR,unmarshalSecp256k1PublicKey:()=>oR});var _w=S(V(),1);var to=S(V(),1);function gw(){return er.randomPrivateKey()}async function ww(r,t){let{digest:e}=await jt.digest(t);try{return await qg(e,r)}catch(n){throw(0,to.default)(n,"ERR_INVALID_INPUT")}}async function Ew(r,t,e){try{let{digest:n}=await jt.digest(e);return Hg(t,n,r)}catch(n){throw(0,to.default)(n,"ERR_INVALID_INPUT")}}function xw(r){return ft.fromHex(r).toRawBytes(!0)}function vw(r){try{Sf(r,!0)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PRIVATE_KEY")}}function Kf(r){try{ft.fromHex(r)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PUBLIC_KEY")}}function bw(r){try{return Sf(r,!0)}catch(t){throw(0,to.default)(t,"ERR_INVALID_PRIVATE_KEY")}}var es=class{constructor(t){Kf(t),this._key=t}async verify(t,e){return await Ew(this._key,e,t)}marshal(){return xw(this._key)}get bytes(){return hr.encode({Type:Lt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}},rs=class{constructor(t,e){this._key=t,this._publicKey=e??bw(t),vw(this._key),Kf(this._publicKey)}async sign(t){return await ww(this._key,t)}get public(){return new es(this._publicKey)}marshal(){return this._key}get bytes(){return dr.encode({Type:Lt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Et(this.bytes,t.bytes)}async hash(){let{bytes:t}=await jt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return $(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return await Xi(this.bytes,t);throw(0,_w.default)(new Error(`export format '${e}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function iR(r){return new rs(r)}function oR(r){return new es(r)}async function sR(){let r=await gw();return new rs(r)}var zr={rsa:Cf,ed25519:Ff,secp256k1:Vf};function Hf(r){let t=Object.keys(zr).join(" / ");return(0,qf.default)(new Error(`invalid or unsupported key type ${r}. Must be ${t}`),"ERR_UNSUPPORTED_KEY_TYPE")}function $f(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return zr[r];throw Hf(r)}async function mc(r,t){return await $f(r).generateKeyPair(t??2048)}function ns(r){let t=hr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Lt.RSA:return zr.rsa.unmarshalRsaPublicKey(e);case Lt.Ed25519:return zr.ed25519.unmarshalEd25519PublicKey(e);case Lt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw Hf(t.Type??"RSA")}}function Sw(r,t){return t=(t??"rsa").toLowerCase(),$f(t),r.bytes}async function eo(r){let t=dr.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Lt.RSA:return await zr.rsa.unmarshalRsaPrivateKey(e);case Lt.Ed25519:return zr.ed25519.unmarshalEd25519PrivateKey(e);case Lt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw Hf(t.Type??"RSA")}}function Aw(r,t){return t=(t??"rsa").toLowerCase(),$f(t),r.bytes}async function is(r,t){try{let i=await Sg(r,t);return await eo(i)}catch{}let e=pc.default.pki.decryptRsaPrivateKey(r,t);if(e===null)throw(0,qf.default)(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=pc.default.asn1.toDer(pc.default.pki.privateKeyToAsn1(e));return n=U(n.getBytes(),"ascii"),await zr.rsa.unmarshalRsaPrivateKey(n)}var WB=S(Ha(),1),cR=S(mt(),1);var uR=S(V(),1);var Iw=S(af(),1),Tw=S($t(),1),Cw=S(V(),1),Rw={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function os(r,t,e,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Rw).join(" / ");throw(0,Cw.default)(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=Rw[i],s=(0,Iw.default)(r,t,e,n,o);return Tw.default.encode64(s,null)}var yc=N("libp2p:keychain"),hR="/pkcs8/",Pw="/info/",ni=new WeakMap,ii={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},zf={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Gr(r){return r==null||typeof r!="string"?!1:r===(0,Dw.default)(r.trim())&&r.length>0}async function gt(){let e=Math.random()*800+200;await new Promise(n=>setTimeout(n,e))}function br(r){return new Mt(hR+r)}function _n(r){return new Mt(Pw+r)}var oi=class{constructor(t,e){if(this.components=t,this.init=Be(zf,e),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<ii.minKeyLength)throw new Error(`dek.keyLength must be least ${ii.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<ii.minSaltLength)throw new Error(`dek.saltLength must be least ${ii.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<ii.minIterationCount)throw new Error(`dek.iterationCount must be least ${ii.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?os(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ni.set(this,{dek:n})}static generateOptions(){let t=Object.assign({},zf),e=Math.ceil(ii.minSaltLength/3)*3;return t.dek.salt=$(qr(e),"base64"),t}static get options(){return zf}async createKey(t,e,n=2048){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error("Invalid key name"),nt.ERR_INVALID_KEY_NAME);if(typeof e!="string")throw await gt(),(0,ut.default)(new Error("Invalid key type"),nt.ERR_INVALID_KEY_TYPE);let i=br(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error("Key name already exists"),nt.ERR_KEY_ALREADY_EXISTS);switch(e.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await gt(),(0,ut.default)(new Error("Invalid RSA key size"),nt.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await mc(e,n),c=await a.id(),l=ni.get(this);if(l==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let u=l.dek,f=await a.export(u);s={name:t,id:c};let d=this.components.datastore.batch();d.put(i,U(f)),d.put(_n(t),U(JSON.stringify(s))),await d.commit()}catch(a){throw await gt(),a}return s}async listKeys(){let t={prefix:Pw},e=[];for await(let n of this.components.datastore.query(t))e.push(JSON.parse($(n.value)));return e}async findKeyById(t){try{let n=(await this.listKeys()).find(i=>i.id===t);if(n==null)throw(0,ut.default)(new Error(`Key with id '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND);return n}catch(e){throw await gt(),e}}async findKeyByName(t){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);let e=_n(t);try{let n=await this.components.datastore.get(e);return JSON.parse($(n))}catch(n){throw await gt(),yc.error(n),(0,ut.default)(new Error(`Key '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND)}}async removeKey(t){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);let e=br(t),n=await this.findKeyByName(t),i=this.components.datastore.batch();return i.delete(e),i.delete(_n(t)),await i.commit(),n}async renameKey(t,e){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid old key name '${t}'`),nt.ERR_OLD_KEY_NAME_INVALID);if(!Gr(e)||e==="self")throw await gt(),(0,ut.default)(new Error(`Invalid new key name '${e}'`),nt.ERR_NEW_KEY_NAME_INVALID);let n=br(t),i=br(e),o=_n(t),s=_n(e);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${e}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),l=await this.components.datastore.get(o),u=JSON.parse($(l));u.name=e;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,U(JSON.stringify(u))),f.delete(n),f.delete(o),await f.commit(),u}catch(c){throw await gt(),c}}async exportKey(t,e){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),(0,ut.default)(new Error("Password is required"),nt.ERR_PASSWORD_REQUIRED);let n=br(t);try{let i=await this.components.datastore.get(n),o=$(i),s=ni.get(this);if(s==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await is(o,a)).export(e)}catch(i){throw await gt(),i}}async exportPeerId(t){let e="temporary-password",n=await this.exportKey(t,e),i=await is(n,e);return await rn(i.public.bytes,i.bytes)}async importKey(t,e,n){if(!Gr(t)||t==="self")throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw await gt(),(0,ut.default)(new Error("PEM encoded key is required"),nt.ERR_PEM_REQUIRED);let i=br(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${t}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);let s;try{s=await is(e,n)}catch{throw await gt(),(0,ut.default)(new Error("Cannot read the key, most likely the password is wrong"),nt.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let u=ni.get(this);if(u==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let f=u.dek;e=await s.export(f)}catch(u){throw await gt(),u}let c={name:t,id:a},l=this.components.datastore.batch();return l.put(i,U(e)),l.put(_n(t),U(JSON.stringify(c))),await l.commit(),c}async importPeer(t,e){try{if(!Gr(t))throw(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);if(e==null)throw(0,ut.default)(new Error("PeerId is required"),nt.ERR_MISSING_PRIVATE_KEY);if(e.privateKey==null)throw(0,ut.default)(new Error("PeerId.privKey is required"),nt.ERR_MISSING_PRIVATE_KEY);let n=await eo(e.privateKey),i=br(t);if(await this.components.datastore.has(i))throw await gt(),(0,ut.default)(new Error(`Key '${t}' already exists`),nt.ERR_KEY_ALREADY_EXISTS);let s=ni.get(this);if(s==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),l={name:t,id:e.toString()},u=this.components.datastore.batch();return u.put(i,U(c)),u.put(_n(t),U(JSON.stringify(l))),await u.commit(),l}catch(n){throw await gt(),n}}async getPrivateKey(t){if(!Gr(t))throw await gt(),(0,ut.default)(new Error(`Invalid key name '${t}'`),nt.ERR_INVALID_KEY_NAME);try{let e=br(t),n=await this.components.datastore.get(e);return $(n)}catch(e){throw await gt(),yc.error(e),(0,ut.default)(new Error(`Key '${t}' does not exist.`),nt.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(t,e){if(typeof t!="string")throw await gt(),(0,ut.default)(new Error(`Invalid old pass type '${typeof t}'`),nt.ERR_INVALID_OLD_PASS_TYPE);if(typeof e!="string")throw await gt(),(0,ut.default)(new Error(`Invalid new pass type '${typeof e}'`),nt.ERR_INVALID_NEW_PASS_TYPE);if(e.length<20)throw await gt(),(0,ut.default)(new Error(`Invalid pass length ${e.length}`),nt.ERR_INVALID_PASS_LENGTH);yc("recreating keychain");let n=ni.get(this);if(n==null)throw(0,ut.default)(new Error("dek missing"),nt.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=e;let o=e!=null&&this.init.dek?.salt!=null?os(e,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";ni.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(br(a.name)),l=$(c),u=await is(l,i),f=o.toString(),d=await u.export(f),h=this.components.datastore.batch(),p={name:a.name,id:a.id};h.put(br(a.name),U(d)),h.put(_n(a.name),U(JSON.stringify(p))),await h.commit()}yc("keychain reconstructed")}};async function ss(r){try{return{status:"fulfilled",value:await r,isFulfilled:!0,isRejected:!1}}catch(t){return{status:"rejected",reason:t,isFulfilled:!1,isRejected:!0}}}var Gf=class{value;next;constructor(t){this.value=t}},as=class{#t;#e;#r;constructor(){this.clear()}enqueue(t){let e=new Gf(t);this.#t?(this.#e.next=e,this.#e=e):(this.#t=e,this.#e=e),this.#r++}dequeue(){let t=this.#t;if(t)return this.#t=this.#t.next,this.#r--,t.value}clear(){this.#t=void 0,this.#e=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let t=this.#t;for(;t;)yield t.value,t=t.next}};function Yf(r){if(!((Number.isInteger(r)||r===Number.POSITIVE_INFINITY)&&r>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=new as,e=0,n=()=>{e--,t.size>0&&t.dequeue()()},i=async(a,c,l)=>{e++;let u=(async()=>a(...l))();c(u);try{await u}catch{}n()},o=(a,c,l)=>{t.enqueue(i.bind(void 0,a,c,l)),(async()=>(await Promise.resolve(),e<r&&t.size>0&&t.dequeue()()))()},s=(a,...c)=>new Promise(l=>{o(a,l,c)});return Object.defineProperties(s,{activeCount:{get:()=>e},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}}}),s}async function Wf(r,t={}){let{concurrency:e=Number.POSITIVE_INFINITY}=t,n=Yf(e);return Promise.all(r.map(i=>i&&typeof i.then=="function"?ss(i):typeof i=="function"?ss(n(()=>i())):ss(Promise.resolve(i))))}var ro=S(V(),1);var Qf=class extends Map{constructor(t){super();let{name:e,metrics:n}=t;this.metric=n.registerMetric(e),this.updateComponentMetric()}set(t,e){return super.set(t,e),this.updateComponentMetric(),this}delete(t){let e=super.delete(t);return this.updateComponentMetric(),e}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function cs(r){let{name:t,metrics:e}=r,n;return e!=null?n=new Qf({name:t,metrics:e}):n=new Map,n}var si=N("libp2p:transports"),gc=class extends Dt{constructor(t,e={}){super(),this.components=t,this.started=!1,this.transports=new Map,this.listeners=cs({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=e.faultTolerance??ln.FATAL_ALL}add(t){let e=t[Symbol.toStringTag];if(e==null)throw(0,ro.default)(new Error("Transport must have a valid tag"),b.ERR_INVALID_KEY);if(this.transports.has(e))throw(0,ro.default)(new Error("There is already a transport with this tag"),b.ERR_DUPLICATE_TRANSPORT);si("adding transport %s",e),this.transports.set(e,t),this.listeners.has(e)||this.listeners.set(e,[])}isStarted(){return this.started}async start(){let t=this.components.addressManager.getListenAddrs();await this.listen(t),this.started=!0}async stop(){let t=[];for(let[e,n]of this.listeners)for(si("closing listeners for %s",e);n.length>0;){let i=n.pop();i!=null&&t.push(i.close())}await Promise.all(t),si("all listeners closed");for(let e of this.listeners.keys())this.listeners.set(e,[]);this.started=!1}async dial(t,e){let n=this.transportForMultiaddr(t);if(n==null)throw(0,ro.default)(new Error(`No transport available for address ${String(t)}`),b.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(t,{...e,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=b.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let t=[];for(let e of this.listeners.values())for(let n of e)t=[...t,...n.getAddrs()];return t}getTransports(){return Array.of(...this.transports.values())}transportForMultiaddr(t){for(let e of this.transports.values())if(e.filter([t]).length>0)return e}async listen(t){if(t==null||t.length===0){si("no addresses were provided for listening, this node is dial only");return}let e=[];for(let[n,i]of this.transports.entries()){let o=i.filter(t),s=[];for(let l of o){si("creating listener for %s on %s",n,l);let u=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n);f==null&&(f=[],this.listeners.set(n,f)),f.push(u),u.addEventListener("listening",()=>{this.dispatchEvent(new H("listener:listening",{detail:u}))}),u.addEventListener("close",()=>{this.dispatchEvent(new H("listener:close",{detail:u}))}),s.push(u.listen(l))}if(s.length===0){e.push(n);continue}if((await Wf(s)).find(l=>l.isFulfilled)==null&&this.faultTolerance!==ln.NO_FATAL)throw(0,ro.default)(new Error(`Transport (${n}) could not listen on any available address`),b.ERR_NO_VALID_ADDRESSES)}if(e.length===this.transports.size){let n=`no valid addresses were provided for transports [${e.join(", ")}]`;if(this.faultTolerance===ln.FATAL_ALL)throw(0,ro.default)(new Error(n),b.ERR_NO_VALID_ADDRESSES);si(`libp2p in dial mode only: ${n}`)}}async remove(t){si("removing %s",t);for(let e of this.listeners.get(t)??[])await e.close();this.transports.delete(t),this.listeners.delete(t)}async removeAll(){let t=[];for(let e of this.transports.keys())t.push(this.remove(e));await Promise.all(t)}};var te=S(V(),1);var Yr="/multistream/1.0.0";var Ow=S(V(),1);var Xf=S(V(),1);var pR=N("libp2p:mss"),Lw=U(`
|
|
49
|
+
`);function ls(r){let t=new Ut(r,Lw);return ke.single(t)}function ai(r,t,e={}){let n=ls(t);e.writeBytes===!0?r.push(n.subarray()):r.push(n)}function Bw(r,t,e={}){let n=new Ut;for(let i of t)n.append(ls(i));e.writeBytes===!0?r.push(n.subarray()):r.push(n)}async function mR(r,t){let e=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>await r.next(e)},i=n;t?.signal!=null&&(i=zn(n,t.signal));let s=await Pt(i,Re({onLength:a=>{e=a},maxDataLength:1024}),async a=>await be(a));if(s==null||s.length===0)throw(0,Xf.default)(new Error("no buffer returned"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==Lw[0])throw pR.error("Invalid mss message - missing newline - %s",s.subarray()),(0,Xf.default)(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function no(r,t){let e=await mR(r,t);return $(e.subarray())}var us=N("libp2p:mss:select");async function fs(r,t,e={}){t=Array.isArray(t)?[...t]:[t];let{reader:n,writer:i,rest:o,stream:s}=Ui(r),a=t.shift();if(a==null)throw new Error("At least one protocol must be specified");us('select: write ["%s", "%s"]',Yr,a);let c=U(Yr),l=U(a);Bw(i,[c,l],e);let u=await no(n,e);if(us('select: read "%s"',u),u===Yr&&(u=await no(n,e),us('select: read "%s"',u)),u===a)return o(),{stream:s,protocol:a};for(let f of t){us('select: write "%s"',f),ai(i,U(f),e);let d=await no(n,e);if(us('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),(0,Ow.default)(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}var hs=N("libp2p:mss:handle");async function ds(r,t,e){t=Array.isArray(t)?t:[t];let{writer:n,reader:i,rest:o,stream:s}=Ui(r);for(;;){let a=await no(i,e);if(hs('read "%s"',a),a===Yr){hs('respond with "%s" for "%s"',Yr,a),ai(n,U(Yr),e);continue}if(t.includes(a))return ai(n,U(a),e),hs('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){ai(n,new Ut(...t.map(c=>ls(U(c)))),e),hs('respond with "%s" for %s',t,a);continue}ai(n,U("na"),e),hs('respond with "na" for "%s"',a)}}var Zf=S(V(),1);var kw=Symbol.for("@libp2p/connection");var gR=N("libp2p:connection"),Jf=class{constructor(t){let{remoteAddr:e,remotePeer:n,newStream:i,close:o,getStreams:s,stat:a}=t;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=e,this.remotePeer=n,this.stat={...a,status:ca},this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}get[Symbol.toStringTag](){return"Connection"}get[kw](){return!0}get streams(){return this._getStreams()}async newStream(t,e){if(this.stat.status===nu)throw(0,Zf.default)(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===la)throw(0,Zf.default)(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(t)||(t=[t]);let n=await this._newStream(t,e);return n.stat.direction="outbound",n}addStream(t){t.stat.direction="inbound"}removeStream(t){}async close(){if(!(this.stat.status===la||this._closing)){this.stat.status=nu;try{this.streams.forEach(t=>t.close())}catch(t){gR.error(t)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=la}}};function Mw(r){return new Jf(r)}var wc=S(V(),1);var wR=Symbol.for("@libp2p/topology");function Uw(r){return r!=null&&Boolean(r[wR])}var jf=N("libp2p:registrar"),th=32,eh=64,Ec=class{constructor(t){this.topologies=new Map,this.handlers=new Map,this.components=t,this._onDisconnect=this._onDisconnect.bind(this),this._onProtocolChange=this._onProtocolChange.bind(this),this._onConnect=this._onConnect.bind(this),this.components.connectionManager.addEventListener("peer:disconnect",this._onDisconnect),this.components.connectionManager.addEventListener("peer:connect",this._onConnect),this.components.peerStore.addEventListener("change:protocols",this._onProtocolChange)}getProtocols(){return Array.from(new Set([...this.topologies.keys(),...this.handlers.keys()])).sort()}getHandler(t){let e=this.handlers.get(t);if(e==null)throw(0,wc.default)(new Error(`No handler registered for protocol ${t}`),b.ERR_NO_HANDLER_FOR_PROTOCOL);return e}getTopologies(t){let e=this.topologies.get(t);return e==null?[]:[...e.values()]}async handle(t,e,n){if(this.handlers.has(t))throw(0,wc.default)(new Error(`Handler already registered for protocol ${t}`),b.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Be.bind({ignoreUndefined:!0})({maxInboundStreams:th,maxOutboundStreams:eh},n);this.handlers.set(t,{handler:e,options:i}),await this.components.peerStore.protoBook.add(this.components.peerId,[t])}async unhandle(t){let e=Array.isArray(t)?t:[t];e.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.protoBook.remove(this.components.peerId,e)}async register(t,e){if(!Uw(e))throw jf.error("topology must be an instance of interfaces/topology"),(0,wc.default)(new Error("topology must be an instance of interfaces/topology"),b.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(t);return i==null&&(i=new Map,this.topologies.set(t,i)),i.set(n,e),await e.setRegistrar(this),n}unregister(t){for(let[e,n]of this.topologies.entries())n.has(t)&&(n.delete(t),n.size===0&&this.topologies.delete(e))}_onDisconnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect(e.remotePeer)}}).catch(n=>{jf.error(n)})}_onConnect(t){let e=t.detail;this.components.peerStore.protoBook.get(e.remotePeer).then(n=>{for(let i of n){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onConnect(e.remotePeer,e)}}).catch(n=>{jf.error(n)})}_onProtocolChange(t){let{peerId:e,protocols:n,oldProtocols:i}=t.detail,o=i.filter(a=>!n.includes(a)),s=n.filter(a=>!i.includes(a));for(let a of o){let c=this.topologies.get(a);if(c!=null)for(let l of c.values())l.onDisconnect(e)}for(let a of s){let c=this.topologies.get(a);if(c!=null)for(let l of c.values()){let u=this.components.connectionManager.getConnections(e)[0];u!=null&&l.onConnect(e,u)}}}};var rh=S(Br(),1);var nh=S(cr(),1),At=N("libp2p:upgrader");function ER(r,t){try{let{options:e}=t.getHandler(r);return e.maxInboundStreams}catch(e){if(e.code!==b.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return th}function xR(r,t){try{let{options:e}=t.getHandler(r);return e.maxOutboundStreams}catch(e){if(e.code!==b.ERR_NO_HANDLER_FOR_PROTOCOL)throw e}return eh}function Fw(r,t,e){let n=0;return e.streams.forEach(i=>{i.stat.direction===t&&i.stat.protocol===r&&n++}),n}var xc=class extends Dt{constructor(t,e){super(),this.components=t,this.connectionEncryption=new Map,e.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,e.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=e.inboundUpgradeTimeout}async upgradeInbound(t,e){if(!await this.components.connectionManager.acceptIncomingConnection(t))throw(0,te.default)(new Error("connection denied"),b.ERR_CONNECTION_DENIED);let i,o,s,a,c,l=new rh.TimeoutController(this.inboundUpgradeTimeout);try{(0,nh.setMaxListeners)?.(1/0,l.signal)}catch{}try{let u=Se(t,l.signal);if(t.source=u.source,t.sink=u.sink,await this.components.connectionGater.denyInboundConnection(t))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptConnection"),b.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(t),At("starting the inbound connection upgrade");let f=t;if(e?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(At("protecting the inbound connection"),f=await d.protect(t))}try{if(i=f,e?.skipEncryption!==!0){if({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f),await this.components.connectionGater.denyInboundEncryptedConnection(o,{...f,...i}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED)}else{let d=t.remoteAddr.getPeerId();if(d==null)throw(0,te.default)(new Error("inbound connection that skipped encryption must have a peer id"),b.ERR_INVALID_MULTIADDR);let h=tt(d);c="native",o=h}if(s=i,e?.muxerFactory!=null)a=e.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,s=d.stream}}catch(d){throw At.error("Failed to upgrade inbound connection",d),d}if(await this.components.connectionGater.denyInboundUpgradedConnection(o,{...f,...i}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED);return At("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:t,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),l.clear()}}async upgradeOutbound(t,e){let n=t.remoteAddr.getPeerId(),i;if(n!=null&&(i=tt(n),await this.components.connectionGater.denyOutboundConnection(i,t)))throw(0,te.default)(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),b.ERR_CONNECTION_INTERCEPTED);let o,s,a,c,l;this.components.metrics?.trackMultiaddrConnection(t),At("Starting the outbound connection upgrade");let u=t;if(e?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(u=await f.protect(t))}try{if(o=u,e?.skipEncryption!==!0){if({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(u,i),await this.components.connectionGater.denyOutboundEncryptedConnection(s,{...u,...o}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED)}else{if(i==null)throw(0,te.default)(new Error("Encryption was skipped but no peer id was passed"),b.ERR_INVALID_PEER);c="native",s=i}if(a=o,e?.muxerFactory!=null)l=e.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...u,...o},this.muxers);l=f.muxerFactory,a=f.stream}}catch(f){throw At.error("Failed to upgrade outbound connection",f),await t.close(f),f}if(await this.components.connectionGater.denyOutboundUpgradedConnection(s,{...u,...o}))throw(0,te.default)(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),b.ERR_CONNECTION_INTERCEPTED);return At("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:t,upgradedConn:a,muxerFactory:l,remotePeer:s})}_createConnection(t){let{cryptoProtocol:e,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=t,c,l,u;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:h=>{u!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await ds(h,p);if(At("%s: incoming stream opened on %s",n,y),u==null)return;let g=ER(y,this.components.registrar);if(Fw(y,"inbound",u)===g){h.abort((0,te.default)(new Error(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`),b.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS));return}h.source=m.source,h.sink=m.sink,h.stat.protocol=y,this.components.peerStore.protoBook.add(s,[y]).catch(_=>At.error(_)),u.addStream(h),this.components.metrics?.trackProtocolStream(h,u),this._onStream({connection:u,stream:h,protocol:y})}).catch(p=>{At.error(p),h.stat.timeline.close==null&&h.close()})},onStreamEnd:h=>{u?.removeStream(h.id)}}),l=async(h,p={})=>{if(c==null)throw(0,te.default)(new Error("Stream is not multiplexed"),b.ERR_MUXER_UNAVAILABLE);At("%s: starting new stream on %s",n,h);let m=await c.newStream(),y;try{if(p.signal==null){At("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h),y=new rh.TimeoutController(3e4),p.signal=y.signal;try{(0,nh.setMaxListeners)?.(1/0,y.signal)}catch{}}let{stream:g,protocol:E}=await fs(m,h,p),_=xR(E,this.components.registrar);if(Fw(E,"outbound",u)===_){let C=(0,te.default)(new Error(`Too many outbound protocol streams for protocol "${E}" - limit ${_}`),b.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(C),C}return this.components.peerStore.protoBook.add(s,[E]).catch(C=>At.error(C)),m.source=g.source,m.sink=g.sink,m.stat.protocol=E,this.components.metrics?.trackProtocolStream(m,u),m}catch(g){throw At.error("could not create new stream",g),m.stat.timeline.close==null&&m.close(),g.code!=null?g:(0,te.default)(g,b.ERR_UNSUPPORTED_PROTOCOL)}finally{y?.clear()}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(h=>{At.error(h)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...h)=>(u!=null&&h[1]==="close"&&h[2]!=null&&f.close==null&&(async()=>{try{u.stat.status==="OPEN"&&await u.close()}catch(p){At.error(p)}finally{this.dispatchEvent(new H("connectionEnd",{detail:u}))}})().catch(p=>{At.error(p)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let d=()=>{throw(0,te.default)(new Error("connection is not multiplexed"),b.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=Mw({remoteAddr:i.remoteAddr,remotePeer:s,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:e},newStream:l??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.dispatchEvent(new H("connection",{detail:u})),u}_onStream(t){let{connection:e,stream:n,protocol:i}=t,{handler:o}=this.components.registrar.getHandler(i);o({connection:e,stream:n})}async _encryptInbound(t){let e=Array.from(this.connectionEncryption.keys());At("handling inbound crypto protocol selection",e);try{let{stream:n,protocol:i}=await ds(t,e,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return At("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw(0,te.default)(n,b.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(t,e){let n=Array.from(this.connectionEncryption.keys());At("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await fs(t,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return At("encrypting outbound connection to %p",e),{...await s.secureOutbound(this.components.peerId,i,e),protocol:o}}catch(i){throw(0,te.default)(i,b.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(t,e){let n=Array.from(e.keys());At("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await fs(t,n,{writeBytes:!0});At("%s selected as muxer protocol",o);let s=e.get(o);return{stream:i,muxerFactory:s}}catch(i){throw At.error("error multiplexing outbound stream",i),(0,te.default)(i,b.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(t,e){let n=Array.from(e.keys());At("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await ds(t,n,{writeBytes:!0}),s=e.get(o);return{stream:i,muxerFactory:s}}catch(i){throw At.error("error multiplexing inbound stream",i),(0,te.default)(i,b.ERR_MUXER_UNAVAILABLE)}}};var li=S(V(),1);var ci;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.protocolVersion!=null&&(n.uint32(42),n.string(e.protocolVersion)),e.agentVersion!=null&&(n.uint32(50),n.string(e.agentVersion)),e.publicKey!=null&&(n.uint32(10),n.bytes(e.publicKey)),e.listenAddrs!=null)for(let o of e.listenAddrs)n.uint32(18),n.bytes(o);if(e.observedAddr!=null&&(n.uint32(34),n.bytes(e.observedAddr)),e.protocols!=null)for(let o of e.protocols)n.uint32(26),n.string(o);e.signedPeerRecord!=null&&(n.uint32(66),n.bytes(e.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 5:i.protocolVersion=e.string();break;case 6:i.agentVersion=e.string();break;case 1:i.publicKey=e.bytes();break;case 2:i.listenAddrs.push(e.bytes());break;case 4:i.observedAddr=e.bytes();break;case 3:i.protocols.push(e.string());break;case 8:i.signedPeerRecord=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(ci||(ci={}));var Vw=S(V(),1);var Kw={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var ps;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.publicKey!=null&&e.publicKey.byteLength>0)&&(n.uint32(10),n.bytes(e.publicKey)),(i.writeDefaults===!0||e.payloadType!=null&&e.payloadType.byteLength>0)&&(n.uint32(18),n.bytes(e.payloadType)),(i.writeDefaults===!0||e.payload!=null&&e.payload.byteLength>0)&&(n.uint32(26),n.bytes(e.payload)),(i.writeDefaults===!0||e.signature!=null&&e.signature.byteLength>0)&&(n.uint32(42),n.bytes(e.signature)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.publicKey=e.bytes();break;case 2:i.payloadType=e.bytes();break;case 3:i.payload=e.bytes();break;case 5:i.signature=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(ps||(ps={}));var vR,ee=class{constructor(t){let{peerId:e,payloadType:n,payload:i,signature:o}=t;this.peerId=e,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=ps.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Et(this.marshal(),t.marshal())}async validate(t){let e=qw(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return await ns(this.peerId.publicKey).verify(e.subarray(),this.signature)}};vR=ee;ee.createFromProtobuf=async r=>{let t=ps.decode(r),e=await rn(t.publicKey);return new ee({peerId:e,payloadType:t.payloadType,payload:t.payload,signature:t.signature})};ee.seal=async(r,t)=>{if(t.privateKey==null)throw new Error("Missing private key");let e=r.domain,n=r.codec,i=r.marshal(),o=qw(e,n,i),a=await(await eo(t.privateKey)).sign(o.subarray());return new ee({peerId:t,payloadType:n,payload:i,signature:a})};ee.openAndCertify=async(r,t)=>{let e=await ee.createFromProtobuf(r);if(!await e.validate(t))throw(0,Vw.default)(new Error("envelope signature is not valid for the given domain"),Kw.ERR_SIGNATURE_NOT_VALID);return e};var qw=(r,t,e)=>{let n=U(r),i=Qe.encode(n.byteLength),o=Qe.encode(t.length),s=Qe.encode(e.length);return new Ut(i,n,o,t,s,e)};function Hw(r,t){let e=(n,i)=>n.toString().localeCompare(i.toString());return r.length!==t.length?!1:(t.sort(e),r.sort(e).every((n,i)=>t[i].equals(n)))}var ms;(function(r){let t;(function(n){let i;n.codec=()=>(i==null&&(i=_t((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),(a.writeDefaults===!0||o.multiaddr!=null&&o.multiaddr.byteLength>0)&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let l=o.uint32();switch(l>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(l&7);break}}return a})),i),n.encode=o=>bt(o,n.codec()),n.decode=o=>vt(o,n.codec())})(t=r.AddressInfo||(r.AddressInfo={}));let e;r.codec=()=>(e==null&&(e=_t((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),(o.writeDefaults===!0||n.peerId!=null&&n.peerId.byteLength>0)&&(i.uint32(10),i.bytes(n.peerId)),(o.writeDefaults===!0||n.seq!==0n)&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),r.AddressInfo.codec().encode(s,i,{writeDefaults:!0});o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(r.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),e),r.encode=n=>bt(n,r.codec()),r.decode=n=>vt(n,r.codec())})(ms||(ms={}));var $w="libp2p-peer-record",zw=Uint8Array.from([3,1]);var Qt=class{constructor(t){this.domain=Qt.DOMAIN,this.codec=Qt.CODEC;let{peerId:e,multiaddrs:n,seqNumber:i}=t;this.peerId=e,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ms.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(t=>({multiaddr:t.bytes}))})),this.marshaled}equals(t){return!(!(t instanceof Qt)||!this.peerId.equals(t.peerId)||this.seqNumber!==t.seqNumber||!Hw(this.multiaddrs,t.multiaddrs))}};Qt.createFromProtobuf=r=>{let t=ms.decode(r),e=en(t.peerId),n=(t.addresses??[]).map(o=>j(o.multiaddr)),i=t.seq;return new Qt({peerId:e,multiaddrs:n,seqNumber:i})};Qt.DOMAIN=$w;Qt.CODEC=zw;var vc="0.0.0",Gw="libp2p";var ih=`js-libp2p/${vc}`;var Yw="0.1.0",Ww="id",Qw="id/push",Xw="1.0.0",Zw="1.0.0";var ys=S(Br(),1);var gs=S(cr(),1),xt=N("libp2p:identify"),Jw=1024*8,io=class{constructor(t,e){this.components=t,this.started=!1,this.init=e,this.identifyProtocolStr=`/${e.protocolPrefix}/${Ww}/${Xw}`,this.identifyPushProtocolStr=`/${e.protocolPrefix}/${Qw}/${Zw}`,this.host={protocolVersion:`${e.protocolPrefix}/${Yw}`,...e.host},this.components.connectionManager.addEventListener("peer:connect",n=>{let i=n.detail;this.identify(i).catch(xt.error)}),this.components.peerStore.addEventListener("change:multiaddrs",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>xt.error(o))}),this.components.peerStore.addEventListener("change:protocols",n=>{let{peerId:i}=n.detail;this.components.peerId.equals(i)&&this.pushToPeerStore().catch(o=>xt.error(o))})}isStarted(){return this.started}async start(){this.started||(await this.components.peerStore.metadataBook.setValue(this.components.peerId,"AgentVersion",U(this.host.agentVersion)),await this.components.peerStore.metadataBook.setValue(this.components.peerId,"ProtocolVersion",U(this.host.protocolVersion)),await this.components.registrar.handle(this.identifyProtocolStr,t=>{this._handleIdentify(t).catch(e=>{xt.error(e)})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),await this.components.registrar.handle(this.identifyPushProtocolStr,t=>{this._handlePush(t).catch(e=>{xt.error(e)})},{maxInboundStreams:this.init.maxPushIncomingStreams,maxOutboundStreams:this.init.maxPushOutgoingStreams}),this.started=!0)}async stop(){await this.components.registrar.unhandle(this.identifyProtocolStr),await this.components.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async push(t){let e=await this.components.peerStore.addressBook.getRawEnvelope(this.components.peerId),n=this.components.addressManager.getAddresses().map(s=>s.bytes),i=await this.components.peerStore.protoBook.get(this.components.peerId),o=t.map(async s=>{let a,c=new ys.TimeoutController(this.init.timeout);try{(0,gs.setMaxListeners)?.(1/0,c.signal)}catch{}try{a=await s.newStream([this.identifyPushProtocolStr],{signal:c.signal}),await Se(a,c.signal).sink(Pt([ci.encode({listenAddrs:n,signedPeerRecord:e,protocols:i})],ke()))}catch(l){xt.error("could not push identify update to peer",l)}finally{a?.close(),c.clear()}});await Promise.all(o)}async pushToPeerStore(){if(!this.isStarted())return;let t=[];for(let e of this.components.connectionManager.getConnections()){let n=e.remotePeer;(await this.components.peerStore.get(n)).protocols.includes(this.identifyPushProtocolStr)&&t.push(e)}await this.push(t)}async _identify(t,e={}){let n,i=e.signal,o;if(i==null){n=new ys.TimeoutController(this.init.timeout),i=n.signal;try{(0,gs.setMaxListeners)?.(1/0,n.signal)}catch{}}try{o=await t.newStream([this.identifyProtocolStr],{signal:i});let s=Se(o,i),a=await Pt([],s,Re({maxDataLength:this.init.maxIdentifyMessageSize??Jw}),async c=>await be(c));if(a==null)throw(0,li.default)(new Error("No data could be retrieved"),b.ERR_CONNECTION_ENDED);try{return ci.decode(a)}catch(c){throw(0,li.default)(c,b.ERR_INVALID_MESSAGE)}}finally{n?.clear(),o?.close()}}async identify(t,e={}){let n=await this._identify(t,e),{publicKey:i,listenAddrs:o,protocols:s,observedAddr:a,signedPeerRecord:c,agentVersion:l,protocolVersion:u}=n;if(i==null)throw(0,li.default)(new Error("public key was missing from identify message"),b.ERR_MISSING_PUBLIC_KEY);let f=await rn(i);if(!t.remotePeer.equals(f))throw(0,li.default)(new Error("identified peer does not match the expected peer"),b.ERR_INVALID_PEER);if(this.components.peerId.equals(f))throw(0,li.default)(new Error("identified peer is our own peer id?"),b.ERR_INVALID_PEER);let d=io.getCleanMultiaddr(a);if(c!=null){xt("received signed peer record from %p",f);try{let h=await ee.openAndCertify(c,Qt.DOMAIN);if(!h.peerId.equals(f))throw(0,li.default)(new Error("identified peer does not match the expected peer"),b.ERR_INVALID_PEER);if(await this.components.peerStore.addressBook.consumePeerRecord(h)){await this.components.peerStore.protoBook.set(f,s),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",U(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",U(u)),xt("identify completed for peer %p and protocols %o",f,s);return}}catch(h){xt("received invalid envelope, discard it and fallback to listenAddrs is available",h)}}else xt("no signed peer record received from %p",f);xt("falling back to legacy addresses from %p",f);try{await this.components.peerStore.addressBook.set(f,o.map(h=>j(h)))}catch(h){xt.error("received invalid addrs",h)}await this.components.peerStore.protoBook.set(f,s),l!=null&&await this.components.peerStore.metadataBook.setValue(f,"AgentVersion",U(l)),u!=null&&await this.components.peerStore.metadataBook.setValue(f,"ProtocolVersion",U(u)),xt("identify completed for peer %p and protocols %o",f,s),xt("received observed address of %s",d?.toString())}async _handleIdentify(t){let{connection:e,stream:n}=t,i=new ys.TimeoutController(this.init.timeout);try{(0,gs.setMaxListeners)?.(1/0,i.signal)}catch{}try{let o=this.components.peerId.publicKey??new Uint8Array(0),s=await this.components.peerStore.get(this.components.peerId),a=this.components.addressManager.getAddresses().map(d=>d.decapsulateCode(pt("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let d=new Qt({peerId:this.components.peerId,multiaddrs:a}),h=await ee.seal(d,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(h),c=h.marshal().subarray()}let l=ci.encode({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(d=>d.bytes),signedPeerRecord:c,observedAddr:e.remoteAddr.bytes,protocols:s.protocols}),u=Se(n,i.signal),f=Pt([l],ke());await u.sink(f)}catch(o){xt.error("could not respond to identify request",o)}finally{n.close(),i.clear()}}async _handlePush(t){let{connection:e,stream:n}=t,i=new ys.TimeoutController(this.init.timeout);try{(0,gs.setMaxListeners)?.(1/0,i.signal)}catch{}let o;try{let a=Se(n,i.signal),c=await Pt([],a,Re({maxDataLength:this.init.maxIdentifyMessageSize??Jw}),async l=>await be(l));c!=null&&(o=ci.decode(c))}catch(a){return xt.error("received invalid message",a)}finally{n.close(),i.clear()}if(o==null)return xt.error("received invalid message");let s=e.remotePeer;if(this.components.peerId.equals(s)){xt("received push from ourselves?");return}if(xt("received push from %p",s),o.signedPeerRecord!=null){xt("received signedPeerRecord in push");try{let a=await ee.openAndCertify(o.signedPeerRecord,Qt.DOMAIN);if(await this.components.peerStore.addressBook.consumePeerRecord(a)){xt("consumed signedPeerRecord sent in push"),await this.components.peerStore.protoBook.set(s,o.protocols);return}else xt("failed to consume signedPeerRecord sent in push")}catch(a){xt("received invalid envelope, discard it and fallback to listenAddrs is available",a)}}else xt("did not receive signedPeerRecord in push");try{await this.components.peerStore.addressBook.set(s,o.listenAddrs.map(a=>j(a)))}catch(a){xt.error("received invalid addrs",a)}try{await this.components.peerStore.protoBook.set(s,o.protocols)}catch(a){xt.error("received invalid protocols",a)}xt("handled push from %p",s)}static getCleanMultiaddr(t){if(t!=null&&t.length>0)try{return j(t)}catch{}}};var oo=S(V(),1);var ws;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.identifier!=="")&&(n.uint32(10),n.string(e.identifier)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={identifier:""},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.identifier=e.string();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(ws||(ws={}));var rr;(function(r){let t;(function(i){i.OK="OK",i.NOT_FOUND="NOT_FOUND",i.ERROR="ERROR"})(t=r.StatusCode||(r.StatusCode={}));let e;(function(i){i[i.OK=0]="OK",i[i.NOT_FOUND=1]="NOT_FOUND",i[i.ERROR=2]="ERROR"})(e||(e={})),function(i){i.codec=()=>cn(e)}(t=r.StatusCode||(r.StatusCode={}));let n;r.codec=()=>(n==null&&(n=_t((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),(s.writeDefaults===!0||i.status!=null&&e[i.status]!==0)&&(o.uint32(8),r.StatusCode.codec().encode(i.status,o)),(s.writeDefaults===!0||i.data!=null&&i.data.byteLength>0)&&(o.uint32(18),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={status:t.OK,data:new Uint8Array(0)},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.status=r.StatusCode.codec().decode(i);break;case 2:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),r.encode=i=>bt(i,r.codec()),r.decode=i=>vt(i,r.codec())})(rr||(rr={}));var jw="0.0.1",tE="fetch";var eE=S(Br(),1),rE=S(cr(),1);var qe=N("libp2p:fetch"),bc=class{constructor(t,e){this.started=!1,this.components=t,this.protocol=`/${e.protocolPrefix??"libp2p"}/${tE}/${jw}`,this.lookupFunctions=new Map,this.handleMessage=this.handleMessage.bind(this),this.init=e}async start(){await this.components.registrar.handle(this.protocol,t=>{this.handleMessage(t).catch(e=>{qe.error(e)}).finally(()=>{t.stream.close()})},{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}async fetch(t,e,n={}){qe("dialing %s to %p",this.protocol,t);let i=await this.components.connectionManager.openConnection(t,n),o,s=n.signal,a;if(s==null){qe("using default timeout of %d ms",this.init.timeout),o=new eE.TimeoutController(this.init.timeout),s=o.signal;try{(0,rE.setMaxListeners)?.(1/0,o.signal)}catch{}}try{a=await i.newStream(this.protocol,{signal:s});let c=Se(a,s);return qe("fetch %s",e),await Pt([ws.encode({identifier:e})],ke(),c,Re(),async function(u){let f=await be(u);if(f==null)throw(0,oo.default)(new Error("No data received"),b.ERR_INVALID_MESSAGE);let d=rr.decode(f);switch(d.status){case rr.StatusCode.OK:return qe("received status for %s ok",e),d.data;case rr.StatusCode.NOT_FOUND:return qe("received status for %s not found",e),null;case rr.StatusCode.ERROR:{qe("received status for %s error",e);let h=$(d.data);throw(0,oo.default)(new Error("Error in fetch protocol response: "+h),b.ERR_INVALID_PARAMETERS)}default:throw qe("received status for %s unknown",e),(0,oo.default)(new Error("Unknown response status"),b.ERR_INVALID_MESSAGE)}})??null}finally{o?.clear(),a?.close()}}async handleMessage(t){let{stream:e}=t,n=this;await Pt(e,Re(),async function*(i){let o=await be(i);if(o==null)throw(0,oo.default)(new Error("No data received"),b.ERR_INVALID_MESSAGE);let s=ws.decode(o),a,c=n._getLookupFunction(s.identifier);if(c!=null){qe("look up data with identifier %s",s.identifier);let l=await c(s.identifier);l!=null?(qe("sending status for %s ok",s.identifier),a={status:rr.StatusCode.OK,data:l}):(qe("sending status for %s not found",s.identifier),a={status:rr.StatusCode.NOT_FOUND,data:new Uint8Array(0)})}else{qe("sending status for %s error",s.identifier);let l=U(`No lookup function registered for key: ${s.identifier}`);a={status:rr.StatusCode.ERROR,data:l}}yield rr.encode(a)},ke(),e)}_getLookupFunction(t){for(let e of this.lookupFunctions.keys())if(t.startsWith(e))return this.lookupFunctions.get(e)}registerLookupFunction(t,e){if(this.lookupFunctions.has(t))throw(0,oo.default)(new Error("Fetch protocol handler for key prefix '"+t+"' already registered"),b.ERR_KEY_ALREADY_EXISTS);this.lookupFunctions.set(t,e)}unregisterLookupFunction(t,e){e!=null&&this.lookupFunctions.get(t)!==e||this.lookupFunctions.delete(t)}};var sE=S(V(),1);var nE="1.0.0",iE="ping";var aE=S(Br(),1),cE=S(cr(),1),oE=N("libp2p:ping"),_c=class{constructor(t,e){this.components=t,this.started=!1,this.protocol=`/${e.protocolPrefix}/${iE}/${nE}`,this.init=e}async start(){await this.components.registrar.handle(this.protocol,this.handleMessage,{maxInboundStreams:this.init.maxInboundStreams,maxOutboundStreams:this.init.maxOutboundStreams}),this.started=!0}async stop(){await this.components.registrar.unhandle(this.protocol),this.started=!1}isStarted(){return this.started}handleMessage(t){let{stream:e}=t;Pt(e,e).catch(n=>{oE.error(n)})}async ping(t,e={}){oE("dialing %s to %p",this.protocol,t);let n=Date.now(),i=qr(32),o=await this.components.connectionManager.openConnection(t,e),s,a=e.signal,c;if(a==null){s=new aE.TimeoutController(this.init.timeout),a=s.signal;try{(0,cE.setMaxListeners)?.(1/0,s.signal)}catch{}}try{c=await o.newStream([this.protocol],{signal:a});let l=Se(c,a),u=await Pt([i],l,async d=>await be(d)),f=Date.now();if(u==null||!Et(i,u.subarray()))throw(0,sE.default)(new Error("Received wrong ping ack"),b.ERR_WRONG_PING_ACK);return f-n}finally{s?.clear(),c?.close()}}};async function lE(){throw new Error("Not supported in browsers")}var hE=S(fE(),1),oh=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Sc=(0,hE.default)(),Es=oh&&!Sc,dE=Sc&&!oh,pE=Sc&&oh,mE=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Sc,yE=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,UO=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+(()=>"_")()+"ENV"]==="test",gE=typeof navigator<"u"&&navigator.product==="ReactNative";var xE=S(V(),1);function wE(r){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(r)||/^::1$/.test(r)}function EE(r){let{address:t}=r.nodeAddress();return wE(t)}var sh=N("libp2p:nat"),ah=7200;function AR(r=1024,t=65535){return Math.floor(Math.random()*(t-r+1)+r)}var Ac=class{constructor(t,e){if(this.components=t,this.started=!1,this.enabled=e.enabled,this.externalAddress=e.externalAddress,this.localAddress=e.localAddress,this.description=e.description??`${Gw}@${vc} ${this.components.peerId.toString()}`,this.ttl=e.ttl??ah,this.keepAlive=e.keepAlive??!0,this.gateway=e.gateway,this.ttl<ah)throw(0,xE.default)(new Error(`NatManager ttl should be at least ${ah} seconds`),b.ERR_INVALID_PARAMETERS)}isStarted(){return this.started}start(){}afterStart(){Es||!this.enabled||this.started||(this.started=!0,this._start().catch(t=>{sh.error(t)}))}async _start(){let t=this.components.transportManager.getAddrs();for(let e of t){let{family:n,host:i,port:o,transport:s}=e.toOptions();if(!e.isThinWaistAddress()||s!=="tcp"||EE(e)||n!==4)continue;let a=await this._getClient(),c=this.externalAddress??await a.externalIp(),l=La(c);if(l===!0)throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);if(l==null)throw new Error(`${c} is not an IP address`);let u=AR();sh(`opening uPnP connection from ${c}:${u} to ${i}:${o}`),await a.map({publicPort:u,localPort:o,localAddress:this.localAddress,protocol:s.toUpperCase()==="TCP"?"TCP":"UDP"}),this.components.addressManager.addObservedAddr(Gd({family:4,address:c,port:u},s))}}async _getClient(){return this.client!=null?this.client:(this.client=await lE({description:this.description,ttl:this.ttl,keepAlive:this.keepAlive,gateway:this.gateway}),this.client)}async stop(){if(!(Es||this.client==null))try{await this.client.close(),this.client=void 0}catch(t){sh.error(t)}}};var RR=N("libp2p:peer-record-updater"),Rc=class{constructor(t){this.components=t,this.started=!1,this.update=this.update.bind(this)}isStarted(){return this.started}async start(){this.started=!0,this.components.transportManager.addEventListener("listener:listening",this.update),this.components.transportManager.addEventListener("listener:close",this.update),this.components.addressManager.addEventListener("change:addresses",this.update)}async stop(){this.started=!1,this.components.transportManager.removeEventListener("listener:listening",this.update),this.components.transportManager.removeEventListener("listener:close",this.update),this.components.addressManager.removeEventListener("change:addresses",this.update)}update(){Promise.resolve().then(async()=>{let t=new Qt({peerId:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(n=>n.decapsulateCode(pt("p2p").code))}),e=await ee.seal(t,this.components.peerId);await this.components.peerStore.addressBook.consumePeerRecord(e)}).catch(t=>{RR.error("Could not update self peer record: %o",t)})}};var vE=S(V(),1);var Ic=class{constructor(t){this.dht=t}async findPeer(t,e={}){for await(let n of this.dht.findPeer(t,e))if(n.name==="FINAL_PEER")return n.peer;throw(0,vE.default)(new Error(X.NOT_FOUND),b.ERR_NOT_FOUND)}async*getClosestPeers(t,e={}){for await(let n of this.dht.getClosestPeers(t,e))n.name==="FINAL_PEER"&&(yield n.peer)}};var Cc=S(V(),1);var Q={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_NOT_FOUND:"ERR_NOT_FOUND"};async function*ch(r,t){for await(let e of r)await t(e),yield e}var wt=N("libp2p:peer-store:address-book"),Tc="change:multiaddrs";async function IR(){return!0}var Dc=class{constructor(t,e,n){this.dispatchEvent=t,this.store=e,this.addressFilter=n??IR}async consumePeerRecord(t){wt.trace("consumePeerRecord await write lock");let e=await this.store.lock.writeLock();wt.trace("consumePeerRecord got write lock");let n,i,o;try{let s;try{s=Qt.createFromProtobuf(t.payload)}catch{return wt.error("invalid peer record received"),!1}n=s.peerId;let a=s.multiaddrs;if(!n.equals(t.peerId))return wt("signing key does not match PeerId in the PeerRecord"),!1;if(a==null||a.length===0)return!1;if(await this.store.has(n)&&(i=await this.store.load(n),i.peerRecordEnvelope!=null)){let l=await ee.createFromProtobuf(i.peerRecordEnvelope),u=Qt.createFromProtobuf(l.payload);if(u.seqNumber>=s.seqNumber)return wt("sequence number was lower or equal to existing sequence number - stored: %d received: %d",u.seqNumber,s.seqNumber),!1}let c=await lh(n,a,this.addressFilter,!0);o=await this.store.patchOrCreate(n,{addresses:c,peerRecordEnvelope:t.marshal().subarray()}),wt("stored provided peer record for %p",s.peerId)}finally{wt.trace("consumePeerRecord release write lock"),e()}return this.dispatchEvent(new H(Tc,{detail:{peerId:n,multiaddrs:o.addresses.map(({multiaddr:s})=>s),oldMultiaddrs:i==null?[]:i.addresses.map(({multiaddr:s})=>s)}})),!0}async getRawEnvelope(t){wt.trace("getRawEnvelope await read lock");let e=await this.store.lock.readLock();wt.trace("getRawEnvelope got read lock");try{return(await this.store.load(t)).peerRecordEnvelope}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{wt.trace("getRawEnvelope release read lock"),e()}}async getPeerRecord(t){let e=await this.getRawEnvelope(t);if(e!=null)return await ee.createFromProtobuf(e)}async get(t){t=qt(t),wt.trace("get wait for read lock");let e=await this.store.lock.readLock();wt.trace("get got read lock");try{return(await this.store.load(t)).addresses}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{wt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=qt(t),!Array.isArray(e))throw wt.error("multiaddrs must be an array of Multiaddrs"),(0,Cc.default)(new Error("multiaddrs must be an array of Multiaddrs"),Q.ERR_INVALID_PARAMETERS);wt.trace("set await write lock");let n=await this.store.lock.writeLock();wt.trace("set got write lock");let i=!1,o,s;try{let a=await lh(t,e,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length&&a.length===o.addresses.length)return}catch(c){if(c.code!==Q.ERR_NOT_FOUND)throw c}s=await this.store.patchOrCreate(t,{addresses:a}),wt("set multiaddrs for %p",t)}finally{wt.trace("set multiaddrs for %p",t),wt("set release write lock"),n()}this.dispatchEvent(new H(Tc,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i||this.dispatchEvent(new H("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async add(t,e){if(t=qt(t),!Array.isArray(e))throw wt.error("multiaddrs must be an array of Multiaddrs"),(0,Cc.default)(new Error("multiaddrs must be an array of Multiaddrs"),Q.ERR_INVALID_PARAMETERS);wt.trace("add await write lock");let n=await this.store.lock.writeLock();wt.trace("add got write lock");let i,o,s;try{let a=await lh(t,e,this.addressFilter);if(a.length===0)return;try{if(o=await this.store.load(t),i=!0,new Set([...a.map(({multiaddr:c})=>c.toString()),...o.addresses.map(({multiaddr:c})=>c.toString())]).size===o.addresses.length)return}catch(c){if(c.code!==Q.ERR_NOT_FOUND)throw c}s=await this.store.mergeOrCreate(t,{addresses:a}),wt("added multiaddrs for %p",t)}finally{wt.trace("set release write lock"),n()}this.dispatchEvent(new H(Tc,{detail:{peerId:t,multiaddrs:s.addresses.map(a=>a.multiaddr),oldMultiaddrs:o==null?[]:o.addresses.map(({multiaddr:a})=>a)}})),i===!0&&this.dispatchEvent(new H("peer",{detail:{id:t,multiaddrs:s.addresses.map(a=>a.multiaddr),protocols:s.protocols}}))}async delete(t){t=qt(t),wt.trace("delete await write lock");let e=await this.store.lock.writeLock();wt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{addresses:[]})}finally{wt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Tc,{detail:{peerId:t,multiaddrs:[],oldMultiaddrs:n==null?[]:n.addresses.map(({multiaddr:i})=>i)}}))}};async function lh(r,t,e,n=!1){return await Pt(t,i=>ch(i,o=>{if(!Le(o))throw wt.error("multiaddr must be an instance of Multiaddr"),(0,Cc.default)(new Error("multiaddr must be an instance of Multiaddr"),Q.ERR_INVALID_PARAMETERS)}),i=>me(i,async o=>await e(r,o)),i=>go(i,o=>({multiaddr:o,isCertified:n})),async i=>await Pr(i))}var _E=S(V(),1);var _r=N("libp2p:peer-store:key-book"),bE="change:pubkey",Pc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async set(t,e){if(t=qt(t),!(e instanceof Uint8Array))throw _r.error("publicKey must be an instance of Uint8Array to store data"),(0,_E.default)(new Error("publicKey must be an instance of PublicKey"),Q.ERR_INVALID_PARAMETERS);_r.trace("set await write lock");let n=await this.store.lock.writeLock();_r.trace("set got write lock");let i=!1,o;try{try{if(o=await this.store.load(t),o.pubKey!=null&&Et(o.pubKey,e))return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}await this.store.patchOrCreate(t,{pubKey:e}),i=!0}finally{_r.trace("set release write lock"),n()}i&&this.dispatchEvent(new H(bE,{detail:{peerId:t,publicKey:e,oldPublicKey:o?.pubKey}}))}async get(t){t=qt(t),_r.trace("get await write lock");let e=await this.store.lock.readLock();_r.trace("get got write lock");try{return(await this.store.load(t)).pubKey}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{_r("get release write lock"),e()}}async delete(t){t=qt(t),_r.trace("delete await write lock");let e=await this.store.lock.writeLock();_r.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{pubKey:void 0})}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}finally{_r.trace("delete release write lock"),e()}this.dispatchEvent(new H(bE,{detail:{peerId:t,publicKey:void 0,oldPublicKey:n?.pubKey}}))}};var uh=S(V(),1);var Xt=N("libp2p:peer-store:metadata-book"),Lc="change:metadata",Bc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){t=qt(t),Xt.trace("get await read lock");let e=await this.store.lock.readLock();Xt.trace("get got read lock");try{return(await this.store.load(t)).metadata}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{Xt.trace("get release read lock"),e()}return new Map}async getValue(t,e){t=qt(t),Xt.trace("getValue await read lock");let n=await this.store.lock.readLock();Xt.trace("getValue got read lock");try{return(await this.store.load(t)).metadata.get(e)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}finally{Xt.trace("getValue release write lock"),n()}}async set(t,e){if(t=qt(t),!(e instanceof Map))throw Xt.error("valid metadata must be provided to store data"),(0,uh.default)(new Error("valid metadata must be provided"),Q.ERR_INVALID_PARAMETERS);Xt.trace("set await write lock");let n=await this.store.lock.writeLock();Xt.trace("set got write lock");let i;try{try{i=await this.store.load(t)}catch(o){if(o.code!==Q.ERR_NOT_FOUND)throw o}await this.store.mergeOrCreate(t,{metadata:e})}finally{Xt.trace("set release write lock"),n()}this.dispatchEvent(new H(Lc,{detail:{peerId:t,metadata:e,oldMetadata:i==null?new Map:i.metadata}}))}async setValue(t,e,n){if(t=qt(t),typeof e!="string"||!(n instanceof Uint8Array))throw Xt.error("valid key and value must be provided to store data"),(0,uh.default)(new Error("valid key and value must be provided"),Q.ERR_INVALID_PARAMETERS);Xt.trace("setValue await write lock");let i=await this.store.lock.writeLock();Xt.trace("setValue got write lock");let o,s;try{try{o=await this.store.load(t);let a=o.metadata.get(e);if(a!=null&&Et(n,a))return}catch(a){if(a.code!==Q.ERR_NOT_FOUND)throw a}s=await this.store.mergeOrCreate(t,{metadata:new Map([[e,n]])})}finally{Xt.trace("setValue release write lock"),i()}this.dispatchEvent(new H(Lc,{detail:{peerId:t,metadata:s.metadata,oldMetadata:o==null?new Map:o.metadata}}))}async delete(t){t=qt(t),Xt.trace("delete await write lock");let e=await this.store.lock.writeLock();Xt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}n!=null&&await this.store.patch(t,{metadata:new Map})}finally{Xt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Lc,{detail:{peerId:t,metadata:new Map,oldMetadata:n.metadata}}))}async deleteValue(t,e){t=qt(t),Xt.trace("deleteValue await write lock");let n=await this.store.lock.writeLock();Xt.trace("deleteValue got write lock");let i,o;try{o=await this.store.load(t),i=o.metadata,i.delete(e),await this.store.patch(t,{metadata:i})}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}finally{Xt.trace("deleteValue release write lock"),n()}i!=null&&this.dispatchEvent(new H(Lc,{detail:{peerId:t,metadata:i,oldMetadata:o==null?new Map:o.metadata}}))}};var Oc=S(V(),1);var Zt=N("libp2p:peer-store:proto-book"),Nc="change:protocols",kc=class{constructor(t,e){this.dispatchEvent=t,this.store=e}async get(t){Zt.trace("get wait for read lock");let e=await this.store.lock.readLock();Zt.trace("get got read lock");try{return(await this.store.load(t)).protocols}catch(n){if(n.code!==Q.ERR_NOT_FOUND)throw n}finally{Zt.trace("get release read lock"),e()}return[]}async set(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,Oc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("set await write lock");let n=await this.store.lock.writeLock();Zt.trace("set got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...e]).size===i.protocols.length)return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:e}),Zt("stored provided protocols for %p",t)}finally{Zt.trace("set release write lock"),n()}this.dispatchEvent(new H(Nc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async add(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,Oc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("add await write lock");let n=await this.store.lock.writeLock();Zt.trace("add got write lock");let i,o;try{try{if(i=await this.store.load(t),new Set([...i.protocols,...e]).size===i.protocols.length)return}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.mergeOrCreate(t,{protocols:e}),Zt("added provided protocols for %p",t)}finally{Zt.trace("add release write lock"),n()}this.dispatchEvent(new H(Nc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async remove(t,e){if(t=qt(t),!Array.isArray(e))throw Zt.error("protocols must be provided to store data"),(0,Oc.default)(new Error("protocols must be provided"),Q.ERR_INVALID_PARAMETERS);Zt.trace("remove await write lock");let n=await this.store.lock.writeLock();Zt.trace("remove got write lock");let i,o;try{try{i=await this.store.load(t);let s=new Set(i.protocols);for(let a of e)s.delete(a);if(i.protocols.length===s.size)return;e=Array.from(s)}catch(s){if(s.code!==Q.ERR_NOT_FOUND)throw s}o=await this.store.patchOrCreate(t,{protocols:e})}finally{Zt.trace("remove release write lock"),n()}this.dispatchEvent(new H(Nc,{detail:{peerId:t,protocols:o.protocols,oldProtocols:i==null?[]:i.protocols}}))}async delete(t){t=qt(t),Zt.trace("delete await write lock");let e=await this.store.lock.writeLock();Zt.trace("delete got write lock");let n;try{try{n=await this.store.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i}await this.store.patchOrCreate(t,{protocols:[]})}finally{Zt.trace("delete release write lock"),e()}n!=null&&this.dispatchEvent(new H(Nc,{detail:{peerId:t,protocols:[],oldProtocols:n.protocols}}))}};var Ch=S(V(),1);var xs;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addresses!=null)for(let o of e.addresses)n.uint32(10),Mc.codec().encode(o,n,{writeDefaults:!0});if(e.protocols!=null)for(let o of e.protocols)n.uint32(18),n.string(o);if(e.metadata!=null)for(let o of e.metadata)n.uint32(26),Uc.codec().encode(o,n,{writeDefaults:!0});e.pubKey!=null&&(n.uint32(34),n.bytes(e.pubKey)),e.peerRecordEnvelope!=null&&(n.uint32(42),n.bytes(e.peerRecordEnvelope)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addresses:[],protocols:[],metadata:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.addresses.push(Mc.codec().decode(e,e.uint32()));break;case 2:i.protocols.push(e.string());break;case 3:i.metadata.push(Uc.codec().decode(e,e.uint32()));break;case 4:i.pubKey=e.bytes();break;case 5:i.peerRecordEnvelope=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(xs||(xs={}));var Mc;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.multiaddr!=null&&e.multiaddr.byteLength>0)&&(n.uint32(10),n.bytes(e.multiaddr)),e.isCertified!=null&&(n.uint32(16),n.bool(e.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.multiaddr=e.bytes();break;case 2:i.isCertified=e.bool();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(Mc||(Mc={}));var Uc;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.key!=="")&&(n.uint32(10),n.string(e.key)),(i.writeDefaults===!0||e.value!=null&&e.value.byteLength>0)&&(n.uint32(18),n.bytes(e.value)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={key:"",value:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.key=e.string();break;case 2:i.value=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(Uc||(Uc={}));var NE=S(AE(),1);var bs=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},hh=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},RE=r=>globalThis.DOMException===void 0?new hh(r):new DOMException(r),IE=r=>{let t=r.reason===void 0?RE("This operation was aborted."):r.reason;return t instanceof Error?t:RE(t)};function dh(r,t,e,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(r);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(IE(c)),c.addEventListener("abort",()=>{a(IE(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof e=="function"){try{s(e())}catch(u){a(u)}return}let c=typeof e=="string"?e:`Promise timed out after ${t} milliseconds`,l=e instanceof Error?e:new bs(c);typeof r.cancel=="function"&&r.cancel(),a(l)},t),(async()=>{try{s(await r)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function ph(r,t,e){let n=0,i=r.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;e(r[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var ui=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Wr,_s=class{constructor(){Wr.set(this,[])}enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&ui(this,Wr,"f")[this.size-1].priority>=e.priority){ui(this,Wr,"f").push(n);return}let i=ph(ui(this,Wr,"f"),n,(o,s)=>s.priority-o.priority);ui(this,Wr,"f").splice(i,0,n)}dequeue(){let t=ui(this,Wr,"f").shift();return t?.run}filter(t){return ui(this,Wr,"f").filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return ui(this,Wr,"f").length}};Wr=new WeakMap;var Ot=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},O=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},zt,As,Rs,An,zc,Is,Kc,nr,Ss,Ce,Vc,De,Ts,Sn,qc,TE,CE,LE,DE,PE,Hc,mh,yh,Gc,BE,$c,Yc=class extends Error{},so=class extends NE.default{constructor(t){var e,n,i,o;if(super(),zt.add(this),As.set(this,void 0),Rs.set(this,void 0),An.set(this,0),zc.set(this,void 0),Is.set(this,void 0),Kc.set(this,0),nr.set(this,void 0),Ss.set(this,void 0),Ce.set(this,void 0),Vc.set(this,void 0),De.set(this,0),Ts.set(this,void 0),Sn.set(this,void 0),qc.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:_s,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(e=t.intervalCap)===null||e===void 0?void 0:e.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);Ot(this,As,t.carryoverConcurrencyCount,"f"),Ot(this,Rs,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),Ot(this,zc,t.intervalCap,"f"),Ot(this,Is,t.interval,"f"),Ot(this,Ce,new t.queueClass,"f"),Ot(this,Vc,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,Ot(this,qc,t.throwOnTimeout===!0,"f"),Ot(this,Sn,t.autoStart===!1,"f")}get concurrency(){return O(this,Ts,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);Ot(this,Ts,t,"f"),O(this,zt,"m",Gc).call(this)}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:O(this,qc,"f"),...e},new Promise((n,i)=>{O(this,Ce,"f").enqueue(async()=>{var o,s,a;Ot(this,De,(s=O(this,De,"f"),s++,s),"f"),Ot(this,An,(a=O(this,An,"f"),a++,a),"f");try{if(!((o=e.signal)===null||o===void 0)&&o.aborted)throw new Yc("The task was aborted.");let c=t({signal:e.signal});e.timeout&&(c=dh(Promise.resolve(c),e.timeout)),e.signal&&(c=Promise.race([c,O(this,zt,"m",BE).call(this,e.signal)]));let l=await c;n(l),this.emit("completed",l)}catch(c){if(c instanceof bs&&!e.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{O(this,zt,"m",LE).call(this)}},e),this.emit("add"),O(this,zt,"m",Hc).call(this)})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return O(this,Sn,"f")?(Ot(this,Sn,!1,"f"),O(this,zt,"m",Gc).call(this),this):this}pause(){Ot(this,Sn,!0,"f")}clear(){Ot(this,Ce,new(O(this,Vc,"f")),"f")}async onEmpty(){O(this,Ce,"f").size!==0&&await O(this,zt,"m",$c).call(this,"empty")}async onSizeLessThan(t){O(this,Ce,"f").size<t||await O(this,zt,"m",$c).call(this,"next",()=>O(this,Ce,"f").size<t)}async onIdle(){O(this,De,"f")===0&&O(this,Ce,"f").size===0||await O(this,zt,"m",$c).call(this,"idle")}get size(){return O(this,Ce,"f").size}sizeBy(t){return O(this,Ce,"f").filter(t).length}get pending(){return O(this,De,"f")}get isPaused(){return O(this,Sn,"f")}};As=new WeakMap,Rs=new WeakMap,An=new WeakMap,zc=new WeakMap,Is=new WeakMap,Kc=new WeakMap,nr=new WeakMap,Ss=new WeakMap,Ce=new WeakMap,Vc=new WeakMap,De=new WeakMap,Ts=new WeakMap,Sn=new WeakMap,qc=new WeakMap,zt=new WeakSet,TE=function(){return O(this,Rs,"f")||O(this,An,"f")<O(this,zc,"f")},CE=function(){return O(this,De,"f")<O(this,Ts,"f")},LE=function(){var t;Ot(this,De,(t=O(this,De,"f"),t--,t),"f"),O(this,zt,"m",Hc).call(this),this.emit("next")},DE=function(){O(this,zt,"m",yh).call(this),O(this,zt,"m",mh).call(this),Ot(this,Ss,void 0,"f")},PE=function(){let t=Date.now();if(O(this,nr,"f")===void 0){let e=O(this,Kc,"f")-t;if(e<0)Ot(this,An,O(this,As,"f")?O(this,De,"f"):0,"f");else return O(this,Ss,"f")===void 0&&Ot(this,Ss,setTimeout(()=>{O(this,zt,"m",DE).call(this)},e),"f"),!0}return!1},Hc=function(){if(O(this,Ce,"f").size===0)return O(this,nr,"f")&&clearInterval(O(this,nr,"f")),Ot(this,nr,void 0,"f"),this.emit("empty"),O(this,De,"f")===0&&this.emit("idle"),!1;if(!O(this,Sn,"f")){let t=!O(this,zt,"a",PE);if(O(this,zt,"a",TE)&&O(this,zt,"a",CE)){let e=O(this,Ce,"f").dequeue();return e?(this.emit("active"),e(),t&&O(this,zt,"m",mh).call(this),!0):!1}}return!1},mh=function(){O(this,Rs,"f")||O(this,nr,"f")!==void 0||(Ot(this,nr,setInterval(()=>{O(this,zt,"m",yh).call(this)},O(this,Is,"f")),"f"),Ot(this,Kc,Date.now()+O(this,Is,"f"),"f"))},yh=function(){O(this,An,"f")===0&&O(this,De,"f")===0&&O(this,nr,"f")&&(clearInterval(O(this,nr,"f")),Ot(this,nr,void 0,"f")),Ot(this,An,O(this,As,"f")?O(this,De,"f"):0,"f"),O(this,zt,"m",Gc).call(this)},Gc=function(){for(;O(this,zt,"m",Hc).call(this););},BE=async function(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(new Yc("The task was aborted."))},{once:!0})})},$c=async function(t,e){return new Promise(n=>{let i=()=>{e&&!e()||(this.off(t,i),n())};this.on(t,i)})};var gh=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},wh=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},OE=r=>globalThis.DOMException===void 0?new wh(r):new DOMException(r),kE=r=>{let t=r.reason===void 0?OE("This operation was aborted."):r.reason;return t instanceof Error?t:OE(t)};function Eh(r,t){let{milliseconds:e,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=t,s,a=new Promise((c,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){c(r);return}if(t.signal){let{signal:u}=t;u.aborted&&l(kE(u)),u.addEventListener("abort",()=>{l(kE(u))})}s=o.setTimeout.call(void 0,()=>{if(n){try{c(n())}catch(u){l(u)}return}if(typeof r.cancel=="function"&&r.cancel(),i===!1)c();else if(i instanceof Error)l(i);else{let u=i??`Promise timed out after ${e} milliseconds`;l(new gh(u))}},e),(async()=>{try{c(await r)}catch(u){l(u)}finally{o.clearTimeout.call(void 0,s)}})()});return a.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},a}var xh="lock:worker:request-read",vh="lock:worker:release-read",bh="lock:master:grant-read",_h="lock:worker:request-write",Sh="lock:worker:release-write",Ah="lock:master:grant-write";var Rn={},ao=r=>{r.addEventListener("message",t=>{ao.dispatchEvent("message",r,t)}),r.port!=null&&r.port.addEventListener("message",t=>{ao.dispatchEvent("message",r,t)})};ao.addEventListener=(r,t)=>{Rn[r]==null&&(Rn[r]=[]),Rn[r].push(t)};ao.removeEventListener=(r,t)=>{Rn[r]!=null&&(Rn[r]=Rn[r].filter(e=>e===t))};ao.dispatchEvent=function(r,t,e){Rn[r]!=null&&Rn[r].forEach(n=>n(t,e))};var Rh=ao;var ME=(r,t,e,n,i)=>(o,s)=>{if(s.data.type!==e)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};r.dispatchEvent(new MessageEvent(t,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let l=u=>{if(u==null||u.data==null)return;let f={type:u.data.type,name:u.data.name,identifier:u.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",l),c())};o.addEventListener("message",l)}))}}))},UE=(r,t,e,n)=>async()=>{let i=$s();return globalThis.postMessage({type:t,identifier:i,name:r}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===e&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:r})}))};globalThis.addEventListener("message",s)})},DR={singleProcess:!1},FE=r=>{if(r=Object.assign({},DR,r),Boolean(globalThis.document)||r.singleProcess){let e=new EventTarget;return Rh.addEventListener("message",ME(e,"requestReadLock",xh,vh,bh)),Rh.addEventListener("message",ME(e,"requestWriteLock",_h,Sh,Ah)),e}return{isWorker:!0,readLock:e=>UE(e,xh,bh,vh),writeLock:e=>UE(e,_h,Ah,Sh)}};var fi={},In;async function Ih(r,t){let e,n=new Promise(i=>{e=i});return r.add(async()=>await Eh((async()=>await new Promise(i=>{e(()=>{i()})}))(),{milliseconds:t.timeout})),await n}var PR=(r,t)=>{if(In.isWorker===!0)return{readLock:In.readLock(r,t),writeLock:In.writeLock(r,t)};let e=new so({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ih(n,t);n=new so({concurrency:t.concurrency,autoStart:!1});let i=n,o=Ih(n,t);return e.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Ih(e,t)}}},LR={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Th(r){let t=Object.assign({},LR,r);return In==null&&(In=FE(t),In.isWorker!==!0&&(In.addEventListener("requestReadLock",e=>{fi[e.data.name]!=null&&fi[e.data.name].readLock().then(async n=>await e.data.handler().finally(()=>n()))}),In.addEventListener("requestWriteLock",async e=>{fi[e.data.name]!=null&&fi[e.data.name].writeLock().then(async n=>await e.data.handler().finally(()=>n()))}))),fi[t.name]==null&&(fi[t.name]=PR(t.name,t)),fi[t.name]}var KE=N("libp2p:peer-store:store"),VE="/peers/",Wc=class{constructor(t){this.components=t,this.lock=Th({name:"peer-store",singleProcess:!0})}_peerIdToDatastoreKey(t){if(t.type==null)throw KE.error("peerId must be an instance of peer-id to store data"),(0,Ch.default)(new Error("peerId must be an instance of peer-id"),Q.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Mt(`${VE}${e}`)}async has(t){return await this.components.datastore.has(this._peerIdToDatastoreKey(t))}async delete(t){await this.components.datastore.delete(this._peerIdToDatastoreKey(t))}async load(t){let e=await this.components.datastore.get(this._peerIdToDatastoreKey(t)),n=xs.decode(e),i=new Map;for(let o of n.metadata)i.set(o.key,o.value);return{...n,id:t,addresses:n.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:j(o),isCertified:s??!1})),metadata:i,pubKey:n.pubKey??void 0,peerRecordEnvelope:n.peerRecordEnvelope??void 0}}async save(t){if(t.pubKey!=null&&t.id.publicKey!=null&&!Et(t.pubKey,t.id.publicKey))throw KE.error("peer publicKey bytes do not match peer id publicKey bytes"),(0,Ch.default)(new Error("publicKey bytes do not match peer id publicKey bytes"),Q.ERR_INVALID_PARAMETERS);let e=new Set,n=t.addresses.filter(s=>e.has(s.multiaddr.toString())?!1:(e.add(s.multiaddr.toString()),!0)).sort((s,a)=>s.multiaddr.toString().localeCompare(a.multiaddr.toString())).map(({multiaddr:s,isCertified:a})=>({multiaddr:s.bytes,isCertified:a})),i=[];[...t.metadata.keys()].sort().forEach(s=>{let a=t.metadata.get(s);a!=null&&i.push({key:s,value:a})});let o=xs.encode({addresses:n,protocols:t.protocols.sort(),pubKey:t.pubKey,metadata:i,peerRecordEnvelope:t.peerRecordEnvelope});return await this.components.datastore.put(this._peerIdToDatastoreKey(t.id),o.subarray()),await this.load(t.id)}async patch(t,e){let n=await this.load(t);return await this._patch(t,e,n)}async patchOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._patch(t,e,n)}async _patch(t,e,n){return await this.save({...n,...e,id:t})}async merge(t,e){let n=await this.load(t);return await this._merge(t,e,n)}async mergeOrCreate(t,e){let n;try{n=await this.load(t)}catch(i){if(i.code!==Q.ERR_NOT_FOUND)throw i;n={id:t,addresses:[],protocols:[],metadata:new Map}}return await this._merge(t,e,n)}async _merge(t,e,n){let i=new Map;return n.addresses.forEach(o=>{i.set(o.multiaddr.toString(),o.isCertified)}),(e.addresses??[]).forEach(o=>{let s=o.multiaddr.toString(),c=Boolean(i.get(s))||o.isCertified;i.set(s,c)}),await this.save({id:t,addresses:Array.from(i.entries()).map(([o,s])=>({multiaddr:j(o),isCertified:s})),protocols:Array.from(new Set([...n.protocols??[],...e.protocols??[]])),metadata:new Map([...n.metadata?.entries()??[],...e.metadata?.entries()??[]]),pubKey:e.pubKey??n?.pubKey,peerRecordEnvelope:e.peerRecordEnvelope??n?.peerRecordEnvelope})}async*all(){for await(let t of this.components.datastore.queryKeys({prefix:VE})){let e=t.toString().split("/")[2],n=ve.decode(e);yield this.load(en(n))}}};var Dh=S(V(),1);var Qr;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.tags!=null)for(let o of e.tags)n.uint32(10),Qc.codec().encode(o,n,{writeDefaults:!0});i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={tags:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.tags.push(Qc.codec().decode(e,e.uint32()));break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(Qr||(Qr={}));var Qc;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.name!=="")&&(n.uint32(10),n.string(e.name)),e.value!=null&&(n.uint32(16),n.uint32(e.value)),e.expiry!=null&&(n.uint32(24),n.uint64(e.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={name:""},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.name=e.string();break;case 2:i.value=e.uint32();break;case 3:i.expiry=e.uint64();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(Qc||(Qc={}));var He=N("libp2p:peer-store"),Xc=class extends Dt{constructor(t,e={}){super(),this.components=t,this.store=new Wc(t),this.addressBook=new Dc(this.dispatchEvent.bind(this),this.store,e.addressFilter),this.keyBook=new Pc(this.dispatchEvent.bind(this),this.store),this.metadataBook=new Bc(this.dispatchEvent.bind(this),this.store),this.protoBook=new kc(this.dispatchEvent.bind(this),this.store)}async forEach(t){He.trace("getPeers await read lock");let e=await this.store.lock.readLock();He.trace("getPeers got read lock");try{for await(let n of this.store.all())n.id.equals(this.components.peerId)||t(n)}finally{He.trace("getPeers release read lock"),e()}}async all(){let t=[];return await this.forEach(e=>{t.push(e)}),t}async delete(t){He.trace("delete await write lock");let e=await this.store.lock.writeLock();He.trace("delete got write lock");try{await this.store.delete(t)}finally{He.trace("delete release write lock"),e()}}async get(t){He.trace("get await read lock");let e=await this.store.lock.readLock();He.trace("get got read lock");try{return await this.store.load(t)}finally{He.trace("get release read lock"),e()}}async has(t){He.trace("has await read lock");let e=await this.store.lock.readLock();He.trace("has got read lock");try{return await this.store.has(t)}finally{He.trace("has release read lock"),e()}}async tagPeer(t,e,n={}){let i=n.value??0,o=Math.round(i),s=n.ttl??void 0;if(o!==i||o<0||o>100)throw(0,Dh.default)(new Error("Tag value must be between 0-100"),"ERR_TAG_VALUE_OUT_OF_BOUNDS");let a=await this.metadataBook.getValue(t,"tags"),c=[];a!=null&&(c=Qr.decode(a).tags);for(let l of c)if(l.name===e)throw(0,Dh.default)(new Error("Peer already tagged"),"ERR_DUPLICATE_TAG");c.push({name:e,value:o,expiry:s==null?void 0:BigInt(Date.now()+s)}),await this.metadataBook.setValue(t,"tags",Qr.encode({tags:c}).subarray())}async unTagPeer(t,e){let n=await this.metadataBook.getValue(t,"tags"),i=[];n!=null&&(i=Qr.decode(n).tags),i=i.filter(o=>o.name!==e),await this.metadataBook.setValue(t,"tags",Qr.encode({tags:i}).subarray())}async getTags(t){let e=await this.metadataBook.getValue(t,"tags"),n=[];e!=null&&(n=Qr.decode(e).tags);let i=BigInt(Date.now()),o=n.filter(s=>s.expiry==null||s.expiry>i);return o.length!==n.length&&await this.metadataBook.setValue(t,"tags",Qr.encode({tags:o}).subarray()),o.map(s=>({name:s.name,value:s.value??0}))}};var qE=S(V(),1),Zc=class{constructor(t){this.dht=t}async provide(t){await Ge(this.dht.provide(t))}async*findProviders(t,e={}){for await(let n of this.dht.findProviders(t,e))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,e,n){await Ge(this.dht.put(t,e,n))}async get(t,e){for await(let n of this.dht.get(t,e))if(n.name==="VALUE")return n.value;throw(0,qE.default)(new Error("Not found"),"ERR_NOT_FOUND")}};var Pe=S(V(),1);var Jc=class{constructor(t={}){this._started=!1,this._peerId=t.peerId,this._addressManager=t.addressManager,this._peerStore=t.peerStore,this._upgrader=t.upgrader,this._metrics=t.metrics,this._registrar=t.registrar,this._connectionManager=t.connectionManager,this._transportManager=t.transportManager,this._connectionGater=t.connectionGater,this._contentRouting=t.contentRouting,this._peerRouting=t.peerRouting,this._datastore=t.datastore,this._connectionProtector=t.connectionProtector,this._dht=t.dht,this._pubsub=t.pubsub,this._dialer=t.dialer}isStarted(){return this._started}async beforeStart(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{t.beforeStart!=null&&await t.beforeStart()}))}async start(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{await t.start()})),this._started=!0}async afterStart(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{t.afterStart!=null&&await t.afterStart()}))}async beforeStop(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{t.beforeStop!=null&&await t.beforeStop()}))}async stop(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{await t.stop()})),this._started=!1}async afterStop(){await Promise.all(Object.values(this).filter(t=>Tr(t)).map(async t=>{t.afterStop!=null&&await t.afterStop()}))}get peerId(){if(this._peerId==null)throw(0,Pe.default)(new Error("peerId not set"),"ERR_SERVICE_MISSING");return this._peerId}set peerId(t){this._peerId=t}get addressManager(){if(this._addressManager==null)throw(0,Pe.default)(new Error("addressManager not set"),"ERR_SERVICE_MISSING");return this._addressManager}set addressManager(t){this._addressManager=t}get peerStore(){if(this._peerStore==null)throw(0,Pe.default)(new Error("peerStore not set"),"ERR_SERVICE_MISSING");return this._peerStore}set peerStore(t){this._peerStore=t}get upgrader(){if(this._upgrader==null)throw(0,Pe.default)(new Error("upgrader not set"),"ERR_SERVICE_MISSING");return this._upgrader}set upgrader(t){this._upgrader=t}get registrar(){if(this._registrar==null)throw(0,Pe.default)(new Error("registrar not set"),"ERR_SERVICE_MISSING");return this._registrar}set registrar(t){this._registrar=t}get connectionManager(){if(this._connectionManager==null)throw(0,Pe.default)(new Error("connectionManager not set"),"ERR_SERVICE_MISSING");return this._connectionManager}set connectionManager(t){this._connectionManager=t}get transportManager(){if(this._transportManager==null)throw(0,Pe.default)(new Error("transportManager not set"),"ERR_SERVICE_MISSING");return this._transportManager}set transportManager(t){this._transportManager=t}get connectionGater(){if(this._connectionGater==null)throw(0,Pe.default)(new Error("connectionGater not set"),"ERR_SERVICE_MISSING");return this._connectionGater}set connectionGater(t){this._connectionGater=t}get contentRouting(){if(this._contentRouting==null)throw(0,Pe.default)(new Error("contentRouting not set"),"ERR_SERVICE_MISSING");return this._contentRouting}set contentRouting(t){this._contentRouting=t}get peerRouting(){if(this._peerRouting==null)throw(0,Pe.default)(new Error("peerRouting not set"),"ERR_SERVICE_MISSING");return this._peerRouting}set peerRouting(t){this._peerRouting=t}get datastore(){if(this._datastore==null)throw(0,Pe.default)(new Error("datastore not set"),"ERR_SERVICE_MISSING");return this._datastore}set datastore(t){this._datastore=t}get connectionProtector(){return this._connectionProtector}set connectionProtector(t){this._connectionProtector=t}get dialer(){if(this._dialer==null)throw(0,Pe.default)(new Error("dialer not set"),"ERR_SERVICE_MISSING");return this._dialer}set dialer(t){this._dialer=t}get metrics(){return this._metrics}set metrics(t){this._metrics=t}get dht(){return this._dht}set dht(t){this._dht=t}get pubsub(){return this._pubsub}set pubsub(t){this._pubsub=t}};var Lh=S(ul(),1),Bh=S(zE(),1);var GE=globalThis.fetch,YE=globalThis.Headers,I6=globalThis.Request,T6=globalThis.Response;function jc(r,t,e){return`${r}?name=${t}&type=${e}`}async function WE(r,t){return await(await GE(r,{headers:new YE({accept:"application/dns-json"}),signal:t})).json()}function hi(r,t){return`${t}_${r}`}var Ph=Object.assign((0,Lh.default)("dns-over-http-resolver"),{error:(0,Lh.default)("dns-over-http-resolver:error")}),Nh=class{constructor(t={}){this._cache=new Bh.default({max:t?.maxCache??100}),this._TXTcache=new Bh.default({max:t?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=t.request??WE,this._abortControllers=[]}cancel(){this._abortControllers.forEach(t=>t.abort())}getServers(){return this._servers}_getShuffledServers(){let t=[...this._servers];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*e),i=t[e];t[e]=t[n],t[n]=i}return t}setServers(t){this._servers=t}async resolve(t,e="A"){switch(e){case"A":return await this.resolve4(t);case"AAAA":return await this.resolve6(t);case"TXT":return await this.resolveTxt(t);default:throw new Error(`${e} is not supported`)}}async resolve4(t){let e="A",n=this._cache.get(hi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(jc(o,t,e),s.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(hi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolve6(t){let e="AAAA",n=this._cache.get(hi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(jc(o,t,e),s.signal),c=a.Answer.map(u=>u.data),l=Math.min(...a.Answer.map(u=>u.TTL));return this._cache.set(hi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}async resolveTxt(t){let e="TXT",n=this._TXTcache.get(hi(t,e));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(jc(o,t,e),s.signal),c=a.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),l=Math.min(...a.Answer.map(u=>u.TTL));return this._TXTcache.set(hi(t,e),c,{ttl:l}),c}catch{s.signal.aborted&&(i=!0),Ph.error(`${o} could not resolve ${t} record ${e}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${t} record ${e}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},QE=Nh;var XE=QE;var{code:MR}=pt("dnsaddr");async function ZE(r,t={}){let e=new XE;t.signal!=null&&t.signal.addEventListener("abort",()=>{e.cancel()});let n=r.getPeerId(),[,i]=r.stringTuples().find(([a])=>a===MR)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await e.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var tl=S(V(),1);var qR={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:r=>r},connectionManager:{maxConnections:300,minConnections:50,autoDial:!0,autoDialInterval:1e4,maxParallelDials:100,maxDialsPerPeer:4,dialTimeout:3e4,inboundUpgradeTimeout:3e4,resolvers:{dnsaddr:ZE},addressSorter:Fi},connectionGater:{},transportManager:{faultTolerance:ln.FATAL_ALL},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},nat:{enabled:!0,ttl:7200,keepAlive:!0},relay:{enabled:!0,advertise:{bootDelay:9e5,enabled:!1,ttl:18e5},hop:{enabled:!1,active:!1,timeout:3e4},autoRelay:{enabled:!1,maxListeners:2}},identify:{protocolPrefix:"ipfs",host:{agentVersion:ih},timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1},ping:{protocolPrefix:"ipfs",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4},fetch:{protocolPrefix:"libp2p",maxInboundStreams:1,maxOutboundStreams:1,timeout:1e4}};function JE(r){let t=Be(qR,r);if(t.transports==null||t.transports.length<1)throw(0,tl.default)(new Error(X.ERR_TRANSPORTS_REQUIRED),b.ERR_TRANSPORTS_REQUIRED);if(t.connectionEncryption==null||t.connectionEncryption.length===0)throw(0,tl.default)(new Error(X.CONN_ENCRYPTION_REQUIRED),b.CONN_ENCRYPTION_REQUIRED);if(t.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw(0,tl.default)(new Error(X.ERR_PROTECTOR_REQUIRED),b.ERR_PROTECTOR_REQUIRED);return t.identify.host.agentVersion===ih&&(mE||dE?t.identify.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(Es||yE||pE||gE)&&(t.identify.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`)),t}var Uh;(function(r){let t;r.codec=()=>(t==null&&(t=_t((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||e.id!=null&&e.id.byteLength>0)&&(n.uint32(10),n.bytes(e.id)),e.pubKey!=null&&(n.uint32(18),n.bytes(e.pubKey)),e.privKey!=null&&(n.uint32(26),n.bytes(e.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={id:new Uint8Array(0)},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let s=e.uint32();switch(s>>>3){case 1:i.id=e.bytes();break;case 2:i.pubKey=e.bytes();break;case 3:i.privKey=e.bytes();break;default:e.skipType(s&7);break}}return i})),t),r.encode=e=>bt(e,r.codec()),r.decode=e=>vt(e,r.codec())})(Uh||(Uh={}));var jE=async()=>{let r=await mc("Ed25519"),t=await HR(r);if(t.type==="Ed25519")return t;throw new Error(`Generated unexpected PeerId type "${t.type}"`)};async function HR(r){return await rn(Sw(r.public),Aw(r))}var Ds=S(V(),1);var $e=S(V(),1);var t1=Symbol.for("@libp2p/peer-discovery");var el=class extends Dt{get[t1](){return!0}get[Symbol.toStringTag](){return"@libp2p/dummy-dht"}get wan(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}get lan(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}get(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}findProviders(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}findPeer(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}getClosestPeers(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}provide(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}put(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async getMode(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async setMode(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}async refreshRoutingTable(){throw(0,$e.default)(new Error(X.DHT_DISABLED),b.DHT_DISABLED)}};var Xr=S(V(),1);var rl=class extends Dt{constructor(){super(...arguments),this.topicValidators=new Map}isStarted(){return!1}start(){}stop(){}get globalSignaturePolicy(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}get multicodecs(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getPeers(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getTopics(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}subscribe(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}unsubscribe(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}getSubscribers(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}async publish(){throw(0,Xr.default)(new Error(X.PUBSUB_DISABLED),b.ERR_PUBSUB_DISABLED)}};var co=S(V(),1);var g1=S(Br(),1),qh=S(Kh(),1),w1=S(cr(),1);var Cs=S(V(),1),p1=S(Kh(),1),m1=S(h1(),1),Vh=S(cr(),1);var d1=N("libp2p:dialer:dial-request"),nl=class{constructor(t){let{addrs:e,dialAction:n,dialer:i}=t;this.addrs=e,this.dialer=i,this.dialAction=n}async run(t={}){let e=this.dialer.getTokens(this.addrs.length);if(e.length<1)throw(0,Cs.default)(new Error("No dial tokens available"),b.ERR_NO_DIAL_TOKENS);let n=new m1.default;for(let a of e)n.push(a).catch(c=>{d1.error(c)});let i=this.addrs.map(()=>{let a=new AbortController;try{(0,Vh.setMaxListeners)?.(1/0,a.signal)}catch{}return a});if(t.signal!=null)try{(0,Vh.setMaxListeners)?.(1/0,t.signal)}catch{}let o=0,s=!1;try{return await Promise.any(this.addrs.map(async(a,c)=>{let l=await n.shift();if(s)throw this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0]),(0,Cs.default)(new Error("dialAction already succeeded"),b.ERR_ALREADY_SUCCEEDED);let u=i[c];if(u==null)throw(0,Cs.default)(new Error("dialAction did not come with an AbortController"),b.ERR_INVALID_PARAMETERS);let f;try{let d=u.signal;f=await this.dialAction(a,{...t,signal:t.signal!=null?(0,p1.anySignal)([d,t.signal]):d}),i[c]=void 0}finally{o++,this.addrs.length-o>=e.length?n.push(l).catch(d=>{d1.error(d)}):this.dialer.releaseToken(e.splice(e.indexOf(l),1)[0])}if(f==null)throw(0,Cs.default)(new Error("dialAction led to empty object"),b.ERR_TRANSPORT_DIAL_FAILED);return s=!0,f}))}finally{i.forEach(a=>{a!==void 0&&a.abort()}),e.forEach(a=>this.dialer.releaseToken(a))}}};var Sr=N("libp2p:dialer"),il=class{constructor(t,e={}){this.started=!1,this.addressSorter=e.addressSorter??Fi,this.maxAddrsToDial=e.maxAddrsToDial??25,this.timeout=e.dialTimeout??3e4,this.maxDialsPerPeer=e.maxDialsPerPeer??4,this.tokens=[...new Array(e.maxParallelDials??100)].map((n,i)=>i),this.components=t,this.pendingDials=cs({name:"libp2p_dialler_pending_dials",metrics:t.metrics}),this.pendingDialTargets=cs({name:"libp2p_dialler_pending_dial_targets",metrics:t.metrics});for(let[n,i]of Object.entries(e.resolvers??{}))Gl.set(n,i)}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1;for(let t of this.pendingDials.values())try{t.controller.abort()}catch(e){Sr.error(e)}this.pendingDials.clear();for(let t of this.pendingDialTargets.values())t.abort();this.pendingDialTargets.clear()}async dial(t,e={}){let{peerId:n,multiaddr:i}=fa(t);if(n!=null){if(this.components.peerId.equals(n))throw(0,co.default)(new Error("Tried to dial self"),b.ERR_DIALED_SELF);if(i!=null&&(Sr("storing multiaddrs %p",n,i),await this.components.peerStore.addressBook.add(n,[i])),await this.components.connectionGater.denyDialPeer(n))throw(0,co.default)(new Error("The dial request is blocked by gater.allowDialPeer"),b.ERR_PEER_DIAL_INTERCEPTED)}Sr("creating dial target for %p",n);let o=new AbortController,s=y1();this.pendingDialTargets.set(s,o);let a=o.signal;e.signal!=null&&(a=(0,qh.anySignal)([a,e.signal]));let c;try{c=await this._createDialTarget({peerId:n,multiaddr:i},{...e,signal:a})}finally{this.pendingDialTargets.delete(s)}if(c.addrs.length===0)throw(0,co.default)(new Error("The dial request has no valid addresses"),b.ERR_NO_VALID_ADDRESSES);let l=this.pendingDials.get(c.id)??this._createPendingDial(c,e);try{let u=await l.promise;return Sr("dial succeeded to %s",c.id),u}catch(u){throw Sr("dial failed to %s",c.id,u),l.controller.signal.aborted&&(u.code=b.ERR_TIMEOUT),Sr.error(u),u}finally{l.destroy()}}async _createDialTarget(t,e){let n=[];if(Le(t.multiaddr)&&n.push(t.multiaddr),!Le(t.multiaddr)&&kn(t.peerId)&&n.push(...await this._loadAddresses(t.peerId)),n=(await Promise.all(n.map(async o=>await this._resolve(o,e)))).flat().filter(o=>Boolean(this.components.transportManager.transportForMultiaddr(o))),n=[...new Set(n.map(o=>o.toString()))].map(o=>j(o)),n.length>this.maxAddrsToDial)throw(0,co.default)(new Error("dial with more addresses than allowed"),b.ERR_TOO_MANY_ADDRESSES);let i=kn(t.peerId)?t.peerId:void 0;if(i!=null){let o=`/p2p/${i.toString()}`;n=n.map(s=>{let a=s.getPeerId();return a==null||!i.equals(a)?s.encapsulate(o):s})}return{id:i==null?y1():i.toString(),addrs:n}}async _loadAddresses(t){let e=await this.components.peerStore.addressBook.get(t);return(await Promise.all(e.map(async n=>await this.components.connectionGater.denyDialMultiaddr(t,n.multiaddr)?!1:n))).filter(GR).sort(this.addressSorter).map(n=>n.multiaddr)}_createPendingDial(t,e={}){let n=async(l,u={})=>{if(u.signal?.aborted===!0)throw(0,co.default)(new Error("already aborted"),b.ERR_ALREADY_ABORTED);return await this.components.transportManager.dial(l,u).catch(f=>{throw Sr.error("dial to %s failed",l,f),f})},i=new nl({addrs:t.addrs,dialAction:n,dialer:this}),o=new g1.TimeoutController(this.timeout),s=[o.signal];e.signal!=null&&s.push(e.signal);let a=(0,qh.anySignal)(s);try{(0,w1.setMaxListeners)?.(1/0,a)}catch{}let c={dialRequest:i,controller:o,promise:i.run({...e,signal:a}),destroy:()=>{o.clear(),this.pendingDials.delete(t.id)}};return this.pendingDials.set(t.id,c),c}getTokens(t){let e=Math.min(t,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,e);return Sr("%d tokens request, returning %d, %d remaining",t,e,this.tokens.length),n}releaseToken(t){this.tokens.includes(t)||(Sr("token %d released",t),this.tokens.push(t))}async _resolve(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let i=await this._resolveRecord(t,e);return(await Promise.all(i.map(async a=>await this._resolve(a,e)))).flat().reduce((a,c)=>(a.find(l=>l.equals(c))==null&&a.push(c),a),[])}async _resolveRecord(t,e){try{return t=j(t.toString()),await t.resolve(e)}catch(n){return Sr.error(`multiaddr ${t.toString()} could not be resolved`,n),[]}}};function GR(r){return Boolean(r)}function y1(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Ar=N("libp2p"),Hh=class extends Dt{constructor(t){super(),this.started=!1,this.peerId=t.peerId;let e=this.components=new Jc({peerId:t.peerId,datastore:t.datastore??new Gs,connectionGater:{denyDialPeer:async()=>await Promise.resolve(!1),denyDialMultiaddr:async()=>await Promise.resolve(!1),denyInboundConnection:async()=>await Promise.resolve(!1),denyOutboundConnection:async()=>await Promise.resolve(!1),denyInboundEncryptedConnection:async()=>await Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>await Promise.resolve(!1),denyInboundUpgradedConnection:async()=>await Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>await Promise.resolve(!1),filterMultiaddrForPeer:async()=>await Promise.resolve(!0),...t.connectionGater}});e.peerStore=new Xc(e,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...t.peerStore}),this.services=[e],t.metrics!=null&&(this.metrics=this.components.metrics=this.configureComponent(t.metrics(this.components))),this.peerStore=this.components.peerStore,this.peerStore.addEventListener("peer",s=>{let{detail:a}=s;this.dispatchEvent(new H("peer:discovery",{detail:a}))}),t.connectionProtector!=null&&(this.components.connectionProtector=t.connectionProtector(e)),this.components.upgrader=new xc(this.components,{connectionEncryption:(t.connectionEncryption??[]).map(s=>this.configureComponent(s(this.components))),muxers:(t.streamMuxers??[]).map(s=>this.configureComponent(s(this.components))),inboundUpgradeTimeout:t.connectionManager.inboundUpgradeTimeout}),this.components.dialer=new il(this.components,t.connectionManager),this.connectionManager=this.components.connectionManager=new pa(this.components,t.connectionManager),this.components.connectionManager.addEventListener("peer:disconnect",s=>{this.dispatchEvent(new H("peer:disconnect",{detail:s.detail}))}),this.components.connectionManager.addEventListener("peer:connect",s=>{this.dispatchEvent(new H("peer:connect",{detail:s.detail}))}),this.registrar=this.components.registrar=new Ec(this.components),this.components.transportManager=new gc(this.components,t.transportManager),this.components.addressManager=new na(this.components,t.addresses),this.configureComponent(new Rc(this.components)),this.configureComponent(new ma(this.components,{enabled:t.connectionManager.autoDial,minConnections:t.connectionManager.minConnections,autoDialInterval:t.connectionManager.autoDialInterval}));let n=oi.generateOptions();this.keychain=this.configureComponent(new oi(this.components,{...n,...t.keychain})),this.services.push(new Ac(this.components,t.nat)),t.transports.forEach(s=>{this.components.transportManager.add(this.configureComponent(s(this.components)))}),this.identifyService=new io(this.components,{...t.identify}),this.configureComponent(this.identifyService),t.dht!=null?this.dht=this.components.dht=t.dht(this.components):this.dht=new el,t.pubsub!=null?this.pubsub=this.components.pubsub=t.pubsub(this.components):this.pubsub=new rl;let i=(t.peerRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&(i.push(this.configureComponent(new Ic(this.dht))),this.dht.addEventListener("peer",s=>{this.onDiscoveryPeer(s)})),this.peerRouting=this.components.peerRouting=this.configureComponent(new js(this.components,{...t.peerRouting,routers:i}));let o=(t.contentRouters??[]).map(s=>this.configureComponent(s(this.components)));t.dht!=null&&o.push(this.configureComponent(new Zc(this.dht))),this.contentRouting=this.components.contentRouting=this.configureComponent(new ea(this.components,{routers:o})),t.relay.enabled&&(this.components.transportManager.add(this.configureComponent(new Ia(this.components,t.relay))),this.configureComponent(new Na(this.components,{addressSorter:t.connectionManager.addressSorter,...t.relay}))),this.fetchService=this.configureComponent(new bc(this.components,{...t.fetch})),this.pingService=this.configureComponent(new _c(this.components,{...t.ping}));for(let s of t.peerDiscovery??[])this.configureComponent(s(this.components)).addEventListener("peer",c=>{this.onDiscoveryPeer(c)})}configureComponent(t){return Tr(t)&&this.services.push(t),t}async start(){if(this.started)return;this.started=!0,Ar("libp2p is starting"),(await this.keychain.listKeys()).find(e=>e.name==="self")==null&&(Ar("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await Promise.all(this.services.map(async e=>{e.beforeStart!=null&&await e.beforeStart()})),await Promise.all(this.services.map(e=>e.start())),await Promise.all(this.services.map(async e=>{e.afterStart!=null&&await e.afterStart()})),Ar("libp2p has started")}catch(e){throw Ar.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){this.started&&(Ar("libp2p is stopping"),this.started=!1,await Promise.all(this.services.map(async t=>{t.beforeStop!=null&&await t.beforeStop()})),await Promise.all(this.services.map(t=>t.stop())),await Promise.all(this.services.map(async t=>{t.afterStop!=null&&await t.afterStop()})),Ar("libp2p has stopped"))}isStarted(){return this.started}getConnections(t){return this.components.connectionManager.getConnections(t)}getPeers(){let t=new Mr;for(let e of this.components.connectionManager.getConnections())t.add(e.remotePeer);return Array.from(t)}async dial(t,e={}){return await this.components.connectionManager.openConnection(t,e)}async dialProtocol(t,e,n={}){if(e==null)throw(0,Ds.default)(new Error("no protocols were provided to open a stream"),b.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(e=Array.isArray(e)?e:[e],e.length===0)throw(0,Ds.default)(new Error("no protocols were provided to open a stream"),b.ERR_INVALID_PROTOCOLS_FOR_STREAM);return await(await this.dial(t,n)).newStream(e,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(t){Le(t)&&(t=tt(t.getPeerId()??"")),await this.components.connectionManager.closeConnections(t)}async getPublicKey(t,e={}){if(Ar("getPublicKey %p",t),t.publicKey!=null)return t.publicKey;let n=await this.peerStore.get(t);if(n.pubKey!=null)return n.pubKey;if(this.dht==null)throw(0,Ds.default)(new Error("Public key was not in the peer store and the DHT is not enabled"),b.ERR_NO_ROUTERS_AVAILABLE);let i=Vt([U("/pk/"),t.multihash.digest]);for await(let o of this.dht.get(i,e))if(o.name==="VALUE"){let s=ns(o.value);return await this.peerStore.keyBook.set(t,o.value),s.bytes}throw(0,Ds.default)(new Error(`Node not responding with its public key: ${t.toString()}`),b.ERR_INVALID_RECORD)}async fetch(t,e,n={}){if(Le(t)){let i=tt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(i,[t]),t=i}return await this.fetchService.fetch(t,e,n)}async ping(t,e={}){if(Le(t)){let n=tt(t.getPeerId()??"");await this.components.peerStore.addressBook.add(n,[t]),t=n}return await this.pingService.ping(t,e)}async handle(t,e,n){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async i=>{await this.components.registrar.handle(i,e,n)}))}async unhandle(t){Array.isArray(t)||(t=[t]),await Promise.all(t.map(async e=>{await this.components.registrar.unhandle(e)}))}async register(t,e){return await this.registrar.register(t,e)}unregister(t){this.registrar.unregister(t)}onDiscoveryPeer(t){let{detail:e}=t;if(e.id.toString()===this.peerId.toString()){Ar.error(new Error(b.ERR_DISCOVERED_SELF));return}e.multiaddrs.length>0&&this.components.peerStore.addressBook.add(e.id,e.multiaddrs).catch(n=>Ar.error(n)),e.protocols.length>0&&this.components.peerStore.protoBook.set(e.id,e.protocols).catch(n=>Ar.error(n)),this.dispatchEvent(new H("peer:discovery",{detail:e}))}};async function E1(r){if(r.peerId==null){let t=r.datastore;if(t!=null)try{let e=new oi({datastore:t},Be(oi.generateOptions(),r.keychain));r.peerId=await e.exportPeerId("self")}catch(e){if(e.code!=="ERR_NOT_FOUND")throw e}}return r.peerId==null&&(r.peerId=await jE()),new Hh(JE(r))}async function YR(r){let t=await E1(r);return r.start!==!1&&await t.start(),t}return A1(WR);})();
|
|
50
50
|
/*! Bundled license information:
|
|
51
51
|
|
|
52
52
|
@noble/secp256k1/lib/esm/index.js:
|