libp2p 0.35.7 → 0.35.8-12f1bb0

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.
Files changed (89) hide show
  1. package/dist/index.min.js +55 -0
  2. package/dist/src/circuit/auto-relay.d.ts +8 -10
  3. package/dist/src/circuit/auto-relay.d.ts.map +1 -1
  4. package/dist/src/connection-manager/auto-dialler.d.ts +1 -1
  5. package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
  6. package/dist/src/connection-manager/index.d.ts +1 -2
  7. package/dist/src/connection-manager/index.d.ts.map +1 -1
  8. package/dist/src/content-routing/utils.d.ts +3 -3
  9. package/dist/src/content-routing/utils.d.ts.map +1 -1
  10. package/dist/src/dht/dht-peer-routing.d.ts.map +1 -1
  11. package/dist/src/dialer/dial-request.d.ts.map +1 -1
  12. package/dist/src/dialer/index.d.ts +5 -5
  13. package/dist/src/dialer/index.d.ts.map +1 -1
  14. package/dist/src/identify/index.d.ts +4 -4
  15. package/dist/src/identify/index.d.ts.map +1 -1
  16. package/dist/src/index.d.ts +6 -6
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/metrics/index.d.ts +9 -4
  19. package/dist/src/metrics/index.d.ts.map +1 -1
  20. package/dist/src/metrics/tracked-map.d.ts +6 -1
  21. package/dist/src/metrics/tracked-map.d.ts.map +1 -1
  22. package/dist/src/peer-routing.d.ts +1 -1
  23. package/dist/src/peer-routing.d.ts.map +1 -1
  24. package/dist/src/peer-store/address-book.d.ts +28 -84
  25. package/dist/src/peer-store/address-book.d.ts.map +1 -1
  26. package/dist/src/peer-store/index.d.ts +25 -94
  27. package/dist/src/peer-store/index.d.ts.map +1 -1
  28. package/dist/src/peer-store/key-book.d.ts +31 -15
  29. package/dist/src/peer-store/key-book.d.ts.map +1 -1
  30. package/dist/src/peer-store/metadata-book.d.ts +33 -29
  31. package/dist/src/peer-store/metadata-book.d.ts.map +1 -1
  32. package/dist/src/peer-store/pb/peer.d.ts +222 -0
  33. package/dist/src/peer-store/proto-book.d.ts +27 -28
  34. package/dist/src/peer-store/proto-book.d.ts.map +1 -1
  35. package/dist/src/peer-store/store.d.ts +73 -0
  36. package/dist/src/peer-store/store.d.ts.map +1 -0
  37. package/dist/src/peer-store/types.d.ts +202 -0
  38. package/dist/src/peer-store/types.d.ts.map +1 -0
  39. package/dist/src/ping/index.d.ts.map +1 -1
  40. package/dist/src/record/peer-record/index.d.ts +2 -2
  41. package/dist/src/record/peer-record/index.d.ts.map +1 -1
  42. package/dist/src/registrar.d.ts +5 -5
  43. package/dist/src/registrar.d.ts.map +1 -1
  44. package/dist/src/upgrader.d.ts.map +1 -1
  45. package/package.json +20 -27
  46. package/src/circuit/auto-relay.js +19 -19
  47. package/src/connection-manager/auto-dialler.js +9 -4
  48. package/src/connection-manager/index.js +39 -22
  49. package/src/content-routing/utils.js +4 -4
  50. package/src/dht/dht-peer-routing.js +2 -6
  51. package/src/dialer/dial-request.js +4 -1
  52. package/src/dialer/index.js +22 -10
  53. package/src/identify/index.js +47 -38
  54. package/src/index.js +33 -27
  55. package/src/metrics/index.js +15 -8
  56. package/src/metrics/tracked-map.js +45 -13
  57. package/src/peer-routing.js +4 -1
  58. package/src/peer-store/address-book.js +242 -227
  59. package/src/peer-store/index.js +77 -110
  60. package/src/peer-store/key-book.js +99 -54
  61. package/src/peer-store/metadata-book.js +171 -101
  62. package/src/peer-store/pb/peer.d.ts +222 -0
  63. package/src/peer-store/pb/peer.js +643 -0
  64. package/src/peer-store/pb/peer.proto +31 -0
  65. package/src/peer-store/proto-book.js +171 -105
  66. package/src/peer-store/store.js +250 -0
  67. package/src/peer-store/types.ts +245 -0
  68. package/src/ping/index.js +6 -0
  69. package/src/record/peer-record/index.js +1 -1
  70. package/src/record/utils.js +1 -1
  71. package/src/registrar.js +4 -4
  72. package/src/upgrader.js +3 -1
  73. package/dist/src/peer-store/book.d.ts +0 -81
  74. package/dist/src/peer-store/book.d.ts.map +0 -1
  75. package/dist/src/peer-store/persistent/consts.d.ts +0 -6
  76. package/dist/src/peer-store/persistent/consts.d.ts.map +0 -1
  77. package/dist/src/peer-store/persistent/index.d.ts +0 -129
  78. package/dist/src/peer-store/persistent/index.d.ts.map +0 -1
  79. package/dist/src/peer-store/persistent/pb/address-book.d.ts +0 -198
  80. package/dist/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
  81. package/src/peer-store/book.js +0 -124
  82. package/src/peer-store/persistent/consts.js +0 -15
  83. package/src/peer-store/persistent/index.js +0 -408
  84. package/src/peer-store/persistent/pb/address-book.d.ts +0 -198
  85. package/src/peer-store/persistent/pb/address-book.js +0 -522
  86. package/src/peer-store/persistent/pb/address-book.proto +0 -27
  87. package/src/peer-store/persistent/pb/proto-book.d.ts +0 -59
  88. package/src/peer-store/persistent/pb/proto-book.js +0 -157
  89. package/src/peer-store/persistent/pb/proto-book.proto +0 -5
@@ -0,0 +1,55 @@
1
+ (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2p = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
+ var Libp2p=(()=>{var xC=Object.create;var Ma=Object.defineProperty;var SC=Object.getOwnPropertyDescriptor;var AC=Object.getOwnPropertyNames;var CC=Object.getPrototypeOf,IC=Object.prototype.hasOwnProperty;var e0=t=>Ma(t,"__esModule",{value:!0});var t0=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var xe=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),gt=(t,e)=>{e0(t);for(var r in e)Ma(t,r,{get:e[r],enumerable:!0})},TC=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of AC(e))!IC.call(t,n)&&n!=="default"&&Ma(t,n,{get:()=>e[n],enumerable:!(r=SC(e,n))||r.enumerable});return t},So=t=>TC(e0(Ma(t!=null?xC(CC(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var tl=w((y5,r0)=>{var cs=1e3,us=cs*60,ls=us*60,di=ls*24,RC=di*7,BC=di*365.25;r0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return PC(t);if(r==="number"&&isFinite(t))return e.long?OC(t):NC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function PC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!!e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*BC;case"weeks":case"week":case"w":return r*RC;case"days":case"day":case"d":return r*di;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ls;case"minutes":case"minute":case"mins":case"min":case"m":return r*us;case"seconds":case"second":case"secs":case"sec":case"s":return r*cs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function NC(t){var e=Math.abs(t);return e>=di?Math.round(t/di)+"d":e>=ls?Math.round(t/ls)+"h":e>=us?Math.round(t/us)+"m":e>=cs?Math.round(t/cs)+"s":t+"ms"}function OC(t){var e=Math.abs(t);return e>=di?Fa(t,e,di,"day"):e>=ls?Fa(t,e,ls,"hour"):e>=us?Fa(t,e,us,"minute"):e>=cs?Fa(t,e,cs,"second"):t+" ms"}function Fa(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var i0=w((g5,n0)=>{function DC(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=tl(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let h=0;h<l.length;h++)f=(f<<5)-f+l.charCodeAt(h),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,h=null,p,d;function g(...m){if(!g.enabled)return;let x=g,R=Number(new Date),L=R-(f||R);x.diff=L,x.prev=f,x.curr=R,f=R,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let H=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,J)=>{if(k==="%%")return"%";H++;let ie=r.formatters[J];if(typeof ie=="function"){let j=m[H];k=ie.call(x,j),m.splice(H,1),H--}return k}),r.formatArgs.call(x,m),(x.log||r.log).apply(x,m)}return g.namespace=l,g.useColors=r.useColors(),g.color=r.selectColor(l),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(p!==r.namespaces&&(p=r.namespaces,d=r.enabled(l)),d),set:m=>{h=m}}),typeof r.init=="function"&&r.init(g),g}function n(l,f){let h=r(this.namespace+(typeof f=="undefined"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),p=h.length;for(f=0;f<p;f++)!h[f]||(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.substr(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}n0.exports=DC});var Be=w((rr,Ka)=>{rr.formatArgs=kC;rr.save=qC;rr.load=UC;rr.useColors=LC;rr.storage=MC();rr.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();rr.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 LC(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function kC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ka.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}rr.log=console.debug||console.log||(()=>{});function qC(t){try{t?rr.storage.setItem("debug",t):rr.storage.removeItem("debug")}catch(e){}}function UC(){let t;try{t=rr.storage.getItem("debug")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function MC(){try{return localStorage}catch(t){}}Ka.exports=i0()(rr);var{formatters:FC}=Ka.exports;FC.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Qt=w((m5,rl)=>{"use strict";var fs=typeof Reflect=="object"?Reflect:null,s0=fs&&typeof fs.apply=="function"?fs.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Va;fs&&typeof fs.ownKeys=="function"?Va=fs.ownKeys:Object.getOwnPropertySymbols?Va=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Va=function(e){return Object.getOwnPropertyNames(e)};function KC(t){console&&console.warn&&console.warn(t)}var o0=Number.isNaN||function(e){return e!==e};function Fe(){Fe.init.call(this)}rl.exports=Fe;rl.exports.once=HC;Fe.EventEmitter=Fe;Fe.prototype._events=void 0;Fe.prototype._eventsCount=0;Fe.prototype._maxListeners=void 0;var a0=10;function ja(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Fe,"defaultMaxListeners",{enumerable:!0,get:function(){return a0},set:function(t){if(typeof t!="number"||t<0||o0(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");a0=t}});Fe.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};Fe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||o0(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function c0(t){return t._maxListeners===void 0?Fe.defaultMaxListeners:t._maxListeners}Fe.prototype.getMaxListeners=function(){return c0(this)};Fe.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")s0(c,this,r);else for(var u=c.length,l=d0(c,u),n=0;n<u;++n)s0(l[n],this,r);return!0};function u0(t,e,r,n){var i,s,o;if(ja(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=c0(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,KC(a)}return t}Fe.prototype.addListener=function(e,r){return u0(this,e,r,!1)};Fe.prototype.on=Fe.prototype.addListener;Fe.prototype.prependListener=function(e,r){return u0(this,e,r,!0)};function VC(){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(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=VC.bind(n);return i.listener=r,n.wrapFn=i,i}Fe.prototype.once=function(e,r){return ja(r),this.on(e,l0(this,e,r)),this};Fe.prototype.prependOnceListener=function(e,r){return ja(r),this.prependListener(e,l0(this,e,r)),this};Fe.prototype.removeListener=function(e,r){var n,i,s,o,a;if(ja(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():jC(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};Fe.prototype.off=Fe.prototype.removeListener;Fe.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function f0(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?$C(i):d0(i,i.length)}Fe.prototype.listeners=function(e){return f0(this,e,!0)};Fe.prototype.rawListeners=function(e){return f0(this,e,!1)};Fe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):h0.call(t,e)};Fe.prototype.listenerCount=h0;function h0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Fe.prototype.eventNames=function(){return this._eventsCount>0?Va(this._events):[]};function d0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function jC(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function $C(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function HC(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}p0(t,e,s,{once:!0}),e!=="error"&&zC(t,i,{once:!0})})}function zC(t,e,r){typeof t.on=="function"&&p0(t,"error",e,r)}function p0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var pe=w((v5,g0)=>{"use strict";function y0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function GC(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return y0(t,r)}catch(n){r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),y0(new i,r)}}g0.exports=GC});function v0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=XC;)e[r++]=t&255|m0,t/=128;for(;t&QC;)e[r++]=t&255|m0,t>>>=7;return e[r]=t|0,v0.bytes=r-n+1,e}function nl(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o)throw nl.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&b0)<<n:(s&b0)*Math.pow(2,n),n+=7}while(s>=JC);return nl.bytes=i-e,r}var WC,m0,YC,QC,XC,ZC,JC,b0,eI,tI,rI,nI,iI,sI,oI,aI,cI,uI,lI,fI,Ao,E0=xe(()=>{WC=v0,m0=128,YC=127,QC=~YC,XC=Math.pow(2,31);ZC=nl,JC=128,b0=127;eI=Math.pow(2,7),tI=Math.pow(2,14),rI=Math.pow(2,21),nI=Math.pow(2,28),iI=Math.pow(2,35),sI=Math.pow(2,42),oI=Math.pow(2,49),aI=Math.pow(2,56),cI=Math.pow(2,63),uI=function(t){return t<eI?1:t<tI?2:t<rI?3:t<nI?4:t<iI?5:t<sI?6:t<oI?7:t<aI?8:t<cI?9:10},lI={encode:WC,decode:ZC,encodingLength:uI},fI=lI,Ao=fI});var Co,hs,ds,$a=xe(()=>{E0();Co=t=>[Ao.decode(t),Ao.decode.bytes],hs=(t,e,r=0)=>(Ao.encode(t,e,r),e),ds=t=>Ao.encodingLength(t)});var w5,_0,fn,x0,S0,In=xe(()=>{w5=new Uint8Array(0),_0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},fn=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},x0=t=>new TextEncoder().encode(t),S0=t=>new TextDecoder().decode(t)});var Io={};gt(Io,{Digest:()=>ps,create:()=>Tn,decode:()=>il,equals:()=>sl});var Tn,il,sl,ps,pi=xe(()=>{In();$a();Tn=(t,e)=>{let r=e.byteLength,n=ds(t),i=n+ds(r),s=new Uint8Array(i+r);return hs(t,s,0),hs(r,s,n),s.set(e,i),new ps(t,r,e,s)},il=t=>{let e=fn(t),[r,n]=Co(e),[i,s]=Co(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new ps(r,i,o,e)},sl=(t,e)=>t===e?!0:t.code===e.code&&t.size===e.size&&_0(t.bytes,e.bytes),ps=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}}});function hI(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var g=0,m=0,x=0,R=d.length;x!==R&&d[x]===0;)x++,g++;for(var L=(R-x)*l+1>>>0,H=new Uint8Array(L);x!==R;){for(var q=d[x],k=0,J=L-1;(q!==0||k<m)&&J!==-1;J--,k++)q+=256*H[J]>>>0,H[J]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error("Non-zero carry");m=k,x++}for(var ie=L-m;ie!==L&&H[ie]===0;)ie++;for(var j=c.repeat(g);ie<L;++ie)j+=t.charAt(H[ie]);return j}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var g=0;if(d[g]!==" "){for(var m=0,x=0;d[g]===c;)m++,g++;for(var R=(d.length-g)*u+1>>>0,L=new Uint8Array(R);d[g];){var H=r[d.charCodeAt(g)];if(H===255)return;for(var q=0,k=R-1;(H!==0||q<x)&&k!==-1;k--,q++)H+=a*L[k]>>>0,L[k]=H%256>>>0,H=H/256>>>0;if(H!==0)throw new Error("Non-zero carry");x=q,g++}if(d[g]!==" "){for(var J=R-x;J!==R&&L[J]===0;)J++;for(var ie=new Uint8Array(m+(R-J)),j=m;J!==R;)ie[j++]=L[J++];return ie}}}function p(d){var g=h(d);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:p}}var dI,pI,C0,I0=xe(()=>{dI=hI,pI=dI,C0=pI});var T0,R0,B0,P0,N0,Ha,Rn,yI,gI,ct,Fr=xe(()=>{I0();In();T0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},R0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseDecode=n}decode(e){if(typeof e=="string")switch(e[0]){case this.prefix:return this.baseDecode(e.slice(1));default:throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`)}else throw Error("Can only multibase decode strings")}or(e){return P0(this,e)}},B0=class{constructor(e){this.decoders=e}or(e){return P0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},P0=(t,e)=>new B0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),N0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new T0(e,r,n),this.decoder=new R0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Ha=({name:t,prefix:e,encode:r,decode:n})=>new N0(t,e,r,n),Rn=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=C0(r,e);return Ha({prefix:t,name:e,encode:n,decode:s=>fn(i(s))})},yI=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},gI=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ct=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Ha({prefix:e,name:t,encode(i){return gI(i,n,r)},decode(i){return yI(i,n,r,t)}})});var Bn={};gt(Bn,{base58btc:()=>Kr,base58flickr:()=>mI});var Kr,mI,Pn=xe(()=>{Fr();Kr=Rn({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mI=Rn({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var yi={};gt(yi,{base32:()=>ys,base32hex:()=>wI,base32hexpad:()=>xI,base32hexpadupper:()=>SI,base32hexupper:()=>_I,base32pad:()=>bI,base32padupper:()=>EI,base32upper:()=>vI,base32z:()=>AI});var ys,vI,bI,EI,wI,_I,xI,SI,AI,gi=xe(()=>{Fr();ys=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),vI=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bI=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),EI=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),wI=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),_I=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xI=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),SI=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),AI=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var Ro={};gt(Ro,{CID:()=>bt});var bt,CI,II,TI,To,RI,O0,D0,za,Ga,BI,PI,NI,gs=xe(()=>{$a();pi();Pn();gi();In();bt=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:Ga,byteLength:Ga,code:za,version:za,multihash:za,bytes:za,_baseCache:Ga,asCID:Ga})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:r}=this;if(e!==To)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==RI)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return bt.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Tn(e,r);return bt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&sl(this.multihash,e.multihash)}toString(e){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return II(r,i,e||Kr.encoder);default:return TI(r,i,e||ys.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return PI(/^0\.0/,NI),!!(e&&(e[D0]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof bt)return e;if(e!=null&&e.asCID===e){let{version:r,code:n,multihash:i,bytes:s}=e;return new bt(r,n,i,s||O0(r,n,i.bytes))}else if(e!=null&&e[D0]===!0){let{version:r,multihash:n,code:i}=e,s=il(n);return bt.create(r,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(r!==To)throw new Error(`Version 0 CID must use dag-pb (code: ${To}) block encoding`);return new bt(e,r,n,n.bytes)}case 1:{let i=O0(e,r,n.bytes);return new bt(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return bt.create(0,To,e)}static createV1(e,r){return bt.create(1,e,r)}static decode(e){let[r,n]=bt.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=bt.inspectBytes(e),n=r.size-r.multihashSize,i=fn(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new ps(r.multihashCode,r.digestSize,s,i);return[r.version===0?bt.createV0(o):bt.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Co(e.subarray(r));return r+=h,f},i=n(),s=To;if(i===18?(i=0,r=0):i===1&&(s=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=CI(e,r),s=bt.decode(i);return s._baseCache.set(n,e),s}},CI=(t,e)=>{switch(t[0]){case"Q":{let r=e||Kr;return[Kr.prefix,r.decode(`${Kr.prefix}${t}`)]}case Kr.prefix:{let r=e||Kr;return[Kr.prefix,r.decode(t)]}case ys.prefix:{let r=e||ys;return[ys.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},II=(t,e,r)=>{let{prefix:n}=r;if(n!==Kr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},TI=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},To=112,RI=18,O0=(t,e,r)=>{let n=ds(t),i=n+ds(e),s=new Uint8Array(i+r.byteLength);return hs(t,s,0),hs(e,s,n),s.set(r,i),s},D0=Symbol.for("@ipld/js-cid/CID"),za={writable:!1,configurable:!1,enumerable:!0},Ga={writable:!1,enumerable:!1,configurable:!1},BI="0.0.0-dev",PI=(t,e)=>{if(t.test(BI))console.warn(e);else throw new Error(e)},NI=`CID.isCID(v) is deprecated and will be removed in the next major release.
3
+ Following code pattern:
4
+
5
+ if (CID.isCID(value)) {
6
+ doSomethingWithCID(value)
7
+ }
8
+
9
+ Is replaced with:
10
+
11
+ const cid = CID.asCID(value)
12
+ if (cid) {
13
+ // Make sure to use cid instead of value
14
+ doSomethingWithCID(cid)
15
+ }
16
+ `});var Wa={};gt(Wa,{base36:()=>OI,base36upper:()=>DI});var OI,DI,ol=xe(()=>{Fr();OI=Rn({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),DI=Rn({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var ms={};gt(ms,{base64:()=>LI,base64pad:()=>kI,base64url:()=>qI,base64urlpad:()=>UI});var LI,kI,qI,UI,Bo=xe(()=>{Fr();LI=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),kI=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),qI=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),UI=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var Ya={};gt(Ya,{base16:()=>MI,base16upper:()=>FI});var MI,FI,al=xe(()=>{Fr();MI=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),FI=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var k0=w((U5,L0)=>{"use strict";L0.exports=KI;function KI(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),h=0;h<f.length;)f[h++]=arguments[h];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var F0=w(M0=>{"use strict";var Qa=M0;Qa.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var vs=new Array(64),q0=new Array(123);for(Rr=0;Rr<64;)q0[vs[Rr]=Rr<26?Rr+65:Rr<52?Rr+71:Rr<62?Rr-4:Rr-59|43]=Rr++;var Rr;Qa.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=vs[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=vs[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=vs[c|u>>6],s[o++]=vs[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=vs[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var U0="invalid encoding";Qa.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=q0[c])===void 0)throw Error(U0);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(U0);return n-i};Qa.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var V0=w((F5,K0)=>{"use strict";K0.exports=Xa;function Xa(){this._listeners={}}Xa.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};Xa.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Xa.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var Y0=w((K5,W0)=>{"use strict";W0.exports=j0(j0);function j0(t){return typeof Float32Array!="undefined"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,$0),t.writeFloatBE=e.bind(null,H0);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,z0),t.readFloatBE=r.bind(null,G0)}(),typeof Float64Array!="undefined"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,$0,0,4),t.writeDoubleBE=e.bind(null,H0,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,h=4294967296*(u&1048575)+c;return f===2047?h?NaN:l*(1/0):f===0?l*5e-324*h:l*Math.pow(2,f-1075)*(h+4503599627370496)}t.readDoubleLE=r.bind(null,z0,0,4),t.readDoubleBE=r.bind(null,G0,4,0)}(),t}function $0(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function H0(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function z0(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function G0(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Q0=w((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var Z0=w(X0=>{"use strict";var cl=X0;cl.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)==55296&&(e.charCodeAt(i+1)&64512)==56320?(++i,r+=4):r+=3;return r};cl.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};cl.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)==55296&&((o=e.charCodeAt(a+1))&64512)==56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var ep=w((j5,J0)=>{"use strict";J0.exports=VI;function VI(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var rp=w(($5,tp)=>{"use strict";tp.exports=wt;var Po=On();function wt(t,e){this.lo=t>>>0,this.hi=e>>>0}var mi=wt.zero=new wt(0,0);mi.toNumber=function(){return 0};mi.zzEncode=mi.zzDecode=function(){return this};mi.length=function(){return 1};var jI=wt.zeroHash="\0\0\0\0\0\0\0\0";wt.fromNumber=function(e){if(e===0)return mi;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new wt(n,i)};wt.from=function(e){if(typeof e=="number")return wt.fromNumber(e);if(Po.isString(e))if(Po.Long)e=Po.Long.fromString(e);else return wt.fromNumber(parseInt(e,10));return e.low||e.high?new wt(e.low>>>0,e.high>>>0):mi};wt.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};wt.prototype.toLong=function(e){return Po.Long?new Po.Long(this.lo|0,this.hi|0,Boolean(e)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(e)}};var Nn=String.prototype.charCodeAt;wt.fromHash=function(e){return e===jI?mi:new wt((Nn.call(e,0)|Nn.call(e,1)<<8|Nn.call(e,2)<<16|Nn.call(e,3)<<24)>>>0,(Nn.call(e,4)|Nn.call(e,5)<<8|Nn.call(e,6)<<16|Nn.call(e,7)<<24)>>>0)};wt.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)};wt.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};wt.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};wt.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var On=w(ul=>{"use strict";var se=ul;se.asPromise=k0();se.base64=F0();se.EventEmitter=V0();se.float=Y0();se.inquire=Q0();se.utf8=Z0();se.pool=ep();se.LongBits=rp();se.isNode=Boolean(typeof globalThis!="undefined"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);se.global=se.isNode&&globalThis||typeof window!="undefined"&&window||typeof self!="undefined"&&self||ul;se.emptyArray=Object.freeze?Object.freeze([]):[];se.emptyObject=Object.freeze?Object.freeze({}):{};se.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};se.isString=function(e){return typeof e=="string"||e instanceof String};se.isObject=function(e){return e&&typeof e=="object"};se.isset=se.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};se.Buffer=function(){try{var t=se.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(e){return null}}();se._Buffer_from=null;se._Buffer_allocUnsafe=null;se.newBuffer=function(e){return typeof e=="number"?se.Buffer?se._Buffer_allocUnsafe(e):new se.Array(e):se.Buffer?se._Buffer_from(e):typeof Uint8Array=="undefined"?e:new Uint8Array(e)};se.Array=typeof Uint8Array!="undefined"?Uint8Array:Array;se.Long=se.global.dcodeIO&&se.global.dcodeIO.Long||se.global.Long||se.inquire("long");se.key2Re=/^true|false|0|1$/;se.key32Re=/^-?(?:0|[1-9][0-9]*)$/;se.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;se.longToHash=function(e){return e?se.LongBits.from(e).toHash():se.LongBits.zeroHash};se.longFromHash=function(e,r){var n=se.LongBits.fromHash(e);return se.Long?se.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function np(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}se.merge=np;se.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function ip(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&np(this,n)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,"name",{get:function(){return t}}),e.prototype.toString=function(){return this.name+": "+this.message},e}se.newError=ip;se.ProtocolError=ip("ProtocolError");se.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};se.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};se.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};se._configure=function(){var t=se.Buffer;if(!t){se._Buffer_from=se._Buffer_allocUnsafe=null;return}se._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},se._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var gl=w((z5,cp)=>{"use strict";cp.exports=Te;var lr=On(),ll,Za=lr.LongBits,sp=lr.base64,op=lr.utf8;function No(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function fl(){}function $I(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function Te(){this.len=0,this.head=new No(fl,0,0),this.tail=this.head,this.states=null}var ap=function(){return lr.Buffer?function(){return(Te.create=function(){return new ll})()}:function(){return new Te}};Te.create=ap();Te.alloc=function(e){return new lr.Array(e)};lr.Array!==Array&&(Te.alloc=lr.pool(Te.alloc,lr.Array.prototype.subarray));Te.prototype._push=function(e,r,n){return this.tail=this.tail.next=new No(e,r,n),this.len+=r,this};function hl(t,e,r){e[r]=t&255}function HI(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function dl(t,e){this.len=t,this.next=void 0,this.val=e}dl.prototype=Object.create(No.prototype);dl.prototype.fn=HI;Te.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new dl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};Te.prototype.int32=function(e){return e<0?this._push(pl,10,Za.fromNumber(e)):this.uint32(e)};Te.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function pl(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}Te.prototype.uint64=function(e){var r=Za.from(e);return this._push(pl,r.length(),r)};Te.prototype.int64=Te.prototype.uint64;Te.prototype.sint64=function(e){var r=Za.from(e).zzEncode();return this._push(pl,r.length(),r)};Te.prototype.bool=function(e){return this._push(hl,1,e?1:0)};function yl(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}Te.prototype.fixed32=function(e){return this._push(yl,4,e>>>0)};Te.prototype.sfixed32=Te.prototype.fixed32;Te.prototype.fixed64=function(e){var r=Za.from(e);return this._push(yl,4,r.lo)._push(yl,4,r.hi)};Te.prototype.sfixed64=Te.prototype.fixed64;Te.prototype.float=function(e){return this._push(lr.float.writeFloatLE,4,e)};Te.prototype.double=function(e){return this._push(lr.float.writeDoubleLE,8,e)};var zI=lr.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};Te.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(hl,1,0);if(lr.isString(e)){var n=Te.alloc(r=sp.length(e));sp.decode(e,n,0),e=n}return this.uint32(r)._push(zI,r,e)};Te.prototype.string=function(e){var r=op.length(e);return r?this.uint32(r)._push(op.write,r,e):this._push(hl,1,0)};Te.prototype.fork=function(){return this.states=new $I(this),this.head=this.tail=new No(fl,0,0),this.len=0,this};Te.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 No(fl,0,0),this.len=0),this};Te.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};Te.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};Te._configure=function(t){ll=t,Te.create=ap(),ll._configure()}});var fp=w((G5,lp)=>{"use strict";lp.exports=Vr;var up=gl();(Vr.prototype=Object.create(up.prototype)).constructor=Vr;var Dn=On();function Vr(){up.call(this)}Vr._configure=function(){Vr.alloc=Dn._Buffer_allocUnsafe,Vr.writeBytesBuffer=Dn.Buffer&&Dn.Buffer.prototype instanceof Uint8Array&&Dn.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Vr.prototype.bytes=function(e){Dn.isString(e)&&(e=Dn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Vr.writeBytesBuffer,r,e),this};function GI(t,e,r){t.length<40?Dn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Vr.prototype.string=function(e){var r=Dn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(GI,r,e),this};Vr._configure()});var bl=w((W5,gp)=>{"use strict";gp.exports=ht;var jr=On(),ml,hp=jr.LongBits,WI=jr.utf8;function Br(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function ht(t){this.buf=t,this.pos=0,this.len=t.length}var dp=typeof Uint8Array!="undefined"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new ht(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new ht(e);throw Error("illegal buffer")},pp=function(){return jr.Buffer?function(r){return(ht.create=function(i){return jr.Buffer.isBuffer(i)?new ml(i):dp(i)})(r)}:dp};ht.create=pp();ht.prototype._slice=jr.Array.prototype.subarray||jr.Array.prototype.slice;ht.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Br(this,10);return e}}();ht.prototype.int32=function(){return this.uint32()|0};ht.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function vl(){var t=new hp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Br(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Br(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}ht.prototype.bool=function(){return this.uint32()!==0};function Ja(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}ht.prototype.fixed32=function(){if(this.pos+4>this.len)throw Br(this,4);return Ja(this.buf,this.pos+=4)};ht.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Br(this,4);return Ja(this.buf,this.pos+=4)|0};function yp(){if(this.pos+8>this.len)throw Br(this,8);return new hp(Ja(this.buf,this.pos+=4),Ja(this.buf,this.pos+=4))}ht.prototype.float=function(){if(this.pos+4>this.len)throw Br(this,4);var e=jr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};ht.prototype.double=function(){if(this.pos+8>this.len)throw Br(this,4);var e=jr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};ht.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Br(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};ht.prototype.string=function(){var e=this.bytes();return WI.read(e,0,e.length)};ht.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Br(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Br(this);while(this.buf[this.pos++]&128);return this};ht.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!=4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};ht._configure=function(t){ml=t,ht.create=pp(),ml._configure();var e=jr.Long?"toLong":"toNumber";jr.merge(ht.prototype,{int64:function(){return vl.call(this)[e](!1)},uint64:function(){return vl.call(this)[e](!0)},sint64:function(){return vl.call(this).zzDecode()[e](!1)},fixed64:function(){return yp.call(this)[e](!0)},sfixed64:function(){return yp.call(this)[e](!1)}})}});var Ep=w((Y5,bp)=>{"use strict";bp.exports=vi;var mp=bl();(vi.prototype=Object.create(mp.prototype)).constructor=vi;var vp=On();function vi(t){mp.call(this,t)}vi._configure=function(){vp.Buffer&&(vi.prototype._slice=vp.Buffer.prototype.slice)};vi.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};vi._configure()});var _p=w((Q5,wp)=>{"use strict";wp.exports=Oo;var El=On();(Oo.prototype=Object.create(El.EventEmitter.prototype)).constructor=Oo;function Oo(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");El.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(r)}Oo.prototype.rpcCall=function t(e,r,n,i,s){if(!i)throw TypeError("request must be specified");var o=this;if(!s)return El.asPromise(t,o,e,r,n,i);if(!o.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return o.rpcImpl(e,r[o.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(c,u){if(c)return o.emit("error",c,e),s(c);if(u===null){o.end(!0);return}if(!(u instanceof n))try{u=n[o.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return o.emit("error",l,e),s(l)}return o.emit("data",u,e),s(null,u)})}catch(a){o.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Oo.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Sp=w(xp=>{"use strict";var YI=xp;YI.Service=_p()});var Cp=w((Z5,Ap)=>{"use strict";Ap.exports={}});var Rp=w(Tp=>{"use strict";var Xt=Tp;Xt.build="minimal";Xt.Writer=gl();Xt.BufferWriter=fp();Xt.Reader=bl();Xt.BufferReader=Ep();Xt.util=On();Xt.rpc=Sp();Xt.roots=Cp();Xt.configure=Ip;function Ip(){Xt.util._configure(),Xt.Writer._configure(Xt.BufferWriter),Xt.Reader._configure(Xt.BufferReader)}Ip()});var Ln=w((eq,Bp)=>{"use strict";Bp.exports=Rp()});var tc=w((tq,Np)=>{"use strict";var bi=Ln(),ec=bi.Reader,Pp=bi.Writer,Pt=bi.util,fr=bi.roots["libp2p-crypto-keys"]||(bi.roots["libp2p-crypto-keys"]={});fr.KeyType=function(){var t={},e=Object.create(t);return e[t[0]="RSA"]=0,e[t[1]="Ed25519"]=1,e[t[2]="Secp256k1"]=2,e}();fr.PublicKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Pp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ec||(r=ec.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new fr.PublicKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof fr.PublicKey)return r;var n=new fr.PublicKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?fr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,bi.util.toJSONOptions)},t}();fr.PrivateKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Pp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ec||(r=ec.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new fr.PrivateKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof fr.PrivateKey)return r;var n=new fr.PrivateKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?fr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,bi.util.toJSONOptions)},t}();Np.exports=fr});var be=w((rq,Op)=>{Op.exports={options:{usePureJavaScript:!1}}});var kp=w((nq,Lp)=>{var wl={};Lp.exports=wl;var Dp={};wl.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=QI(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
17
+ `)}return n};wl.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Dp[e];if(!r){r=Dp[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer!="undefined"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function QI(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var $e=w((iq,Fp)=>{var qp=be(),Up=kp(),P=Fp.exports=qp.util=qp.util||{};(function(){if(typeof process!="undefined"&&process.nextTick&&!process.browser){P.nextTick=process.nextTick,typeof setImmediate=="function"?P.setImmediate=setImmediate:P.setImmediate=P.nextTick;return}if(typeof setImmediate=="function"){P.setImmediate=function(){return setImmediate.apply(void 0,arguments)},P.nextTick=function(a){return setImmediate(a)};return}if(P.setImmediate=function(a){setTimeout(a,0)},typeof window!="undefined"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];P.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver!="undefined"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=P.setImmediate;P.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}P.nextTick=P.setImmediate})();P.isNodejs=typeof process!="undefined"&&process.versions&&process.versions.node;P.globalScope=function(){return P.isNodejs?globalThis:typeof self=="undefined"?window:self}();P.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};P.isArrayBuffer=function(t){return typeof ArrayBuffer!="undefined"&&t instanceof ArrayBuffer};P.isArrayBufferView=function(t){return t&&P.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Do(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}P.ByteBuffer=_l;function _l(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(P.isArrayBuffer(t)||P.isArrayBufferView(t))if(typeof Buffer!="undefined"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch(n){for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof _l||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}P.ByteStringBuffer=_l;var XI=4096;P.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>XI&&(this.data.substr(0,1),this._constructedStringLength=0)};P.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};P.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};P.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};P.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};P.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};P.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(P.encodeUtf8(t))};P.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};P.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};P.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};P.ByteStringBuffer.prototype.putInt=function(t,e){Do(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};P.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};P.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};P.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};P.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};P.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};P.ByteStringBuffer.prototype.getInt=function(t){Do(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};P.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.ByteStringBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};P.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};P.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};P.ByteStringBuffer.prototype.copy=function(){var t=P.createBuffer(this.data);return t.read=this.read,t};P.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};P.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};P.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};P.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.ByteStringBuffer.prototype.toString=function(){return P.decodeUtf8(this.bytes())};function ZI(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=P.isArrayBuffer(t),n=P.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}P.DataBuffer=ZI;P.DataBuffer.prototype.length=function(){return this.write-this.read};P.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};P.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};P.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};P.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};P.DataBuffer.prototype.putBytes=function(t,e){if(P.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(P.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof P.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&P.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof P.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=P.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=P.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};P.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};P.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};P.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};P.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};P.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};P.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};P.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};P.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};P.DataBuffer.prototype.putInt=function(t,e){Do(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};P.DataBuffer.prototype.putSignedInt=function(t,e){return Do(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};P.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};P.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};P.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};P.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};P.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};P.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};P.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};P.DataBuffer.prototype.getInt=function(t){Do(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};P.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.DataBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};P.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};P.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};P.DataBuffer.prototype.copy=function(){return new P.DataBuffer(this)};P.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};P.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};P.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};P.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return P.binary.raw.encode(e);if(t==="hex")return P.binary.hex.encode(e);if(t==="base64")return P.binary.base64.encode(e);if(t==="utf8")return P.text.utf8.decode(e);if(t==="utf16")return P.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};P.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=P.encodeUtf8(t)),new P.ByteBuffer(t)};P.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};P.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};P.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};P.bytesToHex=function(t){return P.createBuffer(t).toHex()};P.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",qn=[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],Mp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";P.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=kn.charAt(i>>2),r+=kn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=kn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":kn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
18
+ `,r=r.substr(e));return n+=r,n};P.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=qn[t.charCodeAt(o++)-43],n=qn[t.charCodeAt(o++)-43],i=qn[t.charCodeAt(o++)-43],s=qn[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};P.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};P.decodeUtf8=function(t){return decodeURIComponent(escape(t))};P.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Up.encode,decode:Up.decode}};P.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};P.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};P.binary.hex.encode=P.bytesToHex;P.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};P.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=kn.charAt(i>>2),r+=kn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=kn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":kn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
19
+ `,r=r.substr(e));return n+=r,n};P.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=qn[t.charCodeAt(c++)-43],s=qn[t.charCodeAt(c++)-43],o=qn[t.charCodeAt(c++)-43],a=qn[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};P.binary.base58.encode=function(t,e){return P.binary.baseN.encode(t,Mp,e)};P.binary.base58.decode=function(t,e){return P.binary.baseN.decode(t,Mp,e)};P.text={utf8:{},utf16:{}};P.text.utf8.encode=function(t,e,r){t=P.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};P.text.utf8.decode=function(t){return P.decodeUtf8(String.fromCharCode.apply(null,t))};P.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};P.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};P.deflate=function(t,e,r){if(e=P.decode64(t.deflate(P.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};P.inflate=function(t,e,r){var n=t.inflate(P.encode64(e)).rval;return n===null?null:P.decode64(n)};var xl=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=P.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n!="undefined"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Sl=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(P.decode64(r))),r},JI=function(t,e,r,n){var i=Sl(t,e);i===null&&(i={}),i[r]=n,xl(t,e,i)},eT=function(t,e,r){var n=Sl(t,e);return n!==null&&(n=r in n?n[r]:null),n},tT=function(t,e,r){var n=Sl(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),xl(t,e,n)}},rT=function(t,e){xl(t,e,null)},rc=function(t,e,r){var n=null;typeof r=="undefined"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};P.setItem=function(t,e,r,n,i){rc(JI,arguments,i)};P.getItem=function(t,e,r,n){return rc(eT,arguments,n)};P.removeItem=function(t,e,r,n){rc(tT,arguments,n)};P.clearItems=function(t,e,r){rc(rT,arguments,r)};P.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};P.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};P.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};P.formatSize=function(t){return t>=1073741824?t=P.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=P.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=P.formatNumber(t/1024,0)+" KiB":t=P.formatNumber(t,0)+" bytes",t};P.bytesFromIP=function(t){return t.indexOf(".")!==-1?P.bytesFromIPv4(t):t.indexOf(":")!==-1?P.bytesFromIPv6(t):null};P.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=P.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};P.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=P.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=P.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};P.bytesToIP=function(t){return t.length===4?P.bytesToIPv4(t):t.length===16?P.bytesToIPv6(t):null};P.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};P.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=P.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};P.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in P&&!t.update)return e(null,P.cores);if(typeof navigator!="undefined"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return P.cores=navigator.hardwareConcurrency,e(null,P.cores);if(typeof Worker=="undefined")return P.cores=1,e(null,P.cores);if(typeof Blob=="undefined")return P.cores=2,e(null,P.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return P.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,P.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],h=0;h<o;++h)if(u!==h){var p=a[h];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(h)}return c.reduce(function(d,g){return Math.max(d,g.length)},0)}}});var bs=w((sq,Kp)=>{var Lo=be();Lo.pki=Lo.pki||{};var Al=Kp.exports=Lo.pki.oids=Lo.oids=Lo.oids||{};function $(t,e){Al[t]=e,Al[e]=t}function Oe(t,e){Al[t]=e}$("1.2.840.113549.1.1.1","rsaEncryption");$("1.2.840.113549.1.1.4","md5WithRSAEncryption");$("1.2.840.113549.1.1.5","sha1WithRSAEncryption");$("1.2.840.113549.1.1.7","RSAES-OAEP");$("1.2.840.113549.1.1.8","mgf1");$("1.2.840.113549.1.1.9","pSpecified");$("1.2.840.113549.1.1.10","RSASSA-PSS");$("1.2.840.113549.1.1.11","sha256WithRSAEncryption");$("1.2.840.113549.1.1.12","sha384WithRSAEncryption");$("1.2.840.113549.1.1.13","sha512WithRSAEncryption");$("1.3.101.112","EdDSA25519");$("1.2.840.10040.4.3","dsa-with-sha1");$("1.3.14.3.2.7","desCBC");$("1.3.14.3.2.26","sha1");$("1.3.14.3.2.29","sha1WithRSASignature");$("2.16.840.1.101.3.4.2.1","sha256");$("2.16.840.1.101.3.4.2.2","sha384");$("2.16.840.1.101.3.4.2.3","sha512");$("1.2.840.113549.2.5","md5");$("1.2.840.113549.1.7.1","data");$("1.2.840.113549.1.7.2","signedData");$("1.2.840.113549.1.7.3","envelopedData");$("1.2.840.113549.1.7.4","signedAndEnvelopedData");$("1.2.840.113549.1.7.5","digestedData");$("1.2.840.113549.1.7.6","encryptedData");$("1.2.840.113549.1.9.1","emailAddress");$("1.2.840.113549.1.9.2","unstructuredName");$("1.2.840.113549.1.9.3","contentType");$("1.2.840.113549.1.9.4","messageDigest");$("1.2.840.113549.1.9.5","signingTime");$("1.2.840.113549.1.9.6","counterSignature");$("1.2.840.113549.1.9.7","challengePassword");$("1.2.840.113549.1.9.8","unstructuredAddress");$("1.2.840.113549.1.9.14","extensionRequest");$("1.2.840.113549.1.9.20","friendlyName");$("1.2.840.113549.1.9.21","localKeyId");$("1.2.840.113549.1.9.22.1","x509Certificate");$("1.2.840.113549.1.12.10.1.1","keyBag");$("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");$("1.2.840.113549.1.12.10.1.3","certBag");$("1.2.840.113549.1.12.10.1.4","crlBag");$("1.2.840.113549.1.12.10.1.5","secretBag");$("1.2.840.113549.1.12.10.1.6","safeContentsBag");$("1.2.840.113549.1.5.13","pkcs5PBES2");$("1.2.840.113549.1.5.12","pkcs5PBKDF2");$("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");$("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");$("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");$("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");$("1.2.840.113549.2.7","hmacWithSHA1");$("1.2.840.113549.2.8","hmacWithSHA224");$("1.2.840.113549.2.9","hmacWithSHA256");$("1.2.840.113549.2.10","hmacWithSHA384");$("1.2.840.113549.2.11","hmacWithSHA512");$("1.2.840.113549.3.7","des-EDE3-CBC");$("2.16.840.1.101.3.4.1.2","aes128-CBC");$("2.16.840.1.101.3.4.1.22","aes192-CBC");$("2.16.840.1.101.3.4.1.42","aes256-CBC");$("2.5.4.3","commonName");$("2.5.4.4","surname");$("2.5.4.5","serialNumber");$("2.5.4.6","countryName");$("2.5.4.7","localityName");$("2.5.4.8","stateOrProvinceName");$("2.5.4.9","streetAddress");$("2.5.4.10","organizationName");$("2.5.4.11","organizationalUnitName");$("2.5.4.12","title");$("2.5.4.13","description");$("2.5.4.15","businessCategory");$("2.5.4.17","postalCode");$("2.5.4.42","givenName");$("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");$("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");$("2.16.840.1.113730.1.1","nsCertType");$("2.16.840.1.113730.1.13","nsComment");Oe("2.5.29.1","authorityKeyIdentifier");Oe("2.5.29.2","keyAttributes");Oe("2.5.29.3","certificatePolicies");Oe("2.5.29.4","keyUsageRestriction");Oe("2.5.29.5","policyMapping");Oe("2.5.29.6","subtreesConstraint");Oe("2.5.29.7","subjectAltName");Oe("2.5.29.8","issuerAltName");Oe("2.5.29.9","subjectDirectoryAttributes");Oe("2.5.29.10","basicConstraints");Oe("2.5.29.11","nameConstraints");Oe("2.5.29.12","policyConstraints");Oe("2.5.29.13","basicConstraints");$("2.5.29.14","subjectKeyIdentifier");$("2.5.29.15","keyUsage");Oe("2.5.29.16","privateKeyUsagePeriod");$("2.5.29.17","subjectAltName");$("2.5.29.18","issuerAltName");$("2.5.29.19","basicConstraints");Oe("2.5.29.20","cRLNumber");Oe("2.5.29.21","cRLReason");Oe("2.5.29.22","expirationDate");Oe("2.5.29.23","instructionCode");Oe("2.5.29.24","invalidityDate");Oe("2.5.29.25","cRLDistributionPoints");Oe("2.5.29.26","issuingDistributionPoint");Oe("2.5.29.27","deltaCRLIndicator");Oe("2.5.29.28","issuingDistributionPoint");Oe("2.5.29.29","certificateIssuer");Oe("2.5.29.30","nameConstraints");$("2.5.29.31","cRLDistributionPoints");$("2.5.29.32","certificatePolicies");Oe("2.5.29.33","policyMappings");Oe("2.5.29.34","policyConstraints");$("2.5.29.35","authorityKeyIdentifier");Oe("2.5.29.36","policyConstraints");$("2.5.29.37","extKeyUsage");Oe("2.5.29.46","freshestCRL");Oe("2.5.29.54","inhibitAnyPolicy");$("1.3.6.1.4.1.11129.2.4.2","timestampList");$("1.3.6.1.5.5.7.1.1","authorityInfoAccess");$("1.3.6.1.5.5.7.3.1","serverAuth");$("1.3.6.1.5.5.7.3.2","clientAuth");$("1.3.6.1.5.5.7.3.3","codeSigning");$("1.3.6.1.5.5.7.3.4","emailProtection");$("1.3.6.1.5.5.7.3.8","timeStamping")});var Un=w((oq,jp)=>{var Qe=be();$e();bs();var X=jp.exports=Qe.asn1=Qe.asn1||{};X.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};X.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};X.create=function(t,e,r,n,i){if(Qe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||Qe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=X.copy(a)),a};X.copy=function(t,e){var r;if(Qe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(X.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:X.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};X.equals=function(t,e,r){if(Qe.util.isArray(t)){if(!Qe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!X.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&X.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};X.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function ko(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var nT=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;ko(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};X.fromDer=function(t,e){return e===void 0&&(e={strict:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Qe.util.createBuffer(t)),nc(t,t.length(),0,e)};function nc(t,e,r,n){var i;ko(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=nT(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,h=(s&32)==32;if(h)if(l=[],c===void 0)for(;;){if(ko(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(nc(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(nc(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&c>1){var p=t.read,d=e,g=0;if(a===X.Type.BITSTRING&&(ko(t,e,1),g=t.getByte(),e--),g===0)try{i=t.length();var m={verbose:n.verbose,strict:!0,decodeBitStrings:!0},x=nc(t,e,r+1,m),R=i-t.length();e-=R,a==X.Type.BITSTRING&&R++;var L=x.tagClass;R===c&&(L===X.Class.UNIVERSAL||L===X.Class.CONTEXT_SPECIFIC)&&(l=[x])}catch(q){}l===void 0&&(t.read=p,e=d)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===X.Type.BMPSTRING)for(l="";c>0;c-=2)ko(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c)}var H=f===void 0?null:{bitStringContents:f};return X.create(o,a,h,l,H)}X.toDer=function(t){var e=Qe.util.createBuffer(),r=t.tagClass|t.type,n=Qe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=X.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(X.toDer(t.value[s]))}else if(t.type===X.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===X.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&(t.value.charCodeAt(1)&128)==0||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)==128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};X.oidToDer=function(t){var e=t.split("."),r=Qe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};X.derToOid=function(t){var e;typeof t=="string"&&(t=Qe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};X.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};X.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var p=parseInt(t.substr(f+1,2),10),d=parseInt(t.substr(f+4,2),10);u=p*60+d,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};X.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.integerToDer=function(t){var e=Qe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};X.derToInteger=function(t){typeof t=="string"&&(t=Qe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};X.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass=="undefined")&&(t.type===e.type||typeof e.type=="undefined"))if(t.constructed===e.constructed||typeof e.constructed=="undefined"){if(i=!0,e.value&&Qe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=X.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Vp=/[^\\u0000-\\u00ff]/;X.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
20
+ `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case X.Class.UNIVERSAL:n+="Universal:";break;case X.Class.APPLICATION:n+="Application:";break;case X.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case X.Class.PRIVATE:n+="Private:";break}if(t.tagClass===X.Class.UNIVERSAL)switch(n+=t.type,t.type){case X.Type.NONE:n+=" (None)";break;case X.Type.BOOLEAN:n+=" (Boolean)";break;case X.Type.INTEGER:n+=" (Integer)";break;case X.Type.BITSTRING:n+=" (Bit string)";break;case X.Type.OCTETSTRING:n+=" (Octet string)";break;case X.Type.NULL:n+=" (Null)";break;case X.Type.OID:n+=" (Object Identifier)";break;case X.Type.ODESC:n+=" (Object Descriptor)";break;case X.Type.EXTERNAL:n+=" (External or Instance of)";break;case X.Type.REAL:n+=" (Real)";break;case X.Type.ENUMERATED:n+=" (Enumerated)";break;case X.Type.EMBEDDED:n+=" (Embedded PDV)";break;case X.Type.UTF8:n+=" (UTF8)";break;case X.Type.ROID:n+=" (Relative Object Identifier)";break;case X.Type.SEQUENCE:n+=" (Sequence)";break;case X.Type.SET:n+=" (Set)";break;case X.Type.PRINTABLESTRING:n+=" (Printable String)";break;case X.Type.IA5String:n+=" (IA5String (ASCII))";break;case X.Type.UTCTIME:n+=" (UTC time)";break;case X.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case X.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
21
+ `,n+=i+"Constructed: "+t.constructed+`
22
+ `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=X.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===X.Type.OID){var c=X.derToOid(t.value);n+=c,Qe.pki&&Qe.pki.oids&&c in Qe.pki.oids&&(n+=" ("+Qe.pki.oids[c]+") ")}if(t.type===X.Type.INTEGER)try{n+=X.derToInteger(t.value)}catch(l){n+="0x"+Qe.util.bytesToHex(t.value)}else if(t.type===X.Type.BITSTRING){if(t.value.length>1?n+="0x"+Qe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else t.type===X.Type.OCTETSTRING?(Vp.test(t.value)||(n+="("+t.value+") "),n+="0x"+Qe.util.bytesToHex(t.value)):t.type===X.Type.UTF8?n+=Qe.util.decodeUtf8(t.value):t.type===X.Type.PRINTABLESTRING||t.type===X.Type.IA5String?n+=t.value:Vp.test(t.value)?n+="0x"+Qe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Il=w((aq,$p)=>{var _t=be();$e();$p.exports=_t.cipher=_t.cipher||{};_t.cipher.algorithms=_t.cipher.algorithms||{};_t.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};_t.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};_t.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),_t.cipher.algorithms[t]=e};_t.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in _t.cipher.algorithms?_t.cipher.algorithms[t]:null};var Cl=_t.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Cl.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=_t.util.createBuffer(),this.output=t.output||_t.util.createBuffer(),this.mode.start(e)};Cl.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Cl.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Rl=w((cq,Hp)=>{var xt=be();$e();xt.cipher=xt.cipher||{};var Ee=Hp.exports=xt.cipher.modes=xt.cipher.modes||{};Ee.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.ecb.prototype.start=function(t){};Ee.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=ic(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Ee.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Ee.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Ee.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ic(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ic(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb.prototype.decrypt=Ee.ofb.prototype.encrypt;Ee.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=ic(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}sc(this._inBlock)};Ee.ctr.prototype.decrypt=Ee.ctr.prototype.encrypt;Ee.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Ee.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=xt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=xt.util.createBuffer(t.additionalData):r=xt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=xt.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Tl(n*8)))}this._inBlock=this._j0.slice(0),sc(this._inBlock),this._partialBytes=0,r=xt.util.createBuffer(r),this._aDataLength=Tl(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Ee.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),sc(this._inBlock)};Ee.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),sc(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Ee.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=xt.util.createBuffer();var n=this._aDataLength.concat(Tl(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Ee.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Ee.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Ee.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};Ee.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Ee.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};Ee.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function ic(t,e){if(typeof t=="string"&&(t=xt.util.createBuffer(t)),xt.util.isArray(t)&&t.length>4){var r=t;t=xt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!xt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function sc(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Tl(t){return[t/4294967296|0,t&4294967295]}});var _s=w((uq,Yp)=>{var He=be();Il();Rl();$e();Yp.exports=He.aes=He.aes||{};He.aes.startEncrypting=function(t,e,r,n){var i=oc({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};He.aes.createEncryptionCipher=function(t,e){return oc({key:t,output:null,decrypt:!1,mode:e})};He.aes.startDecrypting=function(t,e,r,n){var i=oc({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};He.aes.createDecryptionCipher=function(t,e){return oc({key:t,output:null,decrypt:!0,mode:e})};He.aes.Algorithm=function(t,e){Bl||Gp();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Nl(r._w,n,i,!1)},decrypt:function(n,i){return Nl(r._w,n,i,!0)}}}),r._init=!1};He.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=He.util.createBuffer(e);else if(He.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=He.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!He.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!He.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=Wp(e,t.decrypt&&!o),this._init=!0}};He.aes._expandKey=function(t,e){return Bl||Gp(),Wp(t,e)};He.aes._updateBlock=Nl;Es("AES-ECB",He.cipher.modes.ecb);Es("AES-CBC",He.cipher.modes.cbc);Es("AES-CFB",He.cipher.modes.cfb);Es("AES-OFB",He.cipher.modes.ofb);Es("AES-CTR",He.cipher.modes.ctr);Es("AES-GCM",He.cipher.modes.gcm);function Es(t,e){var r=function(){return new He.aes.Algorithm(t,e)};He.cipher.registerAlgorithm(t,r)}var Bl=!1,ws=4,jt,Pl,zp,Ei,Pr;function Gp(){Bl=!0,zp=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;jt=new Array(256),Pl=new Array(256),Ei=new Array(4),Pr=new Array(4);for(var e=0;e<4;++e)Ei[e]=new Array(256),Pr[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,jt[r]=a,Pl[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Ei[f][r]=u,Pr[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Wp(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=ws*o,c=s;c<a;++c)n=r[c-1],c%s==0?(n=jt[n>>>16&255]<<24^jt[n>>>8&255]<<16^jt[n&255]<<8^jt[n>>>24]^zp[i]<<24,i++):s>6&&c%s==4&&(n=jt[n>>>24]<<24^jt[n>>>16&255]<<16^jt[n>>>8&255]<<8^jt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Pr[0],f=Pr[1],h=Pr[2],p=Pr[3],d=r.slice(0);a=r.length;for(var c=0,g=a-ws;c<a;c+=ws,g-=ws)if(c===0||c===a-ws)d[c]=r[g],d[c+1]=r[g+3],d[c+2]=r[g+2],d[c+3]=r[g+1];else for(var m=0;m<ws;++m)u=r[g+m],d[c+(3&-m)]=l[jt[u>>>24]]^f[jt[u>>>16&255]]^h[jt[u>>>8&255]]^p[jt[u&255]];r=d}return r}function Nl(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Pr[0],o=Pr[1],a=Pr[2],c=Pr[3],u=Pl):(s=Ei[0],o=Ei[1],a=Ei[2],c=Ei[3],u=jt);var l,f,h,p,d,g,m;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],p=e[n?1:3]^t[3];for(var x=3,R=1;R<i;++R)d=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[p&255]^t[++x],g=s[f>>>24]^o[h>>>16&255]^a[p>>>8&255]^c[l&255]^t[++x],m=s[h>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++x],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++x],l=d,f=g,h=m;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[p&255]^t[++x],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++x],r[2]=u[h>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++x],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++x]}function oc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=He.cipher.createDecipher(r,t.key):n=He.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof He.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var cc=w((lq,Xp)=>{var Xe=be();Il();Rl();$e();Xp.exports=Xe.des=Xe.des||{};Xe.des.startEncrypting=function(t,e,r,n){var i=ac({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createEncryptionCipher=function(t,e){return ac({key:t,output:null,decrypt:!1,mode:e})};Xe.des.startDecrypting=function(t,e,r,n){var i=ac({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createDecryptionCipher=function(t,e){return ac({key:t,output:null,decrypt:!0,mode:e})};Xe.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Qp(r._keys,n,i,!1)},decrypt:function(n,i){return Qp(r._keys,n,i,!0)}}}),r._init=!1};Xe.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Xe.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=hT(e),this._init=!0}};$r("DES-ECB",Xe.cipher.modes.ecb);$r("DES-CBC",Xe.cipher.modes.cbc);$r("DES-CFB",Xe.cipher.modes.cfb);$r("DES-OFB",Xe.cipher.modes.ofb);$r("DES-CTR",Xe.cipher.modes.ctr);$r("3DES-ECB",Xe.cipher.modes.ecb);$r("3DES-CBC",Xe.cipher.modes.cbc);$r("3DES-CFB",Xe.cipher.modes.cfb);$r("3DES-OFB",Xe.cipher.modes.ofb);$r("3DES-CTR",Xe.cipher.modes.ctr);function $r(t,e){var r=function(){return new Xe.des.Algorithm(t,e)};Xe.cipher.registerAlgorithm(t,r)}var iT=[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],sT=[-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],oT=[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],aT=[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],cT=[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],uT=[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],lT=[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],fT=[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 hT(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=t.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],R=0,L,H=0;H<g;H++){var q=t.getInt32(),k=t.getInt32();L=(q>>>4^k)&252645135,k^=L,q^=L<<4,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>2^k)&858993459,k^=L,q^=L<<2,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=(k>>>8^q)&16711935,q^=L,k^=L<<8,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=q<<8|k>>>20&240,q=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=L;for(var J=0;J<x.length;++J){x[J]?(q=q<<2|q>>>26,k=k<<2|k>>>26):(q=q<<1|q>>>27,k=k<<1|k>>>27),q&=-15,k&=-15;var ie=e[q>>>28]|r[q>>>24&15]|n[q>>>20&15]|i[q>>>16&15]|s[q>>>12&15]|o[q>>>8&15]|a[q>>>4&15],j=c[k>>>28]|u[k>>>24&15]|l[k>>>20&15]|f[k>>>16&15]|h[k>>>12&15]|p[k>>>8&15]|d[k>>>4&15];L=(j>>>16^ie)&65535,m[R++]=ie^L,m[R++]=j^L<<16}}return m}function Qp(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],h=s[u];h!=l;h+=f){var p=c^t[h],d=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(sT[p>>>24&63]|aT[p>>>16&63]|uT[p>>>8&63]|fT[p&63]|iT[d>>>24&63]|oT[d>>>16&63]|cT[d>>>8&63]|lT[d&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function ac(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Xe.cipher.createDecipher(r,t.key):n=Xe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Xe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Mn=w((fq,Zp)=>{var uc=be();Zp.exports=uc.md=uc.md||{};uc.md.algorithms=uc.md.algorithms||{}});var ey=w((hq,Jp)=>{var hn=be();Mn();$e();var dT=Jp.exports=hn.hmac=hn.hmac||{};dT.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in hn.md.algorithms)e=hn.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=hn.util.createBuffer(o);else if(hn.util.isArray(o)){var a=o;o=hn.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=hn.util.createBuffer(),n=hn.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var xs=w(()=>{});var Ol=w((yq,ty)=>{var $t=be();ey();Mn();$e();var pT=$t.pkcs5=$t.pkcs5||{},dn;$t.util.isNodejs&&!$t.options.usePureJavaScript&&(dn=xs());ty.exports=$t.pbkdf2=pT.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),$t.util.isNodejs&&!$t.options.usePureJavaScript&&dn.pbkdf2&&(i===null||typeof i!="object")&&(dn.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?dn.pbkdf2Sync.length===4?dn.pbkdf2(t,e,r,n,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):dn.pbkdf2(t,e,r,n,i,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):dn.pbkdf2Sync.length===4?dn.pbkdf2Sync(t,e,r,n).toString("binary"):dn.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i=="undefined"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in $t.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=$t.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=$t.hmac.create();l.start(i,t);var f="",h,p,d;if(!s){for(var g=1;g<=c;++g){l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),h=d=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(d),p=l.digest().getBytes(),h=$t.util.xorBytes(h,p,o),d=p;f+=g<c?h:h.substr(0,u)}return f}var g=1,m;function x(){if(g>c)return s(null,f);l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),h=d=l.digest().getBytes(),m=2,R()}function R(){if(m<=r)return l.start(null,null),l.update(d),p=l.digest().getBytes(),h=$t.util.xorBytes(h,p,o),d=p,++m,$t.util.setImmediate(R);f+=g<c?h:h.substr(0,u),++g,x()}x()}});var hc=w((gq,ny)=>{var lc=be();$e();var ry=ny.exports=lc.pem=lc.pem||{};ry.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
23
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=fc(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=fc(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=fc(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=fc(t.headers[i]);return t.procType&&(r+=`\r
24
+ `),r+=lc.util.encode64(t.body,e.maxline||64)+`\r
25
+ `,r+="-----END "+t.type+`-----\r
26
+ `,r};ry.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:lc.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var h=c[f];if(!/\s/.test(h[0]))break;l+=h,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},d=s[2].split(","),g=0;g<d.length;++g)p.values.push(yT(d[g]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=d[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:d[0],parameters:d[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:d[0],type:d[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function fc(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
27
+ `;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
28
+ `+e.substr(o)):e=e.substr(0,o)+`\r
29
+ `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function yT(t){return t.replace(/^\s+/,"")}});var uy=w((mq,cy)=>{var Hr=be();Mn();$e();var iy=cy.exports=Hr.sha256=Hr.sha256||{};Hr.md.sha256=Hr.md.algorithms.sha256=iy;iy.create=function(){sy||gT();var t=null,e=Hr.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Hr.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Hr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),ay(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Hr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Dl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};ay(f,r,i);var h=Hr.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h.putInt32(f.h5),h.putInt32(f.h6),h.putInt32(f.h7),h},n};var Dl=null,sy=!1,oy=null;function gT(){Dl=String.fromCharCode(128),Dl+=Hr.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],sy=!0}function ay(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,g,m,x,R=r.length();R>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,p=t.h3,d=t.h4,g=t.h5,m=t.h6,x=t.h7,u=0;u<64;++u)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(g^m),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=x+o+a+oy[u]+e[u],i=s+c,x=m,m=g,g=d,d=p+n>>>0,p=h,h=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+h|0,t.h3=t.h3+p|0,t.h4=t.h4+d|0,t.h5=t.h5+g|0,t.h6=t.h6+m|0,t.h7=t.h7+x|0,R-=64}}});var fy=w((vq,ly)=>{var zr=be();$e();var dc=null;zr.util.isNodejs&&!zr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(dc=xs());var mT=ly.exports=zr.prng=zr.prng||{};mT.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,h=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed,g=zr.util.createBuffer();e.key=null,m();function m(x){if(x)return l(x);if(g.length()>=u)return l(null,g.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return zr.util.nextTick(function(){s(m)});var R=f(e.key,e.seed);e.generated+=R.length,g.putBytes(R),e.key=p(f(e.key,h(e.seed))),e.seed=d(f(e.key,e.seed)),zr.util.setImmediate(m)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var d=zr.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var g=l(e.key,e.seed);e.generated+=g.length,d.putBytes(g),e.key=h(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return d.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,h){if(f)return u(f);e.collect(h),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l==0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var l=null,f=zr.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(q){return h.getRandomValues(q)});var p=zr.util.createBuffer();if(l)for(;p.length()<u;){var d=Math.max(1,Math.min(u-p.length(),65536)/4),g=new Uint32Array(Math.floor(d));try{l(g);for(var m=0;m<g.length;++m)p.putInt32(g[m])}catch(q){if(!(typeof QuotaExceededError!="undefined"&&q instanceof QuotaExceededError))throw q}}if(p.length()<u)for(var x,R,L,H=Math.floor(Math.random()*65536);p.length()<u;){R=16807*(H&65535),x=16807*(H>>16),R+=(x&32767)<<16,R+=x>>15,R=(R&2147483647)+(R>>31),H=R&4294967295;for(var m=0;m<3;++m)L=H>>>(m<<3),L^=Math.floor(Math.random()*256),p.putByte(L&255)}return p.getBytes(u)}return dc?(e.seedFile=function(u,l){dc.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return dc.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",h=0;h<l;h+=8)f+=String.fromCharCode(u>>h&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,h){function p(d){var g=d.data;g.forge&&g.forge.prng&&(self.removeEventListener("message",p),h(g.forge.prng.err,g.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var h=f.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(p,d){u.postMessage({forge:{prng:{err:p,bytes:d}}})})};u.addEventListener("message",l)}},e}});var wi=w((bq,Ll)=>{var St=be();_s();uy();fy();$e();(function(){if(St.random&&St.random.getBytes){Ll.exports=St.random;return}(function(t){var e={},r=new Array(4),n=St.util.createBuffer();e.formatKey=function(f){var h=St.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),St.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=St.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),f},e.cipher=function(f,h){return St.aes._updateBlock(f,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=St.md.sha256;function i(){var f=St.prng.create(e);return f.getBytes=function(h,p){return f.generate(h,p)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=St.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),St.options.usePureJavaScript||!St.util.isNodejs&&!o){if(typeof window=="undefined"||window.document===void 0,s.collectInt(+new Date,32),typeof navigator!="undefined"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch(f){}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!St.random)St.random=s;else for(var l in s)St.random[l]=s[l];St.random.createInstance=i,Ll.exports=St.random})(typeof jQuery!="undefined"?jQuery:null)})()});var yy=w((Eq,py)=>{var Zt=be();$e();var kl=[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],hy=[1,2,3,5],vT=function(t,e){return t<<e&65535|(t&65535)>>16-e},bT=function(t,e){return(t&65535)>>e|t<<16-e&65535};py.exports=Zt.rc2=Zt.rc2||{};Zt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Zt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(kl[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,kl[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,kl[r.at(a+1)^r.at(a+s)]);return r};var dy=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Zt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=vT(d[u],hy[u]),l++},c=function(d){for(u=0;u<4;u++)d[u]+=f[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=bT(d[u],hy[u]),d[u]-=f[l]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),l--},c=function(d){for(u=3;u>=0;u--)d[u]-=f[d[(u+3)%4]&63]});var h=function(d){var g=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),g.push(m&65535)}l=r?0:63;for(var x=0;x<d.length;x++)for(var R=0;R<d[x][0];R++)d[x][1](g);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(g[u]):g[u]^=o.getInt16Le()),s.putInt16Le(g[u])},p=null;return p={start:function(d,g){d&&typeof d=="string"&&(d=Zt.util.createBuffer(d)),n=!1,i=Zt.util.createBuffer(),s=g||new Zt.util.createBuffer,o=d,p.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var g=!0;if(r)if(d)g=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(g&&(n=!0,p.update()),!r&&(g=i.length()===0,g))if(d)g=d(8,s,!r);else{var x=s.length(),R=s.at(x-1);R>x?g=!1:s.truncate(R)}return g}},p};Zt.rc2.startEncrypting=function(t,e,r){var n=Zt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createEncryptionCipher=function(t,e){return dy(t,e,!0)};Zt.rc2.startDecrypting=function(t,e,r){var n=Zt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createDecryptionCipher=function(t,e){return dy(t,e,!1)}});var gc=w((wq,xy)=>{var ql=be();xy.exports=ql.jsbn=ql.jsbn||{};var pn,ET=244837814094590,gy=(ET&16777215)==15715070;function V(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}ql.jsbn.BigInteger=V;function Re(){return new V(null)}function wT(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function _T(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function my(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator=="undefined"?(V.prototype.am=my,pn=28):gy&&navigator.appName=="Microsoft Internet Explorer"?(V.prototype.am=_T,pn=30):gy&&navigator.appName!="Netscape"?(V.prototype.am=wT,pn=26):(V.prototype.am=my,pn=28);V.prototype.DB=pn;V.prototype.DM=(1<<pn)-1;V.prototype.DV=1<<pn;var Ul=52;V.prototype.FV=Math.pow(2,Ul);V.prototype.F1=Ul-pn;V.prototype.F2=2*pn-Ul;var xT="0123456789abcdefghijklmnopqrstuvwxyz",pc=new Array,Ss,hr;Ss="0".charCodeAt(0);for(hr=0;hr<=9;++hr)pc[Ss++]=hr;Ss="a".charCodeAt(0);for(hr=10;hr<36;++hr)pc[Ss++]=hr;Ss="A".charCodeAt(0);for(hr=10;hr<36;++hr)pc[Ss++]=hr;function vy(t){return xT.charAt(t)}function by(t,e){var r=pc[t.charCodeAt(e)];return r??-1}function ST(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function AT(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Fn(t){var e=Re();return e.fromInt(t),e}function CT(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:by(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&(t[0]&128)!=0&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&V.ZERO.subTo(this,this)}function IT(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function TT(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=vy(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=vy(n));return i?s:"0"}function RT(){var t=Re();return V.ZERO.subTo(this,t),t}function BT(){return this.s<0?this.negate():this}function PT(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function yc(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function NT(){return this.t<=0?0:this.DB*(this.t-1)+yc(this.data[this.t-1]^this.s&this.DM)}function OT(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function DT(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function LT(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function kT(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function qT(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function UT(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&V.ZERO.subTo(e,e)}function MT(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function FT(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e!=null&&e.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Re());var s=Re(),o=this.s,a=t.s,c=this.DB-yc(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/f,p=(1<<this.F1)/f,d=1<<this.F2,g=r.t,m=g-u,x=e??Re();for(s.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),V.ONE.dlShiftTo(u,x),x.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var R=r.data[--g]==l?this.DM:Math.floor(r.data[g]*h+(r.data[g-1]+d)*p);if((r.data[g]+=s.am(0,R,r,m,0,u))<R)for(s.dlShiftTo(m,x),r.subTo(x,r);r.data[g]<--R;)r.subTo(x,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&V.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&V.ZERO.subTo(r,r)}}}function KT(t){var e=Re();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(V.ZERO)>0&&t.subTo(e,e),e}function _i(t){this.m=t}function VT(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function jT(t){return t}function $T(t){t.divRemTo(this.m,null,t)}function HT(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function zT(t,e){t.squareTo(e),this.reduce(e)}_i.prototype.convert=VT;_i.prototype.revert=jT;_i.prototype.reduce=$T;_i.prototype.mulTo=HT;_i.prototype.sqrTo=zT;function GT(){if(this.t<1)return 0;var t=this.data[0];if((t&1)==0)return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function xi(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function WT(t){var e=Re();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(V.ZERO)>0&&this.m.subTo(e,e),e}function YT(t){var e=Re();return t.copyTo(e),this.reduce(e),e}function QT(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function XT(t,e){t.squareTo(e),this.reduce(e)}function ZT(t,e,r){t.multiplyTo(e,r),this.reduce(r)}xi.prototype.convert=WT;xi.prototype.revert=YT;xi.prototype.reduce=QT;xi.prototype.mulTo=ZT;xi.prototype.sqrTo=XT;function JT(){return(this.t>0?this.data[0]&1:this.s)==0}function eR(t,e){if(t>4294967295||t<1)return V.ONE;var r=Re(),n=Re(),i=e.convert(this),s=yc(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function tR(t,e){var r;return t<256||e.isEven()?r=new _i(e):r=new xi(e),this.exp(t,r)}V.prototype.copyTo=ST;V.prototype.fromInt=AT;V.prototype.fromString=CT;V.prototype.clamp=IT;V.prototype.dlShiftTo=OT;V.prototype.drShiftTo=DT;V.prototype.lShiftTo=LT;V.prototype.rShiftTo=kT;V.prototype.subTo=qT;V.prototype.multiplyTo=UT;V.prototype.squareTo=MT;V.prototype.divRemTo=FT;V.prototype.invDigit=GT;V.prototype.isEven=JT;V.prototype.exp=eR;V.prototype.toString=TT;V.prototype.negate=RT;V.prototype.abs=BT;V.prototype.compareTo=PT;V.prototype.bitLength=NT;V.prototype.mod=KT;V.prototype.modPowInt=tR;V.ZERO=Fn(0);V.ONE=Fn(1);function rR(){var t=Re();return this.copyTo(t),t}function nR(){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 iR(){return this.t==0?this.s:this.data[0]<<24>>24}function sR(){return this.t==0?this.s:this.data[0]<<16>>16}function oR(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function aR(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function cR(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Fn(r),i=Re(),s=Re(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function uR(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=by(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&V.ZERO.subTo(this,this)}function lR(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(V.ONE.shiftLeft(t-1),Ml,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(V.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function fR(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),(n&128)!=0&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function hR(t){return this.compareTo(t)==0}function dR(t){return this.compareTo(t)<0?this:t}function pR(t){return this.compareTo(t)>0?this:t}function yR(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function gR(t,e){return t&e}function mR(t){var e=Re();return this.bitwiseTo(t,gR,e),e}function Ml(t,e){return t|e}function vR(t){var e=Re();return this.bitwiseTo(t,Ml,e),e}function Ey(t,e){return t^e}function bR(t){var e=Re();return this.bitwiseTo(t,Ey,e),e}function wy(t,e){return t&~e}function ER(t){var e=Re();return this.bitwiseTo(t,wy,e),e}function wR(){for(var t=Re(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function _R(t){var e=Re();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function xR(t){var e=Re();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function SR(t){if(t==0)return-1;var e=0;return(t&65535)==0&&(t>>=16,e+=16),(t&255)==0&&(t>>=8,e+=8),(t&15)==0&&(t>>=4,e+=4),(t&3)==0&&(t>>=2,e+=2),(t&1)==0&&++e,e}function AR(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+SR(this.data[t]);return this.s<0?this.t*this.DB:-1}function CR(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function IR(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=CR(this.data[r]^e);return t}function TR(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function RR(t,e){var r=V.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function BR(t){return this.changeBit(t,Ml)}function PR(t){return this.changeBit(t,wy)}function NR(t){return this.changeBit(t,Ey)}function OR(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function DR(t){var e=Re();return this.addTo(t,e),e}function LR(t){var e=Re();return this.subTo(t,e),e}function kR(t){var e=Re();return this.multiplyTo(t,e),e}function qR(t){var e=Re();return this.divRemTo(t,e,null),e}function UR(t){var e=Re();return this.divRemTo(t,null,e),e}function MR(t){var e=Re(),r=Re();return this.divRemTo(t,e,r),new Array(e,r)}function FR(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function KR(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function qo(){}function _y(t){return t}function VR(t,e,r){t.multiplyTo(e,r)}function jR(t,e){t.squareTo(e)}qo.prototype.convert=_y;qo.prototype.revert=_y;qo.prototype.mulTo=VR;qo.prototype.sqrTo=jR;function $R(t){return this.exp(t,new qo)}function HR(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function zR(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function As(t){this.r2=Re(),this.q3=Re(),V.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function GR(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=Re();return t.copyTo(e),this.reduce(e),e}function WR(t){return t}function YR(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function QR(t,e){t.squareTo(e),this.reduce(e)}function XR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}As.prototype.convert=GR;As.prototype.revert=WR;As.prototype.reduce=YR;As.prototype.mulTo=XR;As.prototype.sqrTo=QR;function ZR(t,e){var r=t.bitLength(),n,i=Fn(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new _i(e):e.isEven()?s=new As(e):s=new xi(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=Re();for(s.sqrTo(o[1],l);a<=u;)o[a]=Re(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,p=!0,d=Re(),g;for(r=yc(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;(h&1)==0;)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[h].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(g=i,i=d,d=g),s.mulTo(d,o[h],i)}for(;f>=0&&(t.data[f]&1<<r)==0;)s.sqrTo(i,d),g=i,i=d,d=g,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function JR(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function e4(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function t4(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return V.ZERO;for(var r=t.clone(),n=this.clone(),i=Fn(1),s=Fn(0),o=Fn(0),a=Fn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(V.ONE)!=0)return V.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Nr=[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],r4=(1<<26)/Nr[Nr.length-1];function n4(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Nr[Nr.length-1]){for(e=0;e<Nr.length;++e)if(r.data[0]==Nr[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Nr.length;){for(var n=Nr[e],i=e+1;i<Nr.length&&n<r4;)n*=Nr[i++];for(n=r.modInt(n);e<i;)if(n%Nr[e++]==0)return!1}return r.millerRabin(t)}function i4(t){var e=this.subtract(V.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=s4(),s,o=0;o<t;++o){do s=new V(this.bitLength(),i);while(s.compareTo(V.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(V.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(V.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function s4(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}V.prototype.chunkSize=oR;V.prototype.toRadix=cR;V.prototype.fromRadix=uR;V.prototype.fromNumber=lR;V.prototype.bitwiseTo=yR;V.prototype.changeBit=RR;V.prototype.addTo=OR;V.prototype.dMultiply=FR;V.prototype.dAddOffset=KR;V.prototype.multiplyLowerTo=HR;V.prototype.multiplyUpperTo=zR;V.prototype.modInt=e4;V.prototype.millerRabin=i4;V.prototype.clone=rR;V.prototype.intValue=nR;V.prototype.byteValue=iR;V.prototype.shortValue=sR;V.prototype.signum=aR;V.prototype.toByteArray=fR;V.prototype.equals=hR;V.prototype.min=dR;V.prototype.max=pR;V.prototype.and=mR;V.prototype.or=vR;V.prototype.xor=bR;V.prototype.andNot=ER;V.prototype.not=wR;V.prototype.shiftLeft=_R;V.prototype.shiftRight=xR;V.prototype.getLowestSetBit=AR;V.prototype.bitCount=IR;V.prototype.testBit=TR;V.prototype.setBit=BR;V.prototype.clearBit=PR;V.prototype.flipBit=NR;V.prototype.add=DR;V.prototype.subtract=LR;V.prototype.multiply=kR;V.prototype.divide=qR;V.prototype.remainder=UR;V.prototype.divideAndRemainder=MR;V.prototype.modPow=ZR;V.prototype.modInverse=t4;V.prototype.pow=$R;V.prototype.gcd=JR;V.prototype.isProbablePrime=n4});var Ty=w((_q,Iy)=>{var Gr=be();Mn();$e();var Sy=Iy.exports=Gr.sha1=Gr.sha1||{};Gr.md.sha1=Gr.md.algorithms.sha1=Sy;Sy.create=function(){Ay||o4();var t=null,e=Gr.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Gr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Gr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Cy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Gr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Fl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Cy(f,r,i);var h=Gr.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var Fl=null,Ay=!1;function o4(){Fl=String.fromCharCode(128),Fl+=Gr.util.fillString(String.fromCharCode(0),64),Ay=!0}function Cy(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var Py=w((xq,By)=>{var Wr=be();$e();wi();Ty();var Ry=By.exports=Wr.pkcs1=Wr.pkcs1||{};Ry.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Wr.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",h=c-e.length,p=0;p<h;p++)f+="\0";var d=l.getBytes()+f+""+e;if(!i)i=Wr.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var g=mc(i,a-s.digestLength-1,o),m=Wr.util.xorBytes(d,g,d.length),x=mc(m,s.digestLength,o),R=Wr.util.xorBytes(i,x,i.length);return"\0"+R+m};Ry.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=o,m}if(i===void 0?i=Wr.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=mc(l,i.digestLength,s),h=Wr.util.xorBytes(u,f,u.length),p=mc(h,o-i.digestLength-1,s),d=Wr.util.xorBytes(l,p,l.length),g=d.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==g.charAt(x);for(var R=1,L=i.digestLength,H=i.digestLength;H<d.length;H++){var q=d.charCodeAt(H),k=q&1^1,J=R?65534:0;m|=q&J,R=R&k,L+=R}if(m||d.charCodeAt(L)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(L+1)};function mc(t,e,r){r||(r=Wr.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var Ny=w((Sq,Kl)=>{var Kn=be();$e();gc();wi();(function(){if(Kn.prime){Kl.exports=Kn.prime;return}var t=Kl.exports=Kn.prime=Kn.prime||{},e=Kn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,h){return f|h};t.generateProbablePrime=function(f,h,p){typeof h=="function"&&(p=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var g=h.prng||Kn.random,m={nextBytes:function(x){for(var R=g.getBytesSync(x.length),L=0;L<x.length;++L)x[L]=R.charCodeAt(L)}};if(d.name==="PRIMEINC")return s(f,m,d.options,p);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(f,h,p,d){return"workers"in p?c(f,h,p,d):o(f,h,p,d)}function o(f,h,p,d){var g=u(f,h),m=0,x=l(g.bitLength());"millerRabinTests"in p&&(x=p.millerRabinTests);var R=10;"maxBlockTime"in p&&(R=p.maxBlockTime),a(g,f,h,m,x,R,d)}function a(f,h,p,d,g,m,x){var R=+new Date;do{if(f.bitLength()>h&&(f=u(h,p)),f.isProbablePrime(g))return x(null,f);f.dAddOffset(r[d++%8],0)}while(m<0||+new Date-R<m);Kn.util.setImmediate(function(){a(f,h,p,d,g,m,x)})}function c(f,h,p,d){if(typeof Worker=="undefined")return o(f,h,p,d);var g=u(f,h),m=p.workers,x=p.workLoad||100,R=x*30/8,L=p.workerScript||"forge/prime.worker.js";if(m===-1)return Kn.util.estimateCores(function(q,k){q&&(k=2),m=k-1,H()});H();function H(){m=Math.max(1,m);for(var q=[],k=0;k<m;++k)q[k]=new Worker(L);for(var J=m,k=0;k<m;++k)q[k].addEventListener("message",j);var ie=!1;function j(we){if(!ie){--J;var le=we.data;if(le.found){for(var ye=0;ye<q.length;++ye)q[ye].terminate();return ie=!0,d(null,new e(le.prime,16))}g.bitLength()>f&&(g=u(f,h));var nt=g.toString(16);we.target.postMessage({hex:nt,workLoad:x}),g.dAddOffset(R,0)}}}}function u(f,h){var p=new e(f,h),d=f-1;return p.testBit(d)||p.bitwiseTo(e.ONE.shiftLeft(d),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Uo=w((Aq,My)=>{var he=be();Un();gc();bs();Py();Ny();wi();$e();typeof Se=="undefined"&&(Se=he.jsbn.BigInteger);var Se,Vl=he.util.isNodejs?xs():null,D=he.asn1,dr=he.util;he.pki=he.pki||{};My.exports=he.pki.rsa=he.rsa=he.rsa||{};var de=he.pki,a4=[6,4,2,4,2,4,6,2],c4={name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},u4={name:"RSAPrivateKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},l4={name:"RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},f4=he.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},h4=function(t){var e;if(t.algorithm in de.oids)e=de.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=D.oidToDer(e).getBytes(),i=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]),s=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]);s.value.push(D.create(D.Class.UNIVERSAL,D.Type.OID,!1,n)),s.value.push(D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,""));var o=D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),D.toDer(i).getBytes()},Oy=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(Se.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Se.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Se(he.util.bytesToHex(he.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Se.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};de.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Dy(t,e,r)):(i=he.util.createBuffer(),i.putBytes(t));for(var o=new Se(i.toHex(),16),a=Oy(o,e,n),c=a.toString(16),u=he.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),u.getBytes()};de.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new Se(he.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Oy(o,e,r),c=a.toString(16),u=he.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),n!==!1?vc(u.getBytes(),e,r):u.getBytes()};de.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||he.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new Se(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};de.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Se(null);r.fromInt(30);for(var n=0,i=function(f,h){return f|h},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new Se(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Se.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(p4(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(a4[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Se.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:de.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:de.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};de.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!he.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Ly("generateKeyPair"))return Vl.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:de.privateKeyFromPem(u),publicKey:de.publicKeyFromPem(c)})});if(ky("generateKey")&&ky("exportKey"))return dr.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Uy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return dr.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=de.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(a)));n(null,{privateKey:c,publicKey:de.setRsaPublicKey(c.n,c.e)})}});if(qy("generateKey")&&qy("exportKey")){var i=dr.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Uy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=dr.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=de.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(f)));n(null,{privateKey:h,publicKey:de.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Ly("generateKeyPairSync")){var s=Vl.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:de.privateKeyFromPem(s.privateKey),publicKey:de.publicKeyFromPem(s.publicKey)}}}var o=de.rsa.createKeyPairGenerationState(t,e,r);if(!n)return de.rsa.stepKeyPairGenerationState(o,0),o.keys;d4(o,r,n)};de.setRsaPublicKey=de.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Dy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return he.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return de.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),s==="RSASSA-PKCS1-V1_5"?s={verify:function(a,c){c=vc(c,r,!0);var u=D.fromDer(c);return a===u.value[1].value}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(a,c){return c=vc(c,r,!0),a===c}});var o=de.rsa.decrypt(i,r,!0,!1);return s.verify(n,o,r.n.bitLength())},r};de.setRsaPrivateKey=de.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=de.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:vc};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,d){return he.pkcs1.decode_rsa_oaep(d,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(h,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:h4},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return de.rsa.encrypt(h,c,f)},c};de.wrapRsaPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(de.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,D.toDer(t).getBytes())])};de.privateKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,c4,e,r)&&(t=D.fromDer(he.util.createBuffer(e.privateKey))),e={},r=[],!D.validate(t,u4,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=he.util.createBuffer(e.privateKeyModulus).toHex(),s=he.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=he.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=he.util.createBuffer(e.privateKeyPrime1).toHex(),c=he.util.createBuffer(e.privateKeyPrime2).toHex(),u=he.util.createBuffer(e.privateKeyExponent1).toHex(),l=he.util.createBuffer(e.privateKeyExponent2).toHex(),f=he.util.createBuffer(e.privateKeyCoefficient).toHex(),de.setRsaPrivateKey(new Se(i,16),new Se(s,16),new Se(o,16),new Se(a,16),new Se(c,16),new Se(u,16),new Se(l,16),new Se(f,16))};de.privateKeyToAsn1=de.privateKeyToRSAPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.e)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.d)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.p)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.q)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.dP)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.dQ)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.qInv))])};de.publicKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,f4,e,r)){var n=D.derToOid(e.publicKeyOid);if(n!==de.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!D.validate(t,l4,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=he.util.createBuffer(e.publicKeyModulus).toHex(),o=he.util.createBuffer(e.publicKeyExponent).toHex();return de.setRsaPublicKey(new Se(s,16),new Se(o,16))};de.publicKeyToAsn1=de.publicKeyToSubjectPublicKeyInfo=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(de.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.BITSTRING,!1,[de.publicKeyToRSAPublicKey(t)])])};de.publicKeyToRSAPublicKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,Yr(t.e))])};function Dy(t,e,r){var n=he.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=he.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function vc(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=he.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n=="undefined")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function d4(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){he.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Se.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:de.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:de.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Yr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=he.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&(r.charCodeAt(1)&128)==0||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)==128)?r.substr(1):r}function p4(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function Ly(t){return he.util.isNodejs&&typeof Vl[t]=="function"}function ky(t){return typeof dr.globalScope!="undefined"&&typeof dr.globalScope.crypto=="object"&&typeof dr.globalScope.crypto.subtle=="object"&&typeof dr.globalScope.crypto.subtle[t]=="function"}function qy(t){return typeof dr.globalScope!="undefined"&&typeof dr.globalScope.msCrypto=="object"&&typeof dr.globalScope.msCrypto.subtle=="object"&&typeof dr.globalScope.msCrypto.subtle[t]=="function"}function Uy(t){for(var e=he.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var jl=w((Cq,$y)=>{var te=be();_s();Un();cc();Mn();bs();Ol();hc();wi();yy();Uo();$e();typeof Fy=="undefined"&&(Fy=te.jsbn.BigInteger);var Fy,M=te.asn1,me=te.pki=te.pki||{};$y.exports=me.pbe=te.pbe=te.pbe||{};var Si=me.oids,y4={name:"EncryptedPrivateKeyInfo",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},g4={name:"PBES2Algorithms",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},m4={name:"pkcs-12PbeParams",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"iterations"}]};me.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=te.random.getBytesSync(r.saltSize),i=r.count,s=M.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=Si["aes128-CBC"],f=te.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Si["aes192-CBC"],f=te.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Si["aes256-CBC"],f=te.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Si.desCBC,f=te.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),d=jy(p),g=te.pkcs5.pbkdf2(e,n,i,o,d),m=te.random.getBytesSync(u),x=f(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes();var R=v4(n,s,o,p);a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Si.pkcs5PBES2).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Si.pkcs5PBKDF2).getBytes()),R]),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(l).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var L=new te.util.ByteBuffer(n),g=me.pbe.generatePkcs12Key(e,L,1,i,o),m=me.pbe.generatePkcs12Key(e,L,2,i,o),x=te.des.createEncryptionCipher(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes(),a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Si["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,n),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var H=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[a,M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,c)]);return H};me.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!M.validate(t,y4,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.derToOid(n.encryptionOid),a=me.pbe.getCipher(o,n.encryptionParams,e),c=te.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=M.fromDer(a.output)),r};me.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:M.toDer(t).getBytes()};return te.pem.encode(r,{maxline:e})};me.encryptedPrivateKeyFromPem=function(t){var e=te.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return M.fromDer(e.body)};me.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=me.wrapRsaPrivateKey(me.privateKeyToAsn1(t));return n=me.encryptPrivateKeyInfo(n,e,r),me.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=te.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(M.toDer(me.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:te.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return te.pem.encode(f)};me.decryptRsaPrivateKey=function(t,e){var r=null,n=te.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=te.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=te.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=te.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=te.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=te.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return te.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return te.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return te.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=te.util.hexToBytes(n.dekInfo.parameters),c=te.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(te.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=me.decryptPrivateKeyInfo(M.fromDer(r),e):r=M.fromDer(r),r!==null&&(r=me.privateKeyFromAsn1(r)),r};me.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s=="undefined"||s===null){if(!("sha1"in te.md))throw new Error('"sha1" hash algorithm unavailable.');s=te.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new te.util.ByteBuffer,f=new te.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),p=e.length(),d=new te.util.ByteBuffer;d.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new te.util.ByteBuffer;for(a=0;a<g;a++)m.putByte(e.at(a%p));var x=u*Math.ceil(h/u),R=new te.util.ByteBuffer;for(a=0;a<x;a++)R.putByte(f.at(a%h));var L=m;L.putBuffer(R);for(var H=Math.ceil(i/c),q=1;q<=H;q++){var k=new te.util.ByteBuffer;k.putBytes(d.bytes()),k.putBytes(L.bytes());for(var J=0;J<n;J++)s.start(),s.update(k.getBytes()),k=s.digest();var ie=new te.util.ByteBuffer;for(a=0;a<u;a++)ie.putByte(k.at(a%c));var j=Math.ceil(p/u)+Math.ceil(h/u),we=new te.util.ByteBuffer;for(o=0;o<j;o++){var le=new te.util.ByteBuffer(L.getBytes(u)),ye=511;for(a=ie.length()-1;a>=0;a--)ye=ye>>8,ye+=ie.at(a)+le.at(a),le.setAt(a,ye&255);we.putBuffer(le)}L=we,l.putBuffer(k)}return l.truncate(l.length()-i),l};me.pbe.getCipher=function(t,e,r){switch(t){case me.oids.pkcs5PBES2:return me.pbe.getCipherForPBES2(t,e,r);case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case me.oids["pbewithSHAAnd40BitRC2-CBC"]:return me.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};me.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!M.validate(e,g4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=M.derToOid(n.kdfOid),t!==me.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=M.derToOid(n.encOid),t!==me.oids["aes128-CBC"]&&t!==me.oids["aes192-CBC"]&&t!==me.oids["aes256-CBC"]&&t!==me.oids["des-EDE3-CBC"]&&t!==me.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=te.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(me.oids[t]){case"aes128-CBC":c=16,u=te.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=te.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=te.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=te.des.createDecryptionCipher;break;case"desCBC":c=8,u=te.des.createDecryptionCipher;break}var l=Vy(n.prfOid),f=te.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,p=u(f);return p.start(h),p};me.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!M.validate(e,m4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=te.util.createBuffer(n.salt),a=te.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=te.des.startDecrypting;break;case me.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(g,m){var x=te.rc2.createDecryptionCipher(g,40);return x.start(m,null),x};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Vy(n.prfOid),h=me.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=me.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,p)};me.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n=="undefined"||n===null){if(!("md5"in te.md))throw new Error('"md5" hash algorithm unavailable.');n=te.md.md5.create()}e===null&&(e="");for(var i=[Ky(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Ky(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Ky(t,e){return t.start().update(e).digest().getBytes()}function Vy(t){var e;if(!t)e="hmacWithSHA1";else if(e=me.oids[M.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return jy(e)}function jy(t){var e=te.md;switch(t){case"hmacWithSHA224":e=te.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function v4(t,e,r,n){var i=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,t),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,te.util.hexToBytes(r.toString(16))),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(me.oids[n]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.NULL,!1,"")])),i}});var $l={};gt($l,{identity:()=>b4});var b4,Hy=xe(()=>{Fr();In();b4=Ha({prefix:"\0",name:"identity",encode:t=>S0(t),decode:t=>x0(t)})});var Hl={};gt(Hl,{base2:()=>E4});var E4,zy=xe(()=>{Fr();E4=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var zl={};gt(zl,{base8:()=>w4});var w4,Gy=xe(()=>{Fr();w4=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var Gl={};gt(Gl,{base10:()=>_4});var _4,Wy=xe(()=>{Fr();_4=Rn({prefix:"9",name:"base10",alphabet:"0123456789"})});var Wl,Yy,Yl=xe(()=>{pi();Wl=({name:t,code:e,encode:r})=>new Yy(t,e,r),Yy=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Tn(this.code,r):r.then(n=>Tn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var Vn={};gt(Vn,{sha256:()=>x4,sha512:()=>S4});var Xy,x4,S4,Ai=xe(()=>{Yl();Xy=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),x4=Wl({name:"sha2-256",code:18,encode:Xy("SHA-256")}),S4=Wl({name:"sha2-512",code:19,encode:Xy("SHA-512")})});var Mo={};gt(Mo,{identity:()=>I4});var Zy,A4,Jy,C4,I4,bc=xe(()=>{In();pi();Zy=0,A4="identity",Jy=fn,C4=t=>Tn(Zy,Jy(t)),I4={code:Zy,name:A4,encode:Jy,digest:C4}});var eg=xe(()=>{In()});var qq,Uq,tg=xe(()=>{qq=new TextEncoder,Uq=new TextDecoder});var rg=xe(()=>{gs();$a();In();Yl();pi()});var Ql,Vq,ng=xe(()=>{Hy();zy();Gy();Wy();al();gi();ol();Pn();Bo();Ai();bc();eg();tg();rg();Ql={...$l,...Hl,...zl,...Gl,...Ya,...yi,...Wa,...Bn,...ms},Vq={...Vn,...Mo}});function ig(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var sg,Xl,B4,Ec,Zl=xe(()=>{ng();sg=ig("utf8","u",t=>{let e=new TextDecoder("utf8");return"u"+e.decode(t)},t=>new TextEncoder().encode(t.substring(1))),Xl=ig("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),B4={utf8:sg,"utf-8":sg,hex:Ql.base16,latin1:Xl,ascii:Xl,binary:Xl,...Ql},Ec=B4});var Nt={};gt(Nt,{fromString:()=>Jl});function Jl(t,e="utf8"){let r=Ec[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var It=xe(()=>{Zl()});var jn={};gt(jn,{concat:()=>P4});function P4(t,e){e||(e=t.reduce((i,s)=>i+s.length,0));let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var $n=xe(()=>{});var Fo=w(og=>{"use strict";og.get=(t=globalThis)=>{let e=t.crypto;if(!e||!e.subtle)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}});var ef=w((Wq,cg)=>{"use strict";var{concat:N4}=($n(),jn),{fromString:ag}=(It(),Nt),O4=Fo();function D4({algorithm:t="AES-GCM",nonceLength:e=12,keyLength:r=16,digest:n="SHA-256",saltLength:i=16,iterations:s=32767}={}){let o=O4.get();r*=8;async function a(u,l){let f=o.getRandomValues(new Uint8Array(i)),h=o.getRandomValues(new Uint8Array(e)),p={name:t,iv:h},d={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},g=await o.subtle.importKey("raw",ag(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),m=await o.subtle.deriveKey(d,g,{name:t,length:r},!0,["encrypt"]),x=await o.subtle.encrypt(p,m,u);return N4([f,p.iv,new Uint8Array(x)])}async function c(u,l){let f=u.slice(0,i),h=u.slice(i,i+e),p=u.slice(i+e),d={name:t,iv:h},g={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},m=await o.subtle.importKey("raw",ag(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),x=await o.subtle.deriveKey(g,m,{name:t,length:r},!0,["decrypt"]),R=await o.subtle.decrypt(d,x,p);return new Uint8Array(R)}return{encrypt:a,decrypt:c}}cg.exports={create:D4}});var lg=w((Yq,ug)=>{"use strict";var{base64:L4}=(Bo(),ms),k4=ef();ug.exports={import:async function(t,e){let r=L4.decode(t);return await k4.create().decrypt(r,e)}}});var pr={};gt(pr,{equals:()=>q4});function q4(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var yr=xe(()=>{});var Ot={};gt(Ot,{toString:()=>tf});function tf(t,e="utf8"){let r=Ec[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Tt=xe(()=>{Zl()});var sf=w((Xq,pg)=>{var Ye=be();Mn();$e();var Ko=pg.exports=Ye.sha512=Ye.sha512||{};Ye.md.sha512=Ye.md.algorithms.sha512=Ko;var fg=Ye.sha384=Ye.sha512.sha384=Ye.sha512.sha384||{};fg.create=function(){return Ko.create("SHA-384")};Ye.md.sha384=Ye.md.algorithms.sha384=fg;Ye.sha512.sha256=Ye.sha512.sha256||{create:function(){return Ko.create("SHA-512/256")}};Ye.md["sha512/256"]=Ye.md.algorithms["sha512/256"]=Ye.sha512.sha256;Ye.sha512.sha224=Ye.sha512.sha224||{create:function(){return Ko.create("SHA-512/224")}};Ye.md["sha512/224"]=Ye.md.algorithms["sha512/224"]=Ye.sha512.sha224;Ko.create=function(t){if(hg||U4(),typeof t=="undefined"&&(t="SHA-512"),!(t in Ci))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Ci[t],r=null,n=Ye.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Ye.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Ye.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),dg(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Ye.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(rf.substr(0,a.blockLength-l));for(var f,h,p=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)f=a.fullMessageLength[d+1]*8,h=f/4294967296>>>0,p+=h,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var g=new Array(r.length),d=0;d<r.length;++d)g[d]=r[d].slice(0);dg(g,i,c);var m=Ye.util.createBuffer(),x;t==="SHA-512"?x=g.length:t==="SHA-384"?x=g.length-2:x=g.length-4;for(var d=0;d<x;++d)m.putInt32(g[d][0]),(d!==x-1||t!=="SHA-512/224")&&m.putInt32(g[d][1]);return m},a};var rf=null,hg=!1,nf=null,Ci=null;function U4(){rf=String.fromCharCode(128),rf+=Ye.util.fillString(String.fromCharCode(0),128),nf=[[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]],Ci={},Ci["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Ci["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Ci["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Ci["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],hg=!0}function dg(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,p,d,g,m,x,R,L,H,q,k,J,ie,j,we,le,ye,nt,it,Ie,Me,ne,tr,Wt,un,Yt,ln=r.length();ln>=128;){for(Ie=0;Ie<16;++Ie)e[Ie][0]=r.getInt32()>>>0,e[Ie][1]=r.getInt32()>>>0;for(;Ie<80;++Ie)tr=e[Ie-2],Me=tr[0],ne=tr[1],n=((Me>>>19|ne<<13)^(ne>>>29|Me<<3)^Me>>>6)>>>0,i=((Me<<13|ne>>>19)^(ne<<3|Me>>>29)^(Me<<26|ne>>>6))>>>0,un=e[Ie-15],Me=un[0],ne=un[1],s=((Me>>>1|ne<<31)^(Me>>>8|ne<<24)^Me>>>7)>>>0,o=((Me<<31|ne>>>1)^(Me<<24|ne>>>8)^(Me<<25|ne>>>7))>>>0,Wt=e[Ie-7],Yt=e[Ie-16],ne=i+Wt[1]+o+Yt[1],e[Ie][0]=n+Wt[0]+s+Yt[0]+(ne/4294967296>>>0)>>>0,e[Ie][1]=ne>>>0;for(g=t[0][0],m=t[0][1],x=t[1][0],R=t[1][1],L=t[2][0],H=t[2][1],q=t[3][0],k=t[3][1],J=t[4][0],ie=t[4][1],j=t[5][0],we=t[5][1],le=t[6][0],ye=t[6][1],nt=t[7][0],it=t[7][1],Ie=0;Ie<80;++Ie)u=((J>>>14|ie<<18)^(J>>>18|ie<<14)^(ie>>>9|J<<23))>>>0,l=((J<<18|ie>>>14)^(J<<14|ie>>>18)^(ie<<23|J>>>9))>>>0,f=(le^J&(j^le))>>>0,h=(ye^ie&(we^ye))>>>0,a=((g>>>28|m<<4)^(m>>>2|g<<30)^(m>>>7|g<<25))>>>0,c=((g<<4|m>>>28)^(m<<30|g>>>2)^(m<<25|g>>>7))>>>0,p=(g&x|L&(g^x))>>>0,d=(m&R|H&(m^R))>>>0,ne=it+l+h+nf[Ie][1]+e[Ie][1],n=nt+u+f+nf[Ie][0]+e[Ie][0]+(ne/4294967296>>>0)>>>0,i=ne>>>0,ne=c+d,s=a+p+(ne/4294967296>>>0)>>>0,o=ne>>>0,nt=le,it=ye,le=j,ye=we,j=J,we=ie,ne=k+i,J=q+n+(ne/4294967296>>>0)>>>0,ie=ne>>>0,q=L,k=H,L=x,H=R,x=g,R=m,ne=i+o,g=n+s+(ne/4294967296>>>0)>>>0,m=ne>>>0;ne=t[0][1]+m,t[0][0]=t[0][0]+g+(ne/4294967296>>>0)>>>0,t[0][1]=ne>>>0,ne=t[1][1]+R,t[1][0]=t[1][0]+x+(ne/4294967296>>>0)>>>0,t[1][1]=ne>>>0,ne=t[2][1]+H,t[2][0]=t[2][0]+L+(ne/4294967296>>>0)>>>0,t[2][1]=ne>>>0,ne=t[3][1]+k,t[3][0]=t[3][0]+q+(ne/4294967296>>>0)>>>0,t[3][1]=ne>>>0,ne=t[4][1]+ie,t[4][0]=t[4][0]+J+(ne/4294967296>>>0)>>>0,t[4][1]=ne>>>0,ne=t[5][1]+we,t[5][0]=t[5][0]+j+(ne/4294967296>>>0)>>>0,t[5][1]=ne>>>0,ne=t[6][1]+ye,t[6][0]=t[6][0]+le+(ne/4294967296>>>0)>>>0,t[6][1]=ne>>>0,ne=t[7][1]+it,t[7][0]=t[7][0]+nt+(ne/4294967296>>>0)>>>0,t[7][1]=ne>>>0,ln-=128}}});var gg=w((Zq,yg)=>{"use strict";var wc=65536;function M4(t){let e=new Uint8Array(t),r=0;if(t>0)if(t>wc)for(;r<t;)r+wc>t?(crypto.getRandomValues(e.subarray(r,r+(t-r))),r+=t-r):(crypto.getRandomValues(e.subarray(r,r+wc)),r+=wc);else crypto.getRandomValues(e);return e}yg.exports=M4});var _c=w((Jq,mg)=>{"use strict";var F4=gg(),K4=pe();mg.exports=function(t){if(isNaN(t)||t<=0)throw K4(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return F4(t)}});var xc=w(Vo=>{"use strict";$e();gc();var V4=be(),{fromString:j4}=(It(),Nt),{toString:vg}=(Tt(),Ot),{concat:bg}=($n(),jn);Vo.bigIntegerToUintBase64url=(t,e)=>{let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.slice(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=bg([new Uint8Array(e-r.length),r])}return vg(r,"base64url")};Vo.base64urlToBigInteger=t=>{let e=Vo.base64urlToBuffer(t);return new V4.jsbn.BigInteger(vg(e,"base16"),16)};Vo.base64urlToBuffer=(t,e)=>{let r=j4(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=bg([new Uint8Array(e-r.length),r])}return r}});var _g=w(jo=>{"use strict";Un();Uo();var Hn=be(),{bigIntegerToUintBase64url:Qr,base64urlToBigInteger:Xr}=xc(),{fromString:Eg}=(It(),Nt),{toString:wg}=(Tt(),Ot);jo.pkcs1ToJwk=function(t){let e=Hn.asn1.fromDer(wg(t,"ascii")),r=Hn.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Qr(r.n),e:Qr(r.e),d:Qr(r.d),p:Qr(r.p),q:Qr(r.q),dp:Qr(r.dP),dq:Qr(r.dQ),qi:Qr(r.qInv),alg:"RS256",kid:"2011-04-29"}};jo.jwkToPkcs1=function(t){let e=Hn.pki.privateKeyToAsn1({n:Xr(t.n),e:Xr(t.e),d:Xr(t.d),p:Xr(t.p),q:Xr(t.q),dP:Xr(t.dp),dQ:Xr(t.dq),qInv:Xr(t.qi)});return Eg(Hn.asn1.toDer(e).getBytes(),"ascii")};jo.pkixToJwk=function(t){let e=Hn.asn1.fromDer(wg(t,"ascii")),r=Hn.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Qr(r.n),e:Qr(r.e),alg:"RS256",kid:"2011-04-29"}};jo.jwkToPkix=function(t){let e=Hn.pki.publicKeyToAsn1({n:Xr(t.n),e:Xr(t.e)});return Eg(Hn.asn1.toDer(e).getBytes(),"ascii")}});var Cg=w((rU,Ag)=>{"use strict";Uo();var xg=be(),{base64urlToBigInteger:$4}=xc();function Sg(t,e){return e.map(r=>$4(t[r]))}function H4(t){return xg.pki.setRsaPrivateKey(...Sg(t,["n","e","d","p","q","dp","dq","qi"]))}function z4(t){return xg.pki.setRsaPublicKey(...Sg(t,["n","e"]))}Ag.exports={jwk2pub:z4,jwk2priv:H4}});var Rg=w(gn=>{"use strict";var yn=Fo(),G4=_c(),{toString:W4}=(Tt(),Ot),{fromString:Y4}=(It(),Nt);gn.utils=_g();gn.generateKey=async function(t){let e=await yn.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Ig(e);return{privateKey:r[0],publicKey:r[1]}};gn.unmarshalPrivateKey=async function(t){let r=[await yn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Q4(t)],n=await Ig({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}};gn.getRandomValues=G4;gn.hashAndSign=async function(t,e){let r=await yn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await yn.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,n.byteOffset,n.byteLength)};gn.hashAndVerify=async function(t,e,r){let n=await yn.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return yn.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)};function Ig(t){return Promise.all([yn.get().subtle.exportKey("jwk",t.privateKey),yn.get().subtle.exportKey("jwk",t.publicKey)])}function Q4(t){return yn.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}var{jwk2pub:X4,jwk2priv:Z4}=Cg();function Tg(t,e,r,n){let i=e?X4(t):Z4(t),s=W4(Uint8Array.from(r),"ascii"),o=n(s,i);return Y4(o,"ascii")}gn.encrypt=function(t,e){return Tg(t,!0,e,(r,n)=>n.encrypt(r))};gn.decrypt=function(t,e){return Tg(t,!1,e,(r,n)=>n.decrypt(r))}});var Sc=w((iU,Bg)=>{"use strict";var{base64:J4}=(Bo(),ms),eB=ef();Bg.exports={export:async function(t,e){let n=await eB.create().encrypt(t,e);return J4.encode(n)}}});var Lg=w((sU,Dg)=>{"use strict";var{sha256:Pg}=(Ai(),Vn),Ng=pe(),{equals:Og}=(yr(),pr),{toString:tB}=(Tt(),Ot);sf();var Ac=be(),gr=Rg(),Cc=tc(),rB=Sc(),Ic=class{constructor(e){this._key=e}async verify(e,r){return gr.hashAndVerify(this._key,r,e)}marshal(){return gr.utils.jwkToPkix(this._key)}get bytes(){return Cc.PublicKey.encode({Type:Cc.KeyType.RSA,Data:this.marshal()}).finish()}encrypt(e){return gr.encrypt(this._key,e)}equals(e){return Og(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Pg.digest(this.bytes);return e}},$o=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return gr.getRandomValues(16)}async sign(e){return gr.hashAndSign(this._key,e)}get public(){if(!this._publicKey)throw Ng(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Ic(this._publicKey)}decrypt(e){return gr.decrypt(this._key,e)}marshal(){return gr.utils.jwkToPkcs1(this._key)}get bytes(){return Cc.PrivateKey.encode({Type:Cc.KeyType.RSA,Data:this.marshal()}).finish()}equals(e){return Og(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Pg.digest(this.bytes);return e}async id(){let e=await this.public.hash();return tB(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Ac.util.ByteBuffer(this.marshal()),i=Ac.asn1.fromDer(n),s=Ac.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Ac.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return rB.export(this.bytes,e);throw Ng(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function nB(t){let e=gr.utils.pkcs1ToJwk(t),r=await gr.unmarshalPrivateKey(e);return new $o(r.privateKey,r.publicKey)}function iB(t){let e=gr.utils.pkixToJwk(t);return new Ic(e)}async function sB(t){let e=await gr.unmarshalPrivateKey(t);return new $o(e.privateKey,e.publicKey)}async function oB(t){let e=await gr.generateKey(t);return new $o(e.privateKey,e.publicKey)}Dg.exports={RsaPublicKey:Ic,RsaPrivateKey:$o,unmarshalRsaPublicKey:iB,unmarshalRsaPrivateKey:nB,generateKeyPair:oB,fromJwk:sB}});var jg=w(qe=>{"use strict";var aB=qe&&qe.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(qe,"__esModule",{value:!0});qe.utils=qe.curve25519=qe.getSharedSecret=qe.verify=qe.sign=qe.getPublicKey=qe.Signature=qe.Point=qe.ExtendedPoint=qe.CURVE=void 0;var cB=aB(xs()),dt=BigInt(0),_e=BigInt(1),Dt=BigInt(2),kg=BigInt(255),st={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:Dt**kg-BigInt(19),n:Dt**BigInt(252)+BigInt("27742317777372353535851937790883648493"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")};qe.CURVE=st;var Ho=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),oU=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),uB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),lB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),fB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),hB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ve=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Ze))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Ze.ZERO)?Ve.ZERO:new Ve(e.x,e.y,_e,K(e.x*e.y))}static toAffineBatch(e){let r=yB(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}static fromRistrettoHash(e){e=mn(e),Ti(64,e);let r=cf(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=cf(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return n.add(s)}static calcElligatorRistrettoMap(e){let{d:r}=st,n=K(Ho*e*e),i=K((n+_e)*fB),s=BigInt(-1),o=K((s-r*n)*K(n+r)),{isValid:a,value:c}=lf(i,o),u=K(c*e);zn(u)||(u=K(-u)),a||(c=u),a||(s=n);let l=K(s*(n-_e)*hB-o),f=c*c,h=K((c+c)*o),p=K(l*uB),d=K(_e-f),g=K(_e+f);return new Ve(K(h*g),K(d*p),K(p*g),K(h*d))}static fromRistrettoBytes(e){e=mn(e),Ti(32,e);let{a:r,d:n}=st,i="ExtendedPoint.fromRistrettoBytes: Cannot convert bytes to Ristretto Point",s=cf(e);if(!gB(zo(s,32),e)||zn(s))throw new Error(i);let o=K(s*s),a=K(_e+r*o),c=K(_e-r*o),u=K(a*a),l=K(c*c),f=K(r*n*u-l),{isValid:h,value:p}=Fg(K(f*l)),d=K(p*c),g=K(p*d*f),m=K((s+s)*d);zn(m)&&(m=K(-m));let x=K(a*g),R=K(m*x);if(!h||zn(R)||x===dt)throw new Error(i);return new Ve(m,x,_e,R)}toRistrettoBytes(){let{x:e,y:r,z:n,t:i}=this,s=K(K(n+r)*K(n-r)),o=K(e*r),{value:a}=Fg(K(s*o**Dt)),c=K(a*s),u=K(a*o),l=K(c*u*i),f;if(zn(i*l)){let p=K(r*Ho),d=K(e*Ho);e=p,r=d,f=K(c*lB)}else f=u;zn(e*l)&&(r=K(-r));let h=K((n-r)*f);return zn(h)&&(h=K(-h)),zo(h,32)}equals(e){let r=this,n=e;return K(r.t*n.z)===K(n.t*r.z)}negate(){return new Ve(K(-this.x),this.y,this.z,K(-this.t))}double(){let e=this.x,r=this.y,n=this.z,{a:i}=st,s=K(e**Dt),o=K(r**Dt),a=K(Dt*n**Dt),c=K(i*s),u=K((e+r)**Dt-s-o),l=K(c+o),f=K(l-a),h=K(c-o),p=K(u*f),d=K(l*h),g=K(u*h),m=K(f*l);return new Ve(p,d,m,g)}add(e){let r=this.x,n=this.y,i=this.z,s=this.t,o=e.x,a=e.y,c=e.z,u=e.t,l=K((n-r)*(a+o)),f=K((n+r)*(a-o)),h=K(f-l);if(h===dt)return this.double();let p=K(i*Dt*u),d=K(s*Dt*c),g=K(d+p),m=K(f+l),x=K(d-p),R=K(g*h),L=K(m*x),H=K(g*x),q=K(h*m);return new Ve(R,L,q,H)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=Is(e),n=Ve.ZERO;if(this.equals(n)||r===_e)return this;let i=n,s=this;for(;r>dt;)r&_e&&(i=i.add(s)),s=s.double(),r>>=_e;return i}precomputeWindow(e){let r=256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ve.BASE)&&(r=Ze.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&of.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ve.normalizeZ(i),of.set(r,i)));let s=Ve.ZERO,o=Ve.ZERO,a=256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);if(e>>=f,d>c&&(d-=l,e+=_e),d===0){let g=i[p];h%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(d)-1];d<0&&(g=g.negate()),s=s.add(g)}}return[s,o]}multiply(e,r){let n=Is(e);return Ve.normalizeZ(this.wNAF(n,r))[0]}toAffine(e=uf(this.z)){let r=K(this.x*e),n=K(this.y*e);return new Ze(r,n)}};qe.ExtendedPoint=Ve;Ve.BASE=new Ve(st.Gx,st.Gy,_e,K(st.Gx*st.Gy));Ve.ZERO=new Ve(dt,_e,_e,dt);var of=new WeakMap,Ze=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,of.delete(this)}static fromHex(e){let{d:r,P:n}=st,i=mn(e);Ti(32,i);let s=i.slice();s[31]=i[31]&~128;let o=Cs(s);if(o>=n)throw new Error("Point.fromHex expects hex <= Fp");let a=K(o*o),c=K(a-_e),u=K(r*a+_e),{isValid:l,value:f}=lf(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&_e)===_e;return(i[31]&128)!=0!==h&&(f=K(-f)),new Ze(f,o)}static async fromPrivateKey(e){return(await Go(e)).point}toRawBytes(){let e=zo(this.y,32);return e[31]|=this.x&_e?128:0,e}toHex(){return af(this.toRawBytes())}toX25519(){let{y:e}=this;return K((_e+e)*uf(_e-e))}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Ze(K(-this.x),this.y)}add(e){return Ve.fromAffine(this).add(Ve.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ve.fromAffine(this).multiply(e,this).toAffine()}};qe.Point=Ze;Ze.BASE=new Ze(st.Gx,st.Gy);Ze.ZERO=new Ze(dt,_e);var Ii=class{constructor(e,r){if(this.r=e,!(e instanceof Ze))throw new Error("Expected Point instance");this.s=Is(r)}static fromHex(e){let r=mn(e);Ti(64,r);let n=Ze.fromHex(r.slice(0,32)),i=Cs(r.slice(32,64));return new Ii(n,i)}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(zo(this.s,32),32),e}toHex(){return af(this.toRawBytes())}};qe.Signature=Ii;function dB(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var pB=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function af(t){let e="";for(let r=0;r<t.length;r++)e+=pB[t[r]];return e}function qg(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function Ug(t,e){let r=t.toString(16).padStart(e*2,"0");return qg(r)}function zo(t,e){return Ug(t,e).reverse()}function zn(t){return(K(t)&_e)===_e}function Cs(t){if(!(t instanceof Uint8Array))throw new Error(`bytesToNumberLE: expected Uint8Array, got ${t}`);let e=dt,r=BigInt(8);for(let n=0;n<t.length;n++)e+=BigInt(t[n])<<r*BigInt(n);return e}function cf(t){return K(Cs(t)&Dt**kg-_e)}function K(t,e=st.P){let r=t%e;return r>=dt?r:e+r}function uf(t,e=st.P){if(t===dt||e<=dt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=K(t,e),n=e,i=dt,s=_e,o=_e,a=dt;for(;r!==dt;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==_e)throw new Error("invert: does not exist");return K(i,e)}function yB(t,e=st.P){let r=t.length,n=new Array(r),i=_e;for(let s=0;s<r;s++)t[s]!==dt&&(n[s]=i,i=K(i*t[s],e));i=uf(i,e);for(let s=r-1;s>=0;s--){if(t[s]===dt)continue;let o=K(i*t[s],e);t[s]=K(i*n[s],e),i=o}return t}function Or(t,e){let{P:r}=st,n=t;for(;e-- >dt;)n*=n,n%=r;return n}function Mg(t){let{P:e}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=Or(c,Dt)*c%e,l=Or(u,_e)*t%e,f=Or(l,r)*l%e,h=Or(f,n)*f%e,p=Or(h,i)*h%e,d=Or(p,s)*p%e,g=Or(d,o)*d%e,m=Or(g,o)*d%e,x=Or(m,n)*f%e;return{pow_p_5_8:Or(x,Dt)*t%e,b2:c}}function lf(t,e){let r=K(e*e*e),n=K(r*r*e),i=Mg(t*n).pow_p_5_8,s=K(t*r*i),o=K(e*s*s),a=s,c=K(s*Ho),u=o===t,l=o===K(-t),f=o===K(-t*Ho);return u&&(s=a),(l||f)&&(s=c),zn(s)&&(s=K(-s)),{isValid:u||l,value:s}}function Fg(t){return lf(_e,t)}async function ff(...t){let e=dB(...t),r=await qe.utils.sha512(e),n=Cs(r);return K(n,st.n)}function gB(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function mn(t){return t instanceof Uint8Array?Uint8Array.from(t):qg(t)}function Ti(t,e){if(e.length!==t)throw new Error(`Expected ${t} bytes`)}function Is(t,e=st.n){if(typeof t=="number"&&t>0&&Number.isSafeInteger(t))return BigInt(t);if(typeof t=="bigint"&&dt<t&&t<e)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function mB(t){let e=typeof t=="bigint"||typeof t=="number"?Ug(Is(t,Dt**BigInt(256)),32):mn(t);return Ti(32,e),e}function Kg(t){return t=mn(t),Ti(32,t),t[0]&=248,t[31]&=127,t[31]|=64,Cs(t)}async function Go(t){let e=await qe.utils.sha512(mB(t)),r=e.slice(0,32),n=e.slice(32,64),i=K(Kg(r),st.n),s=Ze.BASE.multiply(i),o=s.toRawBytes();return{head:r,prefix:n,scalar:i,point:s,pubBytes:o}}async function vB(t){return(await Go(t)).pubBytes}qe.getPublicKey=vB;async function bB(t,e){let r=mn(t),{prefix:n,scalar:i,pubBytes:s}=await Go(e),o=await ff(n,r),a=Ze.BASE.multiply(o),c=await ff(a.toRawBytes(),s,r),u=K(o+c*i,st.n);return new Ii(a,u).toRawBytes()}qe.sign=bB;async function EB(t,e,r){e=mn(e),r instanceof Ze||(r=Ze.fromHex(r)),t instanceof Ii||(t=Ii.fromHex(t));let n=Ve.BASE.multiply(t.s),i=await ff(t.r.toRawBytes(),r.toRawBytes(),e),s=Ve.fromAffine(r).multiplyUnsafe(i);return Ve.fromAffine(t.r).add(s).subtract(n).multiplyUnsafe(st.h).equals(Ve.ZERO)}qe.verify=EB;async function wB(t,e){let{scalar:r}=await Go(t),n=Ze.fromHex(e).toX25519();return Vg(r,n)}qe.getSharedSecret=wB;Ze.BASE._setWindowSize(8);function Tc(t,e,r){let n=K(t*(e-r));return e=K(e-n),r=K(r+n),[e,r]}function _B(t,e){let{P:r,n}=st,i=Is(t,r),s=Is(e,r),o=BigInt(121665),a=i,c=_e,u=dt,l=i,f=_e,h=dt,p;for(let x=BigInt(255-1);x>=dt;x--){let R=s>>x&_e;h^=R,p=Tc(h,c,l),c=p[0],l=p[1],p=Tc(h,u,f),u=p[0],f=p[1],h=R;let L=K(c+u),H=K(L*L),q=K(c-u),k=K(q*q),J=K(H-k),ie=K(l+f),j=K(l-f),we=K(j*L),le=K(ie*q);l=K(K(we+le)**Dt),f=K(a*K(we-le)**Dt),c=K(H*k),u=K(J*(H+K(o*J)))}p=Tc(h,c,l),c=p[0],l=p[1],p=Tc(h,u,f),u=p[0],f=p[1];let{pow_p_5_8:d,b2:g}=Mg(u),m=K(Or(d,BigInt(3))*g);return K(c*m)}function xB(t){return zo(K(t,st.P),32)}function Vg(t,e){let r=_B(t,e);if(r===dt)throw new Error("Invalid private or public key received");return xB(r)}function SB(t){let e=mn(t);return Ti(32,e),e[31]&=127,Cs(e)}qe.curve25519={BASE_POINT_U:"0900000000000000000000000000000000000000000000000000000000000000",scalarMult(t,e){let r=SB(e),n=Kg(t);return Vg(r,n)},scalarMultBase(t){return qe.curve25519.scalarMult(t,qe.curve25519.BASE_POINT_U)}};var Gn={node:cB.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};qe.utils={TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],bytesToHex:af,getExtendedPublicKey:Go,randomBytes:(t=32)=>{if(Gn.web)return Gn.web.getRandomValues(new Uint8Array(t));if(Gn.node){let{randomBytes:e}=Gn.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>qe.utils.randomBytes(32),sha512:async t=>{if(Gn.web){let e=await Gn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(Gn.node)return Uint8Array.from(Gn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Ze.BASE){let r=e.equals(Ze.BASE)?e:new Ze(e.x,e.y);return r._setWindowSize(t),r.multiply(_e),r}}});var Hg=w(Wn=>{"use strict";var Wo=jg(),AB=32,CB=64,Rc=32;Wn.publicKeyLength=AB;Wn.privateKeyLength=CB;Wn.generateKey=async function(){let t=Wo.utils.randomPrivateKey(),e=await Wo.getPublicKey(t);return{privateKey:$g(t,e),publicKey:e}};Wn.generateKeyFromSeed=async function(t){if(t.length!==Rc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await Wo.getPublicKey(e);return{privateKey:$g(e,r),publicKey:r}};Wn.hashAndSign=function(t,e){let r=t.slice(0,Rc);return Wo.sign(e,r)};Wn.hashAndVerify=function(t,e,r){return Wo.verify(e,r,t)};function $g(t,e){let r=new Uint8Array(Wn.privateKeyLength);for(let n=0;n<Rc;n++)r[n]=t[n],r[Rc+n]=e[n];return r}});var Qg=w((uU,Yg)=>{"use strict";var zg=pe(),{equals:Gg}=(yr(),pr),{sha256:Wg}=(Ai(),Vn),{base58btc:IB}=(Pn(),Bn),{identity:TB}=(bc(),Mo),Lt=Hg(),Bc=tc(),RB=Sc(),Pc=class{constructor(e){this._key=Rs(e,Lt.publicKeyLength)}async verify(e,r){return Lt.hashAndVerify(this._key,r,e)}marshal(){return this._key}get bytes(){return Bc.PublicKey.encode({Type:Bc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return Gg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Wg.digest(this.bytes);return e}},Ts=class{constructor(e,r){this._key=Rs(e,Lt.privateKeyLength),this._publicKey=Rs(r,Lt.publicKeyLength)}async sign(e){return Lt.hashAndSign(this._key,e)}get public(){return new Pc(this._publicKey)}marshal(){return this._key}get bytes(){return Bc.PrivateKey.encode({Type:Bc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return Gg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Wg.digest(this.bytes);return e}async id(){let e=await TB.digest(this.public.bytes);return IB.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return RB.export(this.bytes,e);throw zg(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function BB(t){if(t.length>Lt.privateKeyLength){t=Rs(t,Lt.privateKeyLength+Lt.publicKeyLength);let n=t.slice(0,Lt.privateKeyLength),i=t.slice(Lt.privateKeyLength,t.length);return new Ts(n,i)}t=Rs(t,Lt.privateKeyLength);let e=t.slice(0,Lt.privateKeyLength),r=t.slice(Lt.publicKeyLength);return new Ts(e,r)}function PB(t){return t=Rs(t,Lt.publicKeyLength),new Pc(t)}async function NB(){let{privateKey:t,publicKey:e}=await Lt.generateKey();return new Ts(t,e)}async function OB(t){let{privateKey:e,publicKey:r}=await Lt.generateKeyFromSeed(t);return new Ts(e,r)}function Rs(t,e){if(t=Uint8Array.from(t||[]),t.length!==e)throw zg(new Error(`Key must be a Uint8Array of length ${e}, got ${t.length}`),"ERR_INVALID_KEY_TYPE");return t}Yg.exports={Ed25519PublicKey:Pc,Ed25519PrivateKey:Ts,unmarshalEd25519PrivateKey:BB,unmarshalEd25519PublicKey:PB,generateKeyPair:NB,generateKeyPairFromSeed:OB}});var hm=w(Ae=>{"use strict";var DB=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.utils=Ae.schnorr=Ae.verify=Ae.signSync=Ae.sign=Ae.getSharedSecret=Ae.recoverPublicKey=Ae.getPublicKey=Ae.Signature=Ae.Point=Ae.CURVE=void 0;var LB=DB(xs()),Ne=BigInt(0),ut=BigInt(1),pt=BigInt(2),Yo=BigInt(3),kB=BigInt(8),hf=pt**BigInt(256),je={a:Ne,b:BigInt(7),P:hf-pt**BigInt(32)-BigInt(977),n:hf-BigInt("432420386565659656852420866394968145599"),h:ut,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")};Ae.CURVE=je;function Xg(t){let{a:e,b:r}=je,n=re(t*t),i=re(n*t);return re(i+e*t+r)}var Nc=je.a===Ne,Pe=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof De))throw new TypeError("JacobianPoint#fromAffine: expected Point");return new Pe(e.x,e.y,ut)}static toAffineBatch(e){let r=FB(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return Pe.toAffineBatch(e).map(Pe.fromAffine)}equals(e){let r=this,n=e,i=re(r.z*r.z),s=re(r.z*i),o=re(n.z*n.z),a=re(n.z*o);return re(r.x*o)===re(i*n.x)&&re(r.y*a)===re(s*n.y)}negate(){return new Pe(this.x,re(-this.y),this.z)}double(){let e=this.x,r=this.y,n=this.z,i=re(e**pt),s=re(r**pt),o=re(s**pt),a=re(pt*(re(re((e+s)**pt))-i-o)),c=re(Yo*i),u=re(c**pt),l=re(u-pt*a),f=re(c*(a-l)-kB*o),h=re(pt*r*n);return new Pe(l,f,h)}add(e){if(!(e instanceof Pe))throw new TypeError("JacobianPoint#add: expected JacobianPoint");let r=this.x,n=this.y,i=this.z,s=e.x,o=e.y,a=e.z;if(s===Ne||o===Ne)return this;if(r===Ne||n===Ne)return e;let c=re(i**pt),u=re(a**pt),l=re(r*u),f=re(s*c),h=re(n*a*u),p=re(re(o*i)*c),d=re(f-l),g=re(p-h);if(d===Ne)return g===Ne?this.double():Pe.ZERO;let m=re(d**pt),x=re(d*m),R=re(l*m),L=re(g**pt-x-pt*R),H=re(g*(R-L)-h*x),q=re(i*a*d);return new Pe(L,H,q)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=em(e);if(!Nc){let l=Pe.ZERO,f=this;for(;r>Ne;)r&ut&&(l=l.add(f)),f=f.double(),r>>=ut;return l}let{k1neg:n,k1:i,k2neg:s,k2:o}=rm(r),a=Pe.ZERO,c=Pe.ZERO,u=this;for(;i>Ne||o>Ne;)i&ut&&(a=a.add(u)),o&ut&&(c=c.add(u)),u=u.double(),i>>=ut,o>>=ut;return n&&(a=a.negate()),s&&(c=c.negate()),c=new Pe(re(c.x*je.beta),c.y,c.z),a.add(c)}precomputeWindow(e){let r=Nc?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Pe.BASE)&&(r=De.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&df.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Pe.normalizeZ(i),df.set(r,i)));let s=Pe.ZERO,o=Pe.ZERO,a=Nc?128/n+1:256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let p=h*c,d=Number(e&u);if(e>>=f,d>c&&(d-=l,e+=ut),d===0){let g=i[p];h%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(d)-1];d<0&&(g=g.negate()),s=s.add(g)}}return{p:s,f:o}}multiply(e,r){let n=em(e),i,s;if(Nc){let{k1neg:o,k1:a,k2neg:c,k2:u}=rm(n),{p:l,f}=this.wNAF(a,r),{p:h,f:p}=this.wNAF(u,r);o&&(l=l.negate()),c&&(h=h.negate()),h=new Pe(re(h.x*je.beta),h.y,h.z),i=l.add(h),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return Pe.normalizeZ([i,s])[0]}toAffine(e=Xo(this.z)){let r=e**pt,n=re(this.x*r),i=re(this.y*r*e);return new De(n,i)}};Pe.BASE=new Pe(je.Gx,je.Gy,ut);Pe.ZERO=new Pe(Ne,ut,Ne);var df=new WeakMap,De=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,df.delete(this)}static fromCompressedHex(e){let r=e.length===32,n=nr(r?e:e.slice(1)),i=Xg(n),s=MB(i),o=(s&ut)===ut;r?o&&(s=re(-s)):(e[0]&1)==1!==o&&(s=re(-s));let a=new De(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=nr(e.slice(1,33)),n=nr(e.slice(33)),i=new De(r,n);return i.assertValidity(),i}static fromHex(e){let r=Bi(e),n=r[0];if(r.length===32||r.length===33&&(n===2||n===3))return this.fromCompressedHex(r);if(r.length===65&&n===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${r.length}`)}static fromPrivateKey(e){return De.BASE.multiply(Zo(e))}static fromSignature(e,r,n){let i=e instanceof Uint8Array?nr(e):Bs(e),s=im(r),{r:o,s:a}=s;if(n!==0&&n!==1)throw new Error("Cannot recover signature: invalid recovery bit");let c=2+(n&1),u=De.fromHex(`0${c}${vn(o)}`),l=Pe.fromAffine(u).multiplyUnsafe(a),f=Pe.BASE.multiply(i),h=Xo(o,je.n),d=l.subtract(f).multiplyUnsafe(h).toAffine();return d.assertValidity(),d}toRawBytes(e=!1){return Yn(this.toHex(e))}toHex(e=!1){let r=vn(this.x);return e?`${this.y&ut?"03":"02"}${r}`:`04${r}${vn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!mf(r)||!mf(n))throw new Error(e);let i=re(n*n),s=Xg(r);if(re(i-s)!==Ne)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new De(this.x,re(-this.y))}double(){return Pe.fromAffine(this).double().toAffine()}add(e){return Pe.fromAffine(this).add(Pe.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Pe.fromAffine(this).multiply(e,this).toAffine()}};Ae.Point=De;De.BASE=new De(je.Gx,je.Gy);De.ZERO=new De(Ne,Ne);function Zg(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Jg(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Ri(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:nr(r),left:t.subarray(e+2)}}function qB(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Ri(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Jg(t.subarray(2)),{data:n,left:i}=Jg(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ri(i)}`);return{r:e,s:n}}var Zr=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=e instanceof Uint8Array,n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ri(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Zr(Bs(i.slice(0,64)),Bs(i.slice(64,128)))}static fromDER(e){let r=e instanceof Uint8Array;if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=qB(r?e:Yn(e));return new Zr(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Pi(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Pi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=je.n>>ut;return this.s>e}normalizeS(){return this.hasHighS()?new Zr(this.r,je.n-this.s):this}toDERRawBytes(e=!1){return Yn(this.toDERHex(e))}toDERHex(e=!1){let r=Zg(Qo(this.s));if(e)return r;let n=Zg(Qo(this.r)),i=Qo(n.length/2),s=Qo(r.length/2);return`30${Qo(n.length/2+r.length/2+4)}02${i}${n}02${s}${r}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Yn(this.toCompactHex())}toCompactHex(){return vn(this.r)+vn(this.s)}};Ae.Signature=Zr;function pf(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var UB=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ri(t){let e="";for(let r=0;r<t.length;r++)e+=UB[t[r]];return e}function vn(t){if(t>hf)throw new Error("pad64: invalid number");return t.toString(16).padStart(64,"0")}function yf(t){return Yn(vn(t))}function Qo(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Bs(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function Yn(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function Bi(t){return t instanceof Uint8Array?t:Yn(t)}function nr(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return Bs(Ri(t))}function em(t){if(typeof t=="number"&&t>0&&Number.isSafeInteger(t))return BigInt(t);if(typeof t=="bigint"&&Pi(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function re(t,e=je.P){let r=t%e;return r>=0?r:e+r}function mr(t,e){let{P:r}=je,n=t;for(;e-- >Ne;)n*=n,n%=r;return n}function MB(t){let{P:e}=je,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=mr(u,Yo)*u%e,f=mr(l,Yo)*u%e,h=mr(f,pt)*c%e,p=mr(h,n)*h%e,d=mr(p,i)*p%e,g=mr(d,o)*d%e,m=mr(g,a)*g%e,x=mr(m,o)*d%e,R=mr(x,Yo)*u%e,L=mr(R,s)*p%e,H=mr(L,r)*c%e;return mr(H,pt)}function Xo(t,e=je.P){if(t===Ne||e<=Ne)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=re(t,e),n=e,i=Ne,s=ut,o=ut,a=Ne;for(;r!==Ne;){let u=n/r,l=n%r,f=i-o*u,h=s-a*u;n=r,r=l,i=o,s=a,o=f,a=h}if(n!==ut)throw new Error("invert: does not exist");return re(i,e)}function FB(t,e=je.P){let r=t.length,n=new Array(r),i=ut;for(let s=0;s<r;s++)t[s]!==Ne&&(n[s]=i,i=re(i*t[s],e));i=Xo(i,e);for(let s=r-1;s>=0;s--){if(t[s]===Ne)continue;let o=re(i*t[s],e);t[s]=re(i*n[s],e),i=o}return t}var tm=(t,e)=>(t+e/pt)/e,Oc=pt**BigInt(128);function rm(t){let{n:e}=je,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ut*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=tm(s*t,e),a=tm(-n*t,e),c=re(t-o*r-a*i,e),u=re(-o*n-a*s,e),l=c>Oc,f=u>Oc;if(l&&(c=e-c),f&&(u=e-u),c>Oc||u>Oc)throw new Error("splitScalarEndo: Endomorphism failed");return{k1neg:l,k1:c,k2neg:f,k2:u}}function KB(t){typeof t!="string"&&(t=Ri(t));let e=Bs(t||"0"),n=t.length/2*8-256;return n>0&&(e=e>>BigInt(n)),e>=je.n&&(e-=je.n),e}var gf=class{constructor(){this.v=new Uint8Array(32).fill(1),this.k=new Uint8Array(32).fill(0),this.counter=0}hmac(...e){return Ae.utils.hmacSha256(this.k,...e)}hmacSync(...e){if(typeof Ae.utils.hmacSha256Sync!="function")throw new Error("utils.hmacSha256Sync is undefined, you need to set it");let r=Ae.utils.hmacSha256Sync(this.k,...e);if(r instanceof Promise)throw new Error("To use sync sign(), ensure utils.hmacSha256 is sync");return r}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){return this.incr(),this.v=await this.hmac(this.v),this.v}generateSync(){return this.incr(),this.v=this.hmacSync(this.v),this.v}};function Pi(t){return Ne<t&&t<je.n}function mf(t){return 0n<t&&t<je.P}function nm(t,e,r){let n=nr(t);if(!Pi(n))return;let{n:i}=je,s=De.BASE.multiply(n),o=re(s.x,i);if(o===Ne)return;let a=re(Xo(n,i)*re(e+r*o,i),i);if(a===Ne)return;let c=new Zr(o,a),u=(s.x===c.r?0:2)|Number(s.y&ut);return{sig:c,recovery:u}}function Zo(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==64)throw new Error("Expected 32 bytes of private key");e=Bs(t)}else if(t instanceof Uint8Array){if(t.length!==32)throw new Error("Expected 32 bytes of private key");e=nr(t)}else throw new TypeError("Expected valid private key");if(!Pi(e))throw new Error("Expected private key: 0 < key < n");return e}function vf(t){return t instanceof De?(t.assertValidity(),t):De.fromHex(t)}function im(t){if(t instanceof Zr)return t.assertValidity(),t;try{return Zr.fromDER(t)}catch(e){return Zr.fromCompact(t)}}function VB(t,e=!1){return De.fromPrivateKey(t).toRawBytes(e)}Ae.getPublicKey=VB;function jB(t,e,r){return De.fromSignature(t,e,r).toRawBytes()}Ae.recoverPublicKey=jB;function sm(t){let e=t instanceof Uint8Array,r=typeof t=="string",n=(e||r)&&t.length;return e?n===33||n===65:r?n===66||n===130:t instanceof De}function $B(t,e,r=!1){if(sm(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!sm(e))throw new TypeError("getSharedSecret: second arg must be public key");let n=vf(e);return n.assertValidity(),n.multiply(Zo(t)).toRawBytes(r)}Ae.getSharedSecret=$B;function om(t){let e=t.length>32?t.slice(0,32):t;return nr(e)}function HB(t){let e=om(t),r=re(e,je.n);return am(r<Ne?e:r)}function am(t){if(typeof t!="bigint")throw new Error("Expected bigint");let e=vn(t);return Yn(e)}function cm(t,e,r){if(t==null)throw new Error(`sign: expected valid msgHash, not "${t}"`);let n=Bi(t),i=Zo(e),s=[am(i),HB(n)];if(r!=null){r===!0&&(r=Ae.utils.randomBytes(32));let c=yf(nr(Bi(r)));if(c.length!==32)throw new Error("secp256k1: Expected 32 bytes of extra data");s.push(c)}let o=pf(...s),a=om(n);return{seed:o,m:a,d:i}}function um(t,e){let{sig:r,recovery:n}=t,{canonical:i,der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e);i&&r.hasHighS()&&(r=r.normalizeS(),n^=1);let a=s?r.toDERRawBytes():r.toCompactRawBytes();return o?[a,n]:a}async function zB(t,e,r={}){let{seed:n,m:i,d:s}=cm(t,e,r.extraEntropy),o,a=new gf;for(await a.reseed(n);!(o=nm(await a.generate(),i,s));)await a.reseed();return um(o,r)}Ae.sign=zB;function GB(t,e,r={}){let{seed:n,m:i,d:s}=cm(t,e,r.extraEntropy),o,a=new gf;for(a.reseedSync(n);!(o=nm(a.generateSync(),i,s));)a.reseedSync();return um(o,r)}Ae.signSync=GB;var WB={strict:!0};function YB(t,e,r,n=WB){let i;try{i=im(t)}catch(x){return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=KB(e);if(a===Ne)return!1;let c;try{c=Pe.fromAffine(vf(r))}catch(x){return!1}let{n:u}=je,l=Xo(o,u),f=re(a*l,u),h=re(s*l,u),p=Pe.BASE.multiply(f),d=c.multiplyUnsafe(h),g=p.add(d).toAffine();return re(g.x,u)===s}Ae.verify=YB;async function bf(t,...e){let r=new Uint8Array(t.split("").map(s=>s.charCodeAt(0))),n=await Ae.utils.sha256(r),i=await Ae.utils.sha256(pf(n,n,...e));return nr(i)}async function lm(t,e,r){let n=yf(t),i=await bf("BIP0340/challenge",n,e.toRawX(),r);return re(i,je.n)}function Ef(t){return re(t.y,pt)===Ne}var Ni=class{constructor(e,r){if(this.r=e,this.s=r,!mf(e)||!Pi(r))throw new Error("Invalid signature")}static fromHex(e){let r=Bi(e);if(r.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${r.length}`);let n=nr(r.slice(0,32)),i=nr(r.slice(32,64));return new Ni(n,i)}toHex(){return vn(this.r)+vn(this.s)}toRawBytes(){return Yn(this.toHex())}};function QB(t){return De.fromPrivateKey(t).toRawX()}async function XB(t,e,r=Ae.utils.randomBytes()){if(t==null)throw new TypeError(`sign: Expected valid message, not "${t}"`);let{n}=je,i=Bi(t),s=Zo(e),o=Bi(r);if(o.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness");let a=De.fromPrivateKey(s),c=Ef(a)?s:n-s,u=await bf("BIP0340/aux",o),l=c^u,f=await bf("BIP0340/nonce",yf(l),a.toRawX(),i),h=re(f,n);if(h===Ne)throw new Error("sign: Creation of signature failed. k is zero");let p=De.fromPrivateKey(h),d=Ef(p)?h:n-h,g=await lm(p.x,a,i),m=new Ni(p.x,re(d+g*c,n));if(!await fm(m.toRawBytes(),i,a.toRawX()))throw new Error("sign: Invalid signature produced");return m.toRawBytes()}async function fm(t,e,r){let n=t instanceof Ni?t:Ni.fromHex(t),i=Bi(e),s=vf(r),o=await lm(n.r,s,i),a=De.fromPrivateKey(n.s),c=s.multiply(o),u=a.subtract(c);return!(u.equals(De.BASE)||!Ef(u)||u.x!==n.r)}Ae.schnorr={Signature:Ni,getPublicKey:QB,sign:XB,verify:fm};De.BASE._setWindowSize(8);var ir={node:LB.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ae.utils={isValidPrivateKey(t){try{return Zo(t),!0}catch(e){return!1}},randomBytes:(t=32)=>{if(ir.web)return ir.web.getRandomValues(new Uint8Array(t));if(ir.node){let{randomBytes:e}=ir.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>{let t=8;for(;t--;){let e=Ae.utils.randomBytes(32),r=nr(e);if(Pi(r)&&r!==ut)return e}throw new Error("Valid private key was not found in 8 iterations. PRNG is broken")},bytesToHex:Ri,sha256:async t=>{if(ir.web){let e=await ir.web.subtle.digest("SHA-256",t.buffer);return new Uint8Array(e)}else if(ir.node){let{createHash:e}=ir.node;return Uint8Array.from(e("sha256").update(t).digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ir.web){let r=await ir.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=pf(...e),i=await ir.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ir.node){let{createHmac:r}=ir.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,precompute(t=8,e=De.BASE){let r=e===De.BASE?e:new De(e.x,e.y);return r._setWindowSize(t),r.multiply(Yo),r}}});var ym=w((fU,pm)=>{"use strict";var Jo=pe(),Qn=hm(),{sha256:dm}=(Ai(),Vn);pm.exports=()=>{let t=32;function e(){return Qn.utils.randomPrivateKey()}async function r(u,l){let{digest:f}=await dm.digest(l);try{return await Qn.sign(f,u)}catch(h){throw Jo(h,"ERR_INVALID_INPUT")}}async function n(u,l,f){try{let{digest:h}=await dm.digest(f);return Qn.verify(l,h,u)}catch(h){throw Jo(h,"ERR_INVALID_INPUT")}}function i(u){return Qn.Point.fromHex(u).toRawBytes(!0)}function s(u){return Qn.Point.fromHex(u).toRawBytes(!1)}function o(u){try{Qn.getPublicKey(u,!0)}catch(l){throw Jo(l,"ERR_INVALID_PRIVATE_KEY")}}function a(u){try{Qn.Point.fromHex(u)}catch(l){throw Jo(l,"ERR_INVALID_PUBLIC_KEY")}}function c(u){try{return Qn.getPublicKey(u,!0)}catch(l){throw Jo(l,"ERR_INVALID_PRIVATE_KEY")}}return{generateKey:e,privateKeyLength:t,hashAndSign:r,hashAndVerify:n,compressPublicKey:i,decompressPublicKey:s,validatePrivateKey:o,validatePublicKey:a,computePublicKey:c}}});var bm=w((hU,vm)=>{"use strict";var{sha256:gm}=(Ai(),Vn),ZB=pe(),{equals:mm}=(yr(),pr),{toString:JB}=(Tt(),Ot),e8=Sc();vm.exports=(t,e,r)=>{r=r||ym()();class n{constructor(u){r.validatePublicKey(u),this._key=u}verify(u,l){return r.hashAndVerify(this._key,l,u)}marshal(){return r.compressPublicKey(this._key)}get bytes(){return t.PublicKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return mm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await gm.digest(this.bytes);return u}}class i{constructor(u,l){this._key=u,this._publicKey=l||r.computePublicKey(u),r.validatePrivateKey(this._key),r.validatePublicKey(this._publicKey)}sign(u){return r.hashAndSign(this._key,u)}get public(){return new n(this._publicKey)}marshal(){return this._key}get bytes(){return t.PrivateKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return mm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await gm.digest(this.bytes);return u}async id(){let u=await this.public.hash();return JB(u,"base58btc")}async export(u,l="libp2p-key"){if(l==="libp2p-key")return e8.export(this.bytes,u);throw ZB(new Error(`export format '${l}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}function s(c){return new i(c)}function o(c){return new n(c)}async function a(){let c=await r.generateKey();return new i(c)}return{Secp256k1PublicKey:n,Secp256k1PrivateKey:i,unmarshalSecp256k1PrivateKey:s,unmarshalSecp256k1PublicKey:o,generateKeyPair:a}}});var wm=w((dU,Em)=>{"use strict";Em.exports={SHA1:20,SHA256:32,SHA512:64}});var wf=w(xm=>{"use strict";var _m=Fo(),t8=wm(),r8={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},n8=async(t,e)=>{let r=await _m.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,r.byteOffset,r.byteLength)};xm.create=async function(t,e){let r=r8[t],n=await _m.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return n8(n,i)},length:t8[t]}}});var Tm=w((yU,Im)=>{"use strict";var Sm=pe(),{concat:Am}=($n(),jn),{fromString:i8}=(It(),Nt),s8=wf(),Cm={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,cipherKeySize:32}};Im.exports=async(t,e,r)=>{let n=Cm[t];if(!n){let R=Object.keys(Cm).join(" / ");throw Sm(new Error(`unknown cipher type '${t}'. Must be ${R}`),"ERR_INVALID_CIPHER_TYPE")}if(!e)throw Sm(new Error("missing hash type"),"ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=i8("key expansion"),c=2*(s+i+o),u=await s8.create(e,r),l=await u.digest(a),f=[],h=0;for(;h<c;){let R=await u.digest(Am([l,a])),L=R.length;h+L>c&&(L=c-h),f.push(R),h+=L,l=await u.digest(l)}let p=c/2,d=Am(f),g=d.slice(0,p),m=d.slice(p,c),x=R=>({iv:R.slice(0,s),cipherKey:R.slice(s,s+i),macKey:R.slice(s+i)});return{k1:x(g),k2:x(m)}}});var Bm=w((gU,Rm)=>{"use strict";var o8=pe();Rm.exports=function(t,e){if(!t.includes(e)){let r=t.join(" / ");throw o8(new Error(`Unknown curve: ${e}. Must be ${r}`),"ERR_INVALID_CURVE")}}});var km=w(Lm=>{"use strict";var a8=pe(),ea=Fo(),{base64urlToBuffer:Pm}=xc(),c8=Bm(),{toString:_f}=(Tt(),Ot),{concat:u8}=($n(),jn),{equals:l8}=(yr(),pr),Nm={"P-256":256,"P-384":384,"P-521":521};Lm.generateEphmeralKeyPair=async function(t){c8(Object.keys(Nm),t);let e=await ea.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(i,s)=>{let o;s?o=await ea.get().subtle.importKey("jwk",h8(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):o=e.privateKey;let a=[await ea.get().subtle.importKey("jwk",Dm(t,i),{name:"ECDH",namedCurve:t},!1,[]),o],c=await ea.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:a[0]},a[1],Nm[t]);return new Uint8Array(c,c.byteOffset,c.byteLength)},n=await ea.get().subtle.exportKey("jwk",e.publicKey);return{key:f8(n),genSharedKey:r}};var Om={"P-256":32,"P-384":48,"P-521":66};function f8(t){let e=Om[t.crv];return u8([Uint8Array.from([4]),Pm(t.x,e),Pm(t.y,e)],1+e*2)}function Dm(t,e){let r=Om[t];if(l8(!e.slice(0,1),Uint8Array.from([4])))throw a8(new Error("Cannot unmarshal public key - invalid key format"),"ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:_f(e.slice(1,r+1),"base64url"),y:_f(e.slice(1+r),"base64url"),ext:!0}}var h8=(t,e)=>({...Dm(t,e.public),d:_f(e.private,"base64url")})});var Um=w((vU,qm)=>{"use strict";var d8=km();qm.exports=async t=>d8.generateEphmeralKeyPair(t)});var Lc=w((bU,Fm)=>{"use strict";var Jr=tc();Un();jl();var xf=be(),ta=pe(),{fromString:p8}=(It(),Nt),y8=lg(),vr={rsa:Lg(),ed25519:Qg(),secp256k1:bm()(Jr,_c())},Dc={message:"secp256k1 support requires libp2p-crypto-secp256k1 package",code:"ERR_MISSING_PACKAGE"};function Ps(t){let e=vr[t.toLowerCase()];if(!e){let r=Object.keys(vr).join(" / ");throw ta(new Error(`invalid or unsupported key type ${t}. Must be ${r}`),"ERR_UNSUPPORTED_KEY_TYPE")}return e}var g8=async(t,e)=>Ps(t).generateKeyPair(e),m8=async(t,e,r)=>{let n=Ps(t);if(t.toLowerCase()!=="ed25519")throw ta(new Error("Seed key derivation is unimplemented for RSA or secp256k1"),"ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return n.generateKeyPairFromSeed(e,r)},v8=t=>{let e=Jr.PublicKey.decode(t),r=e.Data;switch(e.Type){case Jr.KeyType.RSA:return vr.rsa.unmarshalRsaPublicKey(r);case Jr.KeyType.Ed25519:return vr.ed25519.unmarshalEd25519PublicKey(r);case Jr.KeyType.Secp256k1:if(vr.secp256k1)return vr.secp256k1.unmarshalSecp256k1PublicKey(r);throw ta(new Error(Dc.message),Dc.code);default:Ps(e.Type)}},b8=(t,e)=>(e=(e||"rsa").toLowerCase(),Ps(e),t.bytes),Mm=async t=>{let e=Jr.PrivateKey.decode(t),r=e.Data;switch(e.Type){case Jr.KeyType.RSA:return vr.rsa.unmarshalRsaPrivateKey(r);case Jr.KeyType.Ed25519:return vr.ed25519.unmarshalEd25519PrivateKey(r);case Jr.KeyType.Secp256k1:if(vr.secp256k1)return vr.secp256k1.unmarshalSecp256k1PrivateKey(r);throw ta(new Error(Dc.message),Dc.code);default:Ps(e.Type)}},E8=(t,e)=>(e=(e||"rsa").toLowerCase(),Ps(e),t.bytes),w8=async(t,e)=>{try{let i=await y8.import(t,e);return Mm(i)}catch(i){}let r=xf.pki.decryptRsaPrivateKey(t,e);if(r===null)throw ta(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=xf.asn1.toDer(xf.pki.privateKeyToAsn1(r));return n=p8(n.getBytes(),"ascii"),vr.rsa.unmarshalRsaPrivateKey(n)};Fm.exports={supportedKeys:vr,keysPBM:Jr,keyStretcher:Tm(),generateEphemeralKeyPair:Um(),generateKeyPair:g8,generateKeyPairFromSeed:m8,unmarshalPublicKey:v8,marshalPublicKey:b8,unmarshalPrivateKey:Mm,marshalPrivateKey:E8,import:w8}});var Km=w((EU,Sf)=>{"use strict";function _8(t,{className:e,symbolName:r}){let n=Symbol.for(r),i={[e]:class extends t{constructor(...s){super(...s);Object.defineProperty(this,n,{value:!0})}get[Symbol.toStringTag](){return e}}}[e];return i[`is${e}`]=s=>!!(s&&s[n]),i}function x8(t,{className:e,symbolName:r,withoutNew:n}){let i=Symbol.for(r),s={[e]:function(...o){if(n&&!(this instanceof s))return new s(...o);let a=t.call(this,...o)||this;return a&&!a[i]&&Object.defineProperty(a,i,{value:!0}),a}}[e];return s.prototype=Object.create(t.prototype),s.prototype.constructor=s,Object.defineProperty(s.prototype,Symbol.toStringTag,{get(){return e}}),s[`is${e}`]=o=>!!(o&&o[i]),s}Sf.exports=_8;Sf.exports.proto=x8});var $m=w((wU,jm)=>{"use strict";var Ns=Ln(),Vm=Ns.Reader,S8=Ns.Writer,Et=Ns.util,ra=Ns.roots["libp2p-peer-id"]||(Ns.roots["libp2p-peer-id"]={});ra.PeerIdProto=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.id=Et.newBuffer([]),t.prototype.pubKey=Et.newBuffer([]),t.prototype.privKey=Et.newBuffer([]),t.encode=function(r,n){return n||(n=S8.create()),n.uint32(10).bytes(r.id),r.pubKey!=null&&Object.hasOwnProperty.call(r,"pubKey")&&n.uint32(18).bytes(r.pubKey),r.privKey!=null&&Object.hasOwnProperty.call(r,"privKey")&&n.uint32(26).bytes(r.privKey),n},t.decode=function(r,n){r instanceof Vm||(r=Vm.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ra.PeerIdProto;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.id=r.bytes();break;case 2:s.pubKey=r.bytes();break;case 3:s.privKey=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("id"))throw Et.ProtocolError("missing required 'id'",{instance:s});return s},t.fromObject=function(r){if(r instanceof ra.PeerIdProto)return r;var n=new ra.PeerIdProto;return r.id!=null&&(typeof r.id=="string"?Et.base64.decode(r.id,n.id=Et.newBuffer(Et.base64.length(r.id)),0):r.id.length&&(n.id=r.id)),r.pubKey!=null&&(typeof r.pubKey=="string"?Et.base64.decode(r.pubKey,n.pubKey=Et.newBuffer(Et.base64.length(r.pubKey)),0):r.pubKey.length&&(n.pubKey=r.pubKey)),r.privKey!=null&&(typeof r.privKey=="string"?Et.base64.decode(r.privKey,n.privKey=Et.newBuffer(Et.base64.length(r.privKey)),0):r.privKey.length&&(n.privKey=r.privKey)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.id="":(i.id=[],n.bytes!==Array&&(i.id=Et.newBuffer(i.id))),n.bytes===String?i.pubKey="":(i.pubKey=[],n.bytes!==Array&&(i.pubKey=Et.newBuffer(i.pubKey))),n.bytes===String?i.privKey="":(i.privKey=[],n.bytes!==Array&&(i.privKey=Et.newBuffer(i.privKey)))),r.id!=null&&r.hasOwnProperty("id")&&(i.id=n.bytes===String?Et.base64.encode(r.id,0,r.id.length):n.bytes===Array?Array.prototype.slice.call(r.id):r.id),r.pubKey!=null&&r.hasOwnProperty("pubKey")&&(i.pubKey=n.bytes===String?Et.base64.encode(r.pubKey,0,r.pubKey.length):n.bytes===Array?Array.prototype.slice.call(r.pubKey):r.pubKey),r.privKey!=null&&r.hasOwnProperty("privKey")&&(i.privKey=n.bytes===String?Et.base64.encode(r.privKey,0,r.privKey.length):n.bytes===Array?Array.prototype.slice.call(r.privKey):r.privKey),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Ns.util.toJSONOptions)},t}();jm.exports=ra});var Rt=w((kt,Zm)=>{"use strict";var{CID:Af}=(gs(),Ro),A8=(gi(),yi),C8=(ol(),Wa),I8=(Pn(),Bn),T8=(Bo(),ms),{base58btc:Cf}=(Pn(),Bn),{base32:R8}=(gi(),yi),{base16:Hm}=(al(),Ya),na=(pi(),Io),en=Lc(),B8=Km(),{PeerIdProto:zm}=$m(),{equals:Oi}=(yr(),pr),{fromString:ia}=(It(),Nt),{toString:P8}=(Tt(),Ot),{identity:kc}=(bc(),Mo),Gm={...A8,...C8,...I8,...T8},N8=Object.keys(Gm).reduce((t,e)=>t.or(Gm[e]),R8.decoder),O8=112,Wm=114,Ym=class{constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("invalid id provided");if(r&&n&&!Oi(r.public.bytes,n.bytes))throw new Error("inconsistent arguments");this._id=e,this._idB58String=Cf.encode(this.id).substring(1),this._privKey=r,this._pubKey=n}get id(){return this._id}set id(e){throw new Error("Id is immutable")}get privKey(){return this._privKey}set privKey(e){this._privKey=e}get pubKey(){if(this._pubKey)return this._pubKey;if(this._privKey)return this._privKey.public;try{let e=na.decode(this.id);e.code===kc.code&&(this._pubKey=en.unmarshalPublicKey(e.digest))}catch(e){}return this._pubKey}set pubKey(e){this._pubKey=e}marshalPubKey(){if(this.pubKey)return en.marshalPublicKey(this.pubKey)}marshalPrivKey(){if(this.privKey)return en.marshalPrivateKey(this.privKey)}marshal(e){return zm.encode({id:this.toBytes(),pubKey:this.marshalPubKey(),privKey:e?null:this.marshalPrivKey()}).finish()}toPrint(){let e=this.toB58String();e.startsWith("Qm")&&(e=e.slice(2));let r=6;return e.length<r&&(r=e.length),"<peer.ID "+e.substr(0,r)+">"}toJSON(){return{id:this.toB58String(),privKey:Xm(this.marshalPrivKey()),pubKey:Xm(this.marshalPubKey())}}toHexString(){return Hm.encode(this.id).substring(1)}toBytes(){return this.id}toB58String(){return this._idB58String}toString(){if(!this._idCIDString){let e=Af.createV1(Wm,na.decode(this.id));Object.defineProperty(this,"_idCIDString",{value:e.toString(),enumerable:!1})}return this._idCIDString}equals(e){if(e instanceof Uint8Array)return Oi(this.id,e);if(e.id)return Oi(this.id,e.id);throw new Error("not valid Id")}isEqual(e){return this.equals(e)}isValid(){return Boolean(this.privKey&&this.privKey.public&&this.privKey.public.bytes&&this.pubKey.bytes instanceof Uint8Array&&Oi(this.privKey.public.bytes,this.pubKey.bytes))}hasInlinePublicKey(){try{if(na.decode(this.id).code===kc.code)return!0}catch(e){}return!1}},tn=B8(Ym,{className:"PeerId",symbolName:"@libp2p/js-peer-id/PeerId"});kt=Zm.exports=tn;var sa=t=>t.bytes.length<=42?na.create(kc.code,t.bytes).bytes:t.hash(),If=async(t,e)=>{let r=await sa(e);return new tn(r,t,e)};kt.create=async t=>{t=t||{},t.bits=t.bits||2048,t.keyType=t.keyType||"RSA";let e=await en.generateKeyPair(t.keyType,t.bits);return If(e,e.public)};kt.createFromHexString=t=>new tn(Hm.decode("f"+t));kt.createFromBytes=t=>{try{let e=Af.decode(t);if(!Qm(e))throw new Error("Supplied PeerID CID is invalid");return kt.createFromCID(e)}catch{if(na.decode(t).code!==kc.code)throw new Error("Supplied PeerID CID is invalid");return new tn(t)}};kt.createFromB58String=t=>kt.createFromBytes(Cf.decode("z"+t));var Qm=t=>t.code===Wm||t.code===O8;kt.createFromCID=t=>{if(t=Af.asCID(t),!t||!Qm(t))throw new Error("Supplied PeerID CID is invalid");return new tn(t.multihash.bytes)};kt.createFromPubKey=async t=>{let e=t;if(typeof e=="string"&&(e=ia(t,"base64pad")),!(e instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let r=await en.unmarshalPublicKey(e);return If(void 0,r)};kt.createFromPrivKey=async t=>{if(typeof t=="string"&&(t=ia(t,"base64pad")),!(t instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let e=await en.unmarshalPrivateKey(t);return If(e,e.public)};kt.createFromJSON=async t=>{let e=Cf.decode("z"+t.id),r=t.privKey&&ia(t.privKey,"base64pad"),n=t.pubKey&&ia(t.pubKey,"base64pad"),i=n&&await en.unmarshalPublicKey(n);if(!r)return new tn(e,void 0,i);let s=await en.unmarshalPrivateKey(r),o=await sa(s.public),a;if(i&&(a=await sa(i)),i&&!Oi(o,a))throw new Error("Public and private key do not match");if(e&&!Oi(o,e))throw new Error("Id and private key do not match");return new tn(e,s,i)};kt.createFromProtobuf=async t=>{typeof t=="string"&&(t=ia(t,"base16"));let{id:e,privKey:r,pubKey:n}=zm.decode(t);r=r?await en.unmarshalPrivateKey(r):!1,n=n?await en.unmarshalPublicKey(n):!1;let i,s;if(r&&(s=await sa(r.public)),n&&(i=await sa(n)),r){if(n&&!Oi(s,i))throw new Error("Public and private key do not match");return new tn(s,r,r.public)}if(n)return new tn(i,void 0,n);if(e)return new tn(e);throw new Error("Protobuf did not contain any usable key material")};kt.parse=t=>((t.charAt(0)==="1"||t.charAt(0)==="Q")&&(t=`z${t}`),kt.createFromBytes(N8.decode(t)));kt.isPeerId=t=>Boolean(typeof t=="object"&&t._id&&t._idB58String);function Xm(t){if(t)return P8(t,"base64pad")}});var Rf=w((_U,ev)=>{"use strict";var Jm="[a-fA-F\\d:]",Xn=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Jm})|(?<=${Jm})(?=\\s|$))`:"",Dr="(?: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}",mt="[a-fA-F\\d]{1,4}",qc=`
30
+ (?:
31
+ (?:${mt}:){7}(?:${mt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
32
+ (?:${mt}:){6}(?:${Dr}|:${mt}|:)| // 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
33
+ (?:${mt}:){5}(?::${Dr}|(?::${mt}){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
34
+ (?:${mt}:){4}(?:(?::${mt}){0,1}:${Dr}|(?::${mt}){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
35
+ (?:${mt}:){3}(?:(?::${mt}){0,2}:${Dr}|(?::${mt}){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
36
+ (?:${mt}:){2}(?:(?::${mt}){0,3}:${Dr}|(?::${mt}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
37
+ (?:${mt}:){1}(?:(?::${mt}){0,4}:${Dr}|(?::${mt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
38
+ (?::(?:(?::${mt}){0,5}:${Dr}|(?::${mt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
39
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
40
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),D8=new RegExp(`(?:^${Dr}$)|(?:^${qc}$)`),L8=new RegExp(`^${Dr}$`),k8=new RegExp(`^${qc}$`),Tf=t=>t&&t.exact?D8:new RegExp(`(?:${Xn(t)}${Dr}${Xn(t)})|(?:${Xn(t)}${qc}${Xn(t)})`,"g");Tf.v4=t=>t&&t.exact?L8:new RegExp(`${Xn(t)}${Dr}${Xn(t)}`,"g");Tf.v6=t=>t&&t.exact?k8:new RegExp(`${Xn(t)}${qc}${Xn(t)}`,"g");ev.exports=Tf});var Pf=w((xU,tv)=>{"use strict";var Bf=Rf(),Os=t=>Bf({exact:!0}).test(t);Os.v4=t=>Bf.v4({exact:!0}).test(t);Os.v6=t=>Bf.v6({exact:!0}).test(t);Os.version=t=>Os(t)?Os.v4(t)?4:6:void 0;tv.exports=Os});var ov=w((SU,sv)=>{"use strict";var Nf=Pf(),{toString:rv}=(Tt(),Ot),q8=Nf,Of=Nf.v4,nv=Nf.v6,iv=function(t,e,r){r=~~r;let n;if(Of(t))n=e||new Uint8Array(r+4),t.split(/\./g).map(function(i){n[r++]=parseInt(i,10)&255});else if(nv(t)){let i=t.split(":",8),s;for(s=0;s<i.length;s++){let o=Of(i[s]),a;o&&(a=iv(i[s]),i[s]=rv(a.slice(0,2),"base16")),a&&++s<8&&i.splice(s,0,rv(a.slice(2,4),"base16"))}if(i[0]==="")for(;i.length<8;)i.unshift("0");else if(i[i.length-1]==="")for(;i.length<8;)i.push("0");else if(i.length<8){for(s=0;s<i.length&&i[s]!=="";s++);let o=[s,"1"];for(s=9-i.length;s>0;s--)o.push("0");i.splice.apply(i,o)}for(n=e||new Uint8Array(r+16),s=0;s<i.length;s++){let o=parseInt(i[s],16);n[r++]=o>>8&255,n[r++]=o&255}}if(!n)throw Error("Invalid ip address: "+t);return n},U8=function(t,e,r){e=~~e,r=r||t.length-e;let n=[],i,s=new DataView(t.buffer);if(r===4){for(let o=0;o<r;o++)n.push(t[e+o]);i=n.join(".")}else if(r===16){for(let o=0;o<r;o+=2)n.push(s.getUint16(e+o).toString(16));i=n.join(":"),i=i.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3"),i=i.replace(/:{3,4}/,"::")}return i};sv.exports={isIP:q8,isV4:Of,isV6:nv,toBytes:iv,toString:U8}});var oa=w((AU,cv)=>{"use strict";function Jt(t){if(typeof t=="number"){if(Jt.codes[t])return Jt.codes[t];throw new Error("no protocol with code: "+t)}else if(typeof t=="string"){if(Jt.names[t])return Jt.names[t];throw new Error("no protocol with name: "+t)}throw new Error("invalid protocol id type: "+t)}var br=-1;Jt.lengthPrefixedVarSize=br;Jt.V=br;Jt.table=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,br,"ip6zone"],[53,br,"dns","resolvable"],[54,br,"dns4","resolvable"],[55,br,"dns6","resolvable"],[56,br,"dnsaddr","resolvable"],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,br,"unix",!1,"path"],[421,br,"ipfs"],[421,br,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,br,"garlic64"],[460,0,"quic"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,br,"memory"]];Jt.names={};Jt.codes={};Jt.table.map(t=>{let e=av.apply(null,t);return Jt.codes[e.code]=e,Jt.names[e.name]=e,null});Jt.object=av;function av(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:Boolean(n),path:Boolean(i)}}cv.exports=Jt});var fv=w((CU,lv)=>{lv.exports=Df;var uv=128,M8=127,F8=~M8,K8=Math.pow(2,31);function Df(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Df.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=K8;)e[r++]=t&255|uv,t/=128;for(;t&F8;)e[r++]=t&255|uv,t>>>=7;return e[r]=t|0,Df.bytes=r-n+1,e}});var pv=w((IU,dv)=>{dv.exports=Lf;var V8=128,hv=127;function Lf(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o||n>49)throw Lf.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&hv)<<n:(s&hv)*Math.pow(2,n),n+=7}while(s>=V8);return Lf.bytes=i-e,r}});var gv=w((TU,yv)=>{var j8=Math.pow(2,7),$8=Math.pow(2,14),H8=Math.pow(2,21),z8=Math.pow(2,28),G8=Math.pow(2,35),W8=Math.pow(2,42),Y8=Math.pow(2,49),Q8=Math.pow(2,56),X8=Math.pow(2,63);yv.exports=function(t){return t<j8?1:t<$8?2:t<H8?3:t<z8?4:t<G8?5:t<W8?6:t<Y8?7:t<Q8?8:t<X8?9:10}});var Di=w((RU,mv)=>{mv.exports={encode:fv(),decode:pv(),encodingLength:gv()}});var Av=w((BU,Sv)=>{"use strict";var Uc=ov(),vv=oa(),{CID:Z8}=(gs(),Ro),{base32:bv}=(gi(),yi),{base58btc:J8}=(Pn(),Bn),eP=(pi(),Io),Ds=Di(),{toString:Mc}=(Tt(),Ot),{fromString:Ev}=(It(),Nt),{concat:Fc}=($n(),jn);Sv.exports=aa;function aa(t,e){return e instanceof Uint8Array?aa.toString(t,e):aa.toBytes(t,e)}aa.toString=function(e,r){switch(vv(e).code){case 4:case 41:return tP(r);case 6:case 273:case 33:case 132:return _v(r).toString();case 53:case 54:case 55:case 56:case 400:case 777:return nP(r);case 421:return sP(r);case 444:return xv(r);case 445:return xv(r);default:return Mc(r,"base16")}};aa.toBytes=function(e,r){switch(vv(e).code){case 4:return wv(r);case 41:return wv(r);case 6:case 273:case 33:case 132:return kf(parseInt(r,10));case 53:case 54:case 55:case 56:case 400:case 777:return rP(r);case 421:return iP(r);case 444:return oP(r);case 445:return aP(r);default:return Ev(r,"base16")}};function wv(t){if(!Uc.isIP(t))throw new Error("invalid ip address");return Uc.toBytes(t)}function tP(t){let e=Uc.toString(t);if(!e||!Uc.isIP(e))throw new Error("invalid ip address");return e}function kf(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function _v(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function rP(t){let e=Ev(t),r=Uint8Array.from(Ds.encode(e.length));return Fc([r,e],r.length+e.length)}function nP(t){let e=Ds.decode(t);if(t=t.slice(Ds.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return Mc(t)}function iP(t){let e;t[0]==="Q"||t[0]==="1"?e=eP.decode(J8.decode(`z${t}`)).bytes:e=Z8.parse(t).multihash.bytes;let r=Uint8Array.from(Ds.encode(e.length));return Fc([r,e],r.length+e.length)}function sP(t){let e=Ds.decode(t),r=t.slice(Ds.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return Mc(r,"base58btc")}function oP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==16)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion address.");let r=bv.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=kf(n);return Fc([r,i],r.length+i.length)}function aP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==56)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion3 address.");let r=bv.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=kf(n);return Fc([r,i],r.length+i.length)}function xv(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Mc(e,"base32"),i=_v(r);return n+":"+i}});var qv=w((PU,kv)=>{"use strict";var Cv=Av(),qf=oa(),ca=Di(),{concat:Iv}=($n(),jn),{toString:cP}=(Tt(),Ot);kv.exports={stringToStringTuples:Tv,stringTuplesToString:Rv,tuplesToStringTuples:Pv,stringTuplesToTuples:Bv,bytesToTuples:Uf,tuplesToBytes:Nv,bytesToString:uP,stringToBytes:Dv,fromString:lP,fromBytes:Lv,validateBytes:Mf,isValidBytes:fP,cleanPath:Kc,ParseError:Ff,protoFromTuple:ua,sizeForAddr:Ov};function Tv(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=qf(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Ff("invalid address: "+t);if(s.path){e.push([i,Kc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function Rv(t){let e=[];return t.map(r=>{let n=ua(r);return e.push(n.name),r.length>1&&e.push(r[1]),null}),Kc(e.join("/"))}function Bv(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ua(e);return e.length>1?[r.code,Cv.toBytes(r.code,e[1])]:[r.code]})}function Pv(t){return t.map(e=>{let r=ua(e);return e[1]?[r.code,Cv.toString(r.code,e[1])]:[r.code]})}function Nv(t){return Lv(Iv(t.map(e=>{let r=ua(e),n=Uint8Array.from(ca.encode(r.code));return e.length>1&&(n=Iv([n,e[1]])),n})))}function Ov(t,e){return t.size>0?t.size/8:t.size===0?0:ca.decode(e)+ca.decode.bytes}function Uf(t){let e=[],r=0;for(;r<t.length;){let n=ca.decode(t,r),i=ca.decode.bytes,s=qf(n),o=Ov(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw Ff("Invalid address Uint8Array: "+cP(t,"base16"));e.push([n,a])}return e}function uP(t){let e=Uf(t),r=Pv(e);return Rv(r)}function Dv(t){t=Kc(t);let e=Tv(t),r=Bv(e);return Nv(r)}function lP(t){return Dv(t)}function Lv(t){let e=Mf(t);if(e)throw e;return Uint8Array.from(t)}function Mf(t){try{Uf(t)}catch(e){return e}}function fP(t){return Mf(t)===void 0}function Kc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Ff(t){return new Error("Error parsing address: "+t)}function ua(t){return qf(t[0])}});var qt=w((NU,Fv)=>{"use strict";var Lr=qv(),Ls=oa(),Uv=Di(),{CID:hP}=(gs(),Ro),{base58btc:dP}=(Pn(),Bn),pP=pe(),yP=Symbol.for("nodejs.util.inspect.custom"),{toString:Vc}=(Tt(),Ot),{equals:gP}=(yr(),pr),Kf=new Map,Mv=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ht=class{constructor(e){if(e==null&&(e=""),Object.defineProperty(this,Mv,{value:!0}),e instanceof Uint8Array)this.bytes=Lr.fromBytes(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Lr.fromString(e)}else if(Ht.isMultiaddr(e))this.bytes=Lr.fromBytes(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Lr.bytesToString(this.bytes)}toJSON(){return this.toString()}toOptions(){let e={},r=this.toString().split("/");return e.family=r[1]==="ip4"?4:6,e.host=r[2],e.transport=r[3],e.port=parseInt(r[4]),e}protos(){return this.protoCodes().map(e=>Object.assign({},Ls(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Uv.decode(r,n),s=Uv.decode.bytes,o=Ls(i);n+=Lr.sizeForAddr(o,r.slice(n+s))+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Lr.bytesToTuples(this.bytes)}stringTuples(){let e=Lr.bytesToTuples(this.bytes);return Lr.tuplesToStringTuples(e)}encapsulate(e){return e=new Ht(e),new Ht(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error("Address "+this+" does not contain subaddress: "+e);return new Ht(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new Ht(Lr.tuplesToBytes(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Ls.names.ipfs.code).pop();if(r&&r[1]){let n=r[1];return n[0]==="Q"||n[0]==="1"?Vc(dP.decode(`z${n}`),"base58btc"):Vc(hP.parse(n).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>!!Ls(r[0]).path)[0][1],e||(e=null)}catch(r){e=null}return e}equals(e){return gP(this.bytes,e.bytes)}async resolve(){let e=this.protos().find(i=>i.resolvable);if(!e)return[this];let r=Kf.get(e.name);if(!r)throw pP(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this)).map(i=>new Ht(i))}nodeAddress(){let e=this.protoCodes(),r=this.protoNames(),n=this.toString().split("/").slice(1);if(n.length<4)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6}/{address}/{tcp, udp}/{port}".');if(e[0]!==4&&e[0]!==41&&e[0]!==54&&e[0]!==55)throw new Error(`no protocol with name: "'${r[0]}'". Must have a valid family name: "{ip4, ip6, dns4, dns6}".`);if(n[2]!=="tcp"&&n[2]!=="udp")throw new Error(`no protocol with name: "'${r[1]}'". Must have a valid transport protocol: "{tcp, udp}".`);return{family:e[0]===41||e[0]===55?6:4,address:n[1],port:parseInt(n[3])}}isThinWaistAddress(e){let r=(e||this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}static fromNodeAddress(e,r){if(!e)throw new Error("requires node address object");if(!r)throw new Error("requires transport protocol");let n;switch(e.family){case 4:n="ip4";break;case 6:n="ip6";break;default:throw Error(`Invalid addr family. Got '${e.family}' instead of 4 or 6`)}return new Ht("/"+[n,e.address,r,e.port].join("/"))}static isName(e){return Ht.isMultiaddr(e)?e.protos().some(r=>r.resolvable):!1}static isMultiaddr(e){return e instanceof Ht||Boolean(e&&e[Mv])}[yP](){return"<Multiaddr "+Vc(this.bytes,"base16")+" - "+Lr.bytesToString(this.bytes)+">"}inspect(){return"<Multiaddr "+Vc(this.bytes,"base16")+" - "+Lr.bytesToString(this.bytes)+">"}};Ht.protocols=Ls;Ht.resolvers=Kf;function mP(t){return new Ht(t)}Fv.exports={Multiaddr:Ht,multiaddr:mP,protocols:Ls,resolvers:Kf}});var Vf=w((OU,Kv)=>{"use strict";var vP=async t=>{let e=[];for await(let r of t)e.push(r);return e};Kv.exports=vP});var Vv,jf,jv=xe(()=>{Vv=So(Vf()),jf=(t,e)=>async function*(){yield*(await(0,Vv.default)(t)).sort(e)}()});var la=w((LU,$v)=>{"use strict";var bP=async t=>{for await(let e of t);};$v.exports=bP});var jc=w((kU,Hv)=>{"use strict";var EP=async function*(t,e){for await(let r of t)await e(r)&&(yield r)};Hv.exports=EP});var $f=w((qU,zv)=>{"use strict";var wP=async function*(t,e){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}};zv.exports=wP});var Hf,Li,zf,Gf,Gv=xe(()=>{jv();Hf=So(la()),Li=So(jc()),zf=So($f()),Gf=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield{key:n,value:i}}async*getMany(e,r={}){for await(let n of e)yield this.get(n,r)}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await(0,Hf.default)(this.putMany(e,n)),e=[],await(0,Hf.default)(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null&&(n=(0,Li.default)(n,i=>i.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Li.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>jf(i,s),n)),e.offset!=null){let i=0;n=(0,Li.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,zf.default)(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null&&(n=(0,Li.default)(n,i=>i.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Li.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>jf(i,s),n)),e.offset!=null){let i=0;n=(0,Li.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,zf.default)(n,e.limit)),n}}});var Wv,Yv=xe(()=>{Wv="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"});var Yf={};gt(Yf,{customAlphabet:()=>_P,customRandom:()=>Xv,nanoid:()=>Wf,random:()=>Qv,urlAlphabet:()=>Wv});var Qv,Xv,_P,Wf,$c=xe(()=>{Yv();Qv=t=>crypto.getRandomValues(new Uint8Array(t)),Xv=(t,e,r)=>{let n=(2<<Math.log(t.length-1)/Math.LN2)-1,i=-~(1.6*n*e/t.length);return()=>{let s="";for(;;){let o=r(i),a=i;for(;a--;)if(s+=t[o[a]&n]||"",s.length===e)return s}}},_P=(t,e)=>Xv(t,e,Qv),Wf=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;){let n=r[t]&63;n<36?e+=n.toString(36):n<62?e+=(n-26).toString(36).toUpperCase():n<63?e+="_":e+="-"}return e}});var Qf={};gt(Qf,{Key:()=>Bt});function xP(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function SP(t){let e=t.split(":");return e[e.length-1]}function AP(t){return[].concat(...t)}var bn,Zv,Hc,Bt,zc=xe(()=>{$c();Tt();It();bn="/",Zv=new TextEncoder().encode(bn),Hc=Zv[0],Bt=class{constructor(e,r){if(typeof e=="string")this._buf=Jl(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Hc)throw new Error("Invalid key")}toString(e="utf8"){return tf(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Bt(e.join(bn))}static random(){return new Bt(Wf().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Bt(e):e.uint8Array?new Bt(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=Zv),this._buf[0]!==Hc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Hc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Hc;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return Bt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(bn).slice(1)}type(){return xP(this.baseNamespace())}name(){return SP(this.baseNamespace())}instance(e){return new Bt(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(bn)||(e+=bn),e+=this.type(),new Bt(e)}parent(){let e=this.list();return e.length===1?new Bt(bn):new Bt(e.slice(0,-1).join(bn))}child(e){return this.toString()===bn?e:e.toString()===bn?this:new Bt(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Bt.withNamespaces([...this.namespaces(),...AP(e.map(r=>r.namespaces()))])}}});function e1(t){return t=t||new Error("Not Found"),(0,Jv.default)(t,"ERR_NOT_FOUND")}var Jv,t1=xe(()=>{Jv=So(pe())});var n1={};gt(n1,{MemoryDatastore:()=>r1});var r1,i1=xe(()=>{Gv();zc();t1();r1=class extends Gf{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,r){this.data[e.toString()]=r}async get(e){if(!await this.has(e))throw e1();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,r])=>({key:new Bt(e),value:r}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new Bt(e))}}});var ze=w(Xf=>{"use strict";Xf.messages={NOT_STARTED_YET:"The libp2p node is not started yet",DHT_DISABLED:"DHT is not available",CONN_ENCRYPTION_REQUIRED:"At least one connection encryption module is required",NOT_FOUND:"Not found"};Xf.codes={DHT_DISABLED:"ERR_DHT_DISABLED",PUBSUB_NOT_STARTED:"ERR_PUBSUB_NOT_STARTED",DHT_NOT_STARTED:"ERR_DHT_NOT_STARTED",CONN_ENCRYPTION_REQUIRED:"ERR_CONN_ENCRYPTION_REQUIRED",ERR_INVALID_PROTOCOLS_FOR_STREAM:"ERR_INVALID_PROTOCOLS_FOR_STREAM",ERR_CONNECTION_ENDED:"ERR_CONNECTION_ENDED",ERR_CONNECTION_FAILED:"ERR_CONNECTION_FAILED",ERR_NODE_NOT_STARTED:"ERR_NODE_NOT_STARTED",ERR_ALREADY_ABORTED:"ERR_ALREADY_ABORTED",ERR_TOO_MANY_ADDRESSES:"ERR_TOO_MANY_ADDRESSES",ERR_NO_VALID_ADDRESSES:"ERR_NO_VALID_ADDRESSES",ERR_RELAYED_DIAL:"ERR_RELAYED_DIAL",ERR_DIALED_SELF:"ERR_DIALED_SELF",ERR_DISCOVERED_SELF:"ERR_DISCOVERED_SELF",ERR_DUPLICATE_TRANSPORT:"ERR_DUPLICATE_TRANSPORT",ERR_ENCRYPTION_FAILED:"ERR_ENCRYPTION_FAILED",ERR_HOP_REQUEST_FAILED:"ERR_HOP_REQUEST_FAILED",ERR_INVALID_KEY:"ERR_INVALID_KEY",ERR_INVALID_MESSAGE:"ERR_INVALID_MESSAGE",ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_INVALID_PEER:"ERR_INVALID_PEER",ERR_MUXER_UNAVAILABLE:"ERR_MUXER_UNAVAILABLE",ERR_NOT_FOUND:"ERR_NOT_FOUND",ERR_TIMEOUT:"ERR_TIMEOUT",ERR_TRANSPORT_UNAVAILABLE:"ERR_TRANSPORT_UNAVAILABLE",ERR_TRANSPORT_DIAL_FAILED:"ERR_TRANSPORT_DIAL_FAILED",ERR_UNSUPPORTED_PROTOCOL:"ERR_UNSUPPORTED_PROTOCOL",ERR_INVALID_MULTIADDR:"ERR_INVALID_MULTIADDR",ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID",ERR_FIND_SELF:"ERR_FIND_SELF",ERR_NO_ROUTERS_AVAILABLE:"ERR_NO_ROUTERS_AVAILABLE",ERR_CONNECTION_NOT_MULTIPLEXED:"ERR_CONNECTION_NOT_MULTIPLEXED",ERR_NO_DIAL_TOKENS:"ERR_NO_DIAL_TOKENS",ERR_KEYCHAIN_REQUIRED:"ERR_KEYCHAIN_REQUIRED",ERR_INVALID_CMS:"ERR_INVALID_CMS",ERR_MISSING_KEYS:"ERR_MISSING_KEYS",ERR_NO_KEY:"ERR_NO_KEY",ERR_INVALID_KEY_NAME:"ERR_INVALID_KEY_NAME",ERR_INVALID_KEY_TYPE:"ERR_INVALID_KEY_TYPE",ERR_KEY_ALREADY_EXISTS:"ERR_KEY_ALREADY_EXISTS",ERR_INVALID_KEY_SIZE:"ERR_INVALID_KEY_SIZE",ERR_KEY_NOT_FOUND:"ERR_KEY_NOT_FOUND",ERR_OLD_KEY_NAME_INVALID:"ERR_OLD_KEY_NAME_INVALID",ERR_NEW_KEY_NAME_INVALID:"ERR_NEW_KEY_NAME_INVALID",ERR_PASSWORD_REQUIRED:"ERR_PASSWORD_REQUIRED",ERR_PEM_REQUIRED:"ERR_PEM_REQUIRED",ERR_CANNOT_READ_KEY:"ERR_CANNOT_READ_KEY",ERR_MISSING_PRIVATE_KEY:"ERR_MISSING_PRIVATE_KEY",ERR_INVALID_OLD_PASS_TYPE:"ERR_INVALID_OLD_PASS_TYPE",ERR_INVALID_NEW_PASS_TYPE:"ERR_INVALID_NEW_PASS_TYPE",ERR_INVALID_PASS_LENGTH:"ERR_INVALID_PASS_LENGTH",ERR_NOT_IMPLEMENTED:"ERR_NOT_IMPLEMENTED",ERR_WRONG_PING_ACK:"ERR_WRONG_PING_ACK"}});var o1=w((QU,s1)=>{"use strict";var CP=async function*(t,e){for await(let r of t)yield e(r)};s1.exports=CP});var Zf=w((XU,a1)=>{"use strict";var IP=pe(),TP=jc(),RP=o1(),BP=$f();async function*PP(t,e){yield*RP(t,async r=>(await e.addressBook.add(r.id,r.multiaddrs),r))}function NP(t){let e=new Set;return TP(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*OP(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw IP(new Error("not found"),"NOT_FOUND")}function DP(t,e){return e?BP(t,e):t}a1.exports={storeAddresses:PP,uniquePeers:NP,requirePeers:OP,maybeLimitSource:DP}});var u1=w((ZU,c1)=>{"use strict";c1.exports=function(){return Date.now()}});var fa=w((JU,f1)=>{"use strict";var Gc=u1(),l1=class{constructor(e,r,n){let i=this;this._started=Gc(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Gc()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(e){e||(e=this._scheduled);let r=Gc();r+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=r,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=Gc(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function LP(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let t;if(arguments.length>0){t=new Array(arguments.length-2);for(var e=0;e<t.length;e++)t[e]=arguments[e+2]}return new l1(arguments[0],arguments[1],t)}f1.exports=LP});var Jf=w((eM,d1)=>{"use strict";var{AbortController:kP}=globalThis,h1=fa(),Wc=class extends kP{constructor(e){super();this._ms=e,this._timer=h1(()=>this.abort(),e),Object.setPrototypeOf(this,Wc.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=h1(()=>this.abort(),this._ms)}};d1.exports={TimeoutController:Wc}});var y1=w((rM,p1)=>{p1.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}}});var eh=w((iM,m1)=>{var g1=y1();m1.exports=class{constructor(e){this.hwm=e||16,this.head=new g1(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let r=this.head;this.head=r.next=new g1(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return e}isEmpty(){return this.head.isEmpty()}}});var rh=w((sM,v1)=>{var th=eh();v1.exports=t=>{t=t||{};let e;typeof t=="function"?(e=t,t={}):e=t.onEnd;let r=new th,n,i,s,o=()=>{if(!r.isEmpty()){if(t.writev){let g,m=[];for(;!r.isEmpty();){if(g=r.shift(),g.error)throw g.error;m.push(g.value)}return{done:g.done,value:m}}let d=r.shift();if(d.error)throw d.error;return d}return s?{done:!0}:new Promise((d,g)=>{i=m=>(i=null,m.error?g(m.error):t.writev&&!m.done?d({done:m.done,value:[m.value]}):d(m),n)})},a=d=>i?i(d):(r.push(d),n),c=d=>(r=new th,i?i({error:d}):(r.push({error:d}),n)),u=d=>s?n:a({done:!1,value:d}),l=d=>s?n:(s=!0,d?c(d):a({done:!0})),f=()=>(r=new th,l(),{done:!0}),h=d=>(l(d),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:o,return:f,throw:h,push:u,end:l},!e)return n;let p=n;return n={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(d){return p.throw(d),e&&(e(d),e=null),{done:!0}},return(){return p.return(),e&&(e(),e=null),{done:!0}},push:u,end(d){return p.end(d),e&&(e(d),e=null),n}},n}});var nh=w((oM,b1)=>{"use strict";var qP=rh(),UP=async function*(...t){let e=qP();setTimeout(async()=>{try{await Promise.all(t.map(async r=>{for await(let n of r)e.push(n)})),e.end()}catch(r){e.end(r)}},0),yield*e};b1.exports=UP});var rn=w((aM,ks)=>{var E1=(...t)=>{let e;for(;t.length;)e=t.shift()(e);return e},ih=t=>t&&(typeof t[Symbol.asyncIterator]=="function"||typeof t[Symbol.iterator]=="function"||typeof t.next=="function"),Yc=t=>t&&typeof t.sink=="function"&&ih(t.source),MP=t=>e=>(t.sink(e),t.source),w1=(...t)=>{if(Yc(t[0])){let e=t[0];t[0]=()=>e.source}else if(ih(t[0])){let e=t[0];t[0]=()=>e}if(t.length>1&&Yc(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let e=1;e<t.length-1;e++)Yc(t[e])&&(t[e]=MP(t[e]));return E1(...t)};ks.exports=w1;ks.exports.pipe=w1;ks.exports.rawPipe=E1;ks.exports.isIterable=ih;ks.exports.isDuplex=Yc});var sh=w((cM,_1)=>{"use strict";var FP=async t=>{for await(let e of t)return e};_1.exports=FP});var oh=w((uM,x1)=>{"use strict";var qs=new Map,KP=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function VP(t,e,r){for(;qs.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!qs.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);qs.set(r,i)})}}function jP(t,e,r){r=r||e;let n=KP(),i=setTimeout(()=>{VP(t,e,n)},r);return qs.set(n,i),n}function $P(t){let e=qs.get(t);e&&(clearTimeout(e),qs.delete(t))}x1.exports={setDelayedInterval:jP,clearDelayedInterval:$P}});var C1=w((lM,A1)=>{"use strict";var HP=pe(),{messages:zP,codes:GP}=ze(),S1=class{constructor(e){this._dht=e}async findPeer(e,r={}){for await(let n of this._dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw HP(new Error(zP.NOT_FOUND),GP.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){for await(let n of this._dht.getClosestPeers(e,r))n.name==="PEER_RESPONSE"&&(yield*n.closer)}};A1.exports={DHTPeerRouting:S1}});var L1=w((fM,D1)=>{"use strict";var I1=Be(),T1=Object.assign(I1("libp2p:peer-routing"),{error:I1("libp2p:peer-routing:err")}),Qc=pe(),ha=ze(),{storeAddresses:R1,uniquePeers:WP,requirePeers:YP}=Zf(),{TimeoutController:QP}=Jf(),B1=nh(),{pipe:P1}=rn(),XP=sh(),ZP=la(),JP=jc(),{setDelayedInterval:e3,clearDelayedInterval:t3}=oh(),{DHTPeerRouting:r3}=C1(),{setMaxListeners:N1}=Qt(),O1=class{constructor(e){this._peerId=e.peerId,this._peerStore=e.peerStore,this._routers=e._modules.peerRouting||[],e._dht&&e._config.dht.enabled&&this._routers.push(new r3(e._dht)),this._refreshManagerOptions=e._options.peerRouting.refreshManager,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}start(){!this._routers.length||this._timeoutId||!this._refreshManagerOptions.enabled||(this._timeoutId=e3(this._findClosestPeersTask,this._refreshManagerOptions.interval,this._refreshManagerOptions.bootDelay))}async _findClosestPeersTask(){try{await ZP(this.getClosestPeers(this._peerId.id,{timeout:this._refreshManagerOptions.timeout||1e4}))}catch(e){T1.error(e)}}stop(){t3(this._timeoutId)}async findPeer(e,r){if(!this._routers.length)throw Qc(new Error("No peer routers available"),ha.codes.ERR_NO_ROUTERS_AVAILABLE);if(e.toB58String()===this._peerId.toB58String())throw Qc(new Error("Should not try to find self"),ha.codes.ERR_FIND_SELF);let n=await P1(B1(...this._routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){T1.error(s)}}())),i=>JP(i,Boolean),i=>R1(i,this._peerStore),i=>XP(i));if(n)return n;throw Qc(new Error(ha.messages.NOT_FOUND),ha.codes.ERR_NOT_FOUND)}async*getClosestPeers(e,r={timeout:3e4}){if(!this._routers.length)throw Qc(new Error("No peer routers available"),ha.codes.ERR_NO_ROUTERS_AVAILABLE);if(r.timeout){let n=new QP(r.timeout);try{N1&&N1(1/0,n.signal)}catch{}r.signal=n.signal}yield*P1(B1(...this._routers.map(n=>n.getClosestPeers(e,r))),n=>R1(n,this._peerStore),n=>WP(n),n=>YP(n))}};D1.exports=O1});var U1=w((hM,q1)=>{"use strict";var n3=la(),k1=class{constructor(e){this._dht=e}async provide(e){await n3(this._dht.provide(e))}async*findProviders(e,r){for await(let n of this._dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}};q1.exports={DHTContentRouting:k1}});var K1=w((dM,F1)=>{"use strict";var ki=pe(),{messages:da,codes:qi}=ze(),{storeAddresses:i3,uniquePeers:s3,requirePeers:o3,maybeLimitSource:a3}=Zf(),c3=la(),u3=nh(),{pipe:l3}=rn(),{DHTContentRouting:f3}=U1(),M1=class{constructor(e){this.libp2p=e,this.routers=e._modules.contentRouting||[],this.dht=e._dht,this.dht&&e._config.dht.enabled&&this.routers.push(new f3(this.dht))}async*findProviders(e,r={}){if(!this.routers.length)throw ki(new Error("No content this.routers available"),qi.ERR_NO_ROUTERS_AVAILABLE);yield*l3(u3(...this.routers.map(n=>n.findProviders(e,r))),n=>i3(n,this.libp2p.peerStore),n=>s3(n),n=>a3(n,r.maxNumProviders),n=>o3(n))}async provide(e){if(!this.routers.length)throw ki(new Error("No content routers available"),qi.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(r=>r.provide(e)))}async put(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw ki(new Error(da.NOT_STARTED_YET),qi.DHT_NOT_STARTED);await c3(this.dht.put(e,r,n))}async get(e,r){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw ki(new Error(da.NOT_STARTED_YET),qi.DHT_NOT_STARTED);for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return{from:n.peerId,val:n.value};throw ki(new Error(da.NOT_FOUND),qi.ERR_NOT_FOUND)}async*getMany(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw ki(new Error(da.NOT_STARTED_YET),qi.DHT_NOT_STARTED);if(!r)return;let i=0;for await(let s of this.dht.get(e,n))if(s.name==="VALUE"&&(yield{from:s.peerId,val:s.value},i++,i===r))break;if(i===0)throw ki(new Error(da.NOT_FOUND),qi.ERR_NOT_FOUND)}};F1.exports=M1});var ah=w((pM,H1)=>{"use strict";var h3=Rt(),{Multiaddr:V1}=qt(),j1=pe(),{codes:$1}=ze();function d3(t){typeof t=="string"&&(t=new V1(t));let e;if(V1.isMultiaddr(t)){e=t;let r=t.getPeerId();if(!r)throw j1(new Error(`${t} does not have a valid peer type`),$1.ERR_INVALID_MULTIADDR);try{t=h3.createFromB58String(r)}catch(n){throw j1(new Error(`${t} is not a valid peer type`),$1.ERR_INVALID_MULTIADDR)}}return{id:t,multiaddrs:e?[e]:void 0}}H1.exports=d3});var G1=w((yM,z1)=>{"use strict";z1.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Fs=w((X1,Z1)=>{"use strict";var Xc=G1(),{hasOwnProperty:W1}=Object.prototype,{propertyIsEnumerable:p3}=Object,Us=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),y3=X1,Y1={concatArrays:!1,ignoreUndefined:!1},Zc=t=>{let e=[];for(let r in t)W1.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)p3.call(t,n)&&e.push(n)}return e};function Ms(t){return Array.isArray(t)?g3(t):Xc(t)?m3(t):t}function g3(t){let e=t.slice(0,0);return Zc(t).forEach(r=>{Us(e,r,Ms(t[r]))}),e}function m3(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Zc(t).forEach(r=>{Us(e,r,Ms(t[r]))}),e}var Q1=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]=="undefined"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?Us(t,i,ch(t[i],e[i],n)):Us(t,i,Ms(e[i])))}),t),v3=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)!W1.call(s,a)||(o.push(String(a)),s===t?Us(n,i++,s[a]):Us(n,i++,Ms(s[a])));n=Q1(n,s,Zc(s).filter(a=>!o.includes(a)),r)}),n};function ch(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?v3(t,e,r):!Xc(e)||!Xc(t)?Ms(e):Q1(t,e,Zc(e),r)}Z1.exports=function(...t){let e=ch(Ms(Y1),this!==y3&&this||{},Y1),r={_:{}};for(let n of t)if(n!==void 0){if(!Xc(n))throw new TypeError("`"+n+"` is not an Option Object");r=ch(r,{_:n},e)}return r._}});var tb=w((gM,eb)=>{"use strict";eb.exports=J1;var b3=tl(),Zn=J1.prototype,E3=new Date%1e9;function w3(){return(Math.random()*1e9>>>0)+E3++}function J1(t){t=t||{},this.id=t.id||w3(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}Zn.has=function(t){return t in this._lookup};Zn.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};Zn.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zn.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};Zn.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};Zn.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=b3(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};Zn.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zn.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var pa=w((Ks,rb)=>{"use strict";var _3=function(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof En!="undefined")return En;throw new Error("unable to locate global object")},En=_3();rb.exports=Ks=En.fetch;En.fetch&&(Ks.default=En.fetch.bind(En));Ks.Headers=En.Headers;Ks.Request=En.Request;Ks.Response=En.Response});var nb=w((mM,uh)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?uh.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:uh.exports={default:pa().default,Headers:pa().Headers,Request:pa().Request,Response:pa().Response}});var sb=w((vM,ib)=>{"use strict";var{default:x3,Headers:S3}=nb();function A3({serverResolver:t,hostname:e,recordType:r}){return`${t}?name=${e}&type=${r}`}function C3(t){return x3(t,{headers:new S3({accept:"application/dns-json"})})}function I3(t,e){return`${e}_${t}`}ib.exports={buildResource:A3,fetch:C3,getCacheKey:I3}});var cb=w((bM,ab)=>{"use strict";var ob=Be(),Jc=ob("dns-over-http-resolver");Jc.error=ob("dns-over-http-resolver:error");var T3=tb(),Er=sb(),eu=class{constructor({maxCache:e=100}={}){this._cache=new T3({max:e}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"]}getServers(){return this._servers}_getShuffledServers(){let e=[].concat(this._servers);for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){Jc.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){Jc.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._cache.get(Er.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Er.fetch(Er.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Er.getCacheKey(e,r),a,{ttl:c}),a}catch(s){Jc.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}};eu.Resolver=eu;ab.exports=eu});var lb=w((EM,ub)=>{"use strict";var R3=cb();ub.exports=R3});var hb=w((wM,fb)=>{"use strict";var B3=oa(),{code:P3}=B3("dnsaddr");async function N3(t){let e=lb(),r=new e,n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===P3)||[],o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n&&(o=o.filter(a=>a.includes(n))),o}fb.exports={dnsaddrResolver:N3}});var tu=w((_M,db)=>{"use strict";db.exports={DIAL_TIMEOUT:3e4,MAX_PARALLEL_DIALS:100,MAX_PER_PEER_DIALS:4,MAX_ADDRS_TO_DIAL:25,METRICS:{computeThrottleMaxQueueSize:1e3,computeThrottleTimeout:2e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3],maxOldPeersRetention:50}}});var lh=w((xM,O3)=>{O3.exports={name:"libp2p",version:"0.35.8-12f1bb0",description:"JavaScript implementation of libp2p, a modular peer to peer network stack",leadMaintainer:"Jacob Heun <jacobheun@gmail.com>",main:"src/index.js",types:"dist/src/index.d.ts",typesVersions:{"*":{"src/*":["dist/src/*","dist/src/*/index"]}},files:["dist","src"],scripts:{lint:"aegir lint",build:"aegir build","build:proto":"npm run build:proto:circuit && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer && npm run build:proto:peer-record && npm run build:proto:envelope","build:proto:circuit":"pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto","build:proto:identify":"pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto","build:proto:plaintext":"pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto","build:proto:peer":"pbjs -t static-module -w commonjs -r libp2p-peer --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/pb/peer.js ./src/peer-store/pb/peer.proto","build:proto:peer-record":"pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto","build:proto:envelope":"pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto","build:proto-types":"npm run build:proto-types:circuit && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer && npm run build:proto-types:peer-record && npm run build:proto-types:envelope","build:proto-types:circuit":"pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js","build:proto-types:identify":"pbts -o src/identify/message.d.ts src/identify/message.js","build:proto-types:plaintext":"pbts -o src/insecure/proto.d.ts src/insecure/proto.js","build:proto-types:peer":"pbts -o src/peer-store/pb/peer.d.ts src/peer-store/pb/peer.js","build:proto-types:peer-record":"pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js","build:proto-types:envelope":"pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js",test:"aegir test","test:ts":"aegir build --no-bundle && npm run test --prefix test/ts-use","test:node":'aegir test -t node -f "./test/**/*.{node,spec}.js"',"test:browser":"aegir test -t browser","test:examples":"cd examples && npm run test:all","test:interop":"LIBP2P_JS=$PWD npx aegir test -t node -f ./node_modules/libp2p-interop/test/*",prepare:"npm run build",coverage:"nyc --reporter=text --reporter=lcov npm run test:node"},repository:{type:"git",url:"https://github.com/libp2p/js-libp2p.git"},keywords:["libp2p","network","p2p","peer","peer-to-peer","IPFS"],bugs:{url:"https://github.com/libp2p/js-libp2p/issues"},homepage:"https://libp2p.io",license:"MIT",engines:{node:">=15.0.0"},browser:{"nat-api":!1},eslintConfig:{extends:"ipfs",ignorePatterns:["!.aegir.js","test/ts-use","*.d.ts"]},dependencies:{"@vascosantos/moving-average":"^1.1.0","abortable-iterator":"^3.0.0","aggregate-error":"^3.1.0","any-signal":"^3.0.0","bignumber.js":"^9.0.1","class-is":"^1.1.0","datastore-core":"^7.0.0",debug:"^4.3.1","err-code":"^3.0.0","es6-promisify":"^7.0.0",events:"^3.3.0",hashlru:"^2.3.0","interface-datastore":"^6.0.2","it-all":"^1.0.4","it-buffer":"^0.1.2","it-drain":"^1.0.3","it-filter":"^1.0.1","it-first":"^1.0.4","it-handshake":"^2.0.0","it-length-prefixed":"^5.0.2","it-map":"^1.0.4","it-merge":"^1.0.0","it-pipe":"^1.1.0","it-take":"^1.0.0","libp2p-crypto":"^0.21.2","libp2p-interfaces":"^4.0.0","libp2p-utils":"^0.4.0",mafmt:"^10.0.0","merge-options":"^3.0.4",mortice:"^2.0.1",multiaddr:"^10.0.0",multiformats:"^9.0.0","multistream-select":"^2.0.0","mutable-proxy":"^1.0.0","nat-api":"^0.3.1","node-forge":"^1.2.1","p-any":"^3.0.0","p-fifo":"^1.0.0","p-retry":"^4.4.0","p-settle":"^4.1.1","peer-id":"^0.16.0","private-ip":"^2.1.0",protobufjs:"^6.10.2",retimer:"^3.0.0","sanitize-filename":"^1.6.3","set-delayed-interval":"^1.0.0","streaming-iterables":"^6.0.0","timeout-abort-controller":"^3.0.0",uint8arrays:"^3.0.0",varint:"^6.0.0",wherearewe:"^1.0.0",xsalsa20:"^1.1.0"},devDependencies:{"@chainsafe/libp2p-noise":"^5.0.0","@nodeutils/defaults-deep":"^1.1.0","@types/es6-promisify":"^6.0.0","@types/node":"^16.0.1","@types/node-forge":"^1.0.0","@types/varint":"^6.0.0",aegir:"^36.0.0",buffer:"^6.0.3",delay:"^5.0.0","into-stream":"^6.0.0","ipfs-http-client":"^54.0.2","it-concat":"^2.0.0","it-pair":"^1.0.0","it-pushable":"^1.4.0",libp2p:".","libp2p-bootstrap":"^0.14.0","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.11.1","libp2p-interfaces-compliance-tests":"^4.0.8","libp2p-interop":"^0.7.1","libp2p-kad-dht":"^0.28.6","libp2p-mdns":"^0.18.0","libp2p-mplex":"^0.10.4","libp2p-tcp":"^0.17.0","libp2p-webrtc-star":"^0.25.0","libp2p-websockets":"^0.16.0",nock:"^13.0.3","p-defer":"^3.0.0","p-times":"^3.0.0","p-wait-for":"^3.2.0",rimraf:"^3.0.2",sinon:"^12.0.1",util:"^0.12.3"},contributors:["Vasco Santos <vasco.santos@moxy.studio>","David Dias <daviddias.p@gmail.com>","Jacob Heun <jacobheun@gmail.com>","Alex Potsides <alex@achingbrain.net>","Alan Shaw <alan@tableflip.io>","Cayman <caymannava@gmail.com>","Pedro Teixeira <i@pgte.me>","Friedel Ziegelmayer <dignifiedquire@gmail.com>","Maciej Kr\xFCger <mkg20001@gmail.com>","Hugo Dias <mail@hugodias.me>","dirkmc <dirkmdev@gmail.com>","Volker Mische <volker.mische@gmail.com>","Chris Dostert <chrisdostert@users.noreply.github.com>","zeim839 <50573884+zeim839@users.noreply.github.com>","Robert Kiel <robert.kiel@hoprnet.org>","Richard Littauer <richard.littauer@gmail.com>","a1300 <matthias-knopp@gmx.net>","Ryan Bell <ryan@piing.net>","\u1D20\u026A\u1D04\u1D1B\u1D0F\u0280 \u0299\u1D0A\u1D07\u029F\u1D0B\u029C\u1D0F\u029F\u1D0D <victorbjelkholm@gmail.com>","Andrew Nesbitt <andrewnez@gmail.com>","Franck Royer <franck@royer.one>","Thomas Eizinger <thomas@eizinger.io>","V\xEDt Habada <vithabada93@gmail.com>","Giovanni T. Parra <fiatjaf@gmail.com>","acolytec3 <17355484+acolytec3@users.noreply.github.com>","Alan Smithee <ggnore.alan.smithee@gmail.com>","Elven <mon.samuel@qq.com>","Samlior <samlior@foxmail.com>","Didrik Nordstr\xF6m <didrik.nordstrom@gmail.com>","Aditya Bose <13054902+adbose@users.noreply.github.com>","TJKoury <TJKoury@gmail.com>","TheStarBoys <41286328+TheStarBoys@users.noreply.github.com>","Tiago Alves <alvesjtiago@gmail.com>","Tim Daubensch\xFCtz <tim@daubenschuetz.de>","XiaoZhang <zxinmyth@gmail.com>","Yusef Napora <yusef@napora.org>","Zane Starr <zcstarr@gmail.com>","ebinks <elizabethjbinks@gmail.com>","greenSnot <greenSnot@users.noreply.github.com>","isan_rivkin <isanrivkin@gmail.com>","mayerwin <mayerwin@users.noreply.github.com>","mcclure <andi.m.mcclure@gmail.com>","patrickwoodhead <91056047+patrickwoodhead@users.noreply.github.com>","phillmac <phillmac@users.noreply.github.com>","robertkiel <robert.kiel@validitylabs.org>","shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>","swedneck <40505480+swedneck@users.noreply.github.com>","tuyennhv <vutuyen2636@gmail.com>","S\xF6nke Hahn <soenkehahn@gmail.com>","Aleksei <vozhdb@gmail.com>","Bernd Strehl <bernd.strehl@gmail.com>","Chris Bratlien <chrisbratlien@gmail.com>","Cindy Wu <ciindy.wu@gmail.com>","Daijiro Wachi <daijiro.wachi@gmail.com>","Diogo Silva <fsdiogo@gmail.com>","Dmitriy Ryajov <dryajov@gmail.com>","Ethan Lam <elmemphis2000@gmail.com>","Fei Liu <liu.feiwood@gmail.com>","Felipe Martins <felipebrasil93@gmail.com>","Florian-Merle <florian.david.merle@gmail.com>","Francis Gulotta <wizard@roborooter.com>","Guy Sviry <32539816+guysv@users.noreply.github.com>","Henrique Dias <hacdias@gmail.com>","Irakli Gozalishvili <rfobic@gmail.com>","Joel Gustafson <joelg@mit.edu>","John Rees <johnrees@users.noreply.github.com>","Jo\xE3o Santos <joaosantos15@users.noreply.github.com>","Julien Bouquillon <contact@revolunet.com>","Kevin Kwok <antimatter15@gmail.com>","Kevin Lacker <lacker@gmail.com>","Lars Gierth <lgierth@users.noreply.github.com>","Leask Wong <i@leaskh.com>","Marcin Tojek <mtojek@users.noreply.github.com>","Marston Connell <34043723+TheMarstonConnell@users.noreply.github.com>","Michael Burns <5170+mburns@users.noreply.github.com>","Miguel Mota <miguelmota2@gmail.com>","Nuno Nogueira <nunofmn@gmail.com>","Philipp Muens <raute1337@gmx.de>","RasmusErik Voel Jensen <github@solsort.com>","Smite Chow <xiaopengyou@live.com>","Soeren <nikorpoulsen@gmail.com>"]}});var fh=w((SM,nn)=>{"use strict";var D3=lh().version;nn.exports.PROTOCOL_VERSION="ipfs/0.1.0";nn.exports.AGENT_VERSION=`js-libp2p/${D3}`;nn.exports.MULTICODEC_IDENTIFY="/ipfs/id/1.0.0";nn.exports.MULTICODEC_IDENTIFY_PUSH="/ipfs/id/push/1.0.0";nn.exports.IDENTIFY_PROTOCOL_VERSION="0.1.0";nn.exports.MULTICODEC_IDENTIFY_PROTOCOL_NAME="id";nn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME="id/push";nn.exports.MULTICODEC_IDENTIFY_PROTOCOL_VERSION="1.0.0";nn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION="1.0.0"});var ru=w((AM,yb)=>{"use strict";var pb=60*1e3;yb.exports={ADVERTISE_BOOT_DELAY:15*pb,ADVERTISE_TTL:30*pb,CIRCUIT_PROTO_CODE:290,HOP_METADATA_KEY:"hop_relay",HOP_METADATA_VALUE:"true",RELAY_RENDEZVOUS_NS:"/libp2p/relay"}});var gb=w(ya=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,p,d;for(u=[],f=h=0;h<=3&&c.length!==0;f=++h){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),p=d[0],l=d[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,h,p;for(h=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)h=h*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")h=h*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")h=h*u+(10+r(c[f])-i)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,p,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(d=u.split("/",2),u=d[0],l=d[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(g){throw f=g,new Error("Invalid mask: "+l)}for(h=p=32;p>=0;h=--p)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(g){throw f=g,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0==(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ya.ip2long=o,ya.long2ip=a,ya.Netmask=t}).call(ya)});var vb=w((mb,nu)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,d){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let g=0,m=-1,x=(p.match(a.zoneIndex)||[])[0],R,L;for(x&&(x=x.substring(1),p=p.replace(/%.+$/,""));(m=p.indexOf(":",m+1))>=0;)g++;if(p.substr(0,2)==="::"&&g--,p.substr(-2,2)==="::"&&g--,g>d)return null;for(L=d-g,R=":";L--;)R+="0:";return p=p.replace("::",R),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),d=function(){let H=p.split(":"),q=[];for(let k=0;k<H.length;k++)q.push(parseInt(H[k],16));return q}(),{parts:d,zoneId:x}}function u(p,d,g,m){if(p.length!==d.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let x=0,R;for(;m>0;){if(R=g-m,R<0&&(R=0),p[x]>>R!=d[x]>>R)return!1;m-=g,x+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,d){for(;p.length<d;)p=`0${p}`;return p}let h={};h.IPv4=function(){function p(d){if(d.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let g,m;for(g=0;g<d.length;g++)if(m=d[g],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=d}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(d,g){let m;if(g===void 0&&(m=d,d=m[0],g=m[1]),d.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,d.octets,8,g)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,g=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},x,R,L;for(x=3;x>=0;x-=1)if(R=this.octets[x],R in m){if(L=m[R],g&&L!==0)return null;L!==8&&(g=!0),d+=L}else return null;return 32-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),h.IPv4.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),g=d[0].toByteArray(),m=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],R=0;for(;R<4;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(d){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(p){return this.parser(p)!==null},h.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch(d){return!1}},h.IPv4.isValidFourPartDecimal=function(p){return!!(h.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(p){let d,g,m,x,R;try{for(d=this.parseCIDR(p),m=d[0].toByteArray(),R=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],g=0;g<4;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(p){let d=this.parser(p);if(d===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(d)},h.IPv4.parseCIDR=function(p){let d;if(d=p.match(/^(.+)\/(\d+)$/)){let g=parseInt(d[2]);if(g>=0&&g<=32){let m=[this.parse(d[1]),g];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(p){let d,g,m;if(d=p.match(r.fourOctet))return function(){let x=d.slice(1,6),R=[];for(let L=0;L<x.length;L++)g=x[L],R.push(l(g));return R}();if(d=p.match(r.longValue)){if(m=l(d[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let x=[],R;for(R=0;R<=24;R+=8)x.push(m>>R&255);return x}().reverse()}else return(d=p.match(r.twoOctet))?function(){let x=d.slice(1,4),R=[];if(m=l(x[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(m>>16&255),R.push(m>>8&255),R.push(m&255),R}():(d=p.match(r.threeOctet))?function(){let x=d.slice(1,5),R=[];if(m=l(x[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(l(x[1])),R.push(m>>8&255),R.push(m&255),R}():null},h.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let d=[0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)d[g]=255,g++;return m<4&&(d[m]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.IPv6=function(){function p(d,g){let m,x;if(d.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(d[m]<<8|d[m+1]);else if(d.length===8)this.parts=d;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(x=this.parts[m],!(0<=x&&x<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");g&&(this.zoneId=g)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(d,g){let m;if(g===void 0&&(m=d,d=m[0],g=m[1]),d.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,d.parts,16,g)},p.prototype.prefixLengthFromSubnetMask=function(){let d=0,g=!1,m={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},x,R;for(let L=7;L>=0;L-=1)if(x=this.parts[L],x in m){if(R=m[x],g&&R!==0)return null;R!==16&&(g=!0),d+=R}else return null;return 128-d},p.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let d,g=[],m=this.parts;for(let x=0;x<m.length;x++)d=m[x],g.push(d>>8),g.push(d&255);return g},p.prototype.toFixedLengthString=function(){let d=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(f(this.parts[x].toString(16),4));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),d+g},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let d=this.parts.slice(-2),g=d[0],m=d[1];return new h.IPv4([g>>8,g&255,m>>8,m&255])},p.prototype.toNormalizedString=function(){let d=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(this.parts[x].toString(16));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),d+g},p.prototype.toRFC5952String=function(){let d=/((^|:)(0(:|$)){2,})/g,g=this.toNormalizedString(),m=0,x=-1,R;for(;R=d.exec(g);)R[0].length>x&&(m=R.index,x=R[0].length);return x<0?g:`${g.substring(0,m)}::${g.substring(m+x)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),h.IPv6.broadcastAddressFromCIDR=function(p){try{let d=this.parseCIDR(p),g=d[0].toByteArray(),m=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],R=0;for(;R<16;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(d){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${d})`)}},h.IPv6.isIPv6=function(p){return this.parser(p)!==null},h.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let d=this.parser(p);return new this(d.parts,d.zoneId),!0}catch(d){return!1}},h.IPv6.networkAddressFromCIDR=function(p){let d,g,m,x,R;try{for(d=this.parseCIDR(p),m=d[0].toByteArray(),R=this.subnetMaskFromPrefixLength(d[1]).toByteArray(),x=[],g=0;g<16;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},h.IPv6.parse=function(p){let d=this.parser(p);if(d.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(d.parts,d.zoneId)},h.IPv6.parseCIDR=function(p){let d,g,m;if((g=p.match(/^(.+)\/(\d+)$/))&&(d=parseInt(g[2]),d>=0&&d<=128))return m=[this.parse(g[1]),d],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(p){let d,g,m,x,R,L;if(m=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(p))return c(p,8);if((m=p.match(a.transitional))&&(L=m[6]||"",d=c(m[1].slice(0,-1)+L,6),d.parts)){for(R=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],g=0;g<R.length;g++)if(x=R[g],!(0<=x&&x<=255))return null;return d.parts.push(R[0]<<8|R[1]),d.parts.push(R[2]<<8|R[3]),{parts:d.parts,zoneId:d.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let d=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)d[g]=255,g++;return m<16&&(d[m]=Math.pow(2,p%8)-1<<8-p%8),new this(d)},h.fromByteArray=function(p){let d=p.length;if(d===4)return new h.IPv4(p);if(d===16)return new h.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(p){return h.IPv6.isValid(p)||h.IPv4.isValid(p)},h.parse=function(p){if(h.IPv6.isValid(p))return h.IPv6.parse(p);if(h.IPv4.isValid(p))return h.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(p){try{return h.IPv6.parseCIDR(p)}catch(d){try{return h.IPv4.parseCIDR(p)}catch(g){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(p){let d=this.parse(p);return d.kind()==="ipv6"&&d.isIPv4MappedAddress()?d.toIPv4Address():d},h.subnetMatch=function(p,d,g){let m,x,R,L;g==null&&(g="unicast");for(x in d)if(Object.prototype.hasOwnProperty.call(d,x)){for(R=d[x],R[0]&&!(R[0]instanceof Array)&&(R=[R]),m=0;m<R.length;m++)if(L=R[m],p.kind()===L[0].kind()&&p.match.apply(p,L))return x}return g},typeof nu!="undefined"&&nu.exports?nu.exports=h:t.ipaddr=h})(mb)});var _b=w(ga=>{"use strict";var bb=ga&&ga.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ga,"__esModule",{value:!0});var L3=gb(),k3=bb(Rf()),q3=bb(Pf()),Eb=vb(),U3=["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"],M3=U3.map(t=>new L3.Netmask(t));function F3(t){for(let e of M3)if(e.contains(t))return!0;return!1}function wb(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}ga.default=t=>{if(Eb.isValid(t)){let e=Eb.parse(t);if(e.kind()==="ipv4")return F3(e.toNormalizedString());if(e.kind()==="ipv6")return wb(t)}else if(q3.default(t)&&k3.default.v6().test(t))return wb(t)}});var hh=w((TM,xb)=>{"use strict";xb.exports=_b().default});var Ab=w((RM,Sb)=>{"use strict";var K3=hh();function V3(t){let{address:e}=t.nodeAddress();return K3(e)}Sb.exports=V3});var dh=w((BM,Ib)=>{"use strict";var Cb=Ab();function j3(t,e){let r=Cb(t.multiaddr),n=Cb(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function $3(t){return[...t].sort(j3)}Ib.exports.publicAddressesFirst=$3});var Rb=w((PM,ph)=>{"use strict";var Tb=async t=>{try{let e=await t;return{isFulfilled:!0,isRejected:!1,value:e}}catch(e){return{isFulfilled:!1,isRejected:!0,reason:e}}};ph.exports=Tb;ph.exports.default=Tb});var Pb=w((NM,yh)=>{"use strict";var Bb=(t,...e)=>new Promise(r=>{r(t(...e))});yh.exports=Bb;yh.exports.default=Bb});var Ob=w((OM,gh)=>{"use strict";var H3=Pb(),Nb=t=>{if(!((Number.isInteger(t)||t===1/0)&&t>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let e=[],r=0,n=()=>{r--,e.length>0&&e.shift()()},i=(a,c,...u)=>{r++;let l=H3(a,...u);c(l),l.then(n,n)},s=(a,c,...u)=>{r<t?i(a,c,...u):e.push(i.bind(null,a,c,...u))},o=(a,...c)=>new Promise(u=>s(a,u,...c));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length},clearQueue:{value:()=>{e.length=0}}}),o};gh.exports=Nb;gh.exports.default=Nb});var Lb=w((DM,Db)=>{"use strict";var mh=Rb(),z3=Ob();Db.exports=async(t,e={})=>{let{concurrency:r=1/0}=e,n=z3(r);return Promise.all(t.map(i=>i&&typeof i.then=="function"?mh(i):mh(typeof i=="function"?n(()=>i()):Promise.resolve(i))))}});var Ub=w((LM,qb)=>{"use strict";var Vs=Ln(),kb=Vs.Reader,G3=Vs.Writer,Je=Vs.util,ma=Vs.roots["libp2p-envelope"]||(Vs.roots["libp2p-envelope"]={});ma.Envelope=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.publicKey=Je.newBuffer([]),t.prototype.payloadType=Je.newBuffer([]),t.prototype.payload=Je.newBuffer([]),t.prototype.signature=Je.newBuffer([]),t.encode=function(r,n){return n||(n=G3.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.payloadType!=null&&Object.hasOwnProperty.call(r,"payloadType")&&n.uint32(18).bytes(r.payloadType),r.payload!=null&&Object.hasOwnProperty.call(r,"payload")&&n.uint32(26).bytes(r.payload),r.signature!=null&&Object.hasOwnProperty.call(r,"signature")&&n.uint32(42).bytes(r.signature),n},t.decode=function(r,n){r instanceof kb||(r=kb.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ma.Envelope;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.publicKey=r.bytes();break;case 2:s.payloadType=r.bytes();break;case 3:s.payload=r.bytes();break;case 5:s.signature=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof ma.Envelope)return r;var n=new ma.Envelope;return r.publicKey!=null&&(typeof r.publicKey=="string"?Je.base64.decode(r.publicKey,n.publicKey=Je.newBuffer(Je.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.payloadType!=null&&(typeof r.payloadType=="string"?Je.base64.decode(r.payloadType,n.payloadType=Je.newBuffer(Je.base64.length(r.payloadType)),0):r.payloadType.length&&(n.payloadType=r.payloadType)),r.payload!=null&&(typeof r.payload=="string"?Je.base64.decode(r.payload,n.payload=Je.newBuffer(Je.base64.length(r.payload)),0):r.payload.length&&(n.payload=r.payload)),r.signature!=null&&(typeof r.signature=="string"?Je.base64.decode(r.signature,n.signature=Je.newBuffer(Je.base64.length(r.signature)),0):r.signature.length&&(n.signature=r.signature)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=Je.newBuffer(i.publicKey))),n.bytes===String?i.payloadType="":(i.payloadType=[],n.bytes!==Array&&(i.payloadType=Je.newBuffer(i.payloadType))),n.bytes===String?i.payload="":(i.payload=[],n.bytes!==Array&&(i.payload=Je.newBuffer(i.payload))),n.bytes===String?i.signature="":(i.signature=[],n.bytes!==Array&&(i.signature=Je.newBuffer(i.signature)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?Je.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.payloadType!=null&&r.hasOwnProperty("payloadType")&&(i.payloadType=n.bytes===String?Je.base64.encode(r.payloadType,0,r.payloadType.length):n.bytes===Array?Array.prototype.slice.call(r.payloadType):r.payloadType),r.payload!=null&&r.hasOwnProperty("payload")&&(i.payload=n.bytes===String?Je.base64.encode(r.payload,0,r.payload.length):n.bytes===Array?Array.prototype.slice.call(r.payload):r.payload),r.signature!=null&&r.hasOwnProperty("signature")&&(i.signature=n.bytes===String?Je.base64.encode(r.signature,0,r.signature.length):n.bytes===Array?Array.prototype.slice.call(r.signature):r.signature),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Vs.util.toJSONOptions)},t}();qb.exports=ma});var su=w((kM,Kb)=>{"use strict";var W3=pe(),{concat:Y3}=($n(),jn),{fromString:Q3}=(It(),Nt),X3=Lc(),Z3=Rt(),vh=Di(),{equals:iu}=(yr(),pr),{codes:J3}=ze(),{Envelope:Mb}=Ub(),Jn=class{constructor({peerId:e,payloadType:r,payload:n,signature:i}){this.peerId=e,this.payloadType=r,this.payload=n,this.signature=i,this._marshal=void 0}marshal(){if(this._marshal)return this._marshal;let e=X3.marshalPublicKey(this.peerId.pubKey);return this._marshal=Mb.encode({publicKey:e,payloadType:this.payloadType,payload:this.payload,signature:this.signature}).finish(),this._marshal}equals(e){return iu(this.peerId.pubKey.bytes,e.peerId.pubKey.bytes)&&iu(this.payloadType,e.payloadType)&&iu(this.payload,e.payload)&&iu(this.signature,e.signature)}validate(e){let r=Fb(e,this.payloadType,this.payload);return this.peerId.pubKey.verify(r,this.signature)}},Fb=(t,e,r)=>{let n=Q3(t),i=vh.encode(n.byteLength),s=vh.encode(e.length),o=vh.encode(r.length);return Y3([new Uint8Array(i),n,new Uint8Array(s),e,new Uint8Array(o),r])};Jn.createFromProtobuf=async t=>{let e=Mb.decode(t),r=await Z3.createFromPubKey(e.publicKey);return new Jn({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};Jn.seal=async(t,e)=>{let r=t.domain,n=t.codec,i=t.marshal(),s=Fb(r,n,i),o=await e.privKey.sign(s);return new Jn({peerId:e,payloadType:n,payload:i,signature:o})};Jn.openAndCertify=async(t,e)=>{let r=await Jn.createFromProtobuf(t);if(!await r.validate(e))throw W3(new Error("envelope signature is not valid for the given domain"),J3.ERR_SIGNATURE_NOT_VALID);return r};Kb.exports=Jn});var jb=w((qM,Vb)=>{"use strict";function eN(t,e){return t.length===e.length&&e.sort()&&t.sort().every((r,n)=>e[n].equals(r))}Vb.exports=eN});var zb=w((UM,Hb)=>{"use strict";var Ui=Ln(),ou=Ui.Reader,$b=Ui.Writer,lt=Ui.util,wr=Ui.roots["libp2p-peer-record"]||(Ui.roots["libp2p-peer-record"]={});wr.PeerRecord=function(){function t(e){if(this.addresses=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.peerId=lt.newBuffer([]),t.prototype.seq=lt.Long?lt.Long.fromBits(0,0,!0):0,t.prototype.addresses=lt.emptyArray,t.encode=function(r,n){if(n||(n=$b.create()),r.peerId!=null&&Object.hasOwnProperty.call(r,"peerId")&&n.uint32(10).bytes(r.peerId),r.seq!=null&&Object.hasOwnProperty.call(r,"seq")&&n.uint32(16).uint64(r.seq),r.addresses!=null&&r.addresses.length)for(var i=0;i<r.addresses.length;++i)wr.PeerRecord.AddressInfo.encode(r.addresses[i],n.uint32(26).fork()).ldelim();return n},t.decode=function(r,n){r instanceof ou||(r=ou.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new wr.PeerRecord;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.peerId=r.bytes();break;case 2:s.seq=r.uint64();break;case 3:s.addresses&&s.addresses.length||(s.addresses=[]),s.addresses.push(wr.PeerRecord.AddressInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof wr.PeerRecord)return r;var n=new wr.PeerRecord;if(r.peerId!=null&&(typeof r.peerId=="string"?lt.base64.decode(r.peerId,n.peerId=lt.newBuffer(lt.base64.length(r.peerId)),0):r.peerId.length&&(n.peerId=r.peerId)),r.seq!=null&&(lt.Long?(n.seq=lt.Long.fromValue(r.seq)).unsigned=!0:typeof r.seq=="string"?n.seq=parseInt(r.seq,10):typeof r.seq=="number"?n.seq=r.seq:typeof r.seq=="object"&&(n.seq=new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0))),r.addresses){if(!Array.isArray(r.addresses))throw TypeError(".PeerRecord.addresses: array expected");n.addresses=[];for(var i=0;i<r.addresses.length;++i){if(typeof r.addresses[i]!="object")throw TypeError(".PeerRecord.addresses: object expected");n.addresses[i]=wr.PeerRecord.AddressInfo.fromObject(r.addresses[i])}}return n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.addresses=[]),n.defaults)if(n.bytes===String?i.peerId="":(i.peerId=[],n.bytes!==Array&&(i.peerId=lt.newBuffer(i.peerId))),lt.Long){var s=new lt.Long(0,0,!0);i.seq=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else i.seq=n.longs===String?"0":0;if(r.peerId!=null&&r.hasOwnProperty("peerId")&&(i.peerId=n.bytes===String?lt.base64.encode(r.peerId,0,r.peerId.length):n.bytes===Array?Array.prototype.slice.call(r.peerId):r.peerId),r.seq!=null&&r.hasOwnProperty("seq")&&(typeof r.seq=="number"?i.seq=n.longs===String?String(r.seq):r.seq:i.seq=n.longs===String?lt.Long.prototype.toString.call(r.seq):n.longs===Number?new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0):r.seq),r.addresses&&r.addresses.length){i.addresses=[];for(var o=0;o<r.addresses.length;++o)i.addresses[o]=wr.PeerRecord.AddressInfo.toObject(r.addresses[o],n)}return i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Ui.util.toJSONOptions)},t.AddressInfo=function(){function e(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.multiaddr=lt.newBuffer([]),e.encode=function(n,i){return i||(i=$b.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),i},e.decode=function(n,i){n instanceof ou||(n=ou.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new wr.PeerRecord.AddressInfo;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;default:n.skipType(a&7);break}}return o},e.fromObject=function(n){if(n instanceof wr.PeerRecord.AddressInfo)return n;var i=new wr.PeerRecord.AddressInfo;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?lt.base64.decode(n.multiaddr,i.multiaddr=lt.newBuffer(lt.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),i},e.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=lt.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?lt.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),s},e.prototype.toJSON=function(){return this.constructor.toObject(this,Ui.util.toJSONOptions)},e}(),t}();Hb.exports=wr});var Wb=w((MM,Gb)=>{"use strict";var tN="libp2p-peer-record",rN=Uint8Array.from([3,1]);Gb.exports={ENVELOPE_DOMAIN_PEER_RECORD:tN,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:rN}});var au=w((FM,Xb)=>{"use strict";var{Multiaddr:nN}=qt(),iN=Rt(),sN=jb(),{PeerRecord:Yb}=zb(),{ENVELOPE_DOMAIN_PEER_RECORD:Qb,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:oN}=Wb(),Mi=class{constructor({peerId:e,multiaddrs:r=[],seqNumber:n=Date.now()}){this.domain=Qb,this.codec=oN,this.peerId=e,this.multiaddrs=r,this.seqNumber=n,this._marshal=void 0}marshal(){return this._marshal?this._marshal:(this._marshal=Yb.encode({peerId:this.peerId.toBytes(),seq:this.seqNumber,addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))}).finish(),this._marshal)}equals(e){return!(!(e instanceof Mi)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!sN(this.multiaddrs,e.multiaddrs))}};Mi.createFromProtobuf=t=>{let e=Yb.decode(t),r=iN.createFromBytes(e.peerId),n=(e.addresses||[]).map(s=>new nN(s.multiaddr)),i=Number(e.seq);return new Mi({peerId:r,multiaddrs:n,seqNumber:i})};Mi.DOMAIN=Qb;Xb.exports=Mi});var bh=w((KM,Zb)=>{"use strict";var aN=su(),cN=au();async function uN(t){let e=new cN({peerId:t.peerId,multiaddrs:t.multiaddrs}),r=await aN.seal(e,t.peerId);await t.peerStore.addressBook.consumePeerRecord(r)}Zb.exports.updateSelfPeerRecord=uN});var wh=w((VM,tE)=>{"use strict";var Jb=Be(),Fi=Object.assign(Jb("libp2p:transports"),{error:Jb("libp2p:transports:err")}),lN=Lb(),{codes:js}=ze(),va=pe(),{updateSelfPeerRecord:eE}=bh(),Eh=class{constructor({libp2p:e,upgrader:r,faultTolerance:n=cu.FATAL_ALL}){this.libp2p=e,this.upgrader=r,this._transports=new Map,this._listeners=new Map,this._listenerOptions=new Map,this.faultTolerance=n}add(e,r,n={}){if(Fi("adding %s",e),!e)throw va(new Error(`Transport must have a valid key, was given '${e}'`),js.ERR_INVALID_KEY);if(this._transports.has(e))throw va(new Error("There is already a transport with this key"),js.ERR_DUPLICATE_TRANSPORT);let i=new r({...n,libp2p:this.libp2p,upgrader:this.upgrader});this._transports.set(e,i),this._listenerOptions.set(e,n.listenerOptions||{}),this._listeners.has(e)||this._listeners.set(e,[])}async close(){let e=[];for(let[r,n]of this._listeners)for(Fi("closing listeners for %s",r);n.length;){let i=n.pop();i.removeAllListeners("listening"),i.removeAllListeners("close"),e.push(i.close())}await Promise.all(e),Fi("all listeners closed");for(let r of this._listeners.keys())this._listeners.set(r,[])}async dial(e,r){let n=this.transportForMultiaddr(e);if(!n)throw va(new Error(`No transport available for address ${String(e)}`),js.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,r)}catch(i){throw i.code||(i.code=js.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this._listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return this._transports.values()}transportForMultiaddr(e){for(let r of this._transports.values())if(r.filter([e]).length)return r;return null}async listen(e){if(!e||e.length===0){Fi("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this._transports.entries()){let s=i.filter(e),o=[];for(let u of s){Fi("creating listener for %s on %s",n,u);let l=i.createListener(this._listenerOptions.get(n));this._listeners.get(n).push(l),l.on("listening",()=>eE(this.libp2p)),l.on("close",()=>eE(this.libp2p)),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if(!(await lN(o)).find(u=>u.isFulfilled===!0)&&this.faultTolerance!==cu.NO_FATAL)throw va(new Error(`Transport (${n}) could not listen on any available address`),js.ERR_NO_VALID_ADDRESSES)}if(r.length===this._transports.size){let n=`no valid addresses were provided for transports [${r}]`;if(this.faultTolerance===cu.FATAL_ALL)throw va(new Error(n),js.ERR_NO_VALID_ADDRESSES);Fi(`libp2p in dial mode only: ${n}`)}}async remove(e){if(Fi("removing %s",e),this._listeners.has(e))for(let r of this._listeners.get(e))r.removeAllListeners("listening"),r.removeAllListeners("close"),await r.close();this._transports.delete(e),this._listeners.delete(e)}async removeAll(){let e=[];for(let r of this._transports.keys())e.push(this.remove(r));await Promise.all(e)}},cu={FATAL_ALL:0,NO_FATAL:1};Eh.FaultTolerance=cu;tE.exports=Eh});var iE=w((jM,nE)=>{"use strict";var fN=Fs(),{dnsaddrResolver:hN}=hb(),_h=tu(),{AGENT_VERSION:dN}=fh(),rE=ru(),{publicAddressesFirst:pN}=dh(),{FaultTolerance:yN}=wh(),gN={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{minConnections:25},transportManager:{faultTolerance:yN.FATAL_ALL},dialer:{maxParallelDials:_h.MAX_PARALLEL_DIALS,maxDialsPerPeer:_h.MAX_PER_PEER_DIALS,dialTimeout:_h.DIAL_TIMEOUT,resolvers:{dnsaddr:hN},addressSorter:pN},host:{agentVersion:dN},metrics:{enabled:!1},peerStore:{persistence:!1,threshold:5},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},config:{protocolPrefix:"ipfs",dht:{enabled:!1,kBucketSize:20},nat:{enabled:!0,ttl:7200,keepAlive:!0,gateway:null,externalIp:null,pmp:{enabled:!1}},peerDiscovery:{autoDial:!0},pubsub:{enabled:!0},relay:{enabled:!0,advertise:{bootDelay:rE.ADVERTISE_BOOT_DELAY,enabled:!1,ttl:rE.ADVERTISE_TTL},hop:{enabled:!1,active:!1},autoRelay:{enabled:!1,maxListeners:2}},transport:{}}};nE.exports.validate=t=>{let e=fN(gN,t);if(e.modules.transport.length<1)throw new Error("'options.modules.transport' must contain at least 1 transport");return e}});var aE=w(($M,oE)=>{"use strict";var{EventEmitter:mN}=Qt(),{Multiaddr:ba}=qt(),vN=Rt(),sE=class extends mN{constructor(e,{listen:r=[],announce:n=[]}={}){super();this.peerId=e,this.listen=new Set(r.map(i=>i.toString())),this.announce=new Set(n.map(i=>i.toString())),this.observed=new Set}getListenAddrs(){return Array.from(this.listen).map(e=>new ba(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>new ba(e))}getObservedAddrs(){return Array.from(this.observed).map(e=>new ba(e))}addObservedAddr(e){let r=new ba(e),n=r.getPeerId();n&&vN.createFromB58String(n).equals(this.peerId)&&(r=r.decapsulate(new ba(`/p2p/${this.peerId}`)));let i=r.toString();this.observed.has(i)||(this.observed.add(i),this.emit("change:addresses"))}};oE.exports=sE});var lE=w((HM,uE)=>{"use strict";var{EventEmitter:bN}=Qt(),xh=Be()("latency-monitor:VisibilityChangeEmitter"),cE=class extends bN{constructor(){super();if(typeof document=="undefined"){xh('This is not a browser, no "document" found. Stopping.');return}this._initializeVisibilityVarNames(),this._addVisibilityChangeListener()}_initializeVisibilityVarNames(){let e,r;typeof document.hidden!="undefined"?(e="hidden",r="visibilitychange"):typeof document.mozHidden!="undefined"?(e="mozHidden",r="mozvisibilitychange"):typeof document.msHidden!="undefined"?(e="msHidden",r="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(e="webkitHidden",r="webkitvisibilitychange"),this._hidden=e,this._visibilityChange=r}_addVisibilityChangeListener(){typeof document.addEventListener=="undefined"||typeof document[this._hidden]=="undefined"?xh("Checking page visibility requires a browser that supports the Page Visibility API."):document.addEventListener(this._visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this._hidden===void 0||document[this._hidden]===void 0))return!document[this._hidden]}_handleVisibilityChange(){let e=!document[this._hidden];xh(e?"Page Visible":"Page Hidden"),this.emit("visibilityChange",e)}};uE.exports=cE});var dE=w((zM,hE)=>{"use strict";var{EventEmitter:EN}=Qt(),wN=lE(),wn=Be()("latency-monitor:LatencyMonitor"),fE=class extends EN{constructor({latencyCheckIntervalMs:e,dataEmitIntervalMs:r,asyncTestFn:n,latencyRandomPercentage:i}={}){super();let s=this;s.latencyCheckIntervalMs=e||500,s.latencyRandomPercentage=i||10,s._latecyCheckMultiply=2*(s.latencyRandomPercentage/100)*s.latencyCheckIntervalMs,s._latecyCheckSubtract=s._latecyCheckMultiply/2,s.dataEmitIntervalMs=r===null||r===0?void 0:r||5*1e3,wn("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",s.latencyCheckIntervalMs,s.dataEmitIntervalMs),s.dataEmitIntervalMs?wn("Expecting ~%s events per summary",s.latencyCheckIntervalMs/s.dataEmitIntervalMs):wn("Not emitting summaries"),s.asyncTestFn=n}start(){globalThis.process&&globalThis.process.hrtime?(wn("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=e=>{let r=this.now(e);return r[0]*1e3+r[1]/1e6}):typeof window!="undefined"&&window.performance&&window.performance.now?(wn("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=e=>Math.round(this.now()-e)):(wn("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=e=>this.now()-e),this._latencyData=this._initLatencyData(),_N()&&(this._visibilityChangeEmitter=new wN,this._visibilityChangeEmitter.on("visibilityChange",e=>{e?this._startTimers():(this._emitSummary(),this._stopTimers())})),(!this._visibilityChangeEmitter||this._visibilityChangeEmitter.isVisible())&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this._checkLatencyID||(this._checkLatency(),this.dataEmitIntervalMs&&(this._emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this._emitIntervalID.unref=="function"&&this._emitIntervalID.unref()))}_stopTimers(){this._checkLatencyID&&(clearTimeout(this._checkLatencyID),this._checkLatencyID=void 0),this._emitIntervalID&&(clearInterval(this._emitIntervalID),this._emitIntervalID=void 0)}_emitSummary(){let e=this.getSummary();e.events>0&&this.emit("data",e)}getSummary(){let e={events:this._latencyData.events,minMs:this._latencyData.minMs,maxMs:this._latencyData.maxMs,avgMs:this._latencyData.events?this._latencyData.totalMs/this._latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this._latencyData.startTime)};return this._latencyData=this._initLatencyData(),wn("Summary: %O",e),e}_checkLatency(){let e=this,r=Math.random()*e._latecyCheckMultiply-e._latecyCheckSubtract,n={deltaOffset:Math.ceil(e.latencyCheckIntervalMs+r),startTime:e.now()},i=()=>{if(!this._checkLatencyID)return;let s=e.getDeltaMS(n.startTime)-n.deltaOffset;e._checkLatency(),e._latencyData.events++,e._latencyData.minMs=Math.min(e._latencyData.minMs,s),e._latencyData.maxMs=Math.max(e._latencyData.maxMs,s),e._latencyData.totalMs+=s,wn("MS: %s Data: %O",s,e._latencyData)};wn("localData: %O",n),this._checkLatencyID=setTimeout(()=>{e.asyncTestFn?(n.deltaOffset=0,n.startTime=e.now(),e.asyncTestFn(i)):(n.deltaOffset-=1,i())},n.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 _N(){return typeof window!="undefined"}hE.exports=fE});var Sh=w((GM,yE)=>{"use strict";var pE=class extends Map{constructor(e){super();let{system:r,component:n,metric:i,metrics:s}=e;this._system=r,this._component=n,this._metric=i,this._metrics=s,this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}set(e,r){return super.set(e,r),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),this}delete(e){let r=super.delete(e);return this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),r}clear(){super.clear(),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}};yE.exports=({system:t="libp2p",component:e,metric:r,metrics:n})=>{let i;return n?i=new pE({system:t,component:e,metric:r,metrics:n}):i=new Map,i}});var SE=w((WM,xE)=>{"use strict";var gE=Be(),kr=Object.assign(gE("libp2p:connection-manager"),{error:gE("libp2p:connection-manager:err")}),mE=pe(),xN=Fs(),SN=dE(),vE=fa(),{EventEmitter:AN}=Qt(),bE=Sh(),CN=Rt(),{codes:{ERR_INVALID_PARAMETERS:EE}}=ze(),IN={maxConnections:1/0,minConnections:0,maxData:1/0,maxSentData:1/0,maxReceivedData:1/0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,movingAverageInterval:6e4,defaultPeerValue:1},wE="connection-manager",TN="peer-connections",RN="peer-values",_E=class extends AN{constructor(e,r={}){super();if(this._libp2p=e,this._peerId=e.peerId.toB58String(),this._options=xN.call({ignoreUndefined:!0},IN,r),this._options.maxConnections<this._options.minConnections)throw mE(new Error("Connection Manager maxConnections must be greater than minConnections"),EE);kr("options: %j",this._options),this._peerValues=bE({component:wE,metric:RN,metrics:this._libp2p.metrics}),this.connections=bE({component:wE,metric:TN,metrics:this._libp2p.metrics}),this._started=!1,this._timer=null,this._checkMetrics=this._checkMetrics.bind(this),this._latencyMonitor=new SN({latencyCheckIntervalMs:this._options.pollInterval,dataEmitIntervalMs:this._options.pollInterval})}get size(){return Array.from(this.connections.values()).reduce((e,r)=>e+r.length,0)}start(){this._libp2p.metrics&&(this._timer=this._timer||vE(this._checkMetrics,this._options.pollInterval)),this._latencyMonitor.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this._latencyMonitor.on("data",this._onLatencyMeasure),this._started=!0,kr("started")}async stop(){this._timer&&this._timer.clear(),this._latencyMonitor.removeListener("data",this._onLatencyMeasure),this._latencyMonitor.stop(),this._started=!1,await this._close(),kr("stopped")}async _close(){let e=[];for(let r of this.connections.values())for(let n of r)e.push(n.close());await Promise.all(e),this.connections.clear()}setPeerValue(e,r){if(r<0||r>1)throw new Error("value should be a number between 0 and 1");this._peerValues.set(e.toB58String(),r)}async _checkMetrics(){if(this._libp2p.metrics)try{let e=this._libp2p.metrics.global.movingAverages,r=e.dataReceived[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxReceivedData",r);let n=e.dataSent[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxSentData",n);let i=r+n;await this._checkMaxLimit("maxData",i),kr("metrics update",i)}finally{this._timer=vE(this._checkMetrics,this._options.pollInterval)}}async onConnect(e){let r=e.remotePeer,n=r.toB58String(),i=this.connections.get(n);this.emit("peer:connect",e),i?i.push(e):this.connections.set(n,[e]),await this._libp2p.peerStore.keyBook.set(r,r.pubKey),this._peerValues.has(n)||this._peerValues.set(n,this._options.defaultPeerValue),await this._checkMaxLimit("maxConnections",this.size)}onDisconnect(e){let r=e.remotePeer.toB58String(),n=this.connections.get(r);n&&n.length>1?(n=n.filter(i=>i.id!==e.id),this.connections.set(r,n)):n&&(this.connections.delete(r),this._peerValues.delete(e.remotePeer.toB58String()),this.emit("peer:disconnect",e),this._libp2p.metrics&&this._libp2p.metrics.onPeerDisconnected(e.remotePeer))}get(e){let r=this.getAll(e);return r.length?r[0]:null}getAll(e){if(!CN.isPeerId(e))throw mE(new Error("peerId must be an instance of peer-id"),EE);let r=e.toB58String(),n=this.connections.get(r);return n?n.filter(i=>i.stat.status==="open"):[]}_onLatencyMeasure(e){this._checkMaxLimit("maxEventLoopDelay",e.avgMs).catch(r=>{kr.error(r)})}async _checkMaxLimit(e,r){let n=this._options[e];kr("checking limit of %s. current value: %d of %d",e,r,n),r>n&&(kr("%s: limit exceeded: %s, %d",this._peerId,e,r),await this._maybeDisconnectOne())}async _maybeDisconnectOne(){if(this._options.minConnections<this.connections.size){let e=Array.from(new Map([...this._peerValues.entries()].sort((n,i)=>n[1]-i[1])));kr("%s: sorted peer values: %j",this._peerId,e);let r=e[0];if(r){let n=r[0];kr("%s: lowest value peer is %s",this._peerId,n),kr("%s: closing a connection to %j",this._peerId,n);for(let i of this.connections.values())if(i[0].remotePeer.toB58String()===n){i[0].close().catch(s=>{kr.error(s)}),this.onDisconnect(i[0]);break}}}}};xE.exports=_E});var RE=w((YM,TE)=>{"use strict";var AE=Be(),BN=Fs(),CE=fa(),PN=Vf(),ei=Object.assign(AE("libp2p:connection-manager:auto-dialler"),{error:AE("libp2p:connection-manager:auto-dialler:err")}),NN={enabled:!0,minConnections:0,autoDialInterval:1e4},IE=class{constructor(e,r={}){this._options=BN.call({ignoreUndefined:!0},NN,r),this._libp2p=e,this._running=!1,this._autoDialTimeout=null,this._autoDial=this._autoDial.bind(this),ei("options: %j",this._options)}async start(){if(!this._options.enabled){ei("not enabled");return}this._running=!0,this._autoDial().catch(e=>{ei.error("could start autodial",e)}),ei("started")}async stop(){if(!this._options.enabled){ei("not enabled");return}this._running=!1,this._autoDialTimeout&&this._autoDialTimeout.clear(),ei("stopped")}async _autoDial(){let e=this._options.minConnections;if(this._libp2p.connections.size>=e){this._autoDialTimeout=CE(this._autoDial,this._options.autoDialInterval);return}let r=(await PN(this._libp2p.peerStore.getPeers())).sort((n,i)=>i.protocols&&i.protocols.length&&(!n.protocols||!n.protocols.length)||i.id.pubKey&&!n.id.pubKey?1:-1);for(let n=0;this._running&&n<r.length&&this._libp2p.connections.size<e;n++)if(!this._libp2p.connectionManager.get(r[n].id)){ei("connecting to a peerStore stored peer %s",r[n].id.toB58String());try{await this._libp2p.dialer.connectToPeer(r[n].id)}catch(i){ei.error("could not connect to peerStore stored peer",i)}}!this._running||(this._autoDialTimeout=CE(this._autoDial,this._options.autoDialInterval))}};TE.exports=IE});var FE=w((QM,ME)=>{"use strict";var{Multiaddr:Ah}=qt(),BE=ce("dns4"),PE=ce("dns6"),NE=ce("dnsaddr"),Ki=Ut(ce("dns"),NE,BE,PE),Ea=Ut(ce("ip4"),ce("ip6")),$s=Ut(ve(Ea,ce("tcp")),ve(Ki,ce("tcp"))),Ch=ve(Ea,ce("udp")),OE=ve(Ch,ce("utp")),DE=ve(Ch,ce("quic")),Hs=Ut(ve($s,ce("ws")),ve(Ki,ce("ws"))),zs=Ut(ve($s,ce("wss")),ve(Ki,ce("wss"))),uu=Ut(ve($s,ce("http")),ve(Ea,ce("http")),ve(Ki,ce("http"))),lu=Ut(ve($s,ce("https")),ve(Ea,ce("https")),ve(Ki,ce("https"))),Ih=Ut(ve(Hs,ce("p2p-webrtc-star"),ce("p2p")),ve(zs,ce("p2p-webrtc-star"),ce("p2p")),ve(Hs,ce("p2p-webrtc-star")),ve(zs,ce("p2p-webrtc-star"))),ON=Ut(ve(Hs,ce("p2p-websocket-star"),ce("p2p")),ve(zs,ce("p2p-websocket-star"),ce("p2p")),ve(Hs,ce("p2p-websocket-star")),ve(zs,ce("p2p-websocket-star"))),Th=Ut(ve(uu,ce("p2p-webrtc-direct"),ce("p2p")),ve(lu,ce("p2p-webrtc-direct"),ce("p2p")),ve(uu,ce("p2p-webrtc-direct")),ve(lu,ce("p2p-webrtc-direct"))),Gs=Ut(Hs,zs,uu,lu,Ih,Th,$s,OE,DE,Ki),DN=Ut(ve(Gs,ce("p2p-stardust"),ce("p2p")),ve(Gs,ce("p2p-stardust"))),ti=Ut(ve(Gs,ce("p2p")),Ih,Th,ce("p2p")),LE=Ut(ve(ti,ce("p2p-circuit"),ti),ve(ti,ce("p2p-circuit")),ve(ce("p2p-circuit"),ti),ve(Gs,ce("p2p-circuit")),ve(ce("p2p-circuit"),Gs),ce("p2p-circuit")),kE=()=>Ut(ve(LE,kE),LE),Ws=kE(),qE=Ut(ve(Ws,ti,Ws),ve(ti,Ws),ve(Ws,ti),Ws,ti);ME.exports={DNS:Ki,DNS4:BE,DNS6:PE,DNSADDR:NE,IP:Ea,TCP:$s,UDP:Ch,QUIC:DE,UTP:OE,HTTP:uu,HTTPS:lu,WebSockets:Hs,WebSocketsSecure:zs,WebSocketStar:ON,WebRTCStar:Ih,WebRTCDirect:Th,Reliable:Gs,Stardust:DN,Circuit:Ws,P2P:qE,IPFS:qE};function UE(t){function e(r){if(!Ah.isMultiaddr(r))try{r=new Ah(r)}catch(i){return!1}let n=t(r.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return e}function ve(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:UE(e),partialMatch:e}}function Ut(...t){function e(n){let i=null;return t.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o?(i=o,!0):!1}),i}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:UE(e),partialMatch:e}}function ce(t){let e=t;function r(i){let s;if(typeof i=="string"||i instanceof Uint8Array)try{s=new Ah(i)}catch(a){return!1}else s=i;let o=s.protoNames();return o.length===1&&o[0]===e}function n(i){return i.length===0?null:i[0]===e?i.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}});var Ys=w((XM,VE)=>{"use strict";var Vi=Ln(),fu=Vi.Reader,KE=Vi.Writer,_r=Vi.util,At=Vi.roots["libp2p-circuit"]||(Vi.roots["libp2p-circuit"]={});At.CircuitRelay=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.type=1,t.prototype.srcPeer=null,t.prototype.dstPeer=null,t.prototype.code=100,t.encode=function(r,n){return n||(n=KE.create()),r.type!=null&&Object.hasOwnProperty.call(r,"type")&&n.uint32(8).int32(r.type),r.srcPeer!=null&&Object.hasOwnProperty.call(r,"srcPeer")&&At.CircuitRelay.Peer.encode(r.srcPeer,n.uint32(18).fork()).ldelim(),r.dstPeer!=null&&Object.hasOwnProperty.call(r,"dstPeer")&&At.CircuitRelay.Peer.encode(r.dstPeer,n.uint32(26).fork()).ldelim(),r.code!=null&&Object.hasOwnProperty.call(r,"code")&&n.uint32(32).int32(r.code),n},t.decode=function(r,n){r instanceof fu||(r=fu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new At.CircuitRelay;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.type=r.int32();break;case 2:s.srcPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 3:s.dstPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 4:s.code=r.int32();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof At.CircuitRelay)return r;var n=new At.CircuitRelay;switch(r.type){case"HOP":case 1:n.type=1;break;case"STOP":case 2:n.type=2;break;case"STATUS":case 3:n.type=3;break;case"CAN_HOP":case 4:n.type=4;break}if(r.srcPeer!=null){if(typeof r.srcPeer!="object")throw TypeError(".CircuitRelay.srcPeer: object expected");n.srcPeer=At.CircuitRelay.Peer.fromObject(r.srcPeer)}if(r.dstPeer!=null){if(typeof r.dstPeer!="object")throw TypeError(".CircuitRelay.dstPeer: object expected");n.dstPeer=At.CircuitRelay.Peer.fromObject(r.dstPeer)}switch(r.code){case"SUCCESS":case 100:n.code=100;break;case"HOP_SRC_ADDR_TOO_LONG":case 220:n.code=220;break;case"HOP_DST_ADDR_TOO_LONG":case 221:n.code=221;break;case"HOP_SRC_MULTIADDR_INVALID":case 250:n.code=250;break;case"HOP_DST_MULTIADDR_INVALID":case 251:n.code=251;break;case"HOP_NO_CONN_TO_DST":case 260:n.code=260;break;case"HOP_CANT_DIAL_DST":case 261:n.code=261;break;case"HOP_CANT_OPEN_DST_STREAM":case 262:n.code=262;break;case"HOP_CANT_SPEAK_RELAY":case 270:n.code=270;break;case"HOP_CANT_RELAY_TO_SELF":case 280:n.code=280;break;case"STOP_SRC_ADDR_TOO_LONG":case 320:n.code=320;break;case"STOP_DST_ADDR_TOO_LONG":case 321:n.code=321;break;case"STOP_SRC_MULTIADDR_INVALID":case 350:n.code=350;break;case"STOP_DST_MULTIADDR_INVALID":case 351:n.code=351;break;case"STOP_RELAY_REFUSED":case 390:n.code=390;break;case"MALFORMED_MESSAGE":case 400:n.code=400;break}return n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.type=n.enums===String?"HOP":1,i.srcPeer=null,i.dstPeer=null,i.code=n.enums===String?"SUCCESS":100),r.type!=null&&r.hasOwnProperty("type")&&(i.type=n.enums===String?At.CircuitRelay.Type[r.type]:r.type),r.srcPeer!=null&&r.hasOwnProperty("srcPeer")&&(i.srcPeer=At.CircuitRelay.Peer.toObject(r.srcPeer,n)),r.dstPeer!=null&&r.hasOwnProperty("dstPeer")&&(i.dstPeer=At.CircuitRelay.Peer.toObject(r.dstPeer,n)),r.code!=null&&r.hasOwnProperty("code")&&(i.code=n.enums===String?At.CircuitRelay.Status[r.code]:r.code),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Vi.util.toJSONOptions)},t.Status=function(){var e={},r=Object.create(e);return r[e[100]="SUCCESS"]=100,r[e[220]="HOP_SRC_ADDR_TOO_LONG"]=220,r[e[221]="HOP_DST_ADDR_TOO_LONG"]=221,r[e[250]="HOP_SRC_MULTIADDR_INVALID"]=250,r[e[251]="HOP_DST_MULTIADDR_INVALID"]=251,r[e[260]="HOP_NO_CONN_TO_DST"]=260,r[e[261]="HOP_CANT_DIAL_DST"]=261,r[e[262]="HOP_CANT_OPEN_DST_STREAM"]=262,r[e[270]="HOP_CANT_SPEAK_RELAY"]=270,r[e[280]="HOP_CANT_RELAY_TO_SELF"]=280,r[e[320]="STOP_SRC_ADDR_TOO_LONG"]=320,r[e[321]="STOP_DST_ADDR_TOO_LONG"]=321,r[e[350]="STOP_SRC_MULTIADDR_INVALID"]=350,r[e[351]="STOP_DST_MULTIADDR_INVALID"]=351,r[e[390]="STOP_RELAY_REFUSED"]=390,r[e[400]="MALFORMED_MESSAGE"]=400,r}(),t.Type=function(){var e={},r=Object.create(e);return r[e[1]="HOP"]=1,r[e[2]="STOP"]=2,r[e[3]="STATUS"]=3,r[e[4]="CAN_HOP"]=4,r}(),t.Peer=function(){function e(r){if(this.addrs=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.id=_r.newBuffer([]),e.prototype.addrs=_r.emptyArray,e.encode=function(n,i){if(i||(i=KE.create()),i.uint32(10).bytes(n.id),n.addrs!=null&&n.addrs.length)for(var s=0;s<n.addrs.length;++s)i.uint32(18).bytes(n.addrs[s]);return i},e.decode=function(n,i){n instanceof fu||(n=fu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new At.CircuitRelay.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.id=n.bytes();break;case 2:o.addrs&&o.addrs.length||(o.addrs=[]),o.addrs.push(n.bytes());break;default:n.skipType(a&7);break}}if(!o.hasOwnProperty("id"))throw _r.ProtocolError("missing required 'id'",{instance:o});return o},e.fromObject=function(n){if(n instanceof At.CircuitRelay.Peer)return n;var i=new At.CircuitRelay.Peer;if(n.id!=null&&(typeof n.id=="string"?_r.base64.decode(n.id,i.id=_r.newBuffer(_r.base64.length(n.id)),0):n.id.length&&(i.id=n.id)),n.addrs){if(!Array.isArray(n.addrs))throw TypeError(".CircuitRelay.Peer.addrs: array expected");i.addrs=[];for(var s=0;s<n.addrs.length;++s)typeof n.addrs[s]=="string"?_r.base64.decode(n.addrs[s],i.addrs[s]=_r.newBuffer(_r.base64.length(n.addrs[s])),0):n.addrs[s].length&&(i.addrs[s]=n.addrs[s])}return i},e.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addrs=[]),i.defaults&&(i.bytes===String?s.id="":(s.id=[],i.bytes!==Array&&(s.id=_r.newBuffer(s.id)))),n.id!=null&&n.hasOwnProperty("id")&&(s.id=i.bytes===String?_r.base64.encode(n.id,0,n.id.length):i.bytes===Array?Array.prototype.slice.call(n.id):n.id),n.addrs&&n.addrs.length){s.addrs=[];for(var o=0;o<n.addrs.length;++o)s.addrs[o]=i.bytes===String?_r.base64.encode(n.addrs[o],0,n.addrs[o].length):i.bytes===Array?Array.prototype.slice.call(n.addrs[o]):n.addrs[o]}return s},e.prototype.toJSON=function(){return this.constructor.toObject(this,Vi.util.toJSONOptions)},e}(),t}();VE.exports=At});var $E=w((ZM,jE)=>{jE.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var zE=w((eF,HE)=>{HE.exports=class extends Error{constructor(e,r){super(e||"The operation was aborted");this.type="aborted",this.code=r||"ABORT_ERR"}}});var Ph=w((tF,ji)=>{var LN=$E(),Rh=zE(),GE=(t,e,r)=>Bh(t,Array.isArray(e)?e:[{signal:e,options:r}]),Bh=(t,e)=>{t=LN(t),e=e.map(({signal:n,options:i})=>({signal:n,options:i||{}}));async function*r(){let n,i=()=>{n&&n()};for(let{signal:s}of e)s.addEventListener("abort",i);for(;;){let s;try{for(let{signal:a,options:c}of e)if(a.aborted){let{abortMessage:u,abortCode:l}=c;throw new Rh(u,l)}let o=new Promise((a,c)=>{n=()=>{let{options:u}=e.find(({signal:h})=>h.aborted),{abortMessage:l,abortCode:f}=u;c(new Rh(l,f))}});s=await Promise.race([o,t.next()]),n=null}catch(o){for(let{signal:u}of e)u.removeEventListener("abort",i);let a=e.find(({signal:u})=>u.aborted),c=o.type==="aborted"&&a;if(c&&a.options.onAbort&&await a.options.onAbort(t),typeof t.return=="function")try{let u=t.return();u instanceof Promise&&u.catch(l=>{a.options.onReturnError!=null&&a.options.onReturnError(l)})}catch(u){a.options.onReturnError!=null&&a.options.onReturnError(u)}if(c&&a.options.returnOnAbort)return;throw o}if(s.done)break;yield s.value}for(let{signal:s}of e)s.removeEventListener("abort",i)}return r()},WE=(t,e,r)=>YE(t,Array.isArray(e)?e:[{signal:e,options:r}]),YE=(t,e)=>r=>t(Bh(r,e)),kN=(t,e,r)=>qN(t,Array.isArray(e)?e:[{signal:e,options:r}]),qN=(t,e)=>({sink:YE(t.sink,e),source:Bh(t.source,e)});ji.exports=GE;ji.exports.AbortError=Rh;ji.exports.source=GE;ji.exports.sink=WE;ji.exports.transform=WE;ji.exports.duplex=kN});var ZE=w((rF,XE)=>{"use strict";var{source:QE}=Ph(),UN=Be(),MN=UN("libp2p:stream:converter");function FN({stream:t,remoteAddr:e,localAddr:r},n={}){let{sink:i,source:s}=t,o={async sink(c){n.signal&&(c=QE(c,n.signal));try{await i(c)}catch(u){u.type!=="aborted"&&MN(u)}a()},source:n.signal?QE(s,n.signal):s,conn:t,localAddr:r,remoteAddr:e,timeline:{open:Date.now(),close:void 0},close(){return i(new Uint8Array(0)),a()}};function a(){return o.timeline.close||(o.timeline.close=Date.now()),Promise.resolve()}return o}XE.exports=FN});var wa=w((nF,JE)=>{"use strict";JE.exports={relay:"/libp2p/circuit/relay/0.1.0"}});var tw=w((iF,ew)=>{"use strict";var{EventEmitter:KN}=Qt(),{Multiaddr:VN}=qt();ew.exports=t=>{let e=new Map;async function r(s){let o=String(s).split("/p2p-circuit").find(u=>u!==""),a=await t.dial(new VN(o)),c=a.remoteAddr.encapsulate("/p2p-circuit");e.set(a.remotePeer.toB58String(),c),i.emit("listening")}function n(){let s=[];for(let o of e.values())s.push(o);return s}let i=Object.assign(new KN,{close:()=>Promise.resolve(),listen:r,getAddrs:n});return t.connectionManager.on("peer:disconnect",s=>{e.delete(s.remotePeer.toB58String())&&i.emit("close")}),i}});var Nh=w((sF,iw)=>{"use strict";var{Multiaddr:rw}=qt(),{CircuitRelay:$i}=Ys();function nw(t,e){t.write({type:$i.Type.STATUS,code:e})}function jN(t,e){try{t.dstPeer&&t.dstPeer.addrs&&t.dstPeer.addrs.forEach(r=>new rw(r))}catch(r){throw nw(e,t.type===$i.Type.HOP?$i.Status.HOP_DST_MULTIADDR_INVALID:$i.Status.STOP_DST_MULTIADDR_INVALID),r}try{t.srcPeer&&t.srcPeer.addrs&&t.srcPeer.addrs.forEach(r=>new rw(r))}catch(r){throw nw(e,t.type===$i.Type.HOP?$i.Status.HOP_SRC_MULTIADDR_INVALID:$i.Status.STOP_SRC_MULTIADDR_INVALID),r}}iw.exports={validateAddrs:jN}});var aw=w(hu=>{"use strict";hu.byteLength=HN;hu.toByteArray=GN;hu.fromByteArray=QN;var sn=[],xr=[],$N=typeof Uint8Array!="undefined"?Uint8Array:Array,Oh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Hi=0,sw=Oh.length;Hi<sw;++Hi)sn[Hi]=Oh[Hi],xr[Oh.charCodeAt(Hi)]=Hi;var Hi,sw;xr["-".charCodeAt(0)]=62;xr["_".charCodeAt(0)]=63;function ow(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function HN(t){var e=ow(t),r=e[0],n=e[1];return(r+n)*3/4-n}function zN(t,e,r){return(e+r)*3/4-r}function GN(t){var e,r=ow(t),n=r[0],i=r[1],s=new $N(zN(t,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)e=xr[t.charCodeAt(c)]<<18|xr[t.charCodeAt(c+1)]<<12|xr[t.charCodeAt(c+2)]<<6|xr[t.charCodeAt(c+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=xr[t.charCodeAt(c)]<<2|xr[t.charCodeAt(c+1)]>>4,s[o++]=e&255),i===1&&(e=xr[t.charCodeAt(c)]<<10|xr[t.charCodeAt(c+1)]<<4|xr[t.charCodeAt(c+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function WN(t){return sn[t>>18&63]+sn[t>>12&63]+sn[t>>6&63]+sn[t&63]}function YN(t,e,r){for(var n,i=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),i.push(WN(n));return i.join("")}function QN(t){for(var e,r=t.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(YN(t,o,o+s>a?a:o+s));return n===1?(e=t[r-1],i.push(sn[e>>2]+sn[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(sn[e>>10]+sn[e>>4&63]+sn[e<<2&63]+"=")),i.join("")}});var cw=w(Dh=>{Dh.read=function(t,e,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+t[e+f],f+=h,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+t[e+f],f+=h,l-=8);if(s===0)s=1-u;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(p?-1:1)*o*Math.pow(2,s-n)};Dh.write=function(t,e,r,n,i,s){var o,a,c,u=s*8-i-1,l=(1<<u)-1,f=l>>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,d=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=h/c:e+=h*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*c-1)*Math.pow(2,i),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=a&255,p+=d,a/=256,i-=8);for(o=o<<i|a,u+=i;u>0;t[r+p]=o&255,p+=d,o/=256,u-=8);t[r+p-d]|=g*128}});var ni=w(Js=>{"use strict";var Lh=aw(),Qs=cw(),uw=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Js.Buffer=F;Js.SlowBuffer=rO;Js.INSPECT_MAX_BYTES=50;var du=2147483647;Js.kMaxLength=du;F.TYPED_ARRAY_SUPPORT=XN();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function XN(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.byteOffset}});function _n(t){if(t>du)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return kh(t)}return lw(t,e,r)}F.poolSize=8192;function lw(t,e,r){if(typeof t=="string")return JN(t,e);if(ArrayBuffer.isView(t))return eO(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(on(t,ArrayBuffer)||t&&on(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(on(t,SharedArrayBuffer)||t&&on(t.buffer,SharedArrayBuffer)))return Uh(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return F.from(n,e,r);let i=tO(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return lw(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function fw(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function ZN(t,e,r){return fw(t),t<=0?_n(t):e!==void 0?typeof r=="string"?_n(t).fill(e,r):_n(t).fill(e):_n(t)}F.alloc=function(t,e,r){return ZN(t,e,r)};function kh(t){return fw(t),_n(t<0?0:Mh(t)|0)}F.allocUnsafe=function(t){return kh(t)};F.allocUnsafeSlow=function(t){return kh(t)};function JN(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=hw(t,e)|0,n=_n(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function qh(t){let e=t.length<0?0:Mh(t.length)|0,r=_n(e);for(let n=0;n<e;n+=1)r[n]=t[n]&255;return r}function eO(t){if(on(t,Uint8Array)){let e=new Uint8Array(t);return Uh(e.buffer,e.byteOffset,e.byteLength)}return qh(t)}function Uh(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return e===void 0&&r===void 0?n=new Uint8Array(t):r===void 0?n=new Uint8Array(t,e):n=new Uint8Array(t,e,r),Object.setPrototypeOf(n,F.prototype),n}function tO(t){if(F.isBuffer(t)){let e=Mh(t.length)|0,r=_n(e);return r.length===0||t.copy(r,0,0,e),r}if(t.length!==void 0)return typeof t.length!="number"||Vh(t.length)?_n(0):qh(t);if(t.type==="Buffer"&&Array.isArray(t.data))return qh(t.data)}function Mh(t){if(t>=du)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+du.toString(16)+" bytes");return t|0}function rO(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(on(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),on(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let s=0,o=Math.min(n,i);s<o;++s)if(e[s]!==r[s]){n=e[s],i=r[s];break}return n<i?-1:i<n?1:0};F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};F.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return F.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<e.length;++n)r+=e[n].length;let i=F.allocUnsafe(r),s=0;for(n=0;n<e.length;++n){let o=e[n];if(on(o,Uint8Array))s+o.length>i.length?(F.isBuffer(o)||(o=F.from(o)),o.copy(i,s)):Uint8Array.prototype.set.call(i,o,s);else if(F.isBuffer(o))o.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return i};function hw(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||on(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Kh(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Sw(t).length;default:if(i)return n?-1:Kh(t).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=hw;function nO(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return dO(this,e,r);case"utf8":case"utf-8":return yw(this,e,r);case"ascii":return fO(this,e,r);case"latin1":case"binary":return hO(this,e,r);case"base64":return uO(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return pO(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function zi(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}F.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<e;r+=2)zi(this,r,r+1);return this};F.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<e;r+=4)zi(this,r,r+3),zi(this,r+1,r+2);return this};F.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<e;r+=8)zi(this,r,r+7),zi(this,r+1,r+6),zi(this,r+2,r+5),zi(this,r+3,r+4);return this};F.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?yw(this,0,e):nO.apply(this,arguments)};F.prototype.toLocaleString=F.prototype.toString;F.prototype.equals=function(e){if(!F.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:F.compare(this,e)===0};F.prototype.inspect=function(){let e="",r=Js.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"};uw&&(F.prototype[uw]=F.prototype.inspect);F.prototype.compare=function(e,r,n,i,s){if(on(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let o=s-i,a=n-r,c=Math.min(o,a),u=this.slice(i,s),l=e.slice(r,n);for(let f=0;f<c;++f)if(u[f]!==l[f]){o=u[f],a=l[f];break}return o<a?-1:a<o?1:0};function dw(t,e,r,n,i){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Vh(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:pw(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):pw(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function pw(t,e,r,n,i){let s=1,o=t.length,a=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,o/=2,a/=2,r/=2}function c(l,f){return s===1?l[f]:l.readUInt16BE(f*s)}let u;if(i){let l=-1;for(u=r;u<o;u++)if(c(t,u)===c(e,l===-1?0:u-l)){if(l===-1&&(l=u),u-l+1===a)return l*s}else l!==-1&&(u-=u-l),l=-1}else for(r+a>o&&(r=o-a),u=r;u>=0;u--){let l=!0;for(let f=0;f<a;f++)if(c(t,u+f)!==c(e,f)){l=!1;break}if(l)return u}return-1}F.prototype.includes=function(e,r,n){return this.indexOf(e,r,n)!==-1};F.prototype.indexOf=function(e,r,n){return dw(this,e,r,n,!0)};F.prototype.lastIndexOf=function(e,r,n){return dw(this,e,r,n,!1)};function iO(t,e,r,n){r=Number(r)||0;let i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o<n;++o){let a=parseInt(e.substr(o*2,2),16);if(Vh(a))return o;t[r+o]=a}return o}function sO(t,e,r,n){return pu(Kh(e,t.length-r),t,r,n)}function oO(t,e,r,n){return pu(vO(e),t,r,n)}function aO(t,e,r,n){return pu(Sw(e),t,r,n)}function cO(t,e,r,n){return pu(bO(e,t.length-r),t,r,n)}F.prototype.write=function(e,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return iO(this,e,r,n);case"utf8":case"utf-8":return sO(this,e,r,n);case"ascii":case"latin1":case"binary":return oO(this,e,r,n);case"base64":return aO(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return cO(this,e,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function uO(t,e,r){return e===0&&r===t.length?Lh.fromByteArray(t):Lh.fromByteArray(t.slice(e,r))}function yw(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let s=t[i],o=null,a=s>239?4:s>223?3:s>191?2:1;if(i+a<=r){let c,u,l,f;switch(a){case 1:s<128&&(o=s);break;case 2:c=t[i+1],(c&192)==128&&(f=(s&31)<<6|c&63,f>127&&(o=f));break;case 3:c=t[i+1],u=t[i+2],(c&192)==128&&(u&192)==128&&(f=(s&15)<<12|(c&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:c=t[i+1],u=t[i+2],l=t[i+3],(c&192)==128&&(u&192)==128&&(l&192)==128&&(f=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=a}return lO(n)}var gw=4096;function lO(t){let e=t.length;if(e<=gw)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=gw));return r}function fO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]&127);return n}function hO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function dO(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let s=e;s<r;++s)i+=EO[t[s]];return i}function pO(t,e,r){let n=t.slice(e,r),i="";for(let s=0;s<n.length-1;s+=2)i+=String.fromCharCode(n[s]+n[s+1]*256);return i}F.prototype.slice=function(e,r){let n=this.length;e=~~e,r=r===void 0?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<e&&(r=e);let i=this.subarray(e,r);return Object.setPrototypeOf(i,F.prototype),i};function Ct(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return i};F.prototype.readUintBE=F.prototype.readUIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e+--r],s=1;for(;r>0&&(s*=256);)i+=this[e+--r]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=ri(function(e){e=e>>>0,Zs(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_a(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<<BigInt(32))});F.prototype.readBigUInt64BE=ri(function(e){e=e>>>0,Zs(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_a(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(s)});F.prototype.readIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*r)),i};F.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=r,s=1,o=this[e+--i];for(;i>0&&(s*=256);)o+=this[e+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=ri(function(e){e=e>>>0,Zs(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_a(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});F.prototype.readBigInt64BE=ri(function(e){e=e>>>0,Zs(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&_a(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)});F.prototype.readFloatLE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),Qs.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),Qs.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),Qs.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),Qs.read(this,e,!1,52,8)};function er(t,e,r,n,i,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=1,o=0;for(this[r]=e&255;++o<n&&(s*=256);)this[r+o]=e/s&255;return r+n};F.prototype.writeUintBE=F.prototype.writeUIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=n-1,o=1;for(this[r+s]=e&255;--s>=0&&(o*=256);)this[r+s]=e/o&255;return r+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function mw(t,e,r,n,i){xw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,r}function vw(t,e,r,n,i){xw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o=o>>8,t[r+2]=o,o=o>>8,t[r+1]=o,o=o>>8,t[r]=o,r+8}F.prototype.writeBigUInt64LE=ri(function(e,r=0){return mw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=ri(function(e,r=0){return vw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=0,o=1,a=0;for(this[r]=e&255;++s<n&&(o*=256);)e<0&&a===0&&this[r+s-1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=n-1,o=1,a=0;for(this[r+s]=e&255;--s>=0&&(o*=256);)e<0&&a===0&&this[r+s+1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=ri(function(e,r=0){return mw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=ri(function(e,r=0){return vw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function bw(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Ew(t,e,r,n,i){return e=+e,r=r>>>0,i||bw(t,e,r,4,34028234663852886e22,-34028234663852886e22),Qs.write(t,e,r,n,23,4),r+4}F.prototype.writeFloatLE=function(e,r,n){return Ew(this,e,r,!0,n)};F.prototype.writeFloatBE=function(e,r,n){return Ew(this,e,r,!1,n)};function ww(t,e,r,n,i){return e=+e,r=r>>>0,i||bw(t,e,r,8,17976931348623157e292,-17976931348623157e292),Qs.write(t,e,r,n,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,n){return ww(this,e,r,!0,n)};F.prototype.writeDoubleBE=function(e,r,n){return ww(this,e,r,!1,n)};F.prototype.copy=function(e,r,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r<i-n&&(i=e.length-r+n);let s=i-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(e,this.subarray(n,i),r),s};F.prototype.fill=function(e,r,n,i){if(typeof e=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!F.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){let o=e.charCodeAt(0);(i==="utf8"&&o<128||i==="latin1")&&(e=o)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s<n;++s)this[s]=e;else{let o=F.isBuffer(e)?e:F.from(e,i),a=o.length;if(a===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-r;++s)this[s+r]=o[s%a]}return this};var Xs={};function Fh(t,e,r){Xs[t]=class extends r{constructor(){super();Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}Fh("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);Fh("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError);Fh("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=_w(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=_w(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function _w(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function yO(t,e,r){Zs(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&_a(e,t.length-(r+1))}function xw(t,e,r,n,i,s){if(t>r||t<e){let o=typeof e=="bigint"?"n":"",a;throw s>3?e===0||e===BigInt(0)?a=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:a=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:a=`>= ${e}${o} and <= ${r}${o}`,new Xs.ERR_OUT_OF_RANGE("value",a,t)}yO(n,i,s)}function Zs(t,e){if(typeof t!="number")throw new Xs.ERR_INVALID_ARG_TYPE(e,"number",t)}function _a(t,e,r){throw Math.floor(t)!==t?(Zs(t,r),new Xs.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new Xs.ERR_BUFFER_OUT_OF_BOUNDS:new Xs.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var gO=/[^+/0-9A-Za-z-_]/g;function mO(t){if(t=t.split("=")[0],t=t.trim().replace(gO,""),t.length<2)return"";for(;t.length%4!=0;)t=t+"=";return t}function Kh(t,e){e=e||1/0;let r,n=t.length,i=null,s=[];for(let o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function vO(t){let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function bO(t,e){let r,n,i,s=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,s.push(i),s.push(n);return s}function Sw(t){return Lh.toByteArray(mO(t))}function pu(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function on(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Vh(t){return t!==t}var EO=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ri(t){return typeof BigInt=="undefined"?wO:t}function wO(){throw new Error("BigInt not supported")}});var Gi=w((lF,Cw)=>{"use strict";var{Buffer:qr}=ni(),Aw=Symbol.for("BufferList");function Ge(t){if(!(this instanceof Ge))return new Ge(t);Ge._init.call(this,t)}Ge._init=function(e){Object.defineProperty(this,Aw,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Ge.prototype._new=function(e){return new Ge(e)};Ge.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let n=0;n<this._bufs.length;n++){let i=r+this._bufs[n].length;if(e<i||n===this._bufs.length-1)return[n,e-r];r=i}};Ge.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let n=0;n<e;n++)r+=this._bufs[n].length;return r};Ge.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Ge.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Ge.prototype.copy=function(e,r,n,i){if((typeof n!="number"||n<0)&&(n=0),(typeof i!="number"||i>this.length)&&(i=this.length),n>=this.length||i<=0)return e||qr.alloc(0);let s=!!e,o=this._offset(n),a=i-n,c=a,u=s&&r||0,l=o[1];if(n===0&&i===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:qr.concat(this._bufs,this.length);for(let f=0;f<this._bufs.length;f++)this._bufs[f].copy(e,u),u+=this._bufs[f].length;return e}if(c<=this._bufs[o[0]].length-l)return s?this._bufs[o[0]].copy(e,r,l,l+c):this._bufs[o[0]].slice(l,l+c);s||(e=qr.allocUnsafe(a));for(let f=o[0];f<this._bufs.length;f++){let h=this._bufs[f].length-l;if(c>h)this._bufs[f].copy(e,u,l),u+=h;else{this._bufs[f].copy(e,u,l,l+c),u+=h;break}c-=h,l&&(l=0)}return e.length>u?e.slice(0,u):e};Ge.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let n=this._offset(e),i=this._offset(r),s=this._bufs.slice(n[0],i[0]+1);return i[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,i[1]),n[1]!==0&&(s[0]=s[0].slice(n[1])),this._new(s)};Ge.prototype.toString=function(e,r,n){return this.slice(r,n).toString(e)};Ge.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Ge.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Ge.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(qr.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(qr.from(e));return this};Ge.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Ge.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=qr.from([t]):typeof t=="string"?t=qr.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=qr.from(t.buffer,t.byteOffset,t.byteLength):qr.isBuffer(t)||(t=qr.from(t)),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 n=this._offset(e),i=n[0],s=n[1];for(;i<this._bufs.length;i++){let o=this._bufs[i];for(;s<o.length;)if(o.length-s>=t.length){let c=o.indexOf(t,s);if(c!==-1)return this._reverseOffset([i,c]);s=o.length-t.length+1}else{let c=this._reverseOffset([i,s]);if(this._match(c,t))return c;s++}s=0}return-1};Ge.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Ge.prototype[r]=function(n,i){return this.slice(n,n+i)[r](0,i)}:Ge.prototype[r]=function(n=0){return this.slice(n,n+t[r])[r](0)}})(e)})();Ge.prototype._isBufferList=function(e){return e instanceof Ge||Ge.isBufferList(e)};Ge.isBufferList=function(e){return e!=null&&e[Aw]};Cw.exports=Ge});var jh=w((fF,Rw)=>{"use strict";var Iw=Di(),{Buffer:_O}=ni(),Tw=(t,e,r)=>{let n=Iw.encode(t,e,r);return Tw.bytes=Iw.encode.bytes,e||_O.from(n)};Rw.exports=Tw});var Lw=w((hF,yu)=>{"use strict";var{Buffer:Bw}=ni(),Pw=Gi(),Nw=jh(),$h=8,Ow=10*1024;function Dw(t){t=t||{};let e=Math.max(t.poolSize||Ow,t.minPoolSize||$h),r=t.lengthEncoder||Nw;return async function*(i){let s=Bw.alloc(e),o=0;for await(let a of i){r(a.length,s,o);let c=s.slice(o,o+r.bytes);o+=r.bytes,s.length-o<$h&&(s=Bw.alloc(e),o=0),yield new Pw().append(c).append(a)}}}Dw.single=(t,e)=>{e=e||{};let r=e.lengthEncoder||Nw;return new Pw([r(t.length),t.slice()])};yu.exports=Dw;yu.exports.MIN_POOL_SIZE=$h;yu.exports.DEFAULT_POOL_SIZE=Ow});var Hh=w((dF,Uw)=>{"use strict";var kw=Di(),{Buffer:xO}=ni(),SO=t=>new Proxy({},{get:(e,r)=>r[0]==="l"?t[r]:t.get(parseInt(r))}),qw=t=>{let e=kw.decode(xO.isBuffer(t)?t:SO(t));return qw.bytes=kw.decode.bytes,e};Uw.exports=qw});var Vw=w((pF,gu)=>{"use strict";var{Buffer:AO}=ni(),zh=Gi(),CO=Hh(),Mw=8,Fw=1024*1024*4,Kw=AO.alloc(0),ii={LENGTH:"readLength",DATA:"readData"},IO={[ii.LENGTH]:(t,e,r,n)=>{e=e.append(t);let i;try{i=n.lengthDecoder(e)}catch(s){if(e.length>n.maxLengthLength)throw Object.assign(s,{message:"message length too long",code:"ERR_MSG_LENGTH_TOO_LONG"});if(s instanceof RangeError)return{mode:ii.LENGTH,buffer:e,chunk:void 0,state:void 0,data:void 0};throw s}if(i>n.maxDataLength)throw Object.assign(new Error("message data too long"),{code:"ERR_MSG_DATA_TOO_LONG"});return t=e.shallowSlice(n.lengthDecoder.bytes),e=new zh,n.onLength&&n.onLength(i),i<=0?(n.onData&&n.onData(Kw),{mode:ii.LENGTH,chunk:t,buffer:e,data:Kw}):{mode:ii.DATA,chunk:t,buffer:e,state:{dataLength:i},data:void 0}},[ii.DATA]:(t,e,r,n)=>{if(e=e.append(t),!r)throw new Error("state is required");if(e.length<r.dataLength)return{mode:ii.DATA,buffer:e,state:r,chunk:void 0,data:void 0};let{dataLength:i}=r,s=e.shallowSlice(0,i),o=e.length>i?e.shallowSlice(i):void 0;return e=new zh,n.onData&&n.onData(s),{mode:ii.LENGTH,chunk:o,buffer:e,state:void 0,data:s}}};function Gh(t){t=t||{};let e={lengthDecoder:t.lengthDecoder||CO,maxLengthLength:t.maxLengthLength||Mw,maxDataLength:t.maxDataLength||Fw,onLength:t.onLength,onData:t.onData};return async function*(n){let i=new zh,s=ii.LENGTH,o;for await(let a of n){let c=a;for(;c;){let u=IO[s](c,i,o,e);s=u.mode,c=u.chunk,i=u.buffer,o=u.state,u.data&&(yield u.data)}}if(i.length)throw Object.assign(new Error("unexpected end of input"),{code:"ERR_UNEXPECTED_EOF"})}}Gh.fromReader=(t,e)=>{let r=1,n={[Symbol.asyncIterator](){return this},next:async()=>{try{return await t.next(r)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}};return Gh({...e||{},onLength:s=>{r=s}})(n)};gu.exports=Gh;gu.exports.MAX_LENGTH_LENGTH=Mw;gu.exports.MAX_DATA_LENGTH=Fw});var Hw=w((yF,$w)=>{"use strict";var{Buffer:TO}=ni(),jw=(t,e,r)=>(e=e||TO.allocUnsafe(4),e.writeInt32BE(t,r),e);jw.bytes=4;$w.exports=jw});var Ww=w((gF,Gw)=>{"use strict";var zw=t=>{if(t.length<4)throw RangeError("Could not decode int32BE");return t.readInt32BE(0)};zw.bytes=4;Gw.exports=zw});var xa=w(Wi=>{"use strict";Wi.encode=Lw();Wi.decode=Vw();Wi.varintEncode=jh();Wi.varintDecode=Hh();Wi.int32BEEncode=Hw();Wi.int32BEDecode=Ww()});var Yh=w((vF,Yw)=>{var Wh=Gi();Yw.exports=t=>{let e=async function*(){let r=yield,n=new Wh;for await(let i of t){if(!r){r=yield n.append(i),n=new Wh;continue}for(n.append(i);n.length>=r;){let s=n.shallowSlice(0,r);if(n.consume(r),r=yield s,!r){n.length&&(r=yield n,n=new Wh);break}}}if(r)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}});var Qh=w((bF,Qw)=>{"use strict";var RO=()=>{let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t};Qw.exports=RO});var Sa=w((EF,Xw)=>{"use strict";var BO=Yh(),PO=rh(),NO=Qh();Xw.exports=t=>{let e=PO(),r=BO(t.source),n=NO(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:a=>i?Promise.reject(i):(n.resolve(a),s),source:r},rest:()=>e.end(),write:e.push,read:async()=>(await r.next()).value}}});var vu=w((wF,r2)=>{"use strict";var Zw=Be(),mu=Object.assign(Zw("libp2p:circuit:stream-handler"),{error:Zw("libp2p:circuit:stream-handler:err")}),Jw=xa(),OO=Sa(),{CircuitRelay:e2}=Ys(),t2=class{constructor({stream:e,maxLength:r=4096}){this.stream=e,this.shake=OO(this.stream),this.decoder=Jw.decode.fromReader(this.shake.reader,{maxDataLength:r})}async read(){let e=await this.decoder.next();if(e.value){let r=e2.decode(e.value.slice());return mu("read message type",r.type),r}mu("read received no value, closing stream"),this.close()}write(e){mu("write message type %s",e.type),this.shake.write(Jw.encode.single(e2.encode(e).finish()))}rest(){return this.shake.rest(),this.shake.stream}end(e){this.write(e),this.close()}close(){mu("closing the stream"),this.rest().sink([])}};r2.exports=t2});var Jh=w((_F,Zh)=>{"use strict";var n2=Be(),Aa=Object.assign(n2("libp2p:circuit:stop"),{error:n2("libp2p:circuit:stop:err")}),{CircuitRelay:Xh}=Ys(),DO=wa(),LO=vu(),{validateAddrs:kO}=Nh();Zh.exports.handleStop=function({connection:e,request:r,streamHandler:n}){try{kO(r,n)}catch(i){return Aa.error("invalid stop request via peer %s",e.remotePeer.toB58String(),i)}return Aa("stop request is valid"),n.write({type:Xh.Type.STATUS,code:Xh.Status.SUCCESS}),n.rest()};Zh.exports.stop=async function({connection:e,request:r}){let{stream:n}=await e.newStream([DO.relay]);Aa("starting stop request to %s",e.remotePeer.toB58String());let i=new LO({stream:n});i.write(r);let s=await i.read();if(!s)return i.close();if(s.code===Xh.Status.SUCCESS)return Aa("stop request to %s was successful",e.remotePeer.toB58String()),i.rest();Aa("stop request failed with code %d",s.code),i.close()}});var ed=w((xF,u2)=>{"use strict";var i2=Be(),xn=Object.assign(i2("libp2p:circuit:hop"),{error:i2("libp2p:circuit:hop:err")}),s2=pe(),qO=Rt(),{validateAddrs:UO}=Nh(),o2=vu(),{CircuitRelay:sr}=Ys(),{pipe:MO}=rn(),{codes:a2}=ze(),{stop:FO}=Jh(),c2=wa();async function KO({connection:t,request:e,streamHandler:r,circuit:n}){if(!n._options.hop.enabled)return xn("HOP request received but we are not acting as a relay"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_CANT_SPEAK_RELAY});try{UO(e,r)}catch(u){return xn.error("invalid hop request via peer %s",t.remotePeer.toB58String(),u)}if(!e.dstPeer){xn("HOP request received but we do not receive a dstPeer");return}let i=new qO(e.dstPeer.id),s=n._connectionManager.get(i);if(!s&&!n._options.hop.active)return xn("HOP request received but we are not connected to the destination peer"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_NO_CONN_TO_DST});if(!s)return;let o={type:sr.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},a;try{a=await FO({connection:s,request:o})}catch(u){return xn.error(u)}xn("hop request from %s is valid",t.remotePeer.toB58String()),r.write({type:sr.Type.STATUS,code:sr.Status.SUCCESS});let c=r.rest();return MO(c,a,c)}async function VO({connection:t,request:e}){let{stream:r}=await t.newStream([c2.relay]),n=new o2({stream:r});n.write(e);let i=await n.read();if(!i)throw s2(new Error("HOP request had no response"),a2.ERR_HOP_REQUEST_FAILED);if(i.code===sr.Status.SUCCESS)return xn("hop request was successful"),n.rest();throw xn("hop request failed with code %d, closing stream",i.code),n.close(),s2(new Error(`HOP request failed with code ${i.code}`),a2.ERR_HOP_REQUEST_FAILED)}async function jO({connection:t}){let{stream:e}=await t.newStream([c2.relay]),r=new o2({stream:e});r.write({type:sr.Type.CAN_HOP});let n=await r.read();return await r.close(),!(!n||n.code!==sr.Status.SUCCESS)}function $O({connection:t,streamHandler:e,circuit:r}){let n=r._options.hop.enabled;xn("can hop (%s) request from %s",n,t.remotePeer.toB58String()),e.end({type:sr.Type.STATUS,code:n?sr.Status.SUCCESS:sr.Status.HOP_CANT_SPEAK_RELAY})}u2.exports={handleHop:KO,hop:VO,canHop:jO,handleCanHop:$O}});var y2=w((SF,p2)=>{"use strict";var l2=Be(),Sn=Object.assign(l2("libp2p:circuit"),{error:l2("libp2p:circuit:err")}),HO=pe(),zO=FE(),{Multiaddr:Ca}=qt(),f2=Rt(),{CircuitRelay:Ia}=Ys(),{codes:GO}=ze(),h2=ZE(),{relay:WO}=wa(),YO=tw(),{handleCanHop:QO,handleHop:XO,hop:ZO}=ed(),{handleStop:JO}=Jh(),eD=vu(),tD=Symbol.for("@libp2p/js-libp2p-circuit/circuit"),d2=class{constructor({libp2p:e,upgrader:r}){this._dialer=e.dialer,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._upgrader=r,this._options=e._config.relay,this._libp2p=e,this.peerId=e.peerId,this._registrar.handle(WO,this._onProtocol.bind(this))}async _onProtocol({connection:e,stream:r}){let n=new eD({stream:r}),i=await n.read();if(!i)return;let s=this,o;switch(i.type){case Ia.Type.CAN_HOP:{Sn("received CAN_HOP request from %s",e.remotePeer.toB58String()),await QO({circuit:s,connection:e,streamHandler:n});break}case Ia.Type.HOP:{Sn("received HOP request from %s",e.remotePeer.toB58String()),o=await XO({connection:e,request:i,streamHandler:n,circuit:s});break}case Ia.Type.STOP:{Sn("received STOP request from %s",e.remotePeer.toB58String()),o=await JO({connection:e,request:i,streamHandler:n});break}default:Sn("Request of type %s not supported",i.type)}if(o){let a=new Ca(i.dstPeer.addrs[0]),c=new Ca(i.srcPeer.addrs[0]),u=h2({stream:o,remoteAddr:a,localAddr:c}),l=i.type===Ia.Type.HOP?"relay":"inbound";Sn("new %s connection %s",l,u.remoteAddr);let f=await this._upgrader.upgradeInbound(u);Sn("%s connection %s upgraded",l,u.remoteAddr),this.handler&&this.handler(f)}}async dial(e,r){let n=e.toString().split("/p2p-circuit"),i=new Ca(n[0]),s=new Ca(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(!o||!a){let h="Circuit relay dial failed as addresses did not have peer id";throw Sn.error(h),HO(new Error(h),GO.ERR_RELAYED_DIAL)}let c=f2.createFromB58String(o),u=f2.createFromB58String(a),l=!1,f=this._connectionManager.get(c);f||(f=await this._dialer.connectToPeer(i,r),l=!0);try{let h=await ZO({connection:f,request:{type:Ia.Type.HOP,srcPeer:{id:this.peerId.toBytes(),addrs:this._libp2p.multiaddrs.map(g=>g.bytes)},dstPeer:{id:u.toBytes(),addrs:[new Ca(s).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.peerId.toB58String()}`),d=h2({stream:h,remoteAddr:e,localAddr:p});return Sn("new outbound connection %s",d.remoteAddr),this._upgrader.upgradeOutbound(d)}catch(h){throw Sn.error("Circuit relay dial failed",h),l&&await f.close(),h}}createListener(e,r){return typeof e=="function"&&(r=e,e={}),this.handler=r,YO(this._libp2p)}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>zO.Circuit.matches(r))}get[Symbol.toStringTag](){return"Circuit"}static isTransport(e){return Boolean(e&&e[tD])}};p2.exports=d2});var td=w((AF,g2)=>{"use strict";var{CID:rD}=(gs(),Ro),{sha256:nD}=(Ai(),Vn);g2.exports.namespaceToCid=async t=>{let e=new TextEncoder().encode(t),r=await nD.digest(e);return rD.createV0(r)}});var _2=w((CF,w2)=>{"use strict";var m2=Be(),rd=Object.assign(m2("libp2p:auto-relay"),{error:m2("libp2p:auto-relay:err")}),{fromString:iD}=(It(),Nt),{toString:sD}=(Tt(),Ot),{Multiaddr:oD}=qt(),{relay:aD}=wa(),{canHop:cD}=ed(),{namespaceToCid:uD}=td(),{CIRCUIT_PROTO_CODE:lD,HOP_METADATA_KEY:v2,HOP_METADATA_VALUE:b2,RELAY_RENDEZVOUS_NS:fD}=ru(),E2=class{constructor({libp2p:e,maxListeners:r=1,onError:n}){this._libp2p=e,this._peerId=e.peerId,this._peerStore=e.peerStore,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._addressSorter=e.dialer.addressSorter,this.maxListeners=r,this._listenRelays=new Set,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this._peerStore.on("change:protocols",this._onProtocolChange),this._connectionManager.on("peer:disconnect",this._onPeerDisconnected),this._onError=(i,s)=>{rd.error(s||i),n&&n(i,s)}}async _onProtocolChange({peerId:e,protocols:r}){let n=e.toB58String(),i=r.find(s=>s===aD);if(!i&&this._listenRelays.has(n)){await this._removeListenRelay(n);return}else if(!i||this._listenRelays.has(n))return;try{let s=this._connectionManager.get(e);if(!s)return;if(s.remoteAddr.protoCodes().includes(lD)){rd(`relayed connection to ${n} will not be used to hop on`);return}await cD({connection:s})&&(await this._peerStore.metadataBook.setValue(e,v2,iD(b2)),await this._addListenRelay(s,n))}catch(s){this._onError(s)}}_onPeerDisconnected(e){let n=e.remotePeer.toB58String();!this._listenRelays.has(n)||this._removeListenRelay(n).catch(i=>{rd.error(i)})}async _addListenRelay(e,r){if(this._listenRelays.size>=this.maxListeners)return;let n=await this._peerStore.addressBook.getMultiaddrsForPeer(e.remotePeer,this._addressSorter);if(!n||!n.length)return;let i=`${n[0].toString()}/p2p-circuit`;this._listenRelays.add(r);try{await this._transportManager.listen([new oD(i)])}catch(s){this._onError(s),this._listenRelays.delete(r)}}async _removeListenRelay(e){this._listenRelays.delete(e)&&await this._listenOnAvailableHopRelays([e])}async _listenOnAvailableHopRelays(e=[]){if(this._listenRelays.size>=this.maxListeners)return;let r=[];for await(let{id:n,metadata:i}of this._peerStore.getPeers()){let s=n.toB58String();if(this._listenRelays.has(s)||e.includes(s))continue;let o=i.get(v2);if(!o||sD(o)!==b2)continue;let a=this._connectionManager.get(n);if(!a){r.push(n);continue}if(await this._addListenRelay(a,s),this._listenRelays.size>=this.maxListeners)return}for(let n of r)if(await this._tryToListenOnRelay(n),this._listenRelays.size>=this.maxListeners)return;try{let n=await uD(fD);for await(let i of this._libp2p.contentRouting.findProviders(n)){if(!i.multiaddrs.length)continue;let s=i.id;if(await this._peerStore.addressBook.add(s,i.multiaddrs),await this._tryToListenOnRelay(s),this._listenRelays.size>=this.maxListeners)return}}catch(n){this._onError(n)}}async _tryToListenOnRelay(e){try{let r=await this._libp2p.dial(e);await this._addListenRelay(r,e.toB58String())}catch(r){this._onError(r,`could not connect and listen on known hop relay ${e.toB58String()}`)}}};w2.exports=E2});var I2=w((IF,C2)=>{"use strict";var x2=Be(),S2=Object.assign(x2("libp2p:relay"),{error:x2("libp2p:relay:err")}),{codes:hD}=ze(),{setDelayedInterval:dD,clearDelayedInterval:pD}=oh(),yD=_2(),{namespaceToCid:gD}=td(),{RELAY_RENDEZVOUS_NS:mD}=ru(),A2=class{constructor(e){this._libp2p=e,this._options={...e._config.relay},this._autoRelay=this._options.autoRelay.enabled&&new yD({libp2p:e,...this._options.autoRelay}),this._advertiseService=this._advertiseService.bind(this)}start(){this._options.hop.enabled&&this._options.advertise.enabled&&(this._timeout=dD(this._advertiseService,this._options.advertise.ttl,this._options.advertise.bootDelay))}stop(){pD(this._timeout)}async _advertiseService(){try{let e=await gD(mD);await this._libp2p.contentRouting.provide(e)}catch(e){e.code===hD.ERR_NO_ROUTERS_AVAILABLE?(S2.error("a content router, such as a DHT, must be provided in order to advertise the relay service",e),this.stop()):S2.error(e)}}};C2.exports=A2});var id=w((TF,nd)=>{var{AbortController:vD}=globalThis;function T2(t){let e=new vD;function r(){e.abort();for(let n of t)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of t)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return e.signal}nd.exports=T2;nd.exports.anySignal=T2});var N2=w((BF,P2)=>{var R2=eh(),B2=Qh();P2.exports=class{constructor(){this._buffer=new R2,this._waitingConsumers=new R2}push(e){let{promise:r,resolve:n}=B2();return this._buffer.push({chunk:e,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let e=this._waitingConsumers.shift(),r=this._buffer.shift();e.resolve(r.chunk),r.resolve()}}shift(){let{promise:e,resolve:r}=B2();return this._waitingConsumers.push({resolve:r}),this._consume(),e}isEmpty(){return this._buffer.isEmpty()}}});var D2=w((PF,O2)=>{"use strict";O2.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var L2=w(()=>{});var M2=w((DF,U2)=>{"use strict";var k2=L2(),q2=/\s+at.*(?:\(|\s)(.*)\)?/,bD=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/,ED=typeof k2.homedir=="undefined"?"":k2.homedir();U2.exports=(t,e)=>(e=Object.assign({pretty:!1},e),t.replace(/\\/g,"/").split(`
41
+ `).filter(r=>{let n=r.match(q2);if(n===null||!n[1])return!0;let i=n[1];return i.includes(".app/Contents/Resources/electron.asar")||i.includes(".app/Contents/Resources/default_app.asar")?!1:!bD.test(i)}).filter(r=>r.trim()!=="").map(r=>e.pretty?r.replace(q2,(n,i)=>n.replace(i,i.replace(ED,"~"))):r).join(`
42
+ `))});var V2=w((LF,K2)=>{"use strict";var wD=D2(),_D=M2(),xD=t=>t.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,""),F2=class extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError(`Expected input to be an Array, got ${typeof e}`);e=[...e].map(n=>n instanceof Error?n:n!==null&&typeof n=="object"?Object.assign(new Error(n.message),n):new Error(n));let r=e.map(n=>typeof n.stack=="string"?xD(_D(n.stack)):String(n)).join(`
43
+ `);r=`
44
+ `+wD(r,4);super(r);this.name="AggregateError",Object.defineProperty(this,"_errors",{value:e})}*[Symbol.iterator](){for(let e of this._errors)yield e}};K2.exports=F2});var j2=w((kF,od)=>{"use strict";var sd=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ta=class{static fn(e){return(...r)=>new Ta((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new sd(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ta.prototype,Promise.prototype);od.exports=Ta;od.exports.CancelError=sd});var H2=w((qF,bu)=>{"use strict";var $2=V2(),SD=j2(),ad=class extends Error{},AD=(t,e)=>new SD((r,n,i)=>{let{count:s,filter:o=()=>!0}=e;if(!Number.isFinite(s)){n(new TypeError(`Expected a finite number, got ${typeof e.count}`));return}let a=[],c=[],u=0,l=!1,f=new Set,h=()=>(a.length===s&&(r(a),l=!0),u-c.length<s&&(n(new $2(c)),l=!0),l),p=()=>{for(let d of t)!f.has(d)&&typeof d.cancel=="function"&&d.cancel()};i(p);for(let d of t)u++,(async()=>{try{let g=await d;if(l)return;if(!o(g))throw new ad("Value does not satisfy filter");a.push(g)}catch(g){c.push(g)}finally{f.add(d),!l&&h()&&p()}})();s>u&&(n(new RangeError(`Expected input to contain at least ${e.count} items, but contains ${u} items`)),p())});bu.exports=AD;bu.exports.AggregateError=$2;bu.exports.FilterError=ad});var z2=w((UF,ud)=>{"use strict";var cd=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Ra=class{static fn(e){return(...r)=>new Ra((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new cd(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Ra.prototype,Promise.prototype);ud.exports=Ra;ud.exports.CancelError=cd});var W2=w((MF,ld)=>{"use strict";var G2=H2(),CD=z2();ld.exports=(t,e)=>{let r=G2(t,{...e,count:1});return CD.fn(async n=>{n(()=>{r.cancel()});let[i]=await r;return i})()};ld.exports.AggregateError=G2.AggregateError});var Z2=w((FF,X2)=>{"use strict";var ID=pe(),{anySignal:TD}=id(),RD=N2(),BD=W2(),{setMaxListeners:Y2}=Qt(),{codes:PD}=ze(),Q2=class{constructor({addrs:e,dialAction:r,dialer:n}){this.addrs=e,this.dialer=n,this.dialAction=r}async run(e={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw ID(new Error("No dial tokens available"),PD.ERR_NO_DIAL_TOKENS);let n=new RD;r.forEach(o=>n.push(o));let i=this.addrs.map(()=>{let o=new AbortController;try{Y2&&Y2(1/0,o.signal)}catch{}return o}),s=0;try{return await BD(this.addrs.map(async(o,a)=>{let c=await n.shift(),u;try{let l=i[a].signal;u=await this.dialAction(o,{...e,signal:e.signal?TD([l,e.signal]):l}),i.splice(a,1)}finally{s++,this.addrs.length-s>=r.length?n.push(c):this.dialer.releaseToken(r.splice(r.indexOf(c),1)[0])}return u}))}finally{i.map(o=>o.abort()),r.forEach(o=>this.dialer.releaseToken(o))}}};X2.exports=Q2});var s_=w((KF,i_)=>{"use strict";var J2=Be(),eo=Object.assign(J2("libp2p:dialer"),{error:J2("libp2p:dialer:err")}),fd=pe(),{Multiaddr:hd}=qt(),{TimeoutController:ND}=Jf(),{AbortError:OD}=Ph(),{anySignal:DD}=id(),{setMaxListeners:e_}=Qt(),LD=Z2(),{publicAddressesFirst:kD}=dh(),qD=ah(),t_=Sh(),{codes:Eu}=ze(),{DIAL_TIMEOUT:UD,MAX_PARALLEL_DIALS:MD,MAX_PER_PEER_DIALS:FD,MAX_ADDRS_TO_DIAL:KD}=tu(),r_="dialler",VD="pending-dials",jD="pending-dial-targets",n_=class{constructor({transportManager:e,peerStore:r,addressSorter:n=kD,maxParallelDials:i=MD,maxAddrsToDial:s=KD,dialTimeout:o=UD,maxDialsPerPeer:a=FD,resolvers:c={},metrics:u}){this.transportManager=e,this.peerStore=r,this.addressSorter=n,this.maxParallelDials=i,this.maxAddrsToDial=s,this.timeout=o,this.maxDialsPerPeer=a,this.tokens=[...new Array(i)].map((l,f)=>f),this._pendingDials=t_({component:r_,metric:VD,metrics:u}),this._pendingDialTargets=t_({component:r_,metric:jD,metrics:u});for(let[l,f]of Object.entries(c))hd.resolvers.set(l,f)}destroy(){for(let e of this._pendingDials.values())try{e.controller.abort()}catch(r){eo.error(r)}this._pendingDials.clear();for(let e of this._pendingDialTargets.values())e.reject(new OD("Dialer was destroyed"));this._pendingDialTargets.clear()}async connectToPeer(e,r={}){let n=await this._createCancellableDialTarget(e);if(!n.addrs.length)throw fd(new Error("The dial request has no valid addresses"),Eu.ERR_NO_VALID_ADDRESSES);let i=this._pendingDials.get(n.id)||this._createPendingDial(n,r);try{let s=await i.promise;return eo("dial succeeded to %s",n.id),s}catch(s){throw i.controller.signal.aborted&&(s.code=Eu.ERR_TIMEOUT),eo.error(s),s}finally{i.destroy()}}async _createCancellableDialTarget(e){let r=`${parseInt(String(Math.random()*1e9),10).toString()+Date.now()}`,n=new Promise((i,s)=>{this._pendingDialTargets.set(r,{resolve:i,reject:s})});try{return await Promise.race([this._createDialTarget(e),n])}finally{this._pendingDialTargets.delete(r)}}async _createDialTarget(e){let{id:r,multiaddrs:n}=qD(e);n&&await this.peerStore.addressBook.add(r,n);let i=await this.peerStore.addressBook.getMultiaddrsForPeer(r,this.addressSorter)||[];hd.isMultiaddr(e)&&(i=i.filter(a=>!e.equals(a)),i.unshift(e));let s=[];for(let a of i)(await this._resolve(a)).forEach(u=>s.push(u));let o=s.filter(a=>this.transportManager.transportForMultiaddr(a));if(o.length>this.maxAddrsToDial)throw await this.peerStore.delete(r),fd(new Error("dial with more addresses than allowed"),Eu.ERR_TOO_MANY_ADDRESSES);return{id:r.toB58String(),addrs:o}}_createPendingDial(e,r={}){let n=(u,l)=>{if(l.signal.aborted)throw fd(new Error("already aborted"),Eu.ERR_ALREADY_ABORTED);return this.transportManager.dial(u,l)},i=new LD({addrs:e.addrs,dialAction:n,dialer:this}),s=new ND(this.timeout),o=[s.signal];r.signal&&o.push(r.signal);let a=DD(o);try{e_&&e_(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this._pendingDials.delete(e.id)}};return this._pendingDials.set(e.id,c),c}getTokens(e){let r=Math.min(e,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return eo("%d tokens request, returning %d, %d remaining",e,r,this.tokens.length),n}releaseToken(e){this.tokens.indexOf(e)>-1||(eo("token %d released",e),this.tokens.push(e))}async _resolve(e){if(!e.protoNames().includes("dnsaddr"))return[e];let n=await this._resolveRecord(e);return(await Promise.all(n.map(o=>this._resolve(o)))).flat().reduce((o,a)=>(o.find(c=>c.equals(a))||o.push(a),o),[])}async _resolveRecord(e){try{return e=new hd(e.toString()),await e.resolve()}catch(r){return eo.error(`multiaddr ${e} could not be resolved`),[]}}};i_.exports=n_});var a_=w((VF,o_)=>{"use strict";function $D(t){return t>=55296&&t<=56319}function HD(t){return t>=56320&&t<=57343}o_.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],$D(o)&&HD(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var u_=w((jF,c_)=>{"use strict";function zD(t){return t>=55296&&t<=56319}function GD(t){return t>=56320&&t<=57343}c_.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),GD(i)?s!=null&&zD(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var f_=w(($F,l_)=>{"use strict";var WD=a_(),YD=u_();l_.exports=WD.bind(null,YD)});var p_=w((HF,d_)=>{"use strict";var QD=f_(),XD=/[\/\?<>\\:\*\|"]/g,ZD=/[\x00-\x1f\x80-\x9f]/g,JD=/^\.+$/,eL=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,tL=/[\. ]+$/;function h_(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(XD,e).replace(ZD,e).replace(JD,e).replace(eL,e).replace(tL,e);return QD(r,255)}d_.exports=function(t,e){var r=e&&e.replacement||"",n=h_(t,r);return r===""?n:h_(n,"")}});var m_=w((zF,g_)=>{"use strict";_s();var wu=be(),{toString:to}=(Tt(),Ot),{fromString:y_}=(It(),Nt);g_.exports={createCipheriv:(t,e,r)=>{let n=wu.cipher.createCipher("AES-CTR",to(e,"ascii"));return n.start({iv:to(r,"ascii")}),{update:i=>(n.update(wu.util.createBuffer(to(i,"ascii"))),y_(n.output.getBytes(),"ascii"))}},createDecipheriv:(t,e,r)=>{let n=wu.cipher.createDecipher("AES-CTR",to(e,"ascii"));return n.start({iv:to(r,"ascii")}),{update:i=>(n.update(wu.util.createBuffer(to(i,"ascii"))),y_(n.output.getBytes(),"ascii"))}}}});var E_=w((GF,b_)=>{"use strict";var rL=pe(),v_={16:"aes-128-ctr",32:"aes-256-ctr"};b_.exports=function(t){let e=v_[t.length];if(!e){let r=Object.entries(v_).map(([n,i])=>`${n} (${i})`).join(" / ");throw rL(new Error(`Invalid key length ${t.length} bytes. Must be ${r}`),"ERR_INVALID_KEY_LENGTH")}return e}});var x_=w(__=>{"use strict";var w_=m_(),nL=E_();__.create=async function(t,e){let r=nL(t),n=w_.createCipheriv(r,t,e),i=w_.createDecipheriv(r,t,e);return{async encrypt(o){return n.update(o)},async decrypt(o){return i.update(o)}}}});var C_=w((YF,A_)=>{"use strict";var iL=Ol(),sL=$e(),oL=pe(),S_={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function aL(t,e,r,n,i){let s=S_[i];if(!s){let a=Object.keys(S_).join(" / ");throw oL(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=iL(t,e,r,n,s);return sL.encode64(o)}A_.exports=aL});var _u=w(ro=>{"use strict";var cL=wf(),uL=x_(),lL=Lc();ro.aes=uL;ro.hmac=cL;ro.keys=lL;ro.randomBytes=_c();ro.pbkdf2=C_()});var B_=w((XF,R_)=>{var no=be();Un();$e();var Z=no.asn1,io=R_.exports=no.pkcs7asn1=no.pkcs7asn1||{};no.pkcs7=no.pkcs7||{};no.pkcs7.asn1=io;var I_={name:"ContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};io.contentInfoValidator=I_;var T_={name:"EncryptedContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};io.envelopedDataValidator={name:"EnvelopedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(T_)};io.encryptedDataValidator={name:"EncryptedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"}].concat(T_)};var fL={name:"SignerInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};io.signedDataValidator={name:"SignedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},I_,{name:"SignedData.Certificates",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,capture:"signerInfos",optional:!0,value:[fL]}]};io.recipientInfoValidator={name:"RecipientInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}});var N_=w((ZF,P_)=>{var Yi=be();$e();Yi.mgf=Yi.mgf||{};var hL=P_.exports=Yi.mgf.mgf1=Yi.mgf1=Yi.mgf1||{};hL.create=function(t){var e={generate:function(r,n){for(var i=new Yi.util.ByteBuffer,s=Math.ceil(n/t.digestLength),o=0;o<s;o++){var a=new Yi.util.ByteBuffer;a.putInt32(o),t.start(),t.update(r+a.getBytes()),i.putBuffer(t.digest())}return i.truncate(i.length()-n),i.getBytes()}};return e}});var D_=w((JF,O_)=>{var xu=be();N_();O_.exports=xu.mgf=xu.mgf||{};xu.mgf.mgf1=xu.mgf1});var k_=w((eK,L_)=>{var Qi=be();wi();$e();var dL=L_.exports=Qi.pss=Qi.pss||{};dL.create=function(t){arguments.length===3&&(t={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var e=t.md,r=t.mgf,n=e.digestLength,i=t.salt||null;typeof i=="string"&&(i=Qi.util.createBuffer(i));var s;if("saltLength"in t)s=t.saltLength;else if(i!==null)s=i.length();else throw new Error("Salt length not specified or specific salt not given.");if(i!==null&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=t.prng||Qi.random,a={};return a.encode=function(c,u){var l,f=u-1,h=Math.ceil(f/8),p=c.digest().getBytes();if(h<n+s+2)throw new Error("Message is too long to encrypt.");var d;i===null?d=o.getBytesSync(s):d=i.bytes();var g=new Qi.util.ByteBuffer;g.fillWithByte(0,8),g.putBytes(p),g.putBytes(d),e.start(),e.update(g.getBytes());var m=e.digest().getBytes(),x=new Qi.util.ByteBuffer;x.fillWithByte(0,h-s-n-2),x.putByte(1),x.putBytes(d);var R=x.getBytes(),L=h-n-1,H=r.generate(m,L),q="";for(l=0;l<L;l++)q+=String.fromCharCode(R.charCodeAt(l)^H.charCodeAt(l));var k=65280>>8*h-f&255;return q=String.fromCharCode(q.charCodeAt(0)&~k)+q.substr(1),q+m+String.fromCharCode(188)},a.verify=function(c,u,l){var f,h=l-1,p=Math.ceil(h/8);if(u=u.substr(-p),p<n+s+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(u.charCodeAt(p-1)!==188)throw new Error("Encoded message does not end in 0xBC.");var d=p-n-1,g=u.substr(0,d),m=u.substr(d,n),x=65280>>8*p-h&255;if((g.charCodeAt(0)&x)!=0)throw new Error("Bits beyond keysize not zero as expected.");var R=r.generate(m,d),L="";for(f=0;f<d;f++)L+=String.fromCharCode(g.charCodeAt(f)^R.charCodeAt(f));L=String.fromCharCode(L.charCodeAt(0)&~x)+L.substr(1);var H=p-n-s-2;for(f=0;f<H;f++)if(L.charCodeAt(f)!==0)throw new Error("Leftmost octets not zero as expected");if(L.charCodeAt(H)!==1)throw new Error("Inconsistent PSS signature, 0x01 marker not found");var q=L.substr(-s),k=new Qi.util.ByteBuffer;k.fillWithByte(0,8),k.putBytes(c),k.putBytes(q),e.start(),e.update(k.getBytes());var J=e.digest().getBytes();return m===J},a}});var pd=w((tK,K_)=>{var oe=be();_s();Un();cc();Mn();D_();bs();hc();k_();Uo();$e();var y=oe.asn1,G=K_.exports=oe.pki=oe.pki||{},Ce=G.oids,ft={};ft.CN=Ce.commonName;ft.commonName="CN";ft.C=Ce.countryName;ft.countryName="C";ft.L=Ce.localityName;ft.localityName="L";ft.ST=Ce.stateOrProvinceName;ft.stateOrProvinceName="ST";ft.O=Ce.organizationName;ft.organizationName="O";ft.OU=Ce.organizationalUnitName;ft.organizationalUnitName="OU";ft.E=Ce.emailAddress;ft.emailAddress="E";var q_=oe.pki.rsa.publicKeyValidator,pL={name:"Certificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},q_,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},yL={name:"rsapss",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},gL={name:"CertificationRequestInfo",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},q_,{name:"CertificationRequestInfo.attributes",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:y.Class.UNIVERSAL,type:y.Type.SET,constructed:!0}]}]}]},mL={name:"CertificationRequest",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[gL,{name:"CertificationRequest.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};G.RDNAttributesAsArray=function(t,e){for(var r=[],n,i,s,o=0;o<t.value.length;++o){n=t.value[o];for(var a=0;a<n.value.length;++a)s={},i=n.value[a],s.type=y.derToOid(i.value[0].value),s.value=i.value[1].value,s.valueTagClass=i.value[1].type,s.type in Ce&&(s.name=Ce[s.type],s.name in ft&&(s.shortName=ft[s.name])),e&&(e.update(s.type),e.update(s.value)),r.push(s)}return r};G.CRIAttributesAsArray=function(t){for(var e=[],r=0;r<t.length;++r)for(var n=t[r],i=y.derToOid(n.value[0].value),s=n.value[1].value,o=0;o<s.length;++o){var a={};if(a.type=i,a.value=s[o].value,a.valueTagClass=s[o].type,a.type in Ce&&(a.name=Ce[a.type],a.name in ft&&(a.shortName=ft[a.name])),a.type===Ce.extensionRequest){a.extensions=[];for(var c=0;c<a.value.length;++c)a.extensions.push(G.certificateExtensionFromAsn1(a.value[c]))}e.push(a)}return e};function si(t,e){typeof e=="string"&&(e={shortName:e});for(var r=null,n,i=0;r===null&&i<t.attributes.length;++i)n=t.attributes[i],(e.type&&e.type===n.type||e.name&&e.name===n.name||e.shortName&&e.shortName===n.shortName)&&(r=n);return r}var Su=function(t,e,r){var n={};if(t!==Ce["RSASSA-PSS"])return n;r&&(n={hash:{algorithmOid:Ce.sha1},mgf:{algorithmOid:Ce.mgf1,hash:{algorithmOid:Ce.sha1}},saltLength:20});var i={},s=[];if(!y.validate(e,yL,i,s)){var o=new Error("Cannot read RSASSA-PSS parameter block.");throw o.errors=s,o}return i.hashOid!==void 0&&(n.hash=n.hash||{},n.hash.algorithmOid=y.derToOid(i.hashOid)),i.maskGenOid!==void 0&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=y.derToOid(i.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=y.derToOid(i.maskGenHashOid)),i.saltLength!==void 0&&(n.saltLength=i.saltLength.charCodeAt(0)),n},Au=function(t){switch(Ce[t.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return oe.md.sha1.create();case"md5WithRSAEncryption":return oe.md.md5.create();case"sha256WithRSAEncryption":return oe.md.sha256.create();case"sha384WithRSAEncryption":return oe.md.sha384.create();case"sha512WithRSAEncryption":return oe.md.sha512.create();case"RSASSA-PSS":return oe.md.sha256.create();default:var e=new Error("Could not compute "+t.type+" digest. Unknown signature OID.");throw e.signatureOid=t.signatureOid,e}},U_=function(t){var e=t.certificate,r;switch(e.signatureOid){case Ce.sha1WithRSAEncryption:case Ce.sha1WithRSASignature:break;case Ce["RSASSA-PSS"]:var n,i;if(n=Ce[e.signatureParameters.mgf.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported MGF hash function.");throw s.oid=e.signatureParameters.mgf.hash.algorithmOid,s.name=n,s}if(i=Ce[e.signatureParameters.mgf.algorithmOid],i===void 0||oe.mgf[i]===void 0){var s=new Error("Unsupported MGF function.");throw s.oid=e.signatureParameters.mgf.algorithmOid,s.name=i,s}if(i=oe.mgf[i].create(oe.md[n].create()),n=Ce[e.signatureParameters.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported RSASSA-PSS hash function.");throw s.oid=e.signatureParameters.hash.algorithmOid,s.name=n,s}r=oe.pss.create(oe.md[n].create(),i,e.signatureParameters.saltLength);break}return e.publicKey.verify(t.md.digest().getBytes(),t.signature,r)};G.certificateFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE"&&n.type!=="X509 CERTIFICATE"&&n.type!=="TRUSTED CERTIFICATE"){var i=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificateFromAsn1(s,e)};G.certificateToPem=function(t,e){var r={type:"CERTIFICATE",body:y.toDer(G.certificateToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyFromPem=function(t){var e=oe.pem.decode(t)[0];if(e.type!=="PUBLIC KEY"&&e.type!=="RSA PUBLIC KEY"){var r=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert public key from PEM; PEM is encrypted.");var n=y.fromDer(e.body);return G.publicKeyFromAsn1(n)};G.publicKeyToPem=function(t,e){var r={type:"PUBLIC KEY",body:y.toDer(G.publicKeyToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyToRSAPublicKeyPem=function(t,e){var r={type:"RSA PUBLIC KEY",body:y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.getPublicKeyFingerprint=function(t,e){e=e||{};var r=e.md||oe.md.sha1.create(),n=e.type||"RSAPublicKey",i;switch(n){case"RSAPublicKey":i=y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes();break;case"SubjectPublicKeyInfo":i=y.toDer(G.publicKeyToAsn1(t)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+e.type+'".')}r.start(),r.update(i);var s=r.digest();if(e.encoding==="hex"){var o=s.toHex();return e.delimiter?o.match(/.{2}/g).join(e.delimiter):o}else{if(e.encoding==="binary")return s.getBytes();if(e.encoding)throw new Error('Unknown encoding "'+e.encoding+'".')}return s};G.certificationRequestFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE REQUEST"){var i=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificationRequestFromAsn1(s,e)};G.certificationRequestToPem=function(t,e){var r={type:"CERTIFICATE REQUEST",body:y.toDer(G.certificationRequestToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.createCertificate=function(){var t={};return t.version=2,t.serialNumber="00",t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.validity={},t.validity.notBefore=new Date,t.validity.notAfter=new Date,t.issuer={},t.issuer.getField=function(e){return si(t.issuer,e)},t.issuer.addField=function(e){Sr([e]),t.issuer.attributes.push(e)},t.issuer.attributes=[],t.issuer.hash=null,t.subject={},t.subject.getField=function(e){return si(t.subject,e)},t.subject.addField=function(e){Sr([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.extensions=[],t.publicKey=null,t.md=null,t.setSubject=function(e,r){Sr(e),t.subject.attributes=e,delete t.subject.uniqueId,r&&(t.subject.uniqueId=r),t.subject.hash=null},t.setIssuer=function(e,r){Sr(e),t.issuer.attributes=e,delete t.issuer.uniqueId,r&&(t.issuer.uniqueId=r),t.issuer.hash=null},t.setExtensions=function(e){for(var r=0;r<e.length;++r)M_(e[r],{cert:t});t.extensions=e},t.getExtension=function(e){typeof e=="string"&&(e={name:e});for(var r=null,n,i=0;r===null&&i<t.extensions.length;++i)n=t.extensions[i],(e.id&&n.id===e.id||e.name&&n.name===e.name)&&(r=n);return r},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.tbsCertificate=G.getTBSCertificate(t);var s=y.toDer(t.tbsCertificate);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(e){var r=!1;if(!t.issued(e)){var n=e.issuer,i=t.subject,s=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw s.expectedIssuer=i.attributes,s.actualIssuer=n.attributes,s}var o=e.md;if(o===null){o=Au({signatureOid:e.signatureOid,type:"certificate"});var a=e.tbsCertificate||G.getTBSCertificate(e),c=y.toDer(a);o.update(c.getBytes())}return o!==null&&(r=U_({certificate:t,md:o,signature:e.signature})),r},t.isIssuer=function(e){var r=!1,n=t.issuer,i=e.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){r=!0;for(var s,o,a=0;r&&a<n.attributes.length;++a)s=n.attributes[a],o=i.attributes[a],(s.type!==o.type||s.value!==o.value)&&(r=!1)}return r},t.issued=function(e){return e.isIssuer(t)},t.generateSubjectKeyIdentifier=function(){return G.getPublicKeyFingerprint(t.publicKey,{type:"RSAPublicKey"})},t.verifySubjectKeyIdentifier=function(){for(var e=Ce.subjectKeyIdentifier,r=0;r<t.extensions.length;++r){var n=t.extensions[r];if(n.id===e){var i=t.generateSubjectKeyIdentifier().getBytes();return oe.util.hexToBytes(n.subjectKeyIdentifier)===i}}return!1},t};G.certificateFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,pL,r,n)){var i=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificate();o.version=r.certVersion?r.certVersion.charCodeAt(0):0;var a=oe.util.createBuffer(r.certSerialNumber);o.serialNumber=a.toHex(),o.signatureOid=oe.asn1.derToOid(r.certSignatureOid),o.signatureParameters=Su(o.signatureOid,r.certSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.certinfoSignatureOid),o.siginfo.parameters=Su(o.siginfo.algorithmOid,r.certinfoSignatureParams,!1),o.signature=r.certSignature;var c=[];if(r.certValidity1UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity1UTCTime)),r.certValidity2GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity2GeneralizedTime)),r.certValidity3UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity3UTCTime)),r.certValidity4GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity4GeneralizedTime)),c.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(c.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(o.validity.notBefore=c[0],o.validity.notAfter=c[1],o.tbsCertificate=r.tbsCertificate,e){o.md=Au({signatureOid:o.signatureOid,type:"certificate"});var u=y.toDer(o.tbsCertificate);o.md.update(u.getBytes())}var l=oe.md.sha1.create(),f=y.toDer(r.certIssuer);l.update(f.getBytes()),o.issuer.getField=function(d){return si(o.issuer,d)},o.issuer.addField=function(d){Sr([d]),o.issuer.attributes.push(d)},o.issuer.attributes=G.RDNAttributesAsArray(r.certIssuer),r.certIssuerUniqueId&&(o.issuer.uniqueId=r.certIssuerUniqueId),o.issuer.hash=l.digest().toHex();var h=oe.md.sha1.create(),p=y.toDer(r.certSubject);return h.update(p.getBytes()),o.subject.getField=function(d){return si(o.subject,d)},o.subject.addField=function(d){Sr([d]),o.subject.attributes.push(d)},o.subject.attributes=G.RDNAttributesAsArray(r.certSubject),r.certSubjectUniqueId&&(o.subject.uniqueId=r.certSubjectUniqueId),o.subject.hash=h.digest().toHex(),r.certExtensions?o.extensions=G.certificateExtensionsFromAsn1(r.certExtensions):o.extensions=[],o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o};G.certificateExtensionsFromAsn1=function(t){for(var e=[],r=0;r<t.value.length;++r)for(var n=t.value[r],i=0;i<n.value.length;++i)e.push(G.certificateExtensionFromAsn1(n.value[i]));return e};G.certificateExtensionFromAsn1=function(t){var e={};if(e.id=y.derToOid(t.value[0].value),e.critical=!1,t.value[1].type===y.Type.BOOLEAN?(e.critical=t.value[1].value.charCodeAt(0)!==0,e.value=t.value[2].value):e.value=t.value[1].value,e.id in Ce){if(e.name=Ce[e.id],e.name==="keyUsage"){var r=y.fromDer(e.value),n=0,i=0;r.value.length>1&&(n=r.value.charCodeAt(1),i=r.value.length>2?r.value.charCodeAt(2):0),e.digitalSignature=(n&128)==128,e.nonRepudiation=(n&64)==64,e.keyEncipherment=(n&32)==32,e.dataEncipherment=(n&16)==16,e.keyAgreement=(n&8)==8,e.keyCertSign=(n&4)==4,e.cRLSign=(n&2)==2,e.encipherOnly=(n&1)==1,e.decipherOnly=(i&128)==128}else if(e.name==="basicConstraints"){var r=y.fromDer(e.value);r.value.length>0&&r.value[0].type===y.Type.BOOLEAN?e.cA=r.value[0].value.charCodeAt(0)!==0:e.cA=!1;var s=null;r.value.length>0&&r.value[0].type===y.Type.INTEGER?s=r.value[0].value:r.value.length>1&&(s=r.value[1].value),s!==null&&(e.pathLenConstraint=y.derToInteger(s))}else if(e.name==="extKeyUsage")for(var r=y.fromDer(e.value),o=0;o<r.value.length;++o){var a=y.derToOid(r.value[o].value);a in Ce?e[Ce[a]]=!0:e[a]=!0}else if(e.name==="nsCertType"){var r=y.fromDer(e.value),n=0;r.value.length>1&&(n=r.value.charCodeAt(1)),e.client=(n&128)==128,e.server=(n&64)==64,e.email=(n&32)==32,e.objsign=(n&16)==16,e.reserved=(n&8)==8,e.sslCA=(n&4)==4,e.emailCA=(n&2)==2,e.objCA=(n&1)==1}else if(e.name==="subjectAltName"||e.name==="issuerAltName"){e.altNames=[];for(var c,r=y.fromDer(e.value),u=0;u<r.value.length;++u){c=r.value[u];var l={type:c.type,value:c.value};switch(e.altNames.push(l),c.type){case 1:case 2:case 6:break;case 7:l.ip=oe.util.bytesToIP(c.value);break;case 8:l.oid=y.derToOid(c.value);break;default:}}}else if(e.name==="subjectKeyIdentifier"){var r=y.fromDer(e.value);e.subjectKeyIdentifier=oe.util.bytesToHex(r.value)}}return e};G.certificationRequestFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,mL,r,n)){var i=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificationRequest();if(o.version=r.csrVersion?r.csrVersion.charCodeAt(0):0,o.signatureOid=oe.asn1.derToOid(r.csrSignatureOid),o.signatureParameters=Su(o.signatureOid,r.csrSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.csrSignatureOid),o.siginfo.parameters=Su(o.siginfo.algorithmOid,r.csrSignatureParams,!1),o.signature=r.csrSignature,o.certificationRequestInfo=r.certificationRequestInfo,e){o.md=Au({signatureOid:o.signatureOid,type:"certification request"});var a=y.toDer(o.certificationRequestInfo);o.md.update(a.getBytes())}var c=oe.md.sha1.create();return o.subject.getField=function(u){return si(o.subject,u)},o.subject.addField=function(u){Sr([u]),o.subject.attributes.push(u)},o.subject.attributes=G.RDNAttributesAsArray(r.certificationRequestInfoSubject,c),o.subject.hash=c.digest().toHex(),o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o.getAttribute=function(u){return si(o,u)},o.addAttribute=function(u){Sr([u]),o.attributes.push(u)},o.attributes=G.CRIAttributesAsArray(r.certificationRequestInfoAttributes||[]),o};G.createCertificationRequest=function(){var t={};return t.version=0,t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.subject={},t.subject.getField=function(e){return si(t.subject,e)},t.subject.addField=function(e){Sr([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.publicKey=null,t.attributes=[],t.getAttribute=function(e){return si(t,e)},t.addAttribute=function(e){Sr([e]),t.attributes.push(e)},t.md=null,t.setSubject=function(e){Sr(e),t.subject.attributes=e,t.subject.hash=null},t.setAttributes=function(e){Sr(e),t.attributes=e},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.certificationRequestInfo=G.getCertificationRequestInfo(t);var s=y.toDer(t.certificationRequestInfo);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(){var e=!1,r=t.md;if(r===null){r=Au({signatureOid:t.signatureOid,type:"certification request"});var n=t.certificationRequestInfo||G.getCertificationRequestInfo(t),i=y.toDer(n);r.update(i.getBytes())}return r!==null&&(e=U_({certificate:t,md:r,signature:t.signature})),e},t};function so(t){for(var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),r,n,i=t.attributes,s=0;s<i.length;++s){r=i[s];var o=r.value,a=y.Type.PRINTABLESTRING;"valueTagClass"in r&&(a=r.valueTagClass,a===y.Type.UTF8&&(o=oe.util.encodeUtf8(o))),n=y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(r.type).getBytes()),y.create(y.Class.UNIVERSAL,a,!1,o)])]),e.value.push(n)}return e}function Sr(t){for(var e,r=0;r<t.length;++r){if(e=t[r],typeof e.name=="undefined"&&(e.type&&e.type in G.oids?e.name=G.oids[e.type]:e.shortName&&e.shortName in ft&&(e.name=G.oids[ft[e.shortName]])),typeof e.type=="undefined")if(e.name&&e.name in G.oids)e.type=G.oids[e.name];else{var n=new Error("Attribute type not specified.");throw n.attribute=e,n}if(typeof e.shortName=="undefined"&&e.name&&e.name in ft&&(e.shortName=ft[e.name]),e.type===Ce.extensionRequest&&(e.valueConstructed=!0,e.valueTagClass=y.Type.SEQUENCE,!e.value&&e.extensions)){e.value=[];for(var i=0;i<e.extensions.length;++i)e.value.push(G.certificateExtensionToAsn1(M_(e.extensions[i])))}if(typeof e.value=="undefined"){var n=new Error("Attribute value not specified.");throw n.attribute=e,n}}}function M_(t,e){if(e=e||{},typeof t.name=="undefined"&&t.id&&t.id in G.oids&&(t.name=G.oids[t.id]),typeof t.id=="undefined")if(t.name&&t.name in G.oids)t.id=G.oids[t.name];else{var r=new Error("Extension ID not specified.");throw r.extension=t,r}if(typeof t.value!="undefined")return t;if(t.name==="keyUsage"){var n=0,i=0,s=0;t.digitalSignature&&(i|=128,n=7),t.nonRepudiation&&(i|=64,n=6),t.keyEncipherment&&(i|=32,n=5),t.dataEncipherment&&(i|=16,n=4),t.keyAgreement&&(i|=8,n=3),t.keyCertSign&&(i|=4,n=2),t.cRLSign&&(i|=2,n=1),t.encipherOnly&&(i|=1,n=0),t.decipherOnly&&(s|=128,n=7);var o=String.fromCharCode(n);s!==0?o+=String.fromCharCode(i)+String.fromCharCode(s):i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="basicConstraints")t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),t.cA&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in t&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.pathLenConstraint).getBytes()));else if(t.name==="extKeyUsage"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;for(var c in t)t[c]===!0&&(c in Ce?a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(Ce[c]).getBytes())):c.indexOf(".")!==-1&&a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(c).getBytes())))}else if(t.name==="nsCertType"){var n=0,i=0;t.client&&(i|=128,n=7),t.server&&(i|=64,n=6),t.email&&(i|=32,n=5),t.objsign&&(i|=16,n=4),t.reserved&&(i|=8,n=3),t.sslCA&&(i|=4,n=2),t.emailCA&&(i|=2,n=1),t.objCA&&(i|=1,n=0);var o=String.fromCharCode(n);i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="subjectAltName"||t.name==="issuerAltName"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));t.value.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}}else if(t.name==="nsComment"&&e.cert){if(!/^[\x00-\x7F]*$/.test(t.comment)||t.comment.length<1||t.comment.length>128)throw new Error('Invalid "nsComment" content.');t.value=y.create(y.Class.UNIVERSAL,y.Type.IA5STRING,!1,t.comment)}else if(t.name==="subjectKeyIdentifier"&&e.cert){var f=e.cert.generateSubjectKeyIdentifier();t.subjectKeyIdentifier=f.toHex(),t.value=y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,f.getBytes())}else if(t.name==="authorityKeyIdentifier"&&e.cert){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;if(t.keyIdentifier){var h=t.keyIdentifier===!0?e.cert.generateSubjectKeyIdentifier().getBytes():t.keyIdentifier;a.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!1,h))}if(t.authorityCertIssuer){var p=[y.create(y.Class.CONTEXT_SPECIFIC,4,!0,[so(t.authorityCertIssuer===!0?e.cert.issuer:t.authorityCertIssuer)])];a.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,p))}if(t.serialNumber){var d=oe.util.hexToBytes(t.serialNumber===!0?e.cert.serialNumber:t.serialNumber);a.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!1,d))}}else if(t.name==="cRLDistributionPoints"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var a=t.value.value,g=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),m=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]),u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));m.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}g.value.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[m])),a.push(g)}if(typeof t.value=="undefined"){var r=new Error("Extension value not specified.");throw r.extension=t,r}return t}function dd(t,e){switch(t){case Ce["RSASSA-PSS"]:var r=[];return e.hash.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])),e.mgf.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])])),e.saltLength!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(e.saltLength).getBytes())])),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,r);default:return y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")}}function vL(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]);if(t.attributes.length===0)return e;for(var r=t.attributes,n=0;n<r.length;++n){var i=r[n],s=i.value,o=y.Type.UTF8;"valueTagClass"in i&&(o=i.valueTagClass),o===y.Type.UTF8&&(s=oe.util.encodeUtf8(s));var a=!1;"valueConstructed"in i&&(a=i.valueConstructed);var c=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(i.type).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,o,a,s)])]);e.value.push(c)}return e}var bL=new Date("1950-01-01T00:00:00Z"),EL=new Date("2050-01-01T00:00:00Z");function F_(t){return t>=bL&&t<EL?y.create(y.Class.UNIVERSAL,y.Type.UTCTIME,!1,y.dateToUtcTime(t)):y.create(y.Class.UNIVERSAL,y.Type.GENERALIZEDTIME,!1,y.dateToGeneralizedTime(t))}G.getTBSCertificate=function(t){var e=F_(t.validity.notBefore),r=F_(t.validity.notAfter),n=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes())]),y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,oe.util.hexToBytes(t.serialNumber)),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.siginfo.algorithmOid).getBytes()),dd(t.siginfo.algorithmOid,t.siginfo.parameters)]),so(t.issuer),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,r]),so(t.subject),G.publicKeyToAsn1(t.publicKey)]);return t.issuer.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.issuer.uniqueId)])),t.subject.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.subject.uniqueId)])),t.extensions.length>0&&n.value.push(G.certificateExtensionsToAsn1(t.extensions)),n};G.getCertificationRequestInfo=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes()),so(t.subject),G.publicKeyToAsn1(t.publicKey),vL(t)]);return e};G.distinguishedNameToAsn1=function(t){return so(t)};G.certificateToAsn1=function(t){var e=t.tbsCertificate||G.getTBSCertificate(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),dd(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.certificateExtensionsToAsn1=function(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,3,!0,[]),r=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(r);for(var n=0;n<t.length;++n)r.value.push(G.certificateExtensionToAsn1(t[n]));return e};G.certificateExtensionToAsn1=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.id).getBytes())),t.critical&&e.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255)));var r=t.value;return typeof t.value!="string"&&(r=y.toDer(r).getBytes()),e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,r)),e};G.certificationRequestToAsn1=function(t){var e=t.certificationRequestInfo||G.getCertificationRequestInfo(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),dd(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.createCaStore=function(t){var e={certs:{}};e.getIssuer=function(o){var a=r(o.issuer);return a},e.addCertificate=function(o){if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))if(o.subject.hash in e.certs){var a=e.certs[o.subject.hash];oe.util.isArray(a)||(a=[a]),a.push(o),e.certs[o.subject.hash]=a}else e.certs[o.subject.hash]=o},e.hasCertificate=function(o){typeof o=="string"&&(o=oe.pki.certificateFromPem(o));var a=r(o.subject);if(!a)return!1;oe.util.isArray(a)||(a=[a]);for(var c=y.toDer(G.certificateToAsn1(o)).getBytes(),u=0;u<a.length;++u){var l=y.toDer(G.certificateToAsn1(a[u])).getBytes();if(c===l)return!0}return!1},e.listAllCertificates=function(){var o=[];for(var a in e.certs)if(e.certs.hasOwnProperty(a)){var c=e.certs[a];if(!oe.util.isArray(c))o.push(c);else for(var u=0;u<c.length;++u)o.push(c[u])}return o},e.removeCertificate=function(o){var a;if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))return null;var c=r(o.subject);if(!oe.util.isArray(c))return a=e.certs[o.subject.hash],delete e.certs[o.subject.hash],a;for(var u=y.toDer(G.certificateToAsn1(o)).getBytes(),l=0;l<c.length;++l){var f=y.toDer(G.certificateToAsn1(c[l])).getBytes();u===f&&(a=c[l],c.splice(l,1))}return c.length===0&&delete e.certs[o.subject.hash],a};function r(o){return n(o),e.certs[o.hash]||null}function n(o){if(!o.hash){var a=oe.md.sha1.create();o.attributes=G.RDNAttributesAsArray(so(o),a),o.hash=a.digest().toHex()}}if(t)for(var i=0;i<t.length;++i){var s=t[i];e.addCertificate(s)}return e};G.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"};G.verifyCertificateChain=function(t,e,r){typeof r=="function"&&(r={verify:r}),r=r||{},e=e.slice(0);var n=e.slice(0),i=r.validityCheckDate;typeof i=="undefined"&&(i=new Date);var s=!0,o=null,a=0;do{var c=e.shift(),u=null,l=!1;if(i&&(i<c.validity.notBefore||i>c.validity.notAfter)&&(o={message:"Certificate is not valid yet or has expired.",error:G.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:i}),o===null){if(u=e[0]||t.getIssuer(c),u===null&&c.isIssuer(c)&&(l=!0,u=c),u){var f=u;oe.util.isArray(f)||(f=[f]);for(var h=!1;!h&&f.length>0;){u=f.shift();try{h=u.verify(c)}catch(q){}}h||(o={message:"Certificate signature is invalid.",error:G.certificateError.bad_certificate})}o===null&&(!u||l)&&!t.hasCertificate(c)&&(o={message:"Certificate is not trusted.",error:G.certificateError.unknown_ca})}if(o===null&&u&&!c.isIssuer(u)&&(o={message:"Certificate issuer is invalid.",error:G.certificateError.bad_certificate}),o===null)for(var p={keyUsage:!0,basicConstraints:!0},d=0;o===null&&d<c.extensions.length;++d){var g=c.extensions[d];g.critical&&!(g.name in p)&&(o={message:"Certificate has an unsupported critical extension.",error:G.certificateError.unsupported_certificate})}if(o===null&&(!s||e.length===0&&(!u||l))){var m=c.getExtension("basicConstraints"),x=c.getExtension("keyUsage");if(x!==null&&(!x.keyCertSign||m===null)&&(o={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:G.certificateError.bad_certificate}),o===null&&m!==null&&!m.cA&&(o={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:G.certificateError.bad_certificate}),o===null&&x!==null&&"pathLenConstraint"in m){var R=a-1;R>m.pathLenConstraint&&(o={message:"Certificate basicConstraints pathLenConstraint violated.",error:G.certificateError.bad_certificate})}}var L=o===null?!0:o.error,H=r.verify?r.verify(L,a,n):L;if(H===!0)o=null;else throw L===!0&&(o={message:"The application rejected the certificate.",error:G.certificateError.bad_certificate}),(H||H===0)&&(typeof H=="object"&&!oe.util.isArray(H)?(H.message&&(o.message=H.message),H.error&&(o.error=H.error)):typeof H=="string"&&(o.error=H)),o;s=!1,++a}while(e.length>0);return!0}});var $_=w((rK,j_)=>{var Y=be();_s();Un();cc();bs();hc();B_();wi();$e();pd();var T=Y.asn1,zt=j_.exports=Y.pkcs7=Y.pkcs7||{};zt.messageFromPem=function(t){var e=Y.pem.decode(t)[0];if(e.type!=="PKCS7"){var r=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var n=T.fromDer(e.body);return zt.messageFromAsn1(n)};zt.messageToPem=function(t,e){var r={type:"PKCS7",body:T.toDer(t.toAsn1()).getBytes()};return Y.pem.encode(r,{maxline:e})};zt.messageFromAsn1=function(t){var e={},r=[];if(!T.validate(t,zt.asn1.contentInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw n.errors=r,n}var i=T.derToOid(e.contentType),s;switch(i){case Y.pki.oids.envelopedData:s=zt.createEnvelopedData();break;case Y.pki.oids.encryptedData:s=zt.createEncryptedData();break;case Y.pki.oids.signedData:s=zt.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return s.fromAsn1(e.content.value[0]),s};zt.createSignedData=function(){var t=null;return t={type:Y.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(n){if(gd(t,n,zt.asn1.signedDataValidator),t.certificates=[],t.crls=[],t.digestAlgorithmIdentifiers=[],t.contentInfo=null,t.signerInfos=[],t.rawCapture.certificates)for(var i=t.rawCapture.certificates.value,s=0;s<i.length;++s)t.certificates.push(Y.pki.certificateFromAsn1(i[s]))},toAsn1:function(){t.contentInfo||t.sign();for(var n=[],i=0;i<t.certificates.length;++i)n.push(Y.pki.certificateToAsn1(t.certificates[i]));var s=[],o=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.digestAlgorithmIdentifiers),t.contentInfo])]);return n.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,n)),s.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,1,!0,s)),o.value[0].value.push(T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.signerInfos)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),o])},addSigner:function(n){var i=n.issuer,s=n.serialNumber;if(n.certificate){var o=n.certificate;typeof o=="string"&&(o=Y.pki.certificateFromPem(o)),i=o.issuer.attributes,s=o.serialNumber}var a=n.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");typeof a=="string"&&(a=Y.pki.privateKeyFromPem(a));var c=n.digestAlgorithm||Y.pki.oids.sha1;switch(c){case Y.pki.oids.sha1:case Y.pki.oids.sha256:case Y.pki.oids.sha384:case Y.pki.oids.sha512:case Y.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+c)}var u=n.authenticatedAttributes||[];if(u.length>0){for(var l=!1,f=!1,h=0;h<u.length;++h){var p=u[h];if(!l&&p.type===Y.pki.oids.contentType){if(l=!0,f)break;continue}if(!f&&p.type===Y.pki.oids.messageDigest){if(f=!0,l)break;continue}}if(!l||!f)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}t.signers.push({key:a,version:1,issuer:i,serialNumber:s,digestAlgorithm:c,signatureAlgorithm:Y.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:u,unauthenticatedAttributes:[]})},sign:function(n){if(n=n||{},(typeof t.content!="object"||t.contentInfo===null)&&(t.contentInfo=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes())]),"content"in t)){var i;t.content instanceof Y.util.ByteBuffer?i=t.content.bytes():typeof t.content=="string"&&(i=Y.util.encodeUtf8(t.content)),n.detached?t.detachedContent=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i):t.contentInfo.value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i)]))}if(t.signers.length!==0){var s=e();r(s)}},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(n){typeof n=="string"&&(n=Y.pki.certificateFromPem(n)),t.certificates.push(n)},addCertificateRevokationList:function(n){throw new Error("PKCS#7 CRL support not yet implemented.")}},t;function e(){for(var n={},i=0;i<t.signers.length;++i){var s=t.signers[i],o=s.digestAlgorithm;o in n||(n[o]=Y.md[Y.pki.oids[o]].create()),s.authenticatedAttributes.length===0?s.md=n[o]:s.md=Y.md[Y.pki.oids[o]].create()}t.digestAlgorithmIdentifiers=[];for(var o in n)t.digestAlgorithmIdentifiers.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(o).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]));return n}function r(n){var i;if(t.detachedContent?i=t.detachedContent:(i=t.contentInfo.value[1],i=i.value[0]),!i)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var s=T.derToOid(t.contentInfo.value[0].value),o=T.toDer(i);o.getByte(),T.getBerValueLength(o),o=o.getBytes();for(var a in n)n[a].start().update(o);for(var c=new Date,u=0;u<t.signers.length;++u){var l=t.signers[u];if(l.authenticatedAttributes.length===0){if(s!==Y.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[]),h=0;h<l.authenticatedAttributes.length;++h){var p=l.authenticatedAttributes[h];p.type===Y.pki.oids.messageDigest?p.value=n[l.digestAlgorithm].digest():p.type===Y.pki.oids.signingTime&&(p.value||(p.value=c)),f.value.push(yd(p)),l.authenticatedAttributesAsn1.value.push(yd(p))}o=T.toDer(f).getBytes(),l.md.start().update(o)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}t.signerInfos=CL(t.signers)}};zt.createEncryptedData=function(){var t=null;return t={type:Y.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){gd(t,e,zt.asn1.encryptedDataValidator)},decrypt:function(e){e!==void 0&&(t.encryptedContent.key=e),V_(t)}},t};zt.createEnvelopedData=function(){var t=null;return t={type:Y.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){var r=gd(t,e,zt.asn1.envelopedDataValidator);t.recipients=xL(r.recipientInfos.value)},toAsn1:function(){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,SL(t.recipients)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,IL(t.encryptedContent))])])])},findRecipient:function(e){for(var r=e.issuer.attributes,n=0;n<t.recipients.length;++n){var i=t.recipients[n],s=i.issuer;if(i.serialNumber===e.serialNumber&&s.length===r.length){for(var o=!0,a=0;a<r.length;++a)if(s[a].type!==r[a].type||s[a].value!==r[a].value){o=!1;break}if(o)return i}}return null},decrypt:function(e,r){if(t.encryptedContent.key===void 0&&e!==void 0&&r!==void 0)switch(e.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:case Y.pki.oids.desCBC:var n=r.decrypt(e.encryptedContent.content);t.encryptedContent.key=Y.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+e.encryptedContent.algorithm)}V_(t)},addRecipient:function(e){t.recipients.push({version:0,issuer:e.issuer.attributes,serialNumber:e.serialNumber,encryptedContent:{algorithm:Y.pki.oids.rsaEncryption,key:e.publicKey}})},encrypt:function(e,r){if(t.encryptedContent.content===void 0){r=r||t.encryptedContent.algorithm,e=e||t.encryptedContent.key;var n,i,s;switch(r){case Y.pki.oids["aes128-CBC"]:n=16,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes192-CBC"]:n=24,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes256-CBC"]:n=32,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["des-EDE3-CBC"]:n=24,i=8,s=Y.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(e===void 0)e=Y.util.createBuffer(Y.random.getBytes(n));else if(e.length()!=n)throw new Error("Symmetric key has wrong length; got "+e.length()+" bytes, expected "+n+".");t.encryptedContent.algorithm=r,t.encryptedContent.key=e,t.encryptedContent.parameter=Y.util.createBuffer(Y.random.getBytes(i));var o=s(e);if(o.start(t.encryptedContent.parameter.copy()),o.update(t.content),!o.finish())throw new Error("Symmetric encryption failed.");t.encryptedContent.content=o.output}for(var a=0;a<t.recipients.length;++a){var c=t.recipients[a];if(c.encryptedContent.content===void 0)switch(c.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(t.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}},t};function wL(t){var e={},r=[];if(!T.validate(t,zt.asn1.recipientInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=r,n}return{version:e.version.charCodeAt(0),issuer:Y.pki.RDNAttributesAsArray(e.issuer),serialNumber:Y.util.createBuffer(e.serial).toHex(),encryptedContent:{algorithm:T.derToOid(e.encAlgorithm),parameter:e.encParameter?e.encParameter.value:void 0,content:e.encKey}}}function _L(t){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.encryptedContent.algorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.encryptedContent.content)])}function xL(t){for(var e=[],r=0;r<t.length;++r)e.push(wL(t[r]));return e}function SL(t){for(var e=[],r=0;r<t.length;++r)e.push(_L(t[r]));return e}function AL(t){var e=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.digestAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])]);if(t.authenticatedAttributesAsn1&&e.value.push(t.authenticatedAttributesAsn1),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.signatureAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.signature)),t.unauthenticatedAttributes.length>0){for(var r=T.create(T.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n<t.unauthenticatedAttributes.length;++n){var i=t.unauthenticatedAttributes[n];r.values.push(yd(i))}e.value.push(r)}return e}function CL(t){for(var e=[],r=0;r<t.length;++r)e.push(AL(t[r]));return e}function yd(t){var e;if(t.type===Y.pki.oids.contentType)e=T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.value).getBytes());else if(t.type===Y.pki.oids.messageDigest)e=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.value.bytes());else if(t.type===Y.pki.oids.signingTime){var r=new Date("1950-01-01T00:00:00Z"),n=new Date("2050-01-01T00:00:00Z"),i=t.value;if(typeof i=="string"){var s=Date.parse(i);isNaN(s)?i.length===13?i=T.utcTimeToDate(i):i=T.generalizedTimeToDate(i):i=new Date(s)}i>=r&&i<n?e=T.create(T.Class.UNIVERSAL,T.Type.UTCTIME,!1,T.dateToUtcTime(i)):e=T.create(T.Class.UNIVERSAL,T.Type.GENERALIZEDTIME,!1,T.dateToGeneralizedTime(i))}return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[e])])}function IL(t){return[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.algorithm).getBytes()),t.parameter?T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.parameter.getBytes()):void 0]),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.content.getBytes())])]}function gd(t,e,r){var n={},i=[];if(!T.validate(e,r,n,i)){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw s.errors=s,s}var o=T.derToOid(n.contentType);if(o!==Y.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(n.encryptedContent){var a="";if(Y.util.isArray(n.encryptedContent))for(var c=0;c<n.encryptedContent.length;++c){if(n.encryptedContent[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");a+=n.encryptedContent[c].value}else a=n.encryptedContent;t.encryptedContent={algorithm:T.derToOid(n.encAlgorithm),parameter:Y.util.createBuffer(n.encParameter.value),content:Y.util.createBuffer(a)}}if(n.content){var a="";if(Y.util.isArray(n.content))for(var c=0;c<n.content.length;++c){if(n.content[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");a+=n.content[c].value}else a=n.content;t.content=Y.util.createBuffer(a)}return t.version=n.version.charCodeAt(0),t.rawCapture=n,n}function V_(t){if(t.encryptedContent.key===void 0)throw new Error("Symmetric key not available.");if(t.content===void 0){var e;switch(t.encryptedContent.algorithm){case Y.pki.oids["aes128-CBC"]:case Y.pki.oids["aes192-CBC"]:case Y.pki.oids["aes256-CBC"]:e=Y.aes.createDecryptionCipher(t.encryptedContent.key);break;case Y.pki.oids.desCBC:case Y.pki.oids["des-EDE3-CBC"]:e=Y.des.createDecryptionCipher(t.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+t.encryptedContent.algorithm)}if(e.start(t.encryptedContent.parameter),e.update(t.encryptedContent.content),!e.finish())throw new Error("Symmetric decryption failed.");t.content=e.output}}});var G_=w((nK,z_)=>{"use strict";pd();var TL=be(),H_=TL.pki,RL=(t,e)=>{let r=H_.setRsaPublicKey(e.n,e.e),n=H_.createCertificate();n.publicKey=r,n.serialNumber="01",n.validity.notBefore=new Date,n.validity.notAfter=new Date,n.validity.notAfter.setFullYear(n.validity.notBefore.getFullYear()+10);let i=[{name:"organizationName",value:"ipfs"},{shortName:"OU",value:"keystore"},{name:"commonName",value:t.id}];return n.setSubject(i),n.setIssuer(i),n.setExtensions([{name:"basicConstraints",cA:!0},{name:"keyUsage",keyCertSign:!0,digitalSignature:!0,nonRepudiation:!0,keyEncipherment:!0,dataEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0,codeSigning:!0,emailProtection:!0,timeStamping:!0},{name:"nsCertType",client:!0,server:!0,email:!0,objsign:!0,sslCA:!0,emailCA:!0,objCA:!0}]),n.sign(e),n};async function BL(t,e){let r=t.map(e),i=(await Promise.all(r)).findIndex(s=>s);return t[i]}z_.exports={certificateForKey:RL,findAsync:BL}});var X_=w((iK,Q_)=>{"use strict";$_();jl();var oi=be(),{certificateForKey:PL,findAsync:NL}=G_(),oo=pe(),{fromString:W_}=(It(),Nt),{toString:OL}=(Tt(),Ot),{codes:ao}=ze(),md=new WeakMap,Y_=class{constructor(e,r){if(!e)throw oo(new Error("keychain is required"),ao.ERR_KEYCHAIN_REQUIRED);this.keychain=e,md.set(this,{dek:r})}async encrypt(e,r){if(!(r instanceof Uint8Array))throw oo(new Error("Plain data must be a Uint8Array"),ao.ERR_INVALID_PARAMETERS);let n=await this.keychain.findKeyByName(e),i=await this.keychain._getPrivateKey(e),s=md.get(this).dek,o=oi.pki.decryptRsaPrivateKey(i,s),a=await PL(n,o),c=oi.pkcs7.createEnvelopedData();c.addRecipient(a),c.content=oi.util.createBuffer(r),c.encrypt();let u=oi.asn1.toDer(c.toAsn1()).getBytes();return W_(u,"ascii")}async decrypt(e){if(!(e instanceof Uint8Array))throw oo(new Error("CMS data is required"),ao.ERR_INVALID_PARAMETERS);let r;try{let u=oi.util.createBuffer(OL(e,"ascii")),l=oi.asn1.fromDer(u);r=oi.pkcs7.messageFromAsn1(l)}catch(u){throw oo(new Error("Invalid CMS: "+u.message),ao.ERR_INVALID_CMS)}let n=r.recipients.filter(u=>u.issuer.find(l=>l.shortName==="O"&&l.value==="ipfs")).filter(u=>u.issuer.find(l=>l.shortName==="CN")).map(u=>({recipient:u,keyId:u.issuer.find(l=>l.shortName==="CN").value})),i=await NL(n,async u=>{try{if(await this.keychain.findKeyById(u.keyId))return!0}catch(l){return!1}return!1});if(!i){let u=n.map(l=>l.keyId);throw oo(new Error("Decryption needs one of the key(s): "+u.join(", ")),ao.ERR_MISSING_KEYS,{missingKeys:u})}let s=await this.keychain.findKeyById(i.keyId);if(!s)throw oo(new Error("No key available to decrypto"),ao.ERR_NO_KEY);let o=await this.keychain._getPrivateKey(s.name),a=md.get(this).dek,c=oi.pki.decryptRsaPrivateKey(o,a);return r.decrypt(i.recipient,c),W_(r.content.getBytes(),"ascii")}};Q_.exports=Y_});var ix=w((sK,nx)=>{"use strict";var Z_=Be(),J_=Object.assign(Z_("libp2p:keychain"),{error:Z_("libp2p:keychain:err")}),DL=p_(),LL=Fs(),Xi=_u(),{Key:ex}=(zc(),Qf),kL=X_(),et=pe(),{codes:tt}=ze(),{toString:Zi}=(Tt(),Ot),{fromString:An}=(It(),Nt);sf();var qL="/pkcs8/",tx="/info/",ai=new WeakMap,Ji={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},vd={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Cn(t){return!t||typeof t!="string"?!1:t===DL(t.trim())}async function Le(t){let e=200,r=1e3,n=Math.random()*(r-e)+e;throw await new Promise(i=>setTimeout(i,n)),t}function an(t){return new ex(qL+t)}function ci(t){return new ex(tx+t)}var rx=class{constructor(e,r){if(!e)throw new Error("store is required");if(this.store=e,this.opts=LL(vd,r),this.opts.pass&&this.opts.pass.length<20)throw new Error("pass must be least 20 characters");if(this.opts.dek.keyLength<Ji.minKeyLength)throw new Error(`dek.keyLength must be least ${Ji.minKeyLength} bytes`);if(this.opts.dek.salt.length<Ji.minSaltLength)throw new Error(`dek.saltLength must be least ${Ji.minSaltLength} bytes`);if(this.opts.dek.iterationCount<Ji.minIterationCount)throw new Error(`dek.iterationCount must be least ${Ji.minIterationCount}`);let n=this.opts.pass?Xi.pbkdf2(this.opts.pass,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";ai.set(this,{dek:n})}get cms(){return new kL(this,ai.get(this).dek)}static generateOptions(){let e=Object.assign({},vd),r=Math.ceil(Ji.minSaltLength/3)*3;return e.dek.salt=Zi(Xi.randomBytes(r),"base64"),e}static get options(){return vd}async createKey(e,r,n=2048){let i=this;if(!Cn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(typeof r!="string")return Le(et(new Error(`Invalid key type '${r}'`),tt.ERR_INVALID_KEY_TYPE));let s=an(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)return Le(et(new Error(`Invalid RSA key size ${n}`),tt.ERR_INVALID_KEY_SIZE));break;default:break}let a;try{let c=await Xi.keys.generateKeyPair(r,n),u=await c.id(),l=ai.get(this).dek,f=await c.export(l);a={name:e,id:u};let h=i.store.batch();h.put(s,An(f)),h.put(ci(e),An(JSON.stringify(a))),await h.commit()}catch(c){return Le(c)}return a}async listKeys(){let e=this,r={prefix:tx},n=[];for await(let i of e.store.query(r))n.push(JSON.parse(Zi(i.value)));return n}async findKeyById(e){try{return(await this.listKeys()).find(n=>n.id===e)}catch(r){return Le(r)}}async findKeyByName(e){if(!Cn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let r=ci(e);try{let n=await this.store.get(r);return JSON.parse(Zi(n))}catch(n){return Le(et(new Error(`Key '${e}' does not exist. ${n.message}`),tt.ERR_KEY_NOT_FOUND))}}async removeKey(e){let r=this;if(!Cn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let n=an(e),i=await r.findKeyByName(e),s=r.store.batch();return s.delete(n),s.delete(ci(e)),await s.commit(),i}async renameKey(e,r){let n=this;if(!Cn(e)||e==="self")return Le(et(new Error(`Invalid old key name '${e}'`),tt.ERR_OLD_KEY_NAME_INVALID));if(!Cn(r)||r==="self")return Le(et(new Error(`Invalid new key name '${r}'`),tt.ERR_NEW_KEY_NAME_INVALID));let i=an(e),s=an(r),o=ci(e),a=ci(r);if(await n.store.has(s))return Le(et(new Error(`Key '${r}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let u=await n.store.get(i),l=await n.store.get(o),f=JSON.parse(Zi(l));f.name=r;let h=n.store.batch();return h.put(s,u),h.put(a,An(JSON.stringify(f))),h.delete(i),h.delete(o),await h.commit(),f}catch(u){return Le(u)}}async exportKey(e,r){if(!Cn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("Password is required"),tt.ERR_PASSWORD_REQUIRED));let n=an(e);try{let i=await this.store.get(n),s=Zi(i),o=ai.get(this).dek;return(await Xi.keys.import(s,o)).export(r)}catch(i){return Le(i)}}async importKey(e,r,n){let i=this;if(!Cn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("PEM encoded key is required"),tt.ERR_PEM_REQUIRED));let s=an(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));let a;try{a=await Xi.keys.import(r,n)}catch(f){return Le(et(new Error("Cannot read the key, most likely the password is wrong"),tt.ERR_CANNOT_READ_KEY))}let c;try{c=await a.id();let f=ai.get(this).dek;r=await a.export(f)}catch(f){return Le(f)}let u={name:e,id:c},l=i.store.batch();return l.put(s,An(r)),l.put(ci(e),An(JSON.stringify(u))),await l.commit(),u}async importPeer(e,r){let n=this;if(!Cn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r||!r.privKey)return Le(et(new Error("Peer.privKey is required"),tt.ERR_MISSING_PRIVATE_KEY));let i=r.privKey,s=an(e);if(await n.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let a=await i.id(),c=ai.get(this).dek,u=await i.export(c),l={name:e,id:a},f=n.store.batch();return f.put(s,An(u)),f.put(ci(e),An(JSON.stringify(l))),await f.commit(),l}catch(a){return Le(a)}}async _getPrivateKey(e){if(!Cn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));try{let r=an(e),n=await this.store.get(r);return Zi(n)}catch(r){return Le(et(new Error(`Key '${e}' does not exist. ${r.message}`),tt.ERR_KEY_NOT_FOUND))}}async rotateKeychainPass(e,r){if(typeof e!="string")return Le(et(new Error(`Invalid old pass type '${typeof e}'`),tt.ERR_INVALID_OLD_PASS_TYPE));if(typeof r!="string")return Le(et(new Error(`Invalid new pass type '${typeof r}'`),tt.ERR_INVALID_NEW_PASS_TYPE));if(r.length<20)return Le(et(new Error(`Invalid pass length ${r.length}`),tt.ERR_INVALID_PASS_LENGTH));J_("recreating keychain");let n=ai.get(this).dek;this.opts.pass=r;let i=r?Xi.pbkdf2(r,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";ai.set(this,{dek:i});let s=await this.listKeys();for(let o of s){let a=await this.store.get(an(o.name)),c=Zi(a),u=await Xi.keys.import(c,n),l=i.toString(),f=await u.export(l),h=this.store.batch(),p={name:o.name,id:o.id};h.put(an(o.name),An(f)),h.put(ci(o.name),An(JSON.stringify(p))),await h.commit()}J_("keychain reconstructed")}};nx.exports=rx});var Iu=w((Cu,sx)=>{(function(t,e){typeof Cu=="object"&&typeof sx!="undefined"?e(Cu):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.streamingIterables={}))})(Cu,function(t){"use strict";async function*e(b,v){let _=[];for await(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function*r(b,v){let _=[];for(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function n(b,v){return v===void 0?_=>n(b,_):v[Symbol.asyncIterator]?e(b,v):r(b,v)}function i(b){if(typeof b.next=="function")return b;if(typeof b[Symbol.iterator]=="function")return b[Symbol.iterator]();if(typeof b[Symbol.asyncIterator]=="function")return b[Symbol.asyncIterator]();throw new TypeError('"values" does not to conform to any of the iterator or iterable protocols')}function s(){let b,v;return{promise:new Promise((C,A)=>{v=C,b=A}),reject:b,resolve:v}}function o(b,v){let _=i(v),C=[],A=[],B=!1,N=!1;function O(){for(;A.length>0&&C.length>0;){let ee=A.shift(),{error:fe,value:ke}=C.shift();fe?ee.reject(fe):ee.resolve({done:!1,value:ke})}for(;A.length>0&&N;){let{resolve:ee}=A.shift();ee({done:!0,value:void 0})}}async function U(){if(!N&&!B&&!(C.length>=b)){B=!0;try{let{done:ee,value:fe}=await _.next();ee?N=!0:C.push({value:fe})}catch(ee){N=!0,C.push({error:ee})}O(),B=!1,U()}}async function W(){if(C.length>0){let{error:fe,value:ke}=C.shift();if(fe)throw fe;return U(),{done:!1,value:ke}}if(N)return{done:!0,value:void 0};let ee=s();return A.push(ee),U(),ee.promise}let Q={next:W,[Symbol.asyncIterator]:()=>Q};return Q}function*a(b,v){let _=[],C;try{for(let A of v)_.push(A),!(_.length<=b)&&(yield _.shift())}catch(A){C=A}for(let A of _)yield A;if(C)throw C}function c(b,v){return v===void 0?_=>c(b,_):b===0?v:v[Symbol.asyncIterator]?o(b,v):a(b,v)}async function u(b){let v=[];for await(let _ of b)v.push(_);return v}function l(b){return b[Symbol.asyncIterator]?u(b):Array.from(b)}async function*f(b){for await(let v of b)yield*v}function*h(b){for(let v of b)yield*v}function p(...b){return b.find(_=>_[Symbol.asyncIterator]!==void 0)?f(b):h(b)}async function d(b){for await(let v of b);}function g(b){if(b[Symbol.asyncIterator])return d(b);for(let v of b);}async function*m(b,v){for await(let _ of v)await b(_)&&(yield _)}function x(b,v){return v===void 0?_=>m(b,_):m(b,v)}async function*R(b){for await(let v of b)v&&typeof v!="string"&&(v[Symbol.iterator]||v[Symbol.asyncIterator])?yield*R(v):yield v}async function*L(b,v){for await(let _ of v)yield await b(_)}function H(b,v){return v===void 0?_=>L(b,_):L(b,v)}function q(b,v){return v===void 0?_=>q(b,_):x(_=>_!=null,R(H(b,v)))}function k(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);if(ue&&ue[Symbol.asyncIterator])for await(let as of ue)A.push(as);else A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function ke(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:ke,[Symbol.asyncIterator]:()=>ge};return ge}function J(b,v,_){return v===void 0?(C,A)=>A?J(b,C,A):J(b,C):_===void 0?C=>J(b,v,C):x(C=>C!=null,R(k(b,v,_)))}async function ie(b){return new Promise(v=>{b.once("readable",()=>{v()})})}async function*j(b){for(;;){let v=b.read();if(v!==null){yield v;continue}if(b._readableState.ended)break;await ie(b)}}function we(b){return typeof b[Symbol.asyncIterator]=="function"?b:j(b)}async function*le(...b){let v=new Set(b.map(i));for(;v.size>0;)for(let _ of v){let C=await _.next();C.done?v.delete(_):yield C.value}}function ye(b,...v){let _=b();for(let C of v)_=C(_);return _}async function*nt(b,v,_){let C=null,A=U=>({value:v(U)}),B=async function*(U){for await(let W of U){if(C)return;yield W}},N=ye(()=>_,c(1),B,H(A),c(b-1)),O=i(N);for(;;){let{value:U,done:W}=await O.next();if(W)break;try{let Q=await U.value;C||(yield Q)}catch(Q){C=Q}}if(C)throw C}function it(b,v,_){return v===void 0?(C,A)=>it(b,C,A):_===void 0?C=>it(b,v,C):b===1?H(v,_):nt(b,v,_)}function Ie(b,v,_){return v===void 0?(C,A)=>A?Ie(b,C,A):Ie(b,C):_===void 0?C=>Ie(b,v,C):x(C=>C!=null,R(it(b,v,_)))}async function*Me(...b){let v=b.map(i),_=new Set,C=new Map,A=null,B=null,N=null,O=ee=>{A=ee,B&&B(ee)},U=ee=>{N&&N(ee)},W=()=>new Promise((ee,fe)=>{if(A&&fe(A),C.size>0)return ee();N=ee,B=fe}),Q=ee=>{let fe=Promise.resolve(ee.next()).then(async({done:ke,value:ge})=>{ke||C.set(ee,ge),_.delete(fe)});_.add(fe),fe.then(U,O)};for(let ee of v)Q(ee);for(;;){if(_.size===0&&C.size===0)return;await W();for(let[ee,fe]of C)C.delete(ee),yield fe,Q(ee)}}async function ne(b,v,_){let C=v;for await(let A of _)C=await b(C,A);return C}function tr(b,v,_){return v===void 0?(C,A)=>A?ne(b,C,A):tr(b,C):_===void 0?C=>tr(b,v,C):ne(b,v,_)}async function*Wt(b,v){let _=0;for await(let C of v)if(yield await C,_++,_>=b)break}function*un(b,v){let _=0;for(let C of v)if(yield C,_++,_>=b)break}function Yt(b,v){return v===void 0?_=>Yt(b,_):v[Symbol.asyncIterator]?Wt(b,v):un(b,v)}async function*ln(b,v){for await(let _ of v)await b(_),yield _}function z(b,v){return v===void 0?_=>ln(b,_):ln(b,v)}function os(b,v){let _=b[0]+v[0],C=b[1]+v[1];if(C>=1e9){let A=C%1e9;_+=(C-A)/1e9,C=A}return[_,C]}async function*Ua(b,v){let _=v[Symbol.asyncIterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=await _.next(),O=process.hrtime(A);if(C=os(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function*_o(b,v){let _=v[Symbol.iterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=_.next(),O=process.hrtime(A);if(C=os(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function Kt(b={},v){return v===void 0?_=>Kt(b,_):v[Symbol.asyncIterator]!==void 0?Ua(b,v):_o(b,v)}function Tr(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function ke(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:ke,[Symbol.asyncIterator]:()=>ge};return ge}function E(b,v,_){return v===void 0?(C,A)=>A?E(b,C,A):E(b,C):_===void 0?C=>E(b,v,C):Tr(b,v,_)}async function S(b,v){let _=null,C=null,A=null,B=W=>{_=W,C&&C(W)},N=()=>{A&&A()},O=()=>{b.removeListener("error",B),b.removeListener("drain",N)};b.once("error",B);let U=()=>new Promise((W,Q)=>{if(_)return Q(_);b.once("drain",N),A=W,C=Q});for await(let W of v)if(b.write(W)===!1&&await U(),_)break;if(O(),_)throw _}function I(b,v){return v===void 0?_=>S(b,_):S(b,v)}t.batch=n,t.buffer=c,t.collect=l,t.concat=p,t.consume=g,t.filter=x,t.flatMap=q,t.flatTransform=J,t.flatten=R,t.fromStream=we,t.getIterator=i,t.map=H,t.merge=le,t.parallelFlatMap=Ie,t.parallelMap=it,t.parallelMerge=Me,t.pipeline=ye,t.reduce=tr,t.take=Yt,t.tap=z,t.time=Kt,t.transform=E,t.writeToStream=I,Object.defineProperty(t,"__esModule",{value:!0})})});var ax=w((oK,ox)=>{ox.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(s,o){r[s]=o,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(s){return r[s]!==void 0||n[s]!==void 0},remove:function(s){r[s]!==void 0&&(r[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var o=r[s];if(o!==void 0)return o;if((o=n[s])!==void 0)return i(s,o),o},set:function(s,o){r[s]!==void 0?r[s]=o:i(s,o)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var ux=w((aK,cx)=>{"use strict";var UL=ax();cx.exports=t=>{let e=UL(t);return e.delete=e.remove,e}});var fx=w((lx,Tu)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,i=Math.floor,s="[BigNumber Error] ",o=s+"Number primitive has more than 15 significant digits: ",a=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],f=1e7,h=1e9;function p(q){var k,J,ie,j=z.prototype={constructor:z,toString:null,valueOf:null},we=new z(1),le=20,ye=4,nt=-7,it=21,Ie=-1e7,Me=1e7,ne=!1,tr=1,Wt=0,un={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Yt="0123456789abcdefghijklmnopqrstuvwxyz",ln=!0;function z(E,S){var I,b,v,_,C,A,B,N,O=this;if(!(O instanceof z))return new z(E,S);if(S==null){if(E&&E._isBigNumber===!0){O.s=E.s,!E.c||E.e>Me?O.c=O.e=null:E.e<Ie?O.c=[O.e=0]:(O.e=E.e,O.c=E.c.slice());return}if((A=typeof E=="number")&&E*0==0){if(O.s=1/E<0?(E=-E,-1):1,E===~~E){for(_=0,C=E;C>=10;C/=10,_++);_>Me?O.c=O.e=null:(O.e=_,O.c=[E]);return}N=String(E)}else{if(!r.test(N=String(E)))return ie(O,N,A);O.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(_=N.indexOf("."))>-1&&(N=N.replace(".","")),(C=N.search(/e/i))>0?(_<0&&(_=C),_+=+N.slice(C+1),N=N.substring(0,C)):_<0&&(_=N.length)}else{if(x(S,2,Yt.length,"Base"),S==10&&ln)return O=new z(E),Kt(O,le+O.e+1,ye);if(N=String(E),A=typeof E=="number"){if(E*0!=0)return ie(O,N,A,S);if(O.s=1/E<0?(N=N.slice(1),-1):1,z.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(o+E)}else O.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(I=Yt.slice(0,S),_=C=0,B=N.length;C<B;C++)if(I.indexOf(b=N.charAt(C))<0){if(b=="."){if(C>_){_=B;continue}}else if(!v&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){v=!0,C=-1,_=0;continue}return ie(O,String(E),A,S)}A=!1,N=J(N,S,10,O.s),(_=N.indexOf("."))>-1?N=N.replace(".",""):_=N.length}for(C=0;N.charCodeAt(C)===48;C++);for(B=N.length;N.charCodeAt(--B)===48;);if(N=N.slice(C,++B)){if(B-=C,A&&z.DEBUG&&B>15&&(E>u||E!==i(E)))throw Error(o+O.s*E);if((_=_-C-1)>Me)O.c=O.e=null;else if(_<Ie)O.c=[O.e=0];else{if(O.e=_,O.c=[],C=(_+1)%c,_<0&&(C+=c),C<B){for(C&&O.c.push(+N.slice(0,C)),B-=c;C<B;)O.c.push(+N.slice(C,C+=c));C=c-(N=N.slice(C)).length}else C-=B;for(;C--;N+="0");O.c.push(+N)}}else O.c=[O.e=0]}z.clone=p,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(E){var S,I;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(S="DECIMAL_PLACES")&&(I=E[S],x(I,0,h,S),le=I),E.hasOwnProperty(S="ROUNDING_MODE")&&(I=E[S],x(I,0,8,S),ye=I),E.hasOwnProperty(S="EXPONENTIAL_AT")&&(I=E[S],I&&I.pop?(x(I[0],-h,0,S),x(I[1],0,h,S),nt=I[0],it=I[1]):(x(I,-h,h,S),nt=-(it=I<0?-I:I))),E.hasOwnProperty(S="RANGE"))if(I=E[S],I&&I.pop)x(I[0],-h,-1,S),x(I[1],1,h,S),Ie=I[0],Me=I[1];else if(x(I,-h,h,S),I)Ie=-(Me=I<0?-I:I);else throw Error(s+S+" cannot be zero: "+I);if(E.hasOwnProperty(S="CRYPTO"))if(I=E[S],I===!!I)if(I)if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ne=I;else throw ne=!I,Error(s+"crypto unavailable");else ne=I;else throw Error(s+S+" not true or false: "+I);if(E.hasOwnProperty(S="MODULO_MODE")&&(I=E[S],x(I,0,9,S),tr=I),E.hasOwnProperty(S="POW_PRECISION")&&(I=E[S],x(I,0,h,S),Wt=I),E.hasOwnProperty(S="FORMAT"))if(I=E[S],typeof I=="object")un=I;else throw Error(s+S+" not an object: "+I);if(E.hasOwnProperty(S="ALPHABET"))if(I=E[S],typeof I=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(I))ln=I.slice(0,10)=="0123456789",Yt=I;else throw Error(s+S+" invalid: "+I)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:le,ROUNDING_MODE:ye,EXPONENTIAL_AT:[nt,it],RANGE:[Ie,Me],CRYPTO:ne,MODULO_MODE:tr,POW_PRECISION:Wt,FORMAT:un,ALPHABET:Yt}},z.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!z.DEBUG)return!0;var S,I,b=E.c,v=E.e,_=E.s;e:if({}.toString.call(b)=="[object Array]"){if((_===1||_===-1)&&v>=-h&&v<=h&&v===i(v)){if(b[0]===0){if(v===0&&b.length===1)return!0;break e}if(S=(v+1)%c,S<1&&(S+=c),String(b[0]).length==S){for(S=0;S<b.length;S++)if(I=b[S],I<0||I>=a||I!==i(I))break e;if(I!==0)return!0}}}else if(b===null&&v===null&&(_===null||_===1||_===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},z.maximum=z.max=function(){return Ua(arguments,j.lt)},z.minimum=z.min=function(){return Ua(arguments,j.gt)},z.random=function(){var E=9007199254740992,S=Math.random()*E&2097151?function(){return i(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(I){var b,v,_,C,A,B=0,N=[],O=new z(we);if(I==null?I=le:x(I,0,h),C=n(I/c),ne)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(C*=2));B<C;)A=b[B]*131072+(b[B+1]>>>11),A>=9e15?(v=crypto.getRandomValues(new Uint32Array(2)),b[B]=v[0],b[B+1]=v[1]):(N.push(A%1e14),B+=2);B=C/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(C*=7);B<C;)A=(b[B]&31)*281474976710656+b[B+1]*1099511627776+b[B+2]*4294967296+b[B+3]*16777216+(b[B+4]<<16)+(b[B+5]<<8)+b[B+6],A>=9e15?crypto.randomBytes(7).copy(b,B):(N.push(A%1e14),B+=7);B=C/7}else throw ne=!1,Error(s+"crypto unavailable");if(!ne)for(;B<C;)A=S(),A<9e15&&(N[B++]=A%1e14);for(C=N[--B],I%=c,C&&I&&(A=l[c-I],N[B]=i(C/A)*A);N[B]===0;N.pop(),B--);if(B<0)N=[_=0];else{for(_=-1;N[0]===0;N.splice(0,1),_-=c);for(B=1,A=N[0];A>=10;A/=10,B++);B<c&&(_-=c-B)}return O.e=_,O.c=N,O}}(),z.sum=function(){for(var E=1,S=arguments,I=new z(S[0]);E<S.length;)I=I.plus(S[E++]);return I},J=function(){var E="0123456789";function S(I,b,v,_){for(var C,A=[0],B,N=0,O=I.length;N<O;){for(B=A.length;B--;A[B]*=b);for(A[0]+=_.indexOf(I.charAt(N++)),C=0;C<A.length;C++)A[C]>v-1&&(A[C+1]==null&&(A[C+1]=0),A[C+1]+=A[C]/v|0,A[C]%=v)}return A.reverse()}return function(I,b,v,_,C){var A,B,N,O,U,W,Q,ee,fe=I.indexOf("."),ke=le,ge=ye;for(fe>=0&&(O=Wt,Wt=0,I=I.replace(".",""),ee=new z(b),W=ee.pow(I.length-fe),Wt=O,ee.c=S(H(g(W.c),W.e,"0"),10,v,E),ee.e=ee.c.length),Q=S(I,b,v,C?(A=Yt,E):(A=E,Yt)),N=O=Q.length;Q[--O]==0;Q.pop());if(!Q[0])return A.charAt(0);if(fe<0?--N:(W.c=Q,W.e=N,W.s=_,W=k(W,ee,ke,ge,v),Q=W.c,U=W.r,N=W.e),B=N+ke+1,fe=Q[B],O=v/2,U=U||B<0||Q[B+1]!=null,U=ge<4?(fe!=null||U)&&(ge==0||ge==(W.s<0?3:2)):fe>O||fe==O&&(ge==4||U||ge==6&&Q[B-1]&1||ge==(W.s<0?8:7)),B<1||!Q[0])I=U?H(A.charAt(1),-ke,A.charAt(0)):A.charAt(0);else{if(Q.length=B,U)for(--v;++Q[--B]>v;)Q[B]=0,B||(++N,Q=[1].concat(Q));for(O=Q.length;!Q[--O];);for(fe=0,I="";fe<=O;I+=A.charAt(Q[fe++]));I=H(I,N,A.charAt(0))}return I}}(),k=function(){function E(b,v,_){var C,A,B,N,O=0,U=b.length,W=v%f,Q=v/f|0;for(b=b.slice();U--;)B=b[U]%f,N=b[U]/f|0,C=Q*B+N*W,A=W*B+C%f*f+O,O=(A/_|0)+(C/f|0)+Q*N,b[U]=A%_;return O&&(b=[O].concat(b)),b}function S(b,v,_,C){var A,B;if(_!=C)B=_>C?1:-1;else for(A=B=0;A<_;A++)if(b[A]!=v[A]){B=b[A]>v[A]?1:-1;break}return B}function I(b,v,_,C){for(var A=0;_--;)b[_]-=A,A=b[_]<v[_]?1:0,b[_]=A*C+b[_]-v[_];for(;!b[0]&&b.length>1;b.splice(0,1));}return function(b,v,_,C,A){var B,N,O,U,W,Q,ee,fe,ke,ge,ae,ue,as,Ju,el,Mr,xo,ur=b.s==v.s?1:-1,Vt=b.c,at=v.c;if(!Vt||!Vt[0]||!at||!at[0])return new z(!b.s||!v.s||(Vt?at&&Vt[0]==at[0]:!at)?NaN:Vt&&Vt[0]==0||!at?ur*0:ur/0);for(fe=new z(ur),ke=fe.c=[],N=b.e-v.e,ur=_+N+1,A||(A=a,N=d(b.e/c)-d(v.e/c),ur=ur/c|0),O=0;at[O]==(Vt[O]||0);O++);if(at[O]>(Vt[O]||0)&&N--,ur<0)ke.push(1),U=!0;else{for(Ju=Vt.length,Mr=at.length,O=0,ur+=2,W=i(A/(at[0]+1)),W>1&&(at=E(at,W,A),Vt=E(Vt,W,A),Mr=at.length,Ju=Vt.length),as=Mr,ge=Vt.slice(0,Mr),ae=ge.length;ae<Mr;ge[ae++]=0);xo=at.slice(),xo=[0].concat(xo),el=at[0],at[1]>=A/2&&el++;do{if(W=0,B=S(at,ge,Mr,ae),B<0){if(ue=ge[0],Mr!=ae&&(ue=ue*A+(ge[1]||0)),W=i(ue/el),W>1)for(W>=A&&(W=A-1),Q=E(at,W,A),ee=Q.length,ae=ge.length;S(Q,ge,ee,ae)==1;)W--,I(Q,Mr<ee?xo:at,ee,A),ee=Q.length,B=1;else W==0&&(B=W=1),Q=at.slice(),ee=Q.length;if(ee<ae&&(Q=[0].concat(Q)),I(ge,Q,ae,A),ae=ge.length,B==-1)for(;S(at,ge,Mr,ae)<1;)W++,I(ge,Mr<ae?xo:at,ae,A),ae=ge.length}else B===0&&(W++,ge=[0]);ke[O++]=W,ge[0]?ge[ae++]=Vt[as]||0:(ge=[Vt[as]],ae=1)}while((as++<Ju||ge[0]!=null)&&ur--);U=ge[0]!=null,ke[0]||ke.splice(0,1)}if(A==a){for(O=1,ur=ke[0];ur>=10;ur/=10,O++);Kt(fe,_+(fe.e=O+N*c-1)+1,C,U)}else fe.e=N,fe.r=+U;return fe}}();function os(E,S,I,b){var v,_,C,A,B;if(I==null?I=ye:x(I,0,8),!E.c)return E.toString();if(v=E.c[0],C=E.e,S==null)B=g(E.c),B=b==1||b==2&&(C<=nt||C>=it)?L(B,C):H(B,C,"0");else if(E=Kt(new z(E),S,I),_=E.e,B=g(E.c),A=B.length,b==1||b==2&&(S<=_||_<=nt)){for(;A<S;B+="0",A++);B=L(B,_)}else if(S-=C,B=H(B,_,"0"),_+1>A){if(--S>0)for(B+=".";S--;B+="0");}else if(S+=_-A,S>0)for(_+1==A&&(B+=".");S--;B+="0");return E.s<0&&v?"-"+B:B}function Ua(E,S){for(var I,b=1,v=new z(E[0]);b<E.length;b++)if(I=new z(E[b]),I.s)S.call(v,I)&&(v=I);else{v=I;break}return v}function _o(E,S,I){for(var b=1,v=S.length;!S[--v];S.pop());for(v=S[0];v>=10;v/=10,b++);return(I=b+I*c-1)>Me?E.c=E.e=null:I<Ie?E.c=[E.e=0]:(E.e=I,E.c=S),E}ie=function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,I=/^\.([^.]+)$/,b=/^-?(Infinity|NaN)$/,v=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(_,C,A,B){var N,O=A?C:C.replace(v,"");if(b.test(O))_.s=isNaN(O)?null:O<0?-1:1;else{if(!A&&(O=O.replace(E,function(U,W,Q){return N=(Q=Q.toLowerCase())=="x"?16:Q=="b"?2:8,!B||B==N?W:U}),B&&(N=B,O=O.replace(S,"$1").replace(I,"0.$1")),C!=O))return new z(O,N);if(z.DEBUG)throw Error(s+"Not a"+(B?" base "+B:"")+" number: "+C);_.s=null}_.c=_.e=null}}();function Kt(E,S,I,b){var v,_,C,A,B,N,O,U=E.c,W=l;if(U){e:{for(v=1,A=U[0];A>=10;A/=10,v++);if(_=S-v,_<0)_+=c,C=S,B=U[N=0],O=B/W[v-C-1]%10|0;else if(N=n((_+1)/c),N>=U.length)if(b){for(;U.length<=N;U.push(0));B=O=0,v=1,_%=c,C=_-c+1}else break e;else{for(B=A=U[N],v=1;A>=10;A/=10,v++);_%=c,C=_-c+v,O=C<0?0:B/W[v-C-1]%10|0}if(b=b||S<0||U[N+1]!=null||(C<0?B:B%W[v-C-1]),b=I<4?(O||b)&&(I==0||I==(E.s<0?3:2)):O>5||O==5&&(I==4||b||I==6&&(_>0?C>0?B/W[v-C]:0:U[N-1])%10&1||I==(E.s<0?8:7)),S<1||!U[0])return U.length=0,b?(S-=E.e+1,U[0]=W[(c-S%c)%c],E.e=-S||0):U[0]=E.e=0,E;if(_==0?(U.length=N,A=1,N--):(U.length=N+1,A=W[c-_],U[N]=C>0?i(B/W[v-C]%W[C])*A:0),b)for(;;)if(N==0){for(_=1,C=U[0];C>=10;C/=10,_++);for(C=U[0]+=A,A=1;C>=10;C/=10,A++);_!=A&&(E.e++,U[0]==a&&(U[0]=1));break}else{if(U[N]+=A,U[N]!=a)break;U[N--]=0,A=1}for(_=U.length;U[--_]===0;U.pop());}E.e>Me?E.c=E.e=null:E.e<Ie&&(E.c=[E.e=0])}return E}function Tr(E){var S,I=E.e;return I===null?E.toString():(S=g(E.c),S=I<=nt||I>=it?L(S,I):H(S,I,"0"),E.s<0?"-"+S:S)}return j.absoluteValue=j.abs=function(){var E=new z(this);return E.s<0&&(E.s=1),E},j.comparedTo=function(E,S){return m(this,new z(E,S))},j.decimalPlaces=j.dp=function(E,S){var I,b,v,_=this;if(E!=null)return x(E,0,h),S==null?S=ye:x(S,0,8),Kt(new z(_),E+_.e+1,S);if(!(I=_.c))return null;if(b=((v=I.length-1)-d(this.e/c))*c,v=I[v])for(;v%10==0;v/=10,b--);return b<0&&(b=0),b},j.dividedBy=j.div=function(E,S){return k(this,new z(E,S),le,ye)},j.dividedToIntegerBy=j.idiv=function(E,S){return k(this,new z(E,S),0,1)},j.exponentiatedBy=j.pow=function(E,S){var I,b,v,_,C,A,B,N,O,U=this;if(E=new z(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Tr(E));if(S!=null&&(S=new z(S)),A=E.e>14,!U.c||!U.c[0]||U.c[0]==1&&!U.e&&U.c.length==1||!E.c||!E.c[0])return O=new z(Math.pow(+Tr(U),A?2-R(E):+Tr(E))),S?O.mod(S):O;if(B=E.s<0,S){if(S.c?!S.c[0]:!S.s)return new z(NaN);b=!B&&U.isInteger()&&S.isInteger(),b&&(U=U.mod(S))}else{if(E.e>9&&(U.e>0||U.e<-1||(U.e==0?U.c[0]>1||A&&U.c[1]>=24e7:U.c[0]<8e13||A&&U.c[0]<=9999975e7)))return _=U.s<0&&R(E)?-0:0,U.e>-1&&(_=1/_),new z(B?1/_:_);Wt&&(_=n(Wt/c+2))}for(A?(I=new z(.5),B&&(E.s=1),N=R(E)):(v=Math.abs(+Tr(E)),N=v%2),O=new z(we);;){if(N){if(O=O.times(U),!O.c)break;_?O.c.length>_&&(O.c.length=_):b&&(O=O.mod(S))}if(v){if(v=i(v/2),v===0)break;N=v%2}else if(E=E.times(I),Kt(E,E.e+1,1),E.e>14)N=R(E);else{if(v=+Tr(E),v===0)break;N=v%2}U=U.times(U),_?U.c&&U.c.length>_&&(U.c.length=_):b&&(U=U.mod(S))}return b?O:(B&&(O=we.div(O)),S?O.mod(S):_?Kt(O,Wt,ye,C):O)},j.integerValue=function(E){var S=new z(this);return E==null?E=ye:x(E,0,8),Kt(S,S.e+1,E)},j.isEqualTo=j.eq=function(E,S){return m(this,new z(E,S))===0},j.isFinite=function(){return!!this.c},j.isGreaterThan=j.gt=function(E,S){return m(this,new z(E,S))>0},j.isGreaterThanOrEqualTo=j.gte=function(E,S){return(S=m(this,new z(E,S)))===1||S===0},j.isInteger=function(){return!!this.c&&d(this.e/c)>this.c.length-2},j.isLessThan=j.lt=function(E,S){return m(this,new z(E,S))<0},j.isLessThanOrEqualTo=j.lte=function(E,S){return(S=m(this,new z(E,S)))===-1||S===0},j.isNaN=function(){return!this.s},j.isNegative=function(){return this.s<0},j.isPositive=function(){return this.s>0},j.isZero=function(){return!!this.c&&this.c[0]==0},j.minus=function(E,S){var I,b,v,_,C=this,A=C.s;if(E=new z(E,S),S=E.s,!A||!S)return new z(NaN);if(A!=S)return E.s=-S,C.plus(E);var B=C.e/c,N=E.e/c,O=C.c,U=E.c;if(!B||!N){if(!O||!U)return O?(E.s=-S,E):new z(U?C:NaN);if(!O[0]||!U[0])return U[0]?(E.s=-S,E):new z(O[0]?C:ye==3?-0:0)}if(B=d(B),N=d(N),O=O.slice(),A=B-N){for((_=A<0)?(A=-A,v=O):(N=B,v=U),v.reverse(),S=A;S--;v.push(0));v.reverse()}else for(b=(_=(A=O.length)<(S=U.length))?A:S,A=S=0;S<b;S++)if(O[S]!=U[S]){_=O[S]<U[S];break}if(_&&(v=O,O=U,U=v,E.s=-E.s),S=(b=U.length)-(I=O.length),S>0)for(;S--;O[I++]=0);for(S=a-1;b>A;){if(O[--b]<U[b]){for(I=b;I&&!O[--I];O[I]=S);--O[I],O[b]+=a}O[b]-=U[b]}for(;O[0]==0;O.splice(0,1),--N);return O[0]?_o(E,O,N):(E.s=ye==3?-1:1,E.c=[E.e=0],E)},j.modulo=j.mod=function(E,S){var I,b,v=this;return E=new z(E,S),!v.c||!E.s||E.c&&!E.c[0]?new z(NaN):!E.c||v.c&&!v.c[0]?new z(v):(tr==9?(b=E.s,E.s=1,I=k(v,E,0,3),E.s=b,I.s*=b):I=k(v,E,0,tr),E=v.minus(I.times(E)),!E.c[0]&&tr==1&&(E.s=v.s),E)},j.multipliedBy=j.times=function(E,S){var I,b,v,_,C,A,B,N,O,U,W,Q,ee,fe,ke,ge=this,ae=ge.c,ue=(E=new z(E,S)).c;if(!ae||!ue||!ae[0]||!ue[0])return!ge.s||!E.s||ae&&!ae[0]&&!ue||ue&&!ue[0]&&!ae?E.c=E.e=E.s=null:(E.s*=ge.s,!ae||!ue?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(b=d(ge.e/c)+d(E.e/c),E.s*=ge.s,B=ae.length,U=ue.length,B<U&&(ee=ae,ae=ue,ue=ee,v=B,B=U,U=v),v=B+U,ee=[];v--;ee.push(0));for(fe=a,ke=f,v=U;--v>=0;){for(I=0,W=ue[v]%ke,Q=ue[v]/ke|0,C=B,_=v+C;_>v;)N=ae[--C]%ke,O=ae[C]/ke|0,A=Q*N+O*W,N=W*N+A%ke*ke+ee[_]+I,I=(N/fe|0)+(A/ke|0)+Q*O,ee[_--]=N%fe;ee[_]=I}return I?++b:ee.splice(0,1),_o(E,ee,b)},j.negated=function(){var E=new z(this);return E.s=-E.s||null,E},j.plus=function(E,S){var I,b=this,v=b.s;if(E=new z(E,S),S=E.s,!v||!S)return new z(NaN);if(v!=S)return E.s=-S,b.minus(E);var _=b.e/c,C=E.e/c,A=b.c,B=E.c;if(!_||!C){if(!A||!B)return new z(v/0);if(!A[0]||!B[0])return B[0]?E:new z(A[0]?b:v*0)}if(_=d(_),C=d(C),A=A.slice(),v=_-C){for(v>0?(C=_,I=B):(v=-v,I=A),I.reverse();v--;I.push(0));I.reverse()}for(v=A.length,S=B.length,v-S<0&&(I=B,B=A,A=I,S=v),v=0;S;)v=(A[--S]=A[S]+B[S]+v)/a|0,A[S]=a===A[S]?0:A[S]%a;return v&&(A=[v].concat(A),++C),_o(E,A,C)},j.precision=j.sd=function(E,S){var I,b,v,_=this;if(E!=null&&E!==!!E)return x(E,1,h),S==null?S=ye:x(S,0,8),Kt(new z(_),E,S);if(!(I=_.c))return null;if(v=I.length-1,b=v*c+1,v=I[v]){for(;v%10==0;v/=10,b--);for(v=I[0];v>=10;v/=10,b++);}return E&&_.e+1>b&&(b=_.e+1),b},j.shiftedBy=function(E){return x(E,-u,u),this.times("1e"+E)},j.squareRoot=j.sqrt=function(){var E,S,I,b,v,_=this,C=_.c,A=_.s,B=_.e,N=le+4,O=new z("0.5");if(A!==1||!C||!C[0])return new z(!A||A<0&&(!C||C[0])?NaN:C?_:1/0);if(A=Math.sqrt(+Tr(_)),A==0||A==1/0?(S=g(C),(S.length+B)%2==0&&(S+="0"),A=Math.sqrt(+S),B=d((B+1)/2)-(B<0||B%2),A==1/0?S="5e"+B:(S=A.toExponential(),S=S.slice(0,S.indexOf("e")+1)+B),I=new z(S)):I=new z(A+""),I.c[0]){for(B=I.e,A=B+N,A<3&&(A=0);;)if(v=I,I=O.times(v.plus(k(_,v,N,1))),g(v.c).slice(0,A)===(S=g(I.c)).slice(0,A))if(I.e<B&&--A,S=S.slice(A-3,A+1),S=="9999"||!b&&S=="4999"){if(!b&&(Kt(v,v.e+le+2,0),v.times(v).eq(_))){I=v;break}N+=4,A+=4,b=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(Kt(I,I.e+le+2,1),E=!I.times(I).eq(_));break}}return Kt(I,I.e+le+1,ye,E)},j.toExponential=function(E,S){return E!=null&&(x(E,0,h),E++),os(this,E,S,1)},j.toFixed=function(E,S){return E!=null&&(x(E,0,h),E=E+this.e+1),os(this,E,S)},j.toFormat=function(E,S,I){var b,v=this;if(I==null)E!=null&&S&&typeof S=="object"?(I=S,S=null):E&&typeof E=="object"?(I=E,E=S=null):I=un;else if(typeof I!="object")throw Error(s+"Argument not an object: "+I);if(b=v.toFixed(E,S),v.c){var _,C=b.split("."),A=+I.groupSize,B=+I.secondaryGroupSize,N=I.groupSeparator||"",O=C[0],U=C[1],W=v.s<0,Q=W?O.slice(1):O,ee=Q.length;if(B&&(_=A,A=B,B=_,ee-=_),A>0&&ee>0){for(_=ee%A||A,O=Q.substr(0,_);_<ee;_+=A)O+=N+Q.substr(_,A);B>0&&(O+=N+Q.slice(_)),W&&(O="-"+O)}b=U?O+(I.decimalSeparator||"")+((B=+I.fractionGroupSize)?U.replace(new RegExp("\\d{"+B+"}\\B","g"),"$&"+(I.fractionGroupSeparator||"")):U):O}return(I.prefix||"")+b+(I.suffix||"")},j.toFraction=function(E){var S,I,b,v,_,C,A,B,N,O,U,W,Q=this,ee=Q.c;if(E!=null&&(A=new z(E),!A.isInteger()&&(A.c||A.s!==1)||A.lt(we)))throw Error(s+"Argument "+(A.isInteger()?"out of range: ":"not an integer: ")+Tr(A));if(!ee)return new z(Q);for(S=new z(we),N=I=new z(we),b=B=new z(we),W=g(ee),_=S.e=W.length-Q.e-1,S.c[0]=l[(C=_%c)<0?c+C:C],E=!E||A.comparedTo(S)>0?_>0?S:N:A,C=Me,Me=1/0,A=new z(W),B.c[0]=0;O=k(A,S,0,1),v=I.plus(O.times(b)),v.comparedTo(E)!=1;)I=b,b=v,N=B.plus(O.times(v=N)),B=v,S=A.minus(O.times(v=S)),A=v;return v=k(E.minus(I),b,0,1),B=B.plus(v.times(N)),I=I.plus(v.times(b)),B.s=N.s=Q.s,_=_*2,U=k(N,b,_,ye).minus(Q).abs().comparedTo(k(B,I,_,ye).minus(Q).abs())<1?[N,b]:[B,I],Me=C,U},j.toNumber=function(){return+Tr(this)},j.toPrecision=function(E,S){return E!=null&&x(E,1,h),os(this,E,S,2)},j.toString=function(E){var S,I=this,b=I.s,v=I.e;return v===null?b?(S="Infinity",b<0&&(S="-"+S)):S="NaN":(E==null?S=v<=nt||v>=it?L(g(I.c),v):H(g(I.c),v,"0"):E===10&&ln?(I=Kt(new z(I),le+v+1,ye),S=H(g(I.c),I.e,"0")):(x(E,2,Yt.length,"Base"),S=J(H(g(I.c),v,"0"),10,E,b,!0)),b<0&&I.c[0]&&(S="-"+S)),S},j.valueOf=j.toJSON=function(){return Tr(this)},j._isBigNumber=!0,q!=null&&z.set(q),z}function d(q){var k=q|0;return q>0||q===k?k:k-1}function g(q){for(var k,J,ie=1,j=q.length,we=q[0]+"";ie<j;){for(k=q[ie++]+"",J=c-k.length;J--;k="0"+k);we+=k}for(j=we.length;we.charCodeAt(--j)===48;);return we.slice(0,j+1||1)}function m(q,k){var J,ie,j=q.c,we=k.c,le=q.s,ye=k.s,nt=q.e,it=k.e;if(!le||!ye)return null;if(J=j&&!j[0],ie=we&&!we[0],J||ie)return J?ie?0:-ye:le;if(le!=ye)return le;if(J=le<0,ie=nt==it,!j||!we)return ie?0:!j^J?1:-1;if(!ie)return nt>it^J?1:-1;for(ye=(nt=j.length)<(it=we.length)?nt:it,le=0;le<ye;le++)if(j[le]!=we[le])return j[le]>we[le]^J?1:-1;return nt==it?0:nt>it^J?1:-1}function x(q,k,J,ie){if(q<k||q>J||q!==i(q))throw Error(s+(ie||"Argument")+(typeof q=="number"?q<k||q>J?" out of range: ":" not an integer: ":" not a primitive number: ")+String(q))}function R(q){var k=q.c.length-1;return d(q.e/c)==k&&q.c[k]%2!=0}function L(q,k){return(q.length>1?q.charAt(0)+"."+q.slice(1):q)+(k<0?"e":"e+")+k}function H(q,k,J){var ie,j;if(k<0){for(j=J+".";++k;j+=J);q=j+q}else if(ie=q.length,++k>ie){for(j=J,k-=ie;--k;j+=J);q+=j}else k<ie&&(q=q.slice(0,k)+"."+q.slice(k));return q}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Tu!="undefined"&&Tu.exports?Tu.exports=e:(t||(t=typeof self!="undefined"&&self?self:window),t.BigNumber=e)})(lx)});var px=w((hx,dx)=>{"use strict";var ML=Math.exp;hx=dx.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let r,n=0,i=0,s=0,o,a={};function c(u,l){return 1-ML(-(u-l)/e)}return a.push=function(l,f){if(o){let h=c(l,o),p=f-r,d=h*p;r=h*f+(1-h)*r,n=(1-h)*(n+p*d),i=Math.sqrt(n),s=r+h*p}else r=f;o=l},a.movingAverage=function(){return r},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return s},a}});var vx=w((cK,mx)=>{"use strict";var{EventEmitter:FL}=Qt(),{BigNumber:Ru}=fx(),yx=px(),KL=fa(),gx=class extends FL{constructor(e,r){super();this._options=r,this._queue=[],this._stats={dataReceived:Ru(0),dataSent:Ru(0)},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this);let n=this._options.movingAverageIntervals;for(let i=0;i<e.length;i++){let s=e[i];this._stats[s]=Ru(0),this._movingAverages[s]={};for(let o=0;o<n.length;o++){let a=n[o];(this._movingAverages[s][a]=yx(a)).push(this._frequencyLastTime,0)}}}start(){this._queue.length&&this._resetComputeTimeout()}stop(){this._timeout&&(this._timeout.clear(),this._timeout=null)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}toJSON(){let e=this.snapshot,r=this.movingAverages,n={dataReceived:e.dataReceived.toString(),dataSent:e.dataSent.toString(),movingAverages:{}},i=Object.keys(r);for(let s of i){n.movingAverages[s]={};for(let o of Object.keys(r[s]))n.movingAverages[s][o]=r[s][o].movingAverage()}return n}push(e,r){this._queue.push([e,r,Date.now()]),this._resetComputeTimeout()}_resetComputeTimeout(){this._timeout=KL(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=null,this._queue.length){let e;for(e of this._queue)this._applyOp(e);this._queue=[],this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let r=e-this._frequencyLastTime;Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,r,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,r,n){let i=this._frequencyAccumulators[e]||0;this._frequencyAccumulators[e]=0;let o=i/(r||1)*1e3,a=this._movingAverages[e];a||(a=this._movingAverages[e]={});let c=this._options.movingAverageIntervals;for(let u=0;u<c.length;u++){let l=c[u],f=a[l];f||(f=a[l]=yx(l)),f.push(n,o)}}_applyOp(e){let r=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);let i;Object.prototype.hasOwnProperty.call(this._stats,r)?i=this._stats[r]:i=this._stats[r]=Ru(0),this._stats[r]=i.plus(n),this._frequencyAccumulators[r]||(this._frequencyAccumulators[r]=0),this._frequencyAccumulators[r]+=n}};mx.exports=gx});var wx=w((uK,Ex)=>{"use strict";var VL=Fs(),{pipe:jL}=rn(),{tap:bx}=Iu(),$L=ux(),{METRICS:HL}=tu(),bd=vx(),Ed=["dataReceived","dataSent"],zL={in:"dataReceived",out:"dataSent"},Bu=class{constructor(e){this._options=VL(HL,e),this._globalStats=new bd(Ed,this._options),this._peerStats=new Map,this._protocolStats=new Map,this._oldPeers=$L(this._options.maxOldPeersRetention),this._running=!1,this._onMessage=this._onMessage.bind(this),this._systems=new Map}start(){this._running=!0}stop(){this._running=!1,this._globalStats.stop();for(let e of this._peerStats.values())e.stop();for(let e of this._protocolStats.values())e.stop()}get global(){return this._globalStats}get peers(){return Array.from(this._peerStats.keys())}getComponentMetrics(){return this._systems}updateComponentMetric({system:e="libp2p",component:r,metric:n,value:i}){this._systems.has(e)||this._systems.set(e,new Map);let s=this._systems.get(e);s.has(r)||s.set(r,new Map),s.get(r).set(n,i)}forPeer(e){let r=e.toB58String();return this._peerStats.get(r)||this._oldPeers.get(r)}get protocols(){return Array.from(this._protocolStats.keys())}forProtocol(e){return this._protocolStats.get(e)}onPeerDisconnected(e){let r=e.toB58String(),n=this._peerStats.get(r);n&&(n.stop(),this._peerStats.delete(r),this._oldPeers.set(r,n))}_onMessage({remotePeer:e,protocol:r,direction:n,dataLength:i}){if(!this._running)return;let s=zL[n],o=this.forPeer(e);if(o||(o=new bd(Ed,this._options),this._peerStats.set(e.toB58String(),o)),o.push(s,i),this._globalStats.push(s,i),r){let a=this.forProtocol(r);a||(a=new bd(Ed,this._options),this._protocolStats.set(r,a)),a.push(s,i)}}updatePlaceholder(e,r){if(!this._running)return;let n=this.forPeer(e),i=r.toB58String(),s=this.forPeer(r),o=n;s&&(o=Bu.mergeStats(s,o),this._oldPeers.delete(i)),this._peerStats.delete(e.toB58String()),this._peerStats.set(i,o),o.start()}trackStream({stream:e,remotePeer:r,protocol:n}){let i=this,s=e.source;e.source=bx(a=>i._onMessage({remotePeer:r,protocol:n,direction:"in",dataLength:a.length}))(s);let o=e.sink;return e.sink=a=>jL(a,bx(c=>i._onMessage({remotePeer:r,protocol:n,direction:"out",dataLength:c.length})),o),e}static mergeStats(e,r){return e.stop(),r.stop(),e._queue=[...e._queue,...r._queue],e}};Ex.exports=Bu});var Pu=w(es=>{"use strict";var _x=Gi(),xx=xa(),GL=rn(),WL=pe(),{fromString:YL}=(It(),Nt),QL=sh(),Sx=YL(`
45
+ `);es.encode=t=>xx.encode.single(new _x([t,Sx]));es.write=(t,e)=>t.push(es.encode(e));es.writeAll=(t,e)=>{t.push(e.reduce((r,n)=>r.append(es.encode(n)),new _x))};es.read=async t=>{let e=1,r={[Symbol.asyncIterator](){return this},next:()=>t.next(e)},n=s=>{e=s},i=await GL(r,xx.decode({onLength:n}),QL);if(i.get(i.length-1)!==Sx[0])throw WL(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return i.shallowSlice(0,-1)}});var Cx=w((fK,Ax)=>{"use strict";var co=Be()("mss:select"),XL=pe(),uo=Pu(),ZL=Sa();Ax.exports=async(t,e,r)=>{e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=ZL(t),a=e.shift();r?(co('select: write ["%s", "%s"]',r,a),uo.writeAll(i,[r,a])):(co('select: write "%s"',a),uo.write(i,a));let c=(await uo.read(n)).toString();if(co('select: read "%s"',c),c===r&&(c=(await uo.read(n)).toString(),co('select: read "%s"',c)),c===a)return s(),{stream:o,protocol:a};for(let u of e){co('select: write "%s"',u),uo.write(i,u);let l=(await uo.read(n)).toString();if(co('select: read "%s" for "%s"',l,u),l===u)return s(),{stream:o,protocol:u}}throw s(),XL(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}});var wd=w(Ix=>{"use strict";Ix.PROTOCOL_ID="/multistream/1.0.0"});var Rx=w((dK,Tx)=>{"use strict";var Ba=Be()("mss:handle"),JL=Gi(),lo=Pu(),e6=Sa(),{PROTOCOL_ID:_d}=wd();Tx.exports=async(t,e)=>{e=Array.isArray(e)?e:[e];let{writer:r,reader:n,rest:i,stream:s}=e6(t);for(;;){let o=(await lo.read(n)).toString();if(Ba('read "%s"',o),o===_d){Ba('respond with "%s" for "%s"',_d,o),lo.write(r,_d);continue}if(e.includes(o))return lo.write(r,o),Ba('respond with "%s" for "%s"',o,o),i(),{stream:s,protocol:o};if(o==="ls"){lo.write(r,new JL(e.map(a=>lo.encode(a)))),Ba('respond with "%s" for %s',e,o);continue}lo.write(r,"na"),Ba('respond with "na" for "%s"',o)}}});var Nx=w((pK,Px)=>{"use strict";var t6=Yh(),r6=Be()("it-multistream-select:ls"),Bx=Pu(),n6=Sa(),i6=xa(),s6=rn();Px.exports=async t=>{let{reader:e,writer:r,rest:n,stream:i}=n6(t);r6('write "ls"'),Bx.write(r,"ls"),n();let s=await Bx.read(e),o=t6([s]),a=[];return await s6(o,i6.decode(),async c=>{for await(let u of c)a.push(u.shallowSlice(0,-1).toString())}),{stream:i,protocols:a}}});var kx=w(Nu=>{"use strict";var Ox=Cx(),o6=Rx(),a6=Nx(),{PROTOCOL_ID:xd}=wd();Nu.PROTOCOL_ID=xd;var Sd=class{constructor(e){this._stream=e,this._shaken=!1}async _handshake(){if(this._shaken)return;let{stream:e}=await Ox(this._stream,xd);this._stream=e,this._shaken=!0}},Dx=class extends Sd{select(e){return Ox(this._stream,e,this._shaken?null:xd)}async ls(){await this._handshake();let{stream:e,protocols:r}=await a6(this._stream);return this._stream=e,r}};Nu.Dialer=Dx;var Lx=class extends Sd{handle(e){return o6(this._stream,e)}};Nu.Listener=Lx});var Ux=w((gK,qx)=>{"use strict";var c6={OPEN:"open",CLOSING:"closing",CLOSED:"closed"};qx.exports=c6});var $x=w((mK,jx)=>{"use strict";var Mx=Rt(),{Multiaddr:u6}=qt(),or=pe(),{OPEN:l6,CLOSING:Fx,CLOSED:Ad}=Ux(),Kx=Symbol.for("@libp2p/interface-connection/connection"),Vx=class{constructor({localAddr:e,remoteAddr:r,localPeer:n,remotePeer:i,newStream:s,close:o,getStreams:a,stat:c}){f6(e,n,i,s,o,a,c),this.id=parseInt(String(Math.random()*1e9)).toString(36)+Date.now(),this.localAddr=e,this.remoteAddr=r,this.localPeer=n,this.remotePeer=i,this._stat={...c,status:l6},this._newStream=s,this._close=o,this._getStreams=a,this.registry=new Map,this.tags=[]}get[Symbol.toStringTag](){return"Connection"}get[Kx](){return!0}static isConnection(e){return Boolean(e&&e[Kx])}get stat(){return this._stat}get streams(){return this._getStreams()}async newStream(e){if(this.stat.status===Fx)throw or(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Ad)throw or(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let{stream:r,protocol:n}=await this._newStream(e);return this.addStream(r,{protocol:n}),{stream:r,protocol:n}}addStream(e,{protocol:r,metadata:n={}}){this.registry.set(e.id,{protocol:r,...n})}removeStream(e){this.registry.delete(e)}async close(){if(this.stat.status!==Ad){if(this._closing)return this._closing;this.stat.status=Fx,this._closing=await this._close(),this._stat.timeline.close=Date.now(),this.stat.status=Ad}}};jx.exports=Vx;function f6(t,e,r,n,i,s,o){if(t&&!u6.isMultiaddr(t))throw or(new Error("localAddr must be an instance of multiaddr"),"ERR_INVALID_PARAMETERS");if(!Mx.isPeerId(e))throw or(new Error("localPeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(!Mx.isPeerId(r))throw or(new Error("remotePeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(typeof n!="function")throw or(new Error("new stream must be a function"),"ERR_INVALID_PARAMETERS");if(typeof i!="function")throw or(new Error("close must be a function"),"ERR_INVALID_PARAMETERS");if(typeof s!="function")throw or(new Error("getStreams must be a function"),"ERR_INVALID_PARAMETERS");if(!o)throw or(new Error("connection metadata object must be provided"),"ERR_INVALID_PARAMETERS");if(o.direction!=="inbound"&&o.direction!=="outbound")throw or(new Error('direction must be "inbound" or "outbound"'),"ERR_INVALID_PARAMETERS");if(!o.timeline)throw or(new Error("connection timeline object must be provided in the stat object"),"ERR_INVALID_PARAMETERS");if(!o.timeline.open)throw or(new Error("connection open timestamp must be provided"),"ERR_INVALID_PARAMETERS");if(!o.timeline.upgraded)throw or(new Error("connection upgraded timestamp must be provided"),"ERR_INVALID_PARAMETERS")}});var zx=w(Hx=>{"use strict";Hx.Connection=$x()});var Wx=w((bK,Gx)=>{"use strict";function h6(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}else return Array.from(t)}Gx.exports=function(e){var r=void 0,n=void 0;function i(a){if(!(a instanceof Object))throw new Error('Target "'+a+'" is not an object');n=a}function s(a){Object.keys(a).forEach(function(c){var u=a[c];if(typeof u!="function")throw new Error('Trap "'+c+": "+u+'" is not a function');if(!Reflect[c])throw new Error('Trap "'+c+": "+u+'" is not a valid trap')}),r=a}i(function(){}),e&&i(e),s(Reflect);var o=new Proxy({},{get:function(c,u){return function(){for(var l=arguments.length,f=Array(l),h=0;h<l;h++)f[h]=arguments[h];return r[u].apply(null,[n].concat(h6(f.slice(1))))}}});return{setTarget:i,setHandler:s,getTarget:function(){return n},getHandler:function(){return r},proxy:new Proxy(n,o)}}});var Jx=w((EK,Zx)=>{"use strict";var Yx=Be(),vt=Object.assign(Yx("libp2p:upgrader"),{error:Yx("libp2p:upgrader:err")}),ts=pe(),fo=kx(),{Connection:d6}=zx(),p6=Rt(),{pipe:y6}=rn(),Qx=Wx(),{codes:rs}=ze(),Xx=class{constructor({localPeer:e,metrics:r,cryptos:n=new Map,muxers:i=new Map,onConnectionEnd:s=()=>{},onConnection:o=()=>{}}){this.localPeer=e,this.metrics=r,this.cryptos=n,this.muxers=i,this.protector=null,this.protocols=new Map,this.onConnection=o,this.onConnectionEnd=s}async upgradeInbound(e){let r,n,i,s,o,a,c;if(this.metrics){({setTarget:a,proxy:c}=Qx());let l=(Math.random()*1e9).toString(36)+Date.now();a({toB58String:()=>l}),e=this.metrics.trackStream({stream:e,remotePeer:c})}vt("Starting the inbound connection upgrade");let u=e;this.protector&&(u=await this.protector.protect(e));try{({conn:r,remotePeer:n,protocol:o}=await this._encryptInbound(this.localPeer,u,this.cryptos)),this.muxers.size?{stream:i,Muxer:s}=await this._multiplexInbound(r,this.muxers):i=r}catch(l){throw vt.error("Failed to upgrade inbound connection",l),await e.close(l),l}return this.metrics&&(this.metrics.updatePlaceholder(c,n),a(n)),vt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:o,direction:"inbound",maConn:e,upgradedConn:i,Muxer:s,remotePeer:n})}async upgradeOutbound(e){let r=e.remoteAddr.getPeerId();if(!r)throw ts(new Error("outbound connection must have a peer id"),rs.ERR_INVALID_MULTIADDR);let n=p6.createFromB58String(r),i,s,o,a,c,u,l;if(this.metrics){({setTarget:u,proxy:l}=Qx());let h=(Math.random()*1e9).toString(36)+Date.now();u({toB58String:()=>h}),e=this.metrics.trackStream({stream:e,remotePeer:l})}vt("Starting the outbound connection upgrade");let f=e;this.protector&&(f=await this.protector.protect(e));try{({conn:i,remotePeer:s,protocol:a}=await this._encryptOutbound(this.localPeer,f,n,this.cryptos)),this.muxers.size?{stream:o,Muxer:c}=await this._multiplexOutbound(i,this.muxers):o=i}catch(h){throw vt.error("Failed to upgrade outbound connection",h),await e.close(h),h}return this.metrics&&(this.metrics.updatePlaceholder(l,s),u(s)),vt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:a,direction:"outbound",maConn:e,upgradedConn:o,Muxer:c,remotePeer:s})}_createConnection({cryptoProtocol:e,direction:r,maConn:n,upgradedConn:i,Muxer:s,remotePeer:o}){let a,c,u;s&&(a=new s({onStream:async h=>{if(!u)return;let p=new fo.Listener(h);try{let{stream:d,protocol:g}=await p.handle(Array.from(this.protocols.keys()));vt("%s: incoming stream opened on %s",r,g),this.metrics&&this.metrics.trackStream({stream:d,remotePeer:o,protocol:g}),u.addStream(h,{protocol:g}),this._onStream({connection:u,stream:{...h,...d},protocol:g})}catch(d){vt.error(d)}},onStreamEnd:h=>{u.removeStream(h.id)}}),c=async h=>{vt("%s: starting new stream on %s",r,h);let p=a.newStream(),d=new fo.Dialer(p);try{let{stream:g,protocol:m}=await d.select(h);return this.metrics&&this.metrics.trackStream({stream:g,remotePeer:o,protocol:m}),{stream:{...p,...g},protocol:m}}catch(g){throw vt.error("could not create new stream",g),ts(g,rs.ERR_UNSUPPORTED_PROTOCOL)}},y6(i,a,i).catch(vt.error));let l=n.timeline;n.timeline=new Proxy(l,{set:(...h)=>(u&&h[1]==="close"&&h[2]&&!l.close&&(async()=>{try{u.stat.status==="open"&&await u.close()}catch(p){vt.error(p)}finally{this.onConnectionEnd(u)}})().catch(p=>{vt.error(p)}),Reflect.set(...h))}),n.timeline.upgraded=Date.now();let f=()=>{throw ts(new Error("connection is not multiplexed"),rs.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=new d6({localAddr:n.localAddr,remoteAddr:n.remoteAddr,localPeer:this.localPeer,remotePeer:o,stat:{direction:r,timeline:n.timeline,multiplexer:s&&s.multicodec,encryption:e},newStream:c||f,getStreams:()=>a?a.streams:f(),close:async()=>{await n.close(),a&&a.streams.map(h=>h.abort())}}),this.onConnection(u),u}_onStream({connection:e,stream:r,protocol:n}){this.protocols.get(n)({connection:e,stream:r,protocol:n})}async _encryptInbound(e,r,n){let i=new fo.Listener(r),s=Array.from(n.keys());vt("handling inbound crypto protocol selection",s);try{let{stream:o,protocol:a}=await i.handle(s),c=n.get(a);if(vt("encrypting inbound connection..."),!c)throw new Error(`no crypto module found for ${a}`);return{...await c.secureInbound(e,o),protocol:a}}catch(o){throw ts(o,rs.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r,n,i){let s=new fo.Dialer(r),o=Array.from(i.keys());vt("selecting outbound crypto protocol",o);try{let{stream:a,protocol:c}=await s.select(o),u=i.get(c);if(vt("encrypting outbound connection to %j",n),!u)throw new Error(`no crypto module found for ${c}`);return{...await u.secureOutbound(e,a,n),protocol:c}}catch(a){throw ts(a,rs.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=new fo.Dialer(e),i=Array.from(r.keys());vt("outbound selecting muxer %s",i);try{let{stream:s,protocol:o}=await n.select(i);vt("%s selected as muxer protocol",o);let a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ts(s,rs.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=new fo.Listener(e),i=Array.from(r.keys());vt("inbound handling muxers %s",i);try{let{stream:s,protocol:o}=await n.handle(i),a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ts(s,rs.ERR_MUXER_UNAVAILABLE)}}};Zx.exports=Xx});var sS=w((wK,iS)=>{"use strict";var eS=Be(),ho=pe(),{Multiaddr:g6}=qt(),Ou=Rt(),{codes:cn}=ze(),tS=au(),rS=su(),Ke=Object.assign(eS("libp2p:peer-store:address-book"),{error:eS("libp2p:peer-store:address-book:err")}),Du="change:multiaddrs",nS=class{constructor(e,r){this._emit=e,this._store=r}async consumePeerRecord(e){Ke("consumePeerRecord await write lock");let r=await this._store.lock.writeLock();Ke("consumePeerRecord got write lock");let n,i;try{let s;try{s=tS.createFromProtobuf(e.payload)}catch(a){return Ke.error("invalid peer record received"),!1}n=s.peerId;let o=s.multiaddrs;if(!n.equals(e.peerId))return Ke("signing key does not match PeerId in the PeerRecord"),!1;if(!o||!o.length)return!1;if(await this._store.has(n)){let a=await this._store.load(n);if(a.peerRecordEnvelope){let c=await rS.createFromProtobuf(a.peerRecordEnvelope);if(tS.createFromProtobuf(c.payload).seqNumber>=s.seqNumber)return!1}}i=await this._store.patchOrCreate(n,{addresses:Cd(o,!0),peerRecordEnvelope:e.marshal()}),Ke(`stored provided peer record for ${s.peerId.toB58String()}`)}finally{Ke("consumePeerRecord release write lock"),r()}return this._emit(Du,{peerId:n,multiaddrs:i.addresses.map(({multiaddr:s})=>s)}),!0}async getRawEnvelope(e){Ke("getRawEnvelope await read lock");let r=await this._store.lock.readLock();Ke("getRawEnvelope got read lock");try{return(await this._store.load(e)).peerRecordEnvelope}catch(n){if(n.code!==cn.ERR_NOT_FOUND)throw n}finally{Ke("getRawEnvelope release read lock"),r()}}async getPeerRecord(e){let r=await this.getRawEnvelope(e);if(!!r)return rS.createFromProtobuf(r)}async get(e){if(!Ou.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),ho(new Error("peerId must be an instance of peer-id"),cn.ERR_INVALID_PARAMETERS);Ke("get wait for read lock");let r=await this._store.lock.readLock();Ke("get got read lock");try{return(await this._store.load(e)).addresses}catch(n){if(n.code!==cn.ERR_NOT_FOUND)throw n}finally{Ke("get release read lock"),r()}return[]}async set(e,r){if(!Ou.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),ho(new Error("peerId must be an instance of peer-id"),cn.ERR_INVALID_PARAMETERS);Ke("set await write lock");let n=await this._store.lock.writeLock();Ke("set got write lock");let i=!1,s;try{let o=Cd(r);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length&&o.length===a.addresses.length)return}catch(a){if(a.code!==cn.ERR_NOT_FOUND)throw a}s=await this._store.patchOrCreate(e,{addresses:o}),Ke(`set multiaddrs for ${e.toB58String()}`)}finally{Ke("set release write lock"),n()}this._emit(Du,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async add(e,r){if(!Ou.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),ho(new Error("peerId must be an instance of peer-id"),cn.ERR_INVALID_PARAMETERS);Ke("add await write lock");let n=await this._store.lock.writeLock();Ke("add got write lock");let i,s;try{let o=Cd(r);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length)return}catch(a){if(a.code!==cn.ERR_NOT_FOUND)throw a}s=await this._store.mergeOrCreate(e,{addresses:o}),Ke(`added multiaddrs for ${e}`)}finally{Ke("set release write lock"),n()}this._emit(Du,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async delete(e){if(!Ou.isPeerId(e))throw Ke.error("peerId must be an instance of peer-id to store data"),ho(new Error("peerId must be an instance of peer-id"),cn.ERR_INVALID_PARAMETERS);Ke("delete await write lock");let r=await this._store.lock.writeLock();Ke("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{addresses:[]})}finally{Ke("delete release write lock"),r()}n&&this._emit(Du,{peerId:e,multiaddrs:[]})}async getMultiaddrsForPeer(e,r=n=>n){let n=await this.get(e);return r(n).map(i=>{let s=i.multiaddr,o=s.getPeerId();return o&&o===e.toB58String()?s:s.encapsulate(`/p2p/${e.toB58String()}`)})}};function Cd(t,e=!1){if(!t)throw Ke.error("multiaddrs must be provided to store data"),ho(new Error("multiaddrs must be provided"),cn.ERR_INVALID_PARAMETERS);return Array.from(new Set(t.map(r=>r.toString()))).map(r=>{try{return{multiaddr:new g6(r),isCertified:e}}catch(n){throw ho(n,cn.ERR_INVALID_PARAMETERS)}})}iS.exports=nS});var lS=w((_K,uS)=>{"use strict";var oS=Be(),Lu=pe(),{codes:po}=ze(),Id=Rt(),{equals:m6}=(yr(),pr),ar=Object.assign(oS("libp2p:peer-store:key-book"),{error:oS("libp2p:peer-store:key-book:err")}),aS="change:pubkey",cS=class{constructor(e,r){this._emit=e,this._store=r}async set(e,r){if(!Id.isPeerId(e))throw ar.error("peerId must be an instance of peer-id to store data"),Lu(new Error("peerId must be an instance of peer-id"),po.ERR_INVALID_PARAMETERS);if(!r)throw ar.error("publicKey must be an instance of PublicKey to store data"),Lu(new Error("publicKey must be an instance of PublicKey"),po.ERR_INVALID_PARAMETERS);ar("set await write lock");let n=await this._store.lock.writeLock();ar("set got write lock");let i=!1;try{try{let s=await this._store.load(e);if(s.pubKey&&m6(s.pubKey.bytes,r.bytes))return}catch(s){if(s.code!==po.ERR_NOT_FOUND)throw s}await this._store.patchOrCreate(e,{pubKey:r}),i=!0}finally{ar("set release write lock"),n()}i&&this._emit(aS,{peerId:e,pubKey:r})}async get(e){if(!Id.isPeerId(e))throw ar.error("peerId must be an instance of peer-id to store data"),Lu(new Error("peerId must be an instance of peer-id"),po.ERR_INVALID_PARAMETERS);ar("get await write lock");let r=await this._store.lock.readLock();ar("get got write lock");try{return(await this._store.load(e)).pubKey}catch(n){if(n.code!==po.ERR_NOT_FOUND)throw n}finally{ar("get release write lock"),r()}}async delete(e){if(!Id.isPeerId(e))throw ar.error("peerId must be an instance of peer-id to store data"),Lu(new Error("peerId must be an instance of peer-id"),po.ERR_INVALID_PARAMETERS);ar("delete await write lock");let r=await this._store.lock.writeLock();ar("delete got write lock");try{await this._store.patchOrCreate(e,{pubKey:void 0})}finally{ar("delete release write lock"),r()}this._emit(aS,{peerId:e,pubKey:void 0})}};uS.exports=cS});var pS=w((xK,dS)=>{"use strict";var fS=Be(),ui=pe(),{codes:Ar}=ze(),yo=Rt(),{equals:v6}=(yr(),pr),We=Object.assign(fS("libp2p:peer-store:metadata-book"),{error:fS("libp2p:peer-store:metadata-book:err")}),ku="change:metadata",hS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("get await read lock");let r=await this._store.lock.readLock();We("get got read lock");try{return(await this._store.load(e)).metadata}catch(n){if(n.code!==Ar.ERR_NOT_FOUND)throw n}finally{We("get release read lock"),r()}return new Map}async getValue(e,r){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("getValue await read lock");let n=await this._store.lock.readLock();We("getValue got read lock");try{return(await this._store.load(e)).metadata.get(r)}catch(i){if(i.code!==Ar.ERR_NOT_FOUND)throw i}finally{We("getValue release write lock"),n()}}async set(e,r){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);if(!r||!(r instanceof Map))throw We.error("valid metadata must be provided to store data"),ui(new Error("valid metadata must be provided"),Ar.ERR_INVALID_PARAMETERS);We("set await write lock");let n=await this._store.lock.writeLock();We("set got write lock");try{await this._store.mergeOrCreate(e,{metadata:r})}finally{We("set release write lock"),n()}this._emit(ku,{peerId:e,metadata:r})}async setValue(e,r,n){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);if(typeof r!="string"||!(n instanceof Uint8Array))throw We.error("valid key and value must be provided to store data"),ui(new Error("valid key and value must be provided"),Ar.ERR_INVALID_PARAMETERS);We("setValue await write lock");let i=await this._store.lock.writeLock();We("setValue got write lock");let s;try{try{let a=(await this._store.load(e)).metadata.get(r);if(a!=null&&v6(n,a))return}catch(o){if(o.code!==Ar.ERR_NOT_FOUND)throw o}s=await this._store.mergeOrCreate(e,{metadata:new Map([[r,n]])})}finally{We("setValue release write lock"),i()}this._emit(ku,{peerId:e,metadata:s.metadata})}async delete(e){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("delete await write lock");let r=await this._store.lock.writeLock();We("delete got write lock");let n;try{n=await this._store.has(e),n&&await this._store.patch(e,{metadata:new Map})}finally{We("delete release write lock"),r()}n&&this._emit(ku,{peerId:e,metadata:new Map})}async deleteValue(e,r){if(!yo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),ui(new Error("peerId must be an instance of peer-id"),Ar.ERR_INVALID_PARAMETERS);We("deleteValue await write lock");let n=await this._store.lock.writeLock();We("deleteValue got write lock");let i;try{i=(await this._store.load(e)).metadata,i.delete(r),await this._store.patch(e,{metadata:i})}catch(s){if(s.code!==Ar.ERR_NOT_FOUND)throw s}finally{We("deleteValue release write lock"),n()}i&&this._emit(ku,{peerId:e,metadata:i})}};dS.exports=hS});var vS=w((SK,mS)=>{"use strict";var yS=Be(),go=pe(),{codes:Ur}=ze(),Td=Rt(),ot=Object.assign(yS("libp2p:peer-store:proto-book"),{error:yS("libp2p:peer-store:proto-book:err")}),qu="change:protocols",gS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){ot("get wait for read lock");let r=await this._store.lock.readLock();ot("get got read lock");try{return(await this._store.load(e)).protocols}catch(n){if(n.code!==Ur.ERR_NOT_FOUND)throw n}finally{ot("get release read lock"),r()}return[]}async set(e,r){if(!Td.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),go(new Error("peerId must be an instance of peer-id"),Ur.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),go(new Error("protocols must be provided"),Ur.ERR_INVALID_PARAMETERS);ot("set await write lock");let n=await this._store.lock.writeLock();ot("set got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...r]).size===s.protocols.length)return}catch(s){if(s.code!==Ur.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r}),ot(`stored provided protocols for ${e.toB58String()}`)}finally{ot("set release write lock"),n()}this._emit(qu,{peerId:e,protocols:i.protocols})}async add(e,r){if(!Td.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),go(new Error("peerId must be an instance of peer-id"),Ur.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),go(new Error("protocols must be provided"),Ur.ERR_INVALID_PARAMETERS);ot("add await write lock");let n=await this._store.lock.writeLock();ot("add got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...s.protocols,...r]).size===s.protocols.length)return}catch(s){if(s.code!==Ur.ERR_NOT_FOUND)throw s}i=await this._store.mergeOrCreate(e,{protocols:r}),ot(`added provided protocols for ${e.toB58String()}`)}finally{ot("add release write lock"),n()}this._emit(qu,{peerId:e,protocols:i.protocols})}async remove(e,r){if(!Td.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),go(new Error("peerId must be an instance of peer-id"),Ur.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),go(new Error("protocols must be provided"),Ur.ERR_INVALID_PARAMETERS);ot("remove await write lock");let n=await this._store.lock.writeLock();ot("remove got write lock");let i;try{try{let s=await this._store.load(e),o=new Set(s.protocols);for(let a of r)o.delete(a);if(s.protocols.length===o.size)return;r=Array.from(o)}catch(s){if(s.code!==Ur.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r})}finally{ot("remove release write lock"),n()}this._emit(qu,{peerId:e,protocols:i.protocols})}async delete(e){ot("delete await write lock");let r=await this._store.lock.writeLock();ot("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{protocols:[]})}catch(i){if(i.code!==Ur.ERR_NOT_FOUND)throw i}finally{ot("delete release write lock"),r()}n&&this._emit(qu,{peerId:e,protocols:[]})}};mS.exports=gS});var ES=w((AK,bS)=>{"use strict";var li=Ln(),mo=li.Reader,Rd=li.Writer,Ue=li.util,yt=li.roots["libp2p-peer"]||(li.roots["libp2p-peer"]={});yt.Peer=function(){function t(r){if(this.addresses=[],this.protocols=[],this.metadata=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.addresses=Ue.emptyArray,t.prototype.protocols=Ue.emptyArray,t.prototype.metadata=Ue.emptyArray,t.prototype.pubKey=null,t.prototype.peerRecordEnvelope=null;var e;return Object.defineProperty(t.prototype,"_pubKey",{get:Ue.oneOfGetter(e=["pubKey"]),set:Ue.oneOfSetter(e)}),Object.defineProperty(t.prototype,"_peerRecordEnvelope",{get:Ue.oneOfGetter(e=["peerRecordEnvelope"]),set:Ue.oneOfSetter(e)}),t.encode=function(n,i){if(i||(i=Rd.create()),n.addresses!=null&&n.addresses.length)for(var s=0;s<n.addresses.length;++s)yt.Address.encode(n.addresses[s],i.uint32(10).fork()).ldelim();if(n.protocols!=null&&n.protocols.length)for(var s=0;s<n.protocols.length;++s)i.uint32(18).string(n.protocols[s]);if(n.metadata!=null&&n.metadata.length)for(var s=0;s<n.metadata.length;++s)yt.Metadata.encode(n.metadata[s],i.uint32(26).fork()).ldelim();return n.pubKey!=null&&Object.hasOwnProperty.call(n,"pubKey")&&i.uint32(34).bytes(n.pubKey),n.peerRecordEnvelope!=null&&Object.hasOwnProperty.call(n,"peerRecordEnvelope")&&i.uint32(42).bytes(n.peerRecordEnvelope),i},t.decode=function(n,i){n instanceof mo||(n=mo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.addresses&&o.addresses.length||(o.addresses=[]),o.addresses.push(yt.Address.decode(n,n.uint32()));break;case 2:o.protocols&&o.protocols.length||(o.protocols=[]),o.protocols.push(n.string());break;case 3:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(yt.Metadata.decode(n,n.uint32()));break;case 4:o.pubKey=n.bytes();break;case 5:o.peerRecordEnvelope=n.bytes();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Peer)return n;var i=new yt.Peer;if(n.addresses){if(!Array.isArray(n.addresses))throw TypeError(".Peer.addresses: array expected");i.addresses=[];for(var s=0;s<n.addresses.length;++s){if(typeof n.addresses[s]!="object")throw TypeError(".Peer.addresses: object expected");i.addresses[s]=yt.Address.fromObject(n.addresses[s])}}if(n.protocols){if(!Array.isArray(n.protocols))throw TypeError(".Peer.protocols: array expected");i.protocols=[];for(var s=0;s<n.protocols.length;++s)i.protocols[s]=String(n.protocols[s])}if(n.metadata){if(!Array.isArray(n.metadata))throw TypeError(".Peer.metadata: array expected");i.metadata=[];for(var s=0;s<n.metadata.length;++s){if(typeof n.metadata[s]!="object")throw TypeError(".Peer.metadata: object expected");i.metadata[s]=yt.Metadata.fromObject(n.metadata[s])}}return n.pubKey!=null&&(typeof n.pubKey=="string"?Ue.base64.decode(n.pubKey,i.pubKey=Ue.newBuffer(Ue.base64.length(n.pubKey)),0):n.pubKey.length&&(i.pubKey=n.pubKey)),n.peerRecordEnvelope!=null&&(typeof n.peerRecordEnvelope=="string"?Ue.base64.decode(n.peerRecordEnvelope,i.peerRecordEnvelope=Ue.newBuffer(Ue.base64.length(n.peerRecordEnvelope)),0):n.peerRecordEnvelope.length&&(i.peerRecordEnvelope=n.peerRecordEnvelope)),i},t.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addresses=[],s.protocols=[],s.metadata=[]),n.addresses&&n.addresses.length){s.addresses=[];for(var o=0;o<n.addresses.length;++o)s.addresses[o]=yt.Address.toObject(n.addresses[o],i)}if(n.protocols&&n.protocols.length){s.protocols=[];for(var o=0;o<n.protocols.length;++o)s.protocols[o]=n.protocols[o]}if(n.metadata&&n.metadata.length){s.metadata=[];for(var o=0;o<n.metadata.length;++o)s.metadata[o]=yt.Metadata.toObject(n.metadata[o],i)}return n.pubKey!=null&&n.hasOwnProperty("pubKey")&&(s.pubKey=i.bytes===String?Ue.base64.encode(n.pubKey,0,n.pubKey.length):i.bytes===Array?Array.prototype.slice.call(n.pubKey):n.pubKey,i.oneofs&&(s._pubKey="pubKey")),n.peerRecordEnvelope!=null&&n.hasOwnProperty("peerRecordEnvelope")&&(s.peerRecordEnvelope=i.bytes===String?Ue.base64.encode(n.peerRecordEnvelope,0,n.peerRecordEnvelope.length):i.bytes===Array?Array.prototype.slice.call(n.peerRecordEnvelope):n.peerRecordEnvelope,i.oneofs&&(s._peerRecordEnvelope="peerRecordEnvelope")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,li.util.toJSONOptions)},t}();yt.Address=function(){function t(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.multiaddr=Ue.newBuffer([]),t.prototype.isCertified=null;var e;return Object.defineProperty(t.prototype,"_isCertified",{get:Ue.oneOfGetter(e=["isCertified"]),set:Ue.oneOfSetter(e)}),t.encode=function(n,i){return i||(i=Rd.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),n.isCertified!=null&&Object.hasOwnProperty.call(n,"isCertified")&&i.uint32(16).bool(n.isCertified),i},t.decode=function(n,i){n instanceof mo||(n=mo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Address;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;case 2:o.isCertified=n.bool();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Address)return n;var i=new yt.Address;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?Ue.base64.decode(n.multiaddr,i.multiaddr=Ue.newBuffer(Ue.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),n.isCertified!=null&&(i.isCertified=Boolean(n.isCertified)),i},t.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=Ue.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?Ue.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),n.isCertified!=null&&n.hasOwnProperty("isCertified")&&(s.isCertified=n.isCertified,i.oneofs&&(s._isCertified="isCertified")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,li.util.toJSONOptions)},t}();yt.Metadata=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.key="",t.prototype.value=Ue.newBuffer([]),t.encode=function(r,n){return n||(n=Rd.create()),r.key!=null&&Object.hasOwnProperty.call(r,"key")&&n.uint32(10).string(r.key),r.value!=null&&Object.hasOwnProperty.call(r,"value")&&n.uint32(18).bytes(r.value),n},t.decode=function(r,n){r instanceof mo||(r=mo.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new yt.Metadata;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.key=r.string();break;case 2:s.value=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof yt.Metadata)return r;var n=new yt.Metadata;return r.key!=null&&(n.key=String(r.key)),r.value!=null&&(typeof r.value=="string"?Ue.base64.decode(r.value,n.value=Ue.newBuffer(Ue.base64.length(r.value)),0):r.value.length&&(n.value=r.value)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.key="",n.bytes===String?i.value="":(i.value=[],n.bytes!==Array&&(i.value=Ue.newBuffer(i.value)))),r.key!=null&&r.hasOwnProperty("key")&&(i.key=r.key),r.value!=null&&r.hasOwnProperty("value")&&(i.value=n.bytes===String?Ue.base64.encode(r.value,0,r.value.length):n.bytes===Array?Array.prototype.slice.call(r.value):r.value),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,li.util.toJSONOptions)},t}();bS.exports=yt});var Bd=w((CK,wS)=>{wS.exports={WORKER_REQUEST_READ_LOCK:"lock:worker:request-read",WORKER_RELEASE_READ_LOCK:"lock:worker:release-read",MASTER_GRANT_READ_LOCK:"lock:master:grant-read",WORKER_REQUEST_WRITE_LOCK:"lock:worker:request-write",WORKER_RELEASE_WRITE_LOCK:"lock:worker:release-write",MASTER_GRANT_WRITE_LOCK:"lock:master:grant-write"}});var _S=w(()=>{});var NS=w((RK,PS)=>{var b6=Qt().EventEmitter,{nanoid:E6}=($c(),Yf),{WORKER_REQUEST_READ_LOCK:xS,WORKER_RELEASE_READ_LOCK:SS,MASTER_GRANT_READ_LOCK:AS,WORKER_REQUEST_WRITE_LOCK:CS,WORKER_RELEASE_WRITE_LOCK:IS,MASTER_GRANT_WRITE_LOCK:TS}=Bd(),Pa,RS=(t,e,r,n,i)=>(s,o)=>{o&&o.type===r&&t.emit(e,o.name,()=>(s.send({type:i,name:o.name,identifier:o.identifier}),new Promise(a=>{let c=u=>{u&&u.type===n&&u.identifier===o.identifier&&(s.removeListener("message",c),a())};s.on("message",c)})))},BS=(t,e,r,n)=>()=>{let i=E6();return process.send({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{a&&a.type===r&&a.identifier===i&&(process.removeListener("message",o),s(()=>{process.send({type:n,identifier:i,name:t})}))};process.on("message",o)})};PS.exports=t=>{try{if(Pa=_S(),!Object.keys(Pa).length)return}catch(e){return}if(Pa.isMaster||t.singleProcess){let e=new b6;return Pa.on("message",RS(e,"requestReadLock",xS,SS,AS)),Pa.on("message",RS(e,"requestWriteLock",CS,IS,TS)),e}return{isWorker:!0,readLock:e=>BS(e,xS,AS,SS),writeLock:e=>BS(e,CS,TS,IS)}}});var Pd=w((BK,OS)=>{var fi={},vo=t=>{t.addEventListener("message",e=>{vo.dispatchEvent("message",t,e)}),t.port&&t.port.addEventListener("message",e=>{vo.dispatchEvent("message",t,e)})};vo.addEventListener=(t,e)=>{fi[t]||(fi[t]=[]),fi[t].push(e)};vo.removeEventListener=(t,e)=>{!fi[t]||(fi[t]=fi[t].filter(r=>r===e))};vo.dispatchEvent=function(){let t=Array.prototype.slice.call(arguments),e=t.shift();!fi[e]||fi[e].forEach(r=>r.apply(null,t))};OS.exports=vo});var $S=w((PK,jS)=>{var w6=Qt().EventEmitter,{nanoid:_6}=($c(),Yf),{WORKER_REQUEST_READ_LOCK:DS,WORKER_RELEASE_READ_LOCK:LS,MASTER_GRANT_READ_LOCK:kS,WORKER_REQUEST_WRITE_LOCK:qS,WORKER_RELEASE_WRITE_LOCK:US,MASTER_GRANT_WRITE_LOCK:MS}=Bd(),FS=Pd(),KS=(t,e,r,n,i)=>(s,o)=>{if(!o||!o.data||o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.emit(e,a.name,()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),new Promise(c=>{let u=l=>{if(!l||!l.data)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f&&f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})))},VS=(t,e,r,n)=>()=>{let i=_6();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(!a||!a.data)return;let c={type:a.data.type,identifier:a.data.identifier};c&&c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},x6={singleProcess:!1};jS.exports=t=>{if(t=Object.assign({},x6,t),!!globalThis.document||t.singleProcess){let r=new w6;return FS.addEventListener("message",KS(r,"requestReadLock",DS,LS,kS)),FS.addEventListener("message",KS(r,"requestWriteLock",qS,US,MS)),r}return{isWorker:!0,readLock:r=>VS(r,DS,kS,LS),writeLock:r=>VS(r,qS,MS,US)}}});var zS=w((NK,Nd)=>{"use strict";var S6=Object.prototype.hasOwnProperty,Gt="~";function Na(){}Object.create&&(Na.prototype=Object.create(null),new Na().__proto__||(Gt=!1));function A6(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function HS(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new A6(r,n||t,i),o=Gt?Gt+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function Uu(t,e){--t._eventsCount==0?t._events=new Na:delete t._events[e]}function Mt(){this._events=new Na,this._eventsCount=0}Mt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)S6.call(r,n)&&e.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Mt.prototype.listeners=function(e){var r=Gt?Gt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};Mt.prototype.listenerCount=function(e){var r=Gt?Gt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Mt.prototype.emit=function(e,r,n,i,s,o){var a=Gt?Gt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var h=c.length,p;for(f=0;f<h;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};Mt.prototype.on=function(e,r,n){return HS(this,e,r,n,!1)};Mt.prototype.once=function(e,r,n){return HS(this,e,r,n,!0)};Mt.prototype.removeListener=function(e,r,n,i){var s=Gt?Gt+e:e;if(!this._events[s])return this;if(!r)return Uu(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&Uu(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:Uu(this,s)}return this};Mt.prototype.removeAllListeners=function(e){var r;return e?(r=Gt?Gt+e:e,this._events[r]&&Uu(this,r)):(this._events=new Na,this._eventsCount=0),this};Mt.prototype.off=Mt.prototype.removeListener;Mt.prototype.addListener=Mt.prototype.on;Mt.prefixed=Gt;Mt.EventEmitter=Mt;typeof Nd!="undefined"&&(Nd.exports=Mt)});var WS=w((OK,GS)=>{"use strict";GS.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(n=>{n(e())}).then(()=>r),r=>new Promise(n=>{n(e())}).then(()=>{throw r})))});var QS=w((DK,Mu)=>{"use strict";var C6=WS(),Od=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},YS=(t,e,r)=>new Promise((n,i)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Od(o);typeof t.cancel=="function"&&t.cancel(),i(a)},e);C6(t.then(n,i),()=>{clearTimeout(s)})});Mu.exports=YS;Mu.exports.default=YS;Mu.exports.TimeoutError=Od});var XS=w(Dd=>{"use strict";Object.defineProperty(Dd,"__esModule",{value:!0});function I6(t,e,r){let n=0,i=t.length;for(;i>0;){let s=i/2|0,o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}Dd.default=I6});var JS=w(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});var T6=XS(),ZS=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=T6.default(this._queue,n,(s,o)=>o.priority-s.priority);this._queue.splice(i,0,n)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Ld.default=ZS});var rA=w(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});var R6=zS(),eA=QS(),B6=JS(),Fu=()=>{},P6=new eA.TimeoutError,tA=class extends R6{constructor(e){var r,n,i,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=Fu,this._resolveIdle=Fu,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:B6.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=Fu,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=Fu,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let e=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-e;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,i)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():eA.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(P6)});n(await o)}catch(o){i(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};kd.default=tA});var nA=w((MK,qd)=>{"use strict";var Ku,UK=qd.exports.timeout=function(t,e){var r=new Ku,n;return Promise.race([t,new Promise(function(i,s){n=setTimeout(function(){s(r)},e)})]).then(function(i){return clearTimeout(n),i},function(i){throw clearTimeout(n),i})};Ku=qd.exports.TimeoutError=function(){Error.call(this),this.stack=Error().stack,this.message="Timeout"};Ku.prototype=Object.create(Error.prototype);Ku.prototype.name="TimeoutError"});var sA=w((FK,Md)=>{var N6=NS(),O6=$S(),{default:iA}=rA(),{timeout:D6}=nA(),L6=Pd(),ns={},hi;function Ud(t,e){let r,n=new Promise(i=>{r=i});return t.add(()=>D6((()=>new Promise(i=>{r(()=>{i()})}))(),e.timeout)),n}var k6=(t,e)=>{if(hi.isWorker)return{readLock:hi.readLock(t,e),writeLock:hi.writeLock(t,e)};let r=new iA({concurrency:1}),n=null;return{readLock:()=>{if(n)return Ud(n,e);n=new iA({concurrency:e.concurrency,autoStart:!1});let i=n,s=Ud(n,e);return r.add(()=>(i.start(),i.onIdle().then(()=>{n===i&&(n=null)}))),s},writeLock:()=>(n=null,Ud(r,e))}},q6={concurrency:1/0,timeout:846e5,global:globalThis,singleProcess:!1};Md.exports=(t,e)=>(e||(e={}),typeof t=="object"&&(e=t,t="lock"),t||(t="lock"),e=Object.assign({},q6,e),hi||(hi=N6(e)||O6(e),hi.isWorker||(hi.on("requestReadLock",(r,n)=>{!ns[r]||ns[r].readLock().then(i=>n().finally(()=>i()))}),hi.on("requestWriteLock",async(r,n)=>{!ns[r]||ns[r].writeLock().then(i=>n().finally(()=>i()))}))),ns[t]||(ns[t]=k6(t,e)),ns[t]);Md.exports.Worker=function(t,e){e=e||globalThis.Worker;let r;try{r=new e(t)}catch(n){n.message.includes("not a constructor")&&(r=e(t))}if(!r)throw new Error("Could not create Worker from",e);return L6(r),r}});var yA=w((KK,pA)=>{"use strict";var oA=Be(),aA=Rt(),cA=pe(),{codes:Vu}=ze(),{Key:U6}=(zc(),Qf),{base32:M6}=(gi(),yi),{keys:{unmarshalPublicKey:F6,marshalPublicKey:K6}}=_u(),{Multiaddr:uA}=qt(),{Peer:lA}=ES(),V6=sA(),{equals:j6}=(yr(),pr),fA=Object.assign(oA("libp2p:peer-store:store"),{error:oA("libp2p:peer-store:store:err")}),hA="/peers/",dA=class{constructor(e){this._datastore=e,this.lock=V6("peer-store",{singleProcess:!0})}_peerIdToDatastoreKey(e){if(!aA.isPeerId(e))throw fA.error("peerId must be an instance of peer-id to store data"),cA(new Error("peerId must be an instance of peer-id"),Vu.ERR_INVALID_PARAMETERS);let r=e.toString();return new U6(`${hA}${r}`)}async has(e){return this._datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this._datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){let r=await this._datastore.get(this._peerIdToDatastoreKey(e)),n=lA.decode(r),i=n.pubKey?F6(n.pubKey):e.pubKey,s=new Map;for(let o of n.metadata)s.set(o.key,o.value);return{...n,id:e,pubKey:i,addresses:n.addresses.map(({multiaddr:o,isCertified:a})=>({multiaddr:new uA(o),isCertified:a||!1})),metadata:s,peerRecordEnvelope:n.peerRecordEnvelope||void 0}}async save(e){if(e.pubKey!=null&&e.id.pubKey!=null&&!j6(e.pubKey.bytes,e.id.pubKey.bytes))throw fA.error("peer publicKey bytes do not match peer id publicKey bytes"),cA(new Error("publicKey bytes do not match peer id publicKey bytes"),Vu.ERR_INVALID_PARAMETERS);let r=lA.encode({addresses:e.addresses.sort((n,i)=>n.multiaddr.toString().localeCompare(i.multiaddr.toString())).map(({multiaddr:n,isCertified:i})=>({multiaddr:n.bytes,isCertified:i})),protocols:e.protocols.sort(),pubKey:e.pubKey?K6(e.pubKey):void 0,metadata:[...e.metadata.keys()].sort().map(n=>({key:n,value:e.metadata.get(n)})),peerRecordEnvelope:e.peerRecordEnvelope}).finish();return await this._datastore.put(this._peerIdToDatastoreKey(e.id),r),this.load(e.id)}async patch(e,r){let n=await this.load(e);return await this._patch(e,r,n)}async patchOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Vu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,r,n)}async _patch(e,r,n){return await this.save({...n,...r,id:e})}async merge(e,r){let n=await this.load(e);return this._merge(e,r,n)}async mergeOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Vu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,r,n)}async _merge(e,r,n){let i=new Map;return(r.addresses||[]).forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),n.addresses.forEach(({multiaddr:s,isCertified:o})=>{let a=s.toString();i.set(a,Boolean(i.get(a)||o))}),await this.save({id:e,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:new uA(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols||[],...r.protocols||[]])),metadata:new Map([...n.metadata?n.metadata.entries():[],...r.metadata?r.metadata.entries():[]]),pubKey:r.pubKey||(n!=null?n.pubKey:void 0),peerRecordEnvelope:r.peerRecordEnvelope||(n!=null?n.peerRecordEnvelope:void 0)})}async*all(){for await(let e of this._datastore.queryKeys({prefix:hA})){let r=e.toString().split("/")[2],n=M6.decode(r);yield this.load(aA.createFromBytes(n))}}};pA.exports=dA});var bA=w((VK,vA)=>{"use strict";var gA=Be(),{EventEmitter:$6}=Qt(),H6=sS(),z6=lS(),G6=pS(),W6=vS(),Y6=yA(),Cr=Object.assign(gA("libp2p:peer-store"),{error:gA("libp2p:peer-store:err")}),mA=class extends $6{constructor({peerId:e,datastore:r}){super();this._peerId=e,this._store=new Y6(r),this.addressBook=new H6(this.emit.bind(this),this._store),this.keyBook=new z6(this.emit.bind(this),this._store),this.metadataBook=new G6(this.emit.bind(this),this._store),this.protoBook=new W6(this.emit.bind(this),this._store)}async*getPeers(){Cr("getPeers await read lock");let e=await this._store.lock.readLock();Cr("getPeers got read lock");try{for await(let r of this._store.all())r.id.toB58String()!==this._peerId.toB58String()&&(yield r)}finally{Cr("getPeers release read lock"),e()}}async delete(e){Cr("delete await write lock");let r=await this._store.lock.writeLock();Cr("delete got write lock");try{await this._store.delete(e)}finally{Cr("delete release write lock"),r()}}async get(e){Cr("get await read lock");let r=await this._store.lock.readLock();Cr("get got read lock");try{return this._store.load(e)}finally{Cr("get release read lock"),r()}}async has(e){Cr("has await read lock");let r=await this._store.lock.readLock();Cr("has got read lock");try{return this._store.has(e)}finally{Cr("has release read lock"),r()}}};vA.exports=mA});var wA=w((jK,EA)=>{"use strict";function Q6(t,e,r){let n=new t(e,r);n._subscribeAdapter=n.subscribe,n._unsubscribeAdapter=n.unsubscribe;function i(o,a){a&&n.on(o,a),n._subscribeAdapter(o)}function s(o,a){a?n.removeListener(o,a):n.removeAllListeners(o),n.listenerCount(o)===0&&n._unsubscribeAdapter(o)}return n.subscribe=i,n.unsubscribe=s,n}EA.exports=Q6});var CA=w(($K,AA)=>{"use strict";var _A=()=>{},xA=Symbol.for("@libp2p/js-interfaces/topology"),SA=class{constructor({min:e=0,max:r=1/0,handlers:n={}}){this.min=e,this.max=r,this._onConnect=n.onConnect||_A,this._onDisconnect=n.onDisconnect||_A,this.peers=new Set}get[Symbol.toStringTag](){return"Topology"}get[xA](){return!0}static isTopology(e){return Boolean(e&&e[xA])}async setRegistrar(e){this._registrar=e}disconnect(e){this._onDisconnect(e)}};AA.exports=SA});var BA=w((HK,RA)=>{"use strict";var IA=Be(),X6=Object.assign(IA("libp2p:registrar"),{error:IA("libp2p:registrar:err")}),Z6=pe(),{codes:{ERR_INVALID_PARAMETERS:J6}}=ze(),ek=CA(),TA=class{constructor({peerStore:e,connectionManager:r}){this.peerStore=e,this.connectionManager=r,this.topologies=new Map,this._handle=void 0,this._onDisconnect=this._onDisconnect.bind(this),this.connectionManager.on("peer:disconnect",this._onDisconnect)}get handle(){return this._handle}set handle(e){this._handle=e}getConnection(e){return this.connectionManager.get(e)}async register(e){if(!ek.isTopology(e))throw X6.error("topology must be an instance of interfaces/topology"),Z6(new Error("topology must be an instance of interfaces/topology"),J6);let r=(Math.random()*1e9).toString(36)+Date.now();return this.topologies.set(r,e),await e.setRegistrar(this),r}unregister(e){return this.topologies.delete(e)}_onDisconnect(e){for(let[,r]of this.topologies)r.disconnect(e.remotePeer)}};RA.exports=TA});var Fd=w((zK,Oa)=>{"use strict";var{Buffer:ju}=ni(),$u=Gi();Oa.exports=async function*(t){for await(let e of t)ju.isBuffer(e)?yield e:$u.isBufferList(e)?yield e.slice():yield ju.from(e)};Oa.exports.toBuffer=Oa.exports;Oa.exports.toList=async function*(t){for await(let e of t)ju.isBuffer(e)?yield new $u().append(e):$u.isBufferList(e)?yield e:yield new $u().append(ju.from(e))}});var NA=w((GK,PA)=>{"use strict";PA.exports={PROTOCOL:"/ipfs/ping/1.0.0",PING_LENGTH:32,PROTOCOL_VERSION:"1.0.0",PROTOCOL_NAME:"ping"}});var kA=w((Hu,LA)=>{"use strict";var OA=Be(),Kd=Object.assign(OA("libp2p:ping"),{error:OA("libp2p:ping:err")}),tk=pe(),{codes:rk}=ze(),nk=_u(),{pipe:DA}=rn(),{toBuffer:ik}=Fd(),{collect:sk,take:ok}=Iu(),{equals:ak}=(yr(),pr),{PROTOCOL_NAME:Vd,PING_LENGTH:ck,PROTOCOL_VERSION:jd}=NA();async function uk(t,e){let r=`/${t._config.protocolPrefix}/${Vd}/${jd}`;Kd("dialing %s to %s",r,e.toB58String?e.toB58String():e);let n=await t.dial(e),{stream:i}=await n.newStream(r),s=Date.now(),o=nk.randomBytes(ck),[a]=await DA([o],i,u=>ok(1,u),ik,sk),c=Date.now();if(!ak(o,a))throw tk(new Error("Received wrong ping ack"),rk.ERR_WRONG_PING_ACK);return c-s}function lk(t){t.handle(`/${t._config.protocolPrefix}/${Vd}/${jd}`,({stream:e})=>DA(e,e)).catch(e=>{Kd.error(e)})}function fk(t){t.unhandle(`/${t._config.protocolPrefix}/${Vd}/${jd}`).catch(e=>{Kd.error(e)})}Hu=LA.exports=uk;Hu.mount=lk;Hu.unmount=fk});var MA=w((WK,UA)=>{"use strict";var bo=Ln(),qA=bo.Reader,hk=bo.Writer,rt=bo.util,Da=bo.roots["libp2p-identify"]||(bo.roots["libp2p-identify"]={});Da.Identify=function(){function t(e){if(this.listenAddrs=[],this.protocols=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.protocolVersion="",t.prototype.agentVersion="",t.prototype.publicKey=rt.newBuffer([]),t.prototype.listenAddrs=rt.emptyArray,t.prototype.observedAddr=rt.newBuffer([]),t.prototype.protocols=rt.emptyArray,t.prototype.signedPeerRecord=rt.newBuffer([]),t.encode=function(r,n){if(n||(n=hk.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.listenAddrs!=null&&r.listenAddrs.length)for(var i=0;i<r.listenAddrs.length;++i)n.uint32(18).bytes(r.listenAddrs[i]);if(r.protocols!=null&&r.protocols.length)for(var i=0;i<r.protocols.length;++i)n.uint32(26).string(r.protocols[i]);return r.observedAddr!=null&&Object.hasOwnProperty.call(r,"observedAddr")&&n.uint32(34).bytes(r.observedAddr),r.protocolVersion!=null&&Object.hasOwnProperty.call(r,"protocolVersion")&&n.uint32(42).string(r.protocolVersion),r.agentVersion!=null&&Object.hasOwnProperty.call(r,"agentVersion")&&n.uint32(50).string(r.agentVersion),r.signedPeerRecord!=null&&Object.hasOwnProperty.call(r,"signedPeerRecord")&&n.uint32(66).bytes(r.signedPeerRecord),n},t.decode=function(r,n){r instanceof qA||(r=qA.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Da.Identify;r.pos<i;){var o=r.uint32();switch(o>>>3){case 5:s.protocolVersion=r.string();break;case 6:s.agentVersion=r.string();break;case 1:s.publicKey=r.bytes();break;case 2:s.listenAddrs&&s.listenAddrs.length||(s.listenAddrs=[]),s.listenAddrs.push(r.bytes());break;case 4:s.observedAddr=r.bytes();break;case 3:s.protocols&&s.protocols.length||(s.protocols=[]),s.protocols.push(r.string());break;case 8:s.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Da.Identify)return r;var n=new Da.Identify;if(r.protocolVersion!=null&&(n.protocolVersion=String(r.protocolVersion)),r.agentVersion!=null&&(n.agentVersion=String(r.agentVersion)),r.publicKey!=null&&(typeof r.publicKey=="string"?rt.base64.decode(r.publicKey,n.publicKey=rt.newBuffer(rt.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.listenAddrs){if(!Array.isArray(r.listenAddrs))throw TypeError(".Identify.listenAddrs: array expected");n.listenAddrs=[];for(var i=0;i<r.listenAddrs.length;++i)typeof r.listenAddrs[i]=="string"?rt.base64.decode(r.listenAddrs[i],n.listenAddrs[i]=rt.newBuffer(rt.base64.length(r.listenAddrs[i])),0):r.listenAddrs[i].length&&(n.listenAddrs[i]=r.listenAddrs[i])}if(r.observedAddr!=null&&(typeof r.observedAddr=="string"?rt.base64.decode(r.observedAddr,n.observedAddr=rt.newBuffer(rt.base64.length(r.observedAddr)),0):r.observedAddr.length&&(n.observedAddr=r.observedAddr)),r.protocols){if(!Array.isArray(r.protocols))throw TypeError(".Identify.protocols: array expected");n.protocols=[];for(var i=0;i<r.protocols.length;++i)n.protocols[i]=String(r.protocols[i])}return r.signedPeerRecord!=null&&(typeof r.signedPeerRecord=="string"?rt.base64.decode(r.signedPeerRecord,n.signedPeerRecord=rt.newBuffer(rt.base64.length(r.signedPeerRecord)),0):r.signedPeerRecord.length&&(n.signedPeerRecord=r.signedPeerRecord)),n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.listenAddrs=[],i.protocols=[]),n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=rt.newBuffer(i.publicKey))),n.bytes===String?i.observedAddr="":(i.observedAddr=[],n.bytes!==Array&&(i.observedAddr=rt.newBuffer(i.observedAddr))),i.protocolVersion="",i.agentVersion="",n.bytes===String?i.signedPeerRecord="":(i.signedPeerRecord=[],n.bytes!==Array&&(i.signedPeerRecord=rt.newBuffer(i.signedPeerRecord)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?rt.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.listenAddrs&&r.listenAddrs.length){i.listenAddrs=[];for(var s=0;s<r.listenAddrs.length;++s)i.listenAddrs[s]=n.bytes===String?rt.base64.encode(r.listenAddrs[s],0,r.listenAddrs[s].length):n.bytes===Array?Array.prototype.slice.call(r.listenAddrs[s]):r.listenAddrs[s]}if(r.protocols&&r.protocols.length){i.protocols=[];for(var s=0;s<r.protocols.length;++s)i.protocols[s]=r.protocols[s]}return r.observedAddr!=null&&r.hasOwnProperty("observedAddr")&&(i.observedAddr=n.bytes===String?rt.base64.encode(r.observedAddr,0,r.observedAddr.length):n.bytes===Array?Array.prototype.slice.call(r.observedAddr):r.observedAddr),r.protocolVersion!=null&&r.hasOwnProperty("protocolVersion")&&(i.protocolVersion=r.protocolVersion),r.agentVersion!=null&&r.hasOwnProperty("agentVersion")&&(i.agentVersion=r.agentVersion),r.signedPeerRecord!=null&&r.hasOwnProperty("signedPeerRecord")&&(i.signedPeerRecord=n.bytes===String?rt.base64.encode(r.signedPeerRecord,0,r.signedPeerRecord.length):n.bytes===Array?Array.prototype.slice.call(r.signedPeerRecord):r.signedPeerRecord),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,bo.util.toJSONOptions)},t}();UA.exports=Da});var WA=w((YK,GA)=>{"use strict";var FA=Be(),cr=Object.assign(FA("libp2p:identify"),{error:FA("libp2p:identify:err")}),$d=pe(),zu=xa(),{pipe:Gu}=rn(),{collect:KA,take:VA,consume:jA}=Iu(),{fromString:Eo}=(It(),Nt),dk=Rt(),{Multiaddr:Hd}=qt(),{toBuffer:$A}=Fd(),La=MA(),HA=su(),zA=au(),{MULTICODEC_IDENTIFY:pk,MULTICODEC_IDENTIFY_PUSH:yk,IDENTIFY_PROTOCOL_VERSION:gk,MULTICODEC_IDENTIFY_PROTOCOL_NAME:mk,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME:vk,MULTICODEC_IDENTIFY_PROTOCOL_VERSION:bk,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION:Ek}=fh(),{codes:zd}=ze(),is=class{static getProtocolStr(e){return{identifyProtocolStr:`/${e._config.protocolPrefix}/${mk}/${bk}`,identifyPushProtocolStr:`/${e._config.protocolPrefix}/${vk}/${Ek}`}}constructor({libp2p:e}){this._libp2p=e,this.peerStore=e.peerStore,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.peerId=e.peerId,this.handleMessage=this.handleMessage.bind(this);let r=is.getProtocolStr(e);this.identifyProtocolStr=r.identifyProtocolStr,this.identifyPushProtocolStr=r.identifyPushProtocolStr,this._host={protocolVersion:`${e._config.protocolPrefix}/${gk}`,...e._options.host},this.connectionManager.on("peer:connect",n=>{this.identify(n).catch(cr.error)}),this.peerStore.on("change:multiaddrs",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>cr.error(i))}),this.peerStore.on("change:protocols",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>cr.error(i))})}async start(){await this.peerStore.metadataBook.setValue(this.peerId,"AgentVersion",Eo(this._host.agentVersion)),await this.peerStore.metadataBook.setValue(this.peerId,"ProtocolVersion",Eo(this._host.protocolVersion))}async stop(){}async push(e){let r=await this.peerStore.addressBook.getRawEnvelope(this.peerId),n=this._libp2p.multiaddrs.map(o=>o.bytes),i=await this.peerStore.protoBook.get(this.peerId),s=e.map(async o=>{try{let{stream:a}=await o.newStream(this.identifyPushProtocolStr);await Gu([La.Identify.encode({listenAddrs:n,signedPeerRecord:r,protocols:i}).finish()],zu.encode(),a,jA)}catch(a){cr.error("could not push identify update to peer",a)}});return Promise.all(s)}async pushToPeerStore(){if(!this._libp2p.isStarted())return;let e=[],r;for await(let n of this.peerStore.getPeers())n.protocols.includes(this.identifyPushProtocolStr)&&(r=this.connectionManager.get(n.id))&&e.push(r);await this.push(e)}async identify(e){let{stream:r}=await e.newStream(this.identifyProtocolStr),[n]=await Gu([],r,zu.decode(),VA(1),$A,KA);if(!n)throw $d(new Error("No data could be retrieved"),zd.ERR_CONNECTION_ENDED);let i;try{i=La.Identify.decode(n)}catch(h){throw $d(h,zd.ERR_INVALID_MESSAGE)}let{publicKey:s,listenAddrs:o,protocols:a,observedAddr:c,signedPeerRecord:u}=i,l=await dk.createFromPubKey(s);if(e.remotePeer.toB58String()!==l.toB58String())throw $d(new Error("identified peer does not match the expected peer"),zd.ERR_INVALID_PEER);let f=is.getCleanMultiaddr(c);try{let h=await HA.openAndCertify(u,zA.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(h)){await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Eo(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Eo(i.protocolVersion));return}}catch(h){cr("received invalid envelope, discard it and fallback to listenAddrs is available",h)}try{await this.peerStore.addressBook.set(l,o.map(h=>new Hd(h)))}catch(h){cr.error("received invalid addrs",h)}await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Eo(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Eo(i.protocolVersion)),cr("received observed address of %s",f)}handleMessage({connection:e,stream:r,protocol:n}){switch(n){case this.identifyProtocolStr:return this._handleIdentify({connection:e,stream:r});case this.identifyPushProtocolStr:return this._handlePush({connection:e,stream:r});default:cr.error("cannot handle unknown protocol %s",n)}}async _handleIdentify({connection:e,stream:r}){try{let n=new Uint8Array(0);this.peerId.pubKey&&(n=this.peerId.pubKey.bytes);let i=await this.peerStore.addressBook.getRawEnvelope(this.peerId),s=await this.peerStore.protoBook.get(this.peerId),o=La.Identify.encode({protocolVersion:this._host.protocolVersion,agentVersion:this._host.agentVersion,publicKey:n,listenAddrs:this._libp2p.multiaddrs.map(a=>a.bytes),signedPeerRecord:i,observedAddr:e.remoteAddr.bytes,protocols:s}).finish();await Gu([o],zu.encode(),r,jA)}catch(n){cr.error("could not respond to identify request",n)}}async _handlePush({connection:e,stream:r}){let n;try{let[s]=await Gu([],r,zu.decode(),VA(1),$A,KA);n=La.Identify.decode(s)}catch(s){return cr.error("received invalid message",s)}let i=e.remotePeer;try{let s=await HA.openAndCertify(n.signedPeerRecord,zA.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(s)){await this.peerStore.protoBook.set(i,n.protocols);return}}catch(s){cr("received invalid envelope, discard it and fallback to listenAddrs is available",s)}try{await this.peerStore.addressBook.set(i,n.listenAddrs.map(s=>new Hd(s)))}catch(s){cr.error("received invalid addrs",s)}try{await this.peerStore.protoBook.set(i,n.protocols)}catch(s){cr.error("received invalid protocols",s)}}static getCleanMultiaddr(e){if(e&&e.length>0)try{return new Hd(e)}catch(r){return null}return null}},wk={IDENTIFY:pk,IDENTIFY_PUSH:yk};is.multicodecs=wk;is.Messsage=La;GA.exports=is});var YA=w(()=>{});var QA=w(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0}),Gd.promisify=Wu;var _k="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function Wu(t){if(typeof t!="function")throw new TypeError("Argument to promisify must be a function");var e=t[_k],r=Wu.Promise||Promise;if(typeof r!="function")throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,i=arguments.length,s=Array(i),o=0;o<i;o++)s[o]=arguments[o];return new r(function(a,c){s.push(function(u){if(u)return c(u);for(var l=arguments.length,f=Array(1<l?l-1:0),h=1;h<l;h++)f[h-1]=arguments[h];if(f.length===1||!e)return a(f[0]);var p={};f.forEach(function(d,g){var m=e[g];m&&(p[m]=d)}),a(p)}),t.apply(n,s)})}}Wu.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",Wu.Promise=void 0});var ZA=w((JK,XA)=>{function xk(){return typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&!!process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0}XA.exports=xk});var eC=w((eV,JA)=>{"use strict";var Sk=ZA(),Yu=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,ka=Sk(),Ak=Yu&&!ka,Ck=ka&&!Yu,Ik=ka&&Yu,Tk=typeof t0=="function"&&typeof process!="undefined"&&typeof process.release!="undefined"&&process.release.name==="node"&&!ka,Rk=typeof importScripts=="function"&&typeof self!="undefined"&&typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope,Bk=typeof process!="undefined"&&typeof process.env!="undefined"&&!1;JA.exports={isTest:Bk,isElectron:ka,isElectronMain:Ck,isElectronRenderer:Ik,isNode:Tk,isBrowser:Ak,isWebWorker:Rk,isEnvWithDom:Yu}});var rC=w((tV,tC)=>{function Ir(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}tC.exports=Ir;Ir.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Ir.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Ir.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Ir.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Ir.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Ir.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Ir.prototype.start=Ir.prototype.try;Ir.prototype.errors=function(){return this._errors};Ir.prototype.attempts=function(){return this._attempts};Ir.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(t[s]||0)+1;t[s]=o,o>=r&&(e=i,r=o)}return e}});var nC=w(ss=>{var Pk=rC();ss.operation=function(t){var e=ss.timeouts(t);return new Pk(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};ss.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(s,o){return s-o}),n};ss.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};ss.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=t[s];t[s]=function(c){var u=ss.operation(e),l=Array.prototype.slice.call(arguments,1),f=l.pop();l.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),f.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,o),t[s].options=e}}});var sC=w((nV,iC)=>{iC.exports=nC()});var aC=w((iV,Qu)=>{"use strict";var Nk=sC(),Ok=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],Wd=class extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},Dk=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},Lk=t=>Ok.includes(t),oC=(t,e)=>new Promise((r,n)=>{e={onFailedAttempt:()=>{},retries:10,...e};let i=Nk.operation(e);i.attempt(async s=>{try{r(await t(s))}catch(o){if(!(o instanceof Error)){n(new TypeError(`Non-error was thrown: "${o}". You should only throw errors.`));return}if(o instanceof Wd)i.stop(),n(o.originalError);else if(o instanceof TypeError&&!Lk(o.message))i.stop(),n(o);else{Dk(o,s,e);try{await e.onFailedAttempt(o)}catch(a){n(a);return}i.retry(o)||n(i.mainError())}}})});Qu.exports=oC;Qu.exports.default=oC;Qu.exports.AbortError=Wd});var uC=w((sV,cC)=>{"use strict";function kk(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}cC.exports=kk});var fC=w((oV,lC)=>{"use strict";var qk=uC();function Uk(t){let{address:e}=t.nodeAddress();return qk(e)}lC.exports=Uk});var mC=w((aV,gC)=>{"use strict";var Mk=YA(),hC=Be(),{promisify:Yd}=QA(),{Multiaddr:Fk}=qt(),wo=Object.assign(hC("libp2p:nat"),{error:hC("libp2p:nat:err")}),{isBrowser:dC}=eC(),Qd=aC(),Kk=hh(),pC=lh(),Vk=pe(),{codes:{ERR_INVALID_PARAMETERS:jk}}=ze(),$k=fC(),Xd=7200;function Hk(t=1024,e=65535){return Math.floor(Math.random()*(e-t+1)+t)}var yC=class{constructor({peerId:e,addressManager:r,transportManager:n,...i}){if(this._peerId=e,this._addressManager=r,this._transportManager=n,this._enabled=i.enabled,this._externalIp=i.externalIp,this._options={description:i.description||`${pC.name}@${pC.version} ${this._peerId}`,ttl:i.ttl||Xd,autoUpdate:i.keepAlive||!0,gateway:i.gateway,enablePMP:Boolean(i.pmp&&i.pmp.enabled)},this._options.ttl<Xd)throw Vk(new Error(`NatManager ttl should be at least ${Xd} seconds`),jk)}start(){dC||!this._enabled||this._start().catch(e=>{wo.error(e)})}async _start(){let e=this._transportManager.getAddrs();for(let r of e){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||$k(r)||n!==4)continue;let a=this._getClient(),c=this._externalIp||await a.externalIp();if(Kk(c))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`);let u=Hk();wo(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,privatePort:s,protocol:o.toUpperCase()}),this._addressManager.addObservedAddr(Fk.fromNodeAddress({family:4,address:c,port:u},o))}}_getClient(){if(this._client)return this._client;let e=new Mk(this._options),r=Yd(e.map.bind(e)),n=Yd(e.destroy.bind(e)),i=Yd(e.externalIp.bind(e));return this._client={map:(...s)=>Qd(()=>r(...s),{onFailedAttempt:wo.error,unref:!0}),destroy:(...s)=>Qd(()=>n(...s),{onFailedAttempt:wo.error,unref:!0}),externalIp:(...s)=>Qd(()=>i(...s),{onFailedAttempt:wo.error,unref:!0})},this._client}async stop(){if(!(dC||!this._client))try{await this._client.destroy(),this._client=null}catch(e){wo.error(e)}}};gC.exports=yC});var d5=w((cV,_C)=>{"use strict";var vC=Be(),Ft=Object.assign(vC("libp2p"),{error:vC("libp2p:err")}),{EventEmitter:zk}=Qt(),Zd=pe(),Gk=Rt(),{Multiaddr:Wk}=qt(),{MemoryDatastore:Yk}=(i1(),n1),Qk=L1(),Xk=K1(),Jd=ah(),{validate:Zk}=iE(),{codes:Xu,messages:Jk}=ze(),e5=aE(),t5=SE(),r5=RE(),bC=y2(),n5=I2(),i5=s_(),EC=ix(),s5=wx(),o5=wh(),a5=Jx(),c5=bA(),u5=wA(),l5=BA(),Zu=kA(),wC=WA(),f5=mC(),{updateSelfPeerRecord:h5}=bh(),qa=class extends zk{static async create(e){if(e.peerId)return new qa(e);let r=await Gk.create();return e.peerId=r,new qa(e)}constructor(e){super();if(this._options=Zk(e),this.peerId=this._options.peerId,this.datastore=this._options.datastore,this._options.metrics.enabled){let n=new s5({...this._options.metrics});this.metrics=n}if(this.peerStore=new c5({peerId:this.peerId,datastore:this.datastore&&this._options.peerStore.persistence?this.datastore:new Yk}),this.addresses=this._options.addresses,this.addressManager=new e5(this.peerId,this._options.addresses),this.addressManager.on("change:addresses",()=>{h5(this).catch(n=>{Ft.error("Error updating self peer record",n)})}),this._modules=this._options.modules,this._config=this._options.config,this._transport=[],this._discovery=new Map,this.connectionManager=new t5(this,{...this._options.connectionManager}),this._autodialler=new r5(this,{enabled:this._config.peerDiscovery.autoDial,minConnections:this._options.connectionManager.minConnections,autoDialInterval:this._options.connectionManager.autoDialInterval}),this._options.keychain&&this._options.keychain.datastore){Ft("creating keychain");let n=EC.generateOptions();this.keychain=new EC(this._options.keychain.datastore,{...n,...this._options.keychain}),Ft("keychain constructed")}if(this.upgrader=new a5({localPeer:this.peerId,metrics:this.metrics,onConnection:n=>this.connectionManager.onConnect(n),onConnectionEnd:n=>this.connectionManager.onDisconnect(n)}),this.transportManager=new o5({libp2p:this,upgrader:this.upgrader,faultTolerance:this._options.transportManager.faultTolerance}),this.natManager=new f5({peerId:this.peerId,addressManager:this.addressManager,transportManager:this.transportManager,...this._options.config.nat}),this.registrar=new l5({peerStore:this.peerStore,connectionManager:this.connectionManager}),this.handle=this.handle.bind(this),this.registrar.handle=this.handle,!this._modules.connEncryption||!this._modules.connEncryption.length)throw Zd(new Error(Jk.CONN_ENCRYPTION_REQUIRED),Xu.CONN_ENCRYPTION_REQUIRED);if(this._modules.connEncryption.forEach(n=>{this.upgrader.cryptos.set(n.protocol,n)}),this.dialer=new i5({transportManager:this.transportManager,peerStore:this.peerStore,metrics:this.metrics,...this._options.dialer}),this._modules.transport.forEach(n=>{let i=n.prototype[Symbol.toStringTag],s=this._config.transport[i];this.transportManager.add(i,n,s)}),this._config.relay.enabled&&(this.transportManager.add(bC.prototype[Symbol.toStringTag],bC),this.relay=new n5(this)),this._modules.streamMuxer&&(this._modules.streamMuxer.forEach(i=>{this.upgrader.muxers.set(i.multicodec,i)}),this.identifyService=new wC({libp2p:this})),this._modules.connProtector)this.upgrader.protector=this._modules.connProtector;else if(globalThis.process!==void 0&&globalThis.process.env&&globalThis.process.env.LIBP2P_FORCE_PNET)throw new Error("Private network is enforced, but no protector was provided");if(this._modules.dht){let n=this._modules.dht;this._dht=n.create({libp2p:this,...this._config.dht})}if(this._modules.pubsub){let n=this._modules.pubsub;this.pubsub=u5(n,this,this._config.pubsub)}this.peerRouting=new Qk(this),this.contentRouting=new Xk(this),Zu.mount(this),this._onDiscoveryPeer=this._onDiscoveryPeer.bind(this)}emit(e,...r){return e==="error"&&!this._events.error?(Ft.error(r),!1):super.emit(e,...r)}async start(){Ft("libp2p is starting"),this.identifyService&&await this.handle(Object.values(wC.getProtocolStr(this)),this.identifyService.handleMessage);try{await this._onStarting(),await this._onDidStart(),Ft("libp2p has started")}catch(e){throw this.emit("error",e),Ft.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){Ft("libp2p is stopping");try{this._isStarted=!1,this.identifyService&&await this.identifyService.stop(),this.relay&&this.relay.stop(),this.peerRouting.stop(),await this._autodialler.stop(),await(this._dht&&this._dht.stop());for(let e of this._discovery.values())e.removeListener("peer",this._onDiscoveryPeer);await Promise.all(Array.from(this._discovery.values(),e=>e.stop())),this._discovery=new Map,await this.connectionManager.stop(),await Promise.all([this.pubsub&&this.pubsub.stop(),this.metrics&&this.metrics.stop()]),await this.natManager.stop(),await this.transportManager.close(),Zu.unmount(this),this.dialer.destroy()}catch(e){e&&(Ft.error(e),this.emit("error",e))}Ft("libp2p has stopped")}async loadKeychain(){if(!!this.keychain)try{await this.keychain.findKeyByName("self")}catch(e){await this.keychain.importPeer("self",this.peerId)}}isStarted(){return this._isStarted}get connections(){return this.connectionManager.connections}dial(e,r){return this._dial(e,r)}async dialProtocol(e,r,n){if(!r||!r.length)throw Zd(new Error("no protocols were provided to open a stream"),Xu.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this._dial(e,n)).newStream(r)}async _dial(e,r){let{id:n,multiaddrs:i}=Jd(e);if(n.equals(this.peerId))throw Zd(new Error("Cannot dial self"),Xu.ERR_DIALED_SELF);let s=this.connectionManager.get(n);return s?i&&await this.peerStore.addressBook.add(n,i):s=await this.dialer.connectToPeer(e,r),s}get multiaddrs(){let e=this.addressManager.getAnnounceAddrs().map(i=>i.toString());e.length||(e=this.transportManager.getAddrs().map(i=>i.toString())),e=e.concat(this.addressManager.getObservedAddrs().map(i=>i.toString()));let r=this._options.addresses.announceFilter,n=new Set(e);return r(Array.from(n).map(i=>new Wk(i)))}async hangUp(e){let{id:r}=Jd(e),n=this.connectionManager.connections.get(r.toB58String());!n||await Promise.all(n.map(i=>i.close()))}ping(e){let{id:r,multiaddrs:n}=Jd(e);return n?Zu(this,n[0]):Zu(this,r)}async handle(e,r){e=Array.isArray(e)?e:[e],e.forEach(n=>{this.upgrader.protocols.set(n,r)}),await this.peerStore.protoBook.add(this.peerId,e)}async unhandle(e){e=Array.isArray(e)?e:[e],e.forEach(r=>{this.upgrader.protocols.delete(r)}),await this.peerStore.protoBook.remove(this.peerId,e)}async _onStarting(){let e=this.addressManager.getListenAddrs();await this.transportManager.listen(e),this.natManager.start(),this._config.pubsub.enabled&&this.pubsub&&await this.pubsub.start(),this._config.dht.enabled&&(this._dht&&await this._dht.start(),this._dht.on("peer",this._onDiscoveryPeer)),this.metrics&&this.metrics.start(),this.identifyService&&await this.identifyService.start()}async _onDidStart(){this._isStarted=!0,this.peerStore.on("peer",e=>{this.emit("peer:discovery",e),this._maybeConnect(e).catch(r=>{Ft.error(r)})});for await(let e of this.peerStore.getPeers())this.emit("peer:discovery",e.id);this.connectionManager.start(),await this._autodialler.start(),await this._setupPeerDiscovery(),this.relay&&this.relay.start(),this.peerRouting.start()}_onDiscoveryPeer(e){if(e.id.toB58String()===this.peerId.toB58String()){Ft.error(new Error(Xu.ERR_DISCOVERED_SELF));return}e.multiaddrs&&this.peerStore.addressBook.add(e.id,e.multiaddrs).catch(r=>Ft.error(r)),e.protocols&&this.peerStore.protoBook.set(e.id,e.protocols).catch(r=>Ft.error(r))}async _maybeConnect(e){if(this._config.peerDiscovery.autoDial===!0&&!this.connectionManager.get(e)&&(this._options.connectionManager.minConnections||0)>this.connectionManager.size){Ft("connecting to discovered peer %s",e.toB58String());try{await this.dialer.connectToPeer(e)}catch(n){Ft.error(`could not connect to discovered peer ${e.toB58String()} with ${n}`)}}}async _setupPeerDiscovery(){let e=r=>{let n={enabled:!0};if(r.tag&&this._config.peerDiscovery&&this._config.peerDiscovery[r.tag]&&(n={...n,...this._config.peerDiscovery[r.tag]}),n.enabled&&!this._discovery.has(r.tag)){let i;typeof r=="function"?i=new r(Object.assign({},n,{peerId:this.peerId,libp2p:this})):i=r,i.on("peer",this._onDiscoveryPeer),this._discovery.set(r.tag,i)}};for(let r of this._modules.peerDiscovery||[])e(r);for(let r of this.transportManager.getTransports())r.discovery&&e(r.discovery);await Promise.all(Array.from(this._discovery.values(),r=>r.start()))}};_C.exports=qa});return d5();})();
46
+ /*!
47
+ * The buffer module from node.js, for the browser.
48
+ *
49
+ * @author Feross Aboukhadijeh <https://feross.org>
50
+ * @license MIT
51
+ */
52
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
53
+ /*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
54
+ /*! noble-secp256k1 - MIT License (c) 2019 Paul Miller (paulmillr.com) */
55
+ return Libp2p}));