libp2p 0.45.9-d853d124 → 0.45.9-e9cafd3d

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 (173) hide show
  1. package/README.md +96 -77
  2. package/dist/index.min.js +28 -28
  3. package/dist/src/address-manager/index.d.ts +5 -5
  4. package/dist/src/address-manager/index.d.ts.map +1 -1
  5. package/dist/src/autonat/index.d.ts +6 -6
  6. package/dist/src/autonat/index.d.ts.map +1 -1
  7. package/dist/src/autonat/index.js +3 -3
  8. package/dist/src/circuit-relay/index.d.ts +1 -1
  9. package/dist/src/circuit-relay/index.d.ts.map +1 -1
  10. package/dist/src/circuit-relay/server/advert-service.d.ts +3 -3
  11. package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
  12. package/dist/src/circuit-relay/server/advert-service.js +1 -1
  13. package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
  14. package/dist/src/circuit-relay/server/index.d.ts +7 -7
  15. package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
  16. package/dist/src/circuit-relay/server/index.js +9 -9
  17. package/dist/src/circuit-relay/server/index.js.map +1 -1
  18. package/dist/src/circuit-relay/server/reservation-store.d.ts +3 -3
  19. package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -1
  20. package/dist/src/circuit-relay/server/reservation-voucher.d.ts +2 -2
  21. package/dist/src/circuit-relay/transport/discovery.d.ts +8 -8
  22. package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
  23. package/dist/src/circuit-relay/transport/discovery.js +3 -4
  24. package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
  25. package/dist/src/circuit-relay/transport/index.d.ts +10 -10
  26. package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
  27. package/dist/src/circuit-relay/transport/index.js +7 -7
  28. package/dist/src/circuit-relay/transport/index.js.map +1 -1
  29. package/dist/src/circuit-relay/transport/listener.d.ts +2 -2
  30. package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
  31. package/dist/src/circuit-relay/transport/listener.js +3 -3
  32. package/dist/src/circuit-relay/transport/listener.js.map +1 -1
  33. package/dist/src/circuit-relay/transport/reservation-store.d.ts +7 -7
  34. package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
  35. package/dist/src/circuit-relay/transport/reservation-store.js +2 -2
  36. package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
  37. package/dist/src/circuit-relay/utils.d.ts +1 -1
  38. package/dist/src/components.d.ts +15 -14
  39. package/dist/src/components.d.ts.map +1 -1
  40. package/dist/src/components.js +2 -2
  41. package/dist/src/components.js.map +1 -1
  42. package/dist/src/config/connection-gater.browser.d.ts +1 -1
  43. package/dist/src/config/connection-gater.d.ts +1 -1
  44. package/dist/src/config.d.ts +1 -2
  45. package/dist/src/config.d.ts.map +1 -1
  46. package/dist/src/config.js +2 -2
  47. package/dist/src/config.js.map +1 -1
  48. package/dist/src/connection/index.d.ts +14 -9
  49. package/dist/src/connection/index.d.ts.map +1 -1
  50. package/dist/src/connection/index.js +22 -20
  51. package/dist/src/connection/index.js.map +1 -1
  52. package/dist/src/connection-manager/auto-dial.d.ts +5 -5
  53. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  54. package/dist/src/connection-manager/connection-pruner.d.ts +4 -4
  55. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  56. package/dist/src/connection-manager/connection-pruner.js +2 -2
  57. package/dist/src/connection-manager/connection-pruner.js.map +1 -1
  58. package/dist/src/connection-manager/dial-queue.d.ts +7 -8
  59. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  60. package/dist/src/connection-manager/dial-queue.js +6 -6
  61. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  62. package/dist/src/connection-manager/index.d.ts +10 -11
  63. package/dist/src/connection-manager/index.d.ts.map +1 -1
  64. package/dist/src/connection-manager/index.js +9 -9
  65. package/dist/src/connection-manager/index.js.map +1 -1
  66. package/dist/src/content-routing/index.d.ts +5 -5
  67. package/dist/src/content-routing/index.d.ts.map +1 -1
  68. package/dist/src/content-routing/index.js +1 -1
  69. package/dist/src/content-routing/index.js.map +1 -1
  70. package/dist/src/content-routing/utils.d.ts +2 -2
  71. package/dist/src/content-routing/utils.js +1 -1
  72. package/dist/src/content-routing/utils.js.map +1 -1
  73. package/dist/src/fetch/index.d.ts +5 -5
  74. package/dist/src/fetch/index.d.ts.map +1 -1
  75. package/dist/src/fetch/index.js +1 -1
  76. package/dist/src/fetch/index.js.map +1 -1
  77. package/dist/src/get-peer.d.ts +1 -1
  78. package/dist/src/get-peer.js +2 -2
  79. package/dist/src/get-peer.js.map +1 -1
  80. package/dist/src/identify/identify.d.ts +7 -7
  81. package/dist/src/identify/identify.d.ts.map +1 -1
  82. package/dist/src/identify/identify.js +13 -9
  83. package/dist/src/identify/identify.js.map +1 -1
  84. package/dist/src/identify/index.d.ts +24 -9
  85. package/dist/src/identify/index.d.ts.map +1 -1
  86. package/dist/src/identify/index.js.map +1 -1
  87. package/dist/src/index.d.ts +11 -12
  88. package/dist/src/index.d.ts.map +1 -1
  89. package/dist/src/index.js.map +1 -1
  90. package/dist/src/insecure/index.d.ts +1 -1
  91. package/dist/src/insecure/index.js +1 -1
  92. package/dist/src/insecure/index.js.map +1 -1
  93. package/dist/src/libp2p.d.ts +11 -11
  94. package/dist/src/libp2p.d.ts.map +1 -1
  95. package/dist/src/libp2p.js +5 -5
  96. package/dist/src/libp2p.js.map +1 -1
  97. package/dist/src/peer-routing.d.ts +5 -5
  98. package/dist/src/peer-routing.d.ts.map +1 -1
  99. package/dist/src/peer-routing.js +1 -1
  100. package/dist/src/peer-routing.js.map +1 -1
  101. package/dist/src/ping/index.d.ts +4 -4
  102. package/dist/src/ping/index.d.ts.map +1 -1
  103. package/dist/src/ping/index.js +1 -1
  104. package/dist/src/ping/index.js.map +1 -1
  105. package/dist/src/pnet/index.d.ts +1 -1
  106. package/dist/src/pnet/index.js +1 -1
  107. package/dist/src/pnet/index.js.map +1 -1
  108. package/dist/src/registrar.d.ts +7 -6
  109. package/dist/src/registrar.d.ts.map +1 -1
  110. package/dist/src/registrar.js +7 -11
  111. package/dist/src/registrar.js.map +1 -1
  112. package/dist/src/transport-manager.d.ts +9 -9
  113. package/dist/src/transport-manager.d.ts.map +1 -1
  114. package/dist/src/transport-manager.js +4 -4
  115. package/dist/src/transport-manager.js.map +1 -1
  116. package/dist/src/upgrader.d.ts +12 -12
  117. package/dist/src/upgrader.d.ts.map +1 -1
  118. package/dist/src/upgrader.js +12 -14
  119. package/dist/src/upgrader.js.map +1 -1
  120. package/dist/src/upnp-nat/index.d.ts +4 -4
  121. package/dist/src/upnp-nat/index.d.ts.map +1 -1
  122. package/dist/src/upnp-nat/index.js +1 -1
  123. package/dist/src/upnp-nat/index.js.map +1 -1
  124. package/dist/src/utils/peer-job-queue.d.ts +1 -1
  125. package/dist/src/utils/peer-job-queue.js +1 -1
  126. package/dist/src/utils/peer-job-queue.js.map +1 -1
  127. package/dist/src/version.d.ts +1 -1
  128. package/dist/src/version.js +1 -1
  129. package/package.json +35 -60
  130. package/src/address-manager/index.ts +5 -5
  131. package/src/autonat/index.ts +12 -12
  132. package/src/circuit-relay/index.ts +1 -1
  133. package/src/circuit-relay/server/advert-service.ts +3 -3
  134. package/src/circuit-relay/server/index.ts +17 -17
  135. package/src/circuit-relay/server/reservation-store.ts +3 -3
  136. package/src/circuit-relay/server/reservation-voucher.ts +2 -2
  137. package/src/circuit-relay/transport/discovery.ts +10 -11
  138. package/src/circuit-relay/transport/index.ts +17 -18
  139. package/src/circuit-relay/transport/listener.ts +7 -7
  140. package/src/circuit-relay/transport/reservation-store.ts +9 -9
  141. package/src/circuit-relay/utils.ts +1 -1
  142. package/src/components.ts +16 -15
  143. package/src/config/connection-gater.browser.ts +1 -1
  144. package/src/config/connection-gater.ts +1 -1
  145. package/src/config.ts +3 -4
  146. package/src/connection/index.ts +31 -24
  147. package/src/connection-manager/auto-dial.ts +5 -5
  148. package/src/connection-manager/connection-pruner.ts +6 -6
  149. package/src/connection-manager/dial-queue.ts +13 -14
  150. package/src/connection-manager/index.ts +19 -20
  151. package/src/content-routing/index.ts +6 -6
  152. package/src/content-routing/utils.ts +3 -3
  153. package/src/fetch/index.ts +7 -7
  154. package/src/get-peer.ts +3 -3
  155. package/src/identify/identify.ts +26 -22
  156. package/src/identify/index.ts +27 -8
  157. package/src/index.ts +11 -12
  158. package/src/insecure/index.ts +3 -3
  159. package/src/libp2p.ts +14 -14
  160. package/src/peer-routing.ts +6 -6
  161. package/src/ping/index.ts +7 -7
  162. package/src/pnet/index.ts +2 -2
  163. package/src/registrar.ts +14 -17
  164. package/src/transport-manager.ts +12 -12
  165. package/src/upgrader.ts +24 -27
  166. package/src/upnp-nat/index.ts +5 -5
  167. package/src/utils/peer-job-queue.ts +2 -2
  168. package/src/version.ts +1 -1
  169. package/dist/src/pubsub/dummy-pubsub.d.ts +0 -18
  170. package/dist/src/pubsub/dummy-pubsub.d.ts.map +0 -1
  171. package/dist/src/pubsub/dummy-pubsub.js +0 -38
  172. package/dist/src/pubsub/dummy-pubsub.js.map +0 -1
  173. package/src/pubsub/dummy-pubsub.ts +0 -53
package/dist/index.min.js CHANGED
@@ -1,28 +1,28 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2P=(()=>{var ng=Object.create;var bi=Object.defineProperty;var ig=Object.getOwnPropertyDescriptor;var sg=Object.getOwnPropertyNames;var og=Object.getPrototypeOf,ag=Object.prototype.hasOwnProperty;var cg=(t,e,r)=>e in t?bi(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var R=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ke=(t,e)=>{for(var r in e)bi(t,r,{get:e[r],enumerable:!0})},jl=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of sg(e))!ag.call(t,i)&&i!==r&&bi(t,i,{get:()=>e[i],enumerable:!(n=ig(e,i))||n.enumerable});return t};var V=(t,e,r)=>(r=t!=null?ng(og(t)):{},jl(e||!t||!t.__esModule?bi(r,"default",{value:t,enumerable:!0}):r,t)),ug=t=>jl(bi({},"__esModule",{value:!0}),t);var Et=(t,e,r)=>(cg(t,typeof e!="symbol"?e+"":e,r),r);var _i=R((N_,Pa)=>{"use strict";var Rn=typeof Reflect=="object"?Reflect:null,Jl=Rn&&typeof Rn.apply=="function"?Rn.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Cs;Rn&&typeof Rn.ownKeys=="function"?Cs=Rn.ownKeys:Object.getOwnPropertySymbols?Cs=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Cs=function(e){return Object.getOwnPropertyNames(e)};function lg(t){console&&console.warn&&console.warn(t)}var tf=Number.isNaN||function(e){return e!==e};function oe(){oe.init.call(this)}Pa.exports=oe;Pa.exports.once=pg;oe.EventEmitter=oe;oe.prototype._events=void 0;oe.prototype._eventsCount=0;oe.prototype._maxListeners=void 0;var ef=10;function Ts(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(oe,"defaultMaxListeners",{enumerable:!0,get:function(){return ef},set:function(t){if(typeof t!="number"||t<0||tf(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");ef=t}});oe.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};oe.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||tf(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 rf(t){return t._maxListeners===void 0?oe.defaultMaxListeners:t._maxListeners}oe.prototype.getMaxListeners=function(){return rf(this)};oe.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")Jl(c,this,r);else for(var u=c.length,l=cf(c,u),n=0;n<u;++n)Jl(l[n],this,r);return!0};function nf(t,e,r,n){var i,s,o;if(Ts(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=rf(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,lg(a)}return t}oe.prototype.addListener=function(e,r){return nf(this,e,r,!1)};oe.prototype.on=oe.prototype.addListener;oe.prototype.prependListener=function(e,r){return nf(this,e,r,!0)};function fg(){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 sf(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=fg.bind(n);return i.listener=r,n.wrapFn=i,i}oe.prototype.once=function(e,r){return Ts(r),this.on(e,sf(this,e,r)),this};oe.prototype.prependOnceListener=function(e,r){return Ts(r),this.prependListener(e,sf(this,e,r)),this};oe.prototype.removeListener=function(e,r){var n,i,s,o,a;if(Ts(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():hg(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};oe.prototype.off=oe.prototype.removeListener;oe.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 of(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?dg(i):cf(i,i.length)}oe.prototype.listeners=function(e){return of(this,e,!0)};oe.prototype.rawListeners=function(e){return of(this,e,!1)};oe.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):af.call(t,e)};oe.prototype.listenerCount=af;function af(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}oe.prototype.eventNames=function(){return this._eventsCount>0?Cs(this._events):[]};function cf(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function hg(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function dg(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function pg(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))}uf(t,e,s,{once:!0}),e!=="error"&&mg(t,i,{once:!0})})}function mg(t,e,r){typeof t.on=="function"&&uf(t,"error",e,r)}function uf(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 se=R((k_,lf)=>{lf.exports={options:{usePureJavaScript:!1}}});var df=R((O_,hf)=>{var Da={};hf.exports=Da;var ff={};Da.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=yg(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
3
- `)}return n};Da.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=ff[e];if(!r){r=ff[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function yg(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 Ie=R((M_,gf)=>{var pf=se(),mf=df(),x=gf.exports=pf.util=pf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Si(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=Na;function Na(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Na||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=Na;var gg=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>gg&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){Si(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};x.ByteStringBuffer.prototype.getInt=function(t){Si(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function xg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=xg;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){Si(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return Si(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){Si(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var mr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",yr=[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],yf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=mr.charAt(i>>2),r+=mr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=mr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":mr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=yr[t.charCodeAt(o++)-43],n=yr[t.charCodeAt(o++)-43],i=yr[t.charCodeAt(o++)-43],s=yr[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};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:mf.encode,decode:mf.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.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};x.binary.hex.encode=x.bytesToHex;x.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};x.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+=mr.charAt(i>>2),r+=mr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=mr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":mr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
- `,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=yr[t.charCodeAt(c++)-43],s=yr[t.charCodeAt(c++)-43],o=yr[t.charCodeAt(c++)-43],a=yr[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,yf,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,yf,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var ka=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Oa=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},wg=function(t,e,r,n){var i=Oa(t,e);i===null&&(i={}),i[r]=n,ka(t,e,i)},vg=function(t,e,r){var n=Oa(t,e);return n!==null&&(n=r in n?n[r]:null),n},Eg=function(t,e,r){var n=Oa(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),ka(t,e,n)}},bg=function(t,e){ka(t,e,null)},Bs=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};x.setItem=function(t,e,r,n,i){Bs(wg,arguments,i)};x.getItem=function(t,e,r,n){return Bs(vg,arguments,n)};x.removeItem=function(t,e,r,n){Bs(Eg,arguments,n)};x.clearItems=function(t,e,r){Bs(bg,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};x.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=x.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=x.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var d=0;d<o;++d)c[d].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 d=a[h];(l.st>d.st&&l.st<d.et||d.st>l.st&&d.st<l.et)&&f.push(h)}return c.reduce(function(p,m){return Math.max(p,m.length)},0)}}});var Ls=R((F_,xf)=>{var Ai=se();Ai.pki=Ai.pki||{};var Ma=xf.exports=Ai.pki.oids=Ai.oids=Ai.oids||{};function I(t,e){Ma[t]=e,Ma[e]=t}function ne(t,e){Ma[t]=e}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");ne("2.5.29.1","authorityKeyIdentifier");ne("2.5.29.2","keyAttributes");ne("2.5.29.3","certificatePolicies");ne("2.5.29.4","keyUsageRestriction");ne("2.5.29.5","policyMapping");ne("2.5.29.6","subtreesConstraint");ne("2.5.29.7","subjectAltName");ne("2.5.29.8","issuerAltName");ne("2.5.29.9","subjectDirectoryAttributes");ne("2.5.29.10","basicConstraints");ne("2.5.29.11","nameConstraints");ne("2.5.29.12","policyConstraints");ne("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");ne("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");ne("2.5.29.20","cRLNumber");ne("2.5.29.21","cRLReason");ne("2.5.29.22","expirationDate");ne("2.5.29.23","instructionCode");ne("2.5.29.24","invalidityDate");ne("2.5.29.25","cRLDistributionPoints");ne("2.5.29.26","issuingDistributionPoint");ne("2.5.29.27","deltaCRLIndicator");ne("2.5.29.28","issuingDistributionPoint");ne("2.5.29.29","certificateIssuer");ne("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");ne("2.5.29.33","policyMappings");ne("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");ne("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");ne("2.5.29.46","freshestCRL");ne("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var Ri=R((U_,vf)=>{var he=se();Ie();Ls();var B=vf.exports=he.asn1=he.asn1||{};B.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};B.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};B.create=function(t,e,r,n,i){if(he.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||he.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=B.copy(a)),a};B.copy=function(t,e){var r;if(he.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(B.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:B.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};B.equals=function(t,e,r){if(he.util.isArray(t)){if(!he.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!B.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&B.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};B.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Ii(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 _g=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;Ii(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};B.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=he.util.createBuffer(t));var r=t.length(),n=Ps(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function Ps(t,e,r,n){var i;Ii(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=_g(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(Ii(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(Ps(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(Ps(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===B.Class.UNIVERSAL&&a===B.Type.BITSTRING&&c>1){var d=t.read,p=e,m=0;if(a===B.Type.BITSTRING&&(Ii(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=Ps(t,e,r+1,y),w=i-t.length();e-=w,a==B.Type.BITSTRING&&w++;var _=g.tagClass;w===c&&(_===B.Class.UNIVERSAL||_===B.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=d,e=p)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===B.Type.BMPSTRING)for(l="";c>0;c-=2)Ii(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var N=f===void 0?null:{bitStringContents:f};return B.create(o,a,h,l,N)}B.toDer=function(t){var e=he.util.createBuffer(),r=t.tagClass|t.type,n=he.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=B.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(B.toDer(t.value[s]))}else if(t.type===B.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===B.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};B.oidToDer=function(t){var e=t.split("."),r=he.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};B.derToOid=function(t){var e;typeof t=="string"&&(t=he.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};B.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),h=l*60+f;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};B.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,h=t.charAt(f);if(h==="+"||h==="-"){var d=parseInt(t.substr(f+1,2),10),p=parseInt(t.substr(f+4,2),10);u=d*60+p,u*=6e4,h==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};B.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};B.integerToDer=function(t){var e=he.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};B.derToInteger=function(t){typeof t=="string"&&(t=he.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};B.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&he.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=B.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var wf=/[^\\u0000-\\u00ff]/;B.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case B.Class.UNIVERSAL:n+="Universal:";break;case B.Class.APPLICATION:n+="Application:";break;case B.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case B.Class.PRIVATE:n+="Private:";break}if(t.tagClass===B.Class.UNIVERSAL)switch(n+=t.type,t.type){case B.Type.NONE:n+=" (None)";break;case B.Type.BOOLEAN:n+=" (Boolean)";break;case B.Type.INTEGER:n+=" (Integer)";break;case B.Type.BITSTRING:n+=" (Bit string)";break;case B.Type.OCTETSTRING:n+=" (Octet string)";break;case B.Type.NULL:n+=" (Null)";break;case B.Type.OID:n+=" (Object Identifier)";break;case B.Type.ODESC:n+=" (Object Descriptor)";break;case B.Type.EXTERNAL:n+=" (External or Instance of)";break;case B.Type.REAL:n+=" (Real)";break;case B.Type.ENUMERATED:n+=" (Enumerated)";break;case B.Type.EMBEDDED:n+=" (Embedded PDV)";break;case B.Type.UTF8:n+=" (UTF8)";break;case B.Type.ROID:n+=" (Relative Object Identifier)";break;case B.Type.SEQUENCE:n+=" (Sequence)";break;case B.Type.SET:n+=" (Set)";break;case B.Type.PRINTABLESTRING:n+=" (Printable String)";break;case B.Type.IA5String:n+=" (IA5String (ASCII))";break;case B.Type.UTCTIME:n+=" (UTC time)";break;case B.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case B.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
2
+ "use strict";var Libp2P=(()=>{var cx=Object.create;var $i=Object.defineProperty;var ux=Object.getOwnPropertyDescriptor;var lx=Object.getOwnPropertyNames;var fx=Object.getPrototypeOf,hx=Object.prototype.hasOwnProperty;var dx=(t,e,r)=>e in t?$i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var B=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),$=(t,e)=>{for(var r in e)$i(t,r,{get:e[r],enumerable:!0})},vh=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of lx(e))!hx.call(t,i)&&i!==r&&$i(t,i,{get:()=>e[i],enumerable:!(n=ux(e,i))||n.enumerable});return t};var z=(t,e,r)=>(r=t!=null?cx(fx(t)):{},vh(e||!t||!t.__esModule?$i(r,"default",{value:t,enumerable:!0}):r,t)),px=t=>vh($i({},"__esModule",{value:!0}),t);var wt=(t,e,r)=>(dx(t,typeof e!="symbol"?e+"":e,r),r);var Hi=B((jR,lc)=>{"use strict";var Un=typeof Reflect=="object"?Reflect:null,Eh=Un&&typeof Un.apply=="function"?Un.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},is;Un&&typeof Un.ownKeys=="function"?is=Un.ownKeys:Object.getOwnPropertySymbols?is=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:is=function(e){return Object.getOwnPropertyNames(e)};function mx(t){console&&console.warn&&console.warn(t)}var Sh=Number.isNaN||function(e){return e!==e};function ce(){ce.init.call(this)}lc.exports=ce;lc.exports.once=wx;ce.EventEmitter=ce;ce.prototype._events=void 0;ce.prototype._eventsCount=0;ce.prototype._maxListeners=void 0;var _h=10;function os(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ce,"defaultMaxListeners",{enumerable:!0,get:function(){return _h},set:function(t){if(typeof t!="number"||t<0||Sh(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");_h=t}});ce.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};ce.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Sh(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 Ah(t){return t._maxListeners===void 0?ce.defaultMaxListeners:t._maxListeners}ce.prototype.getMaxListeners=function(){return Ah(this)};ce.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")Eh(c,this,r);else for(var u=c.length,l=Bh(c,u),n=0;n<u;++n)Eh(l[n],this,r);return!0};function Ih(t,e,r,n){var i,o,s;if(os(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Ah(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,mx(a)}return t}ce.prototype.addListener=function(e,r){return Ih(this,e,r,!1)};ce.prototype.on=ce.prototype.addListener;ce.prototype.prependListener=function(e,r){return Ih(this,e,r,!0)};function yx(){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 Rh(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=yx.bind(n);return i.listener=r,n.wrapFn=i,i}ce.prototype.once=function(e,r){return os(r),this.on(e,Rh(this,e,r)),this};ce.prototype.prependOnceListener=function(e,r){return os(r),this.prependListener(e,Rh(this,e,r)),this};ce.prototype.removeListener=function(e,r){var n,i,o,s,a;if(os(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():gx(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};ce.prototype.off=ce.prototype.removeListener;ce.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function Ch(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?xx(i):Bh(i,i.length)}ce.prototype.listeners=function(e){return Ch(this,e,!0)};ce.prototype.rawListeners=function(e){return Ch(this,e,!1)};ce.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Th.call(t,e)};ce.prototype.listenerCount=Th;function Th(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}ce.prototype.eventNames=function(){return this._eventsCount>0?is(this._events):[]};function Bh(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function gx(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function xx(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function wx(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}Lh(t,e,o,{once:!0}),e!=="error"&&bx(t,i,{once:!0})})}function bx(t,e,r){typeof t.on=="function"&&Lh(t,"error",e,r)}function Lh(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var ae=B((JR,Ph)=>{Ph.exports={options:{usePureJavaScript:!1}}});var kh=B((e4,Nh)=>{var fc={};Nh.exports=fc;var Dh={};fc.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=vx(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
3
+ `)}return n};fc.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=Dh[e];if(!r){r=Dh[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var l=0;t[l]===o&&l<t.length-1;++l)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function vx(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Le=B((t4,Fh)=>{var Oh=ae(),Mh=kh(),w=Fh.exports=Oh.util=Oh.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var s=a,t="forge.setImmediate",e=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Gi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=hc;function hc(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof hc||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=hc;var Ex=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Ex&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.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};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(t,e){Gi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function _x(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.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)}w.DataBuffer=_x;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.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(w.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 w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.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 w.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Gi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Gi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Gi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.DataBuffer.prototype.compact=function(){if(this.read>0){var 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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};w.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};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Sr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ar=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Uh="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Sr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Sr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Ar[t.charCodeAt(s++)-43],n=Ar[t.charCodeAt(s++)-43],i=Ar[t.charCodeAt(s++)-43],o=Ar[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:Mh.encode,decode:Mh.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.binary.hex.encode=w.bytesToHex;w.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};w.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=Sr.charAt(i>>2),r+=Sr.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Sr.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Sr.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};w.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Ar[t.charCodeAt(c++)-43],o=Ar[t.charCodeAt(c++)-43],s=Ar[t.charCodeAt(c++)-43],a=Ar[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Uh,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Uh,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var dc=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},pc=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(w.decode64(r))),r},Sx=function(t,e,r,n){var i=pc(t,e);i===null&&(i={}),i[r]=n,dc(t,e,i)},Ax=function(t,e,r){var n=pc(t,e);return n!==null&&(n=r in n?n[r]:null),n},Ix=function(t,e,r){var n=pc(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),dc(t,e,n)}},Rx=function(t,e){dc(t,e,null)},ss=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};w.setItem=function(t,e,r,n,i){ss(Sx,arguments,i)};w.getItem=function(t,e,r,n){return ss(Ax,arguments,n)};w.removeItem=function(t,e,r,n){ss(Ix,arguments,n)};w.clearItems=function(t,e,r){ss(Rx,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};w.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=w.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.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(".")};w.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=w.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(l,f){return l+f},0)/s.length);return w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.cores)}i(c,function(l,f){s.push(o(c,f)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],l=0;l<s;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===s){for(var p=0;p<s;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<s;++l)c[l].postMessage(l)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var l=a[u],f=c[u]=[],d=0;d<s;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var as=B((r4,Kh)=>{var Yi=ae();Yi.pki=Yi.pki||{};var mc=Kh.exports=Yi.pki.oids=Yi.oids=Yi.oids||{};function R(t,e){mc[t]=e,mc[e]=t}function ie(t,e){mc[t]=e}R("1.2.840.113549.1.1.1","rsaEncryption");R("1.2.840.113549.1.1.4","md5WithRSAEncryption");R("1.2.840.113549.1.1.5","sha1WithRSAEncryption");R("1.2.840.113549.1.1.7","RSAES-OAEP");R("1.2.840.113549.1.1.8","mgf1");R("1.2.840.113549.1.1.9","pSpecified");R("1.2.840.113549.1.1.10","RSASSA-PSS");R("1.2.840.113549.1.1.11","sha256WithRSAEncryption");R("1.2.840.113549.1.1.12","sha384WithRSAEncryption");R("1.2.840.113549.1.1.13","sha512WithRSAEncryption");R("1.3.101.112","EdDSA25519");R("1.2.840.10040.4.3","dsa-with-sha1");R("1.3.14.3.2.7","desCBC");R("1.3.14.3.2.26","sha1");R("1.3.14.3.2.29","sha1WithRSASignature");R("2.16.840.1.101.3.4.2.1","sha256");R("2.16.840.1.101.3.4.2.2","sha384");R("2.16.840.1.101.3.4.2.3","sha512");R("2.16.840.1.101.3.4.2.4","sha224");R("2.16.840.1.101.3.4.2.5","sha512-224");R("2.16.840.1.101.3.4.2.6","sha512-256");R("1.2.840.113549.2.2","md2");R("1.2.840.113549.2.5","md5");R("1.2.840.113549.1.7.1","data");R("1.2.840.113549.1.7.2","signedData");R("1.2.840.113549.1.7.3","envelopedData");R("1.2.840.113549.1.7.4","signedAndEnvelopedData");R("1.2.840.113549.1.7.5","digestedData");R("1.2.840.113549.1.7.6","encryptedData");R("1.2.840.113549.1.9.1","emailAddress");R("1.2.840.113549.1.9.2","unstructuredName");R("1.2.840.113549.1.9.3","contentType");R("1.2.840.113549.1.9.4","messageDigest");R("1.2.840.113549.1.9.5","signingTime");R("1.2.840.113549.1.9.6","counterSignature");R("1.2.840.113549.1.9.7","challengePassword");R("1.2.840.113549.1.9.8","unstructuredAddress");R("1.2.840.113549.1.9.14","extensionRequest");R("1.2.840.113549.1.9.20","friendlyName");R("1.2.840.113549.1.9.21","localKeyId");R("1.2.840.113549.1.9.22.1","x509Certificate");R("1.2.840.113549.1.12.10.1.1","keyBag");R("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");R("1.2.840.113549.1.12.10.1.3","certBag");R("1.2.840.113549.1.12.10.1.4","crlBag");R("1.2.840.113549.1.12.10.1.5","secretBag");R("1.2.840.113549.1.12.10.1.6","safeContentsBag");R("1.2.840.113549.1.5.13","pkcs5PBES2");R("1.2.840.113549.1.5.12","pkcs5PBKDF2");R("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");R("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");R("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");R("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");R("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");R("1.2.840.113549.2.7","hmacWithSHA1");R("1.2.840.113549.2.8","hmacWithSHA224");R("1.2.840.113549.2.9","hmacWithSHA256");R("1.2.840.113549.2.10","hmacWithSHA384");R("1.2.840.113549.2.11","hmacWithSHA512");R("1.2.840.113549.3.7","des-EDE3-CBC");R("2.16.840.1.101.3.4.1.2","aes128-CBC");R("2.16.840.1.101.3.4.1.22","aes192-CBC");R("2.16.840.1.101.3.4.1.42","aes256-CBC");R("2.5.4.3","commonName");R("2.5.4.4","surname");R("2.5.4.5","serialNumber");R("2.5.4.6","countryName");R("2.5.4.7","localityName");R("2.5.4.8","stateOrProvinceName");R("2.5.4.9","streetAddress");R("2.5.4.10","organizationName");R("2.5.4.11","organizationalUnitName");R("2.5.4.12","title");R("2.5.4.13","description");R("2.5.4.15","businessCategory");R("2.5.4.17","postalCode");R("2.5.4.42","givenName");R("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");R("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");R("2.16.840.1.113730.1.1","nsCertType");R("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");R("2.5.29.14","subjectKeyIdentifier");R("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");R("2.5.29.17","subjectAltName");R("2.5.29.18","issuerAltName");R("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");R("2.5.29.31","cRLDistributionPoints");R("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");R("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");R("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");R("1.3.6.1.4.1.11129.2.4.2","timestampList");R("1.3.6.1.5.5.7.1.1","authorityInfoAccess");R("1.3.6.1.5.5.7.3.1","serverAuth");R("1.3.6.1.5.5.7.3.2","clientAuth");R("1.3.6.1.5.5.7.3.3","codeSigning");R("1.3.6.1.5.5.7.3.4","emailProtection");R("1.3.6.1.5.5.7.3.8","timeStamping")});var Qi=B((n4,qh)=>{var de=ae();Le();as();var L=qh.exports=de.asn1=de.asn1||{};L.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};L.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};L.create=function(t,e,r,n,i){if(de.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||de.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=L.copy(a)),a};L.copy=function(t,e){var r;if(de.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(L.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:L.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};L.equals=function(t,e,r){if(de.util.isArray(t)){if(!de.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!L.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&&L.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};L.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 Wi(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 Cx=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Wi(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};L.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=de.util.createBuffer(t));var r=t.length(),n=cs(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function cs(t,e,r,n){var i;Wi(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=Cx(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,d=(o&32)===32;if(d)if(l=[],c===void 0)for(;;){if(Wi(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(cs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(cs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&s===L.Class.UNIVERSAL&&a===L.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===L.Type.BITSTRING&&(Wi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=cs(t,e,r+1,y),x=i-t.length();e-=x,a==L.Type.BITSTRING&&x++;var E=g.tagClass;x===c&&(E===L.Class.UNIVERSAL||E===L.Class.CONTEXT_SPECIFIC)&&(l=[g])}catch{}l===void 0&&(t.read=p,e=h)}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===L.Type.BMPSTRING)for(l="";c>0;c-=2)Wi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var T=f===void 0?null:{bitStringContents:f};return L.create(s,a,d,l,T)}L.toDer=function(t){var e=de.util.createBuffer(),r=t.tagClass|t.type,n=de.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=L.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(L.toDer(t.value[o]))}else if(t.type===L.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===L.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};L.oidToDer=function(t){var e=t.split("."),r=de.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};L.derToOid=function(t){var e;typeof t=="string"&&(t=de.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};L.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};L.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};L.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};L.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};L.integerToDer=function(t){var e=de.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};L.derToInteger=function(t){typeof t=="string"&&(t=de.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)};L.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&de.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=L.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Vh=/[^\\u0000-\\u00ff]/;L.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case L.Class.UNIVERSAL:n+="Universal:";break;case L.Class.APPLICATION:n+="Application:";break;case L.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case L.Class.PRIVATE:n+="Private:";break}if(t.tagClass===L.Class.UNIVERSAL)switch(n+=t.type,t.type){case L.Type.NONE:n+=" (None)";break;case L.Type.BOOLEAN:n+=" (Boolean)";break;case L.Type.INTEGER:n+=" (Integer)";break;case L.Type.BITSTRING:n+=" (Bit string)";break;case L.Type.OCTETSTRING:n+=" (Octet string)";break;case L.Type.NULL:n+=" (Null)";break;case L.Type.OID:n+=" (Object Identifier)";break;case L.Type.ODESC:n+=" (Object Descriptor)";break;case L.Type.EXTERNAL:n+=" (External or Instance of)";break;case L.Type.REAL:n+=" (Real)";break;case L.Type.ENUMERATED:n+=" (Enumerated)";break;case L.Type.EMBEDDED:n+=" (Embedded PDV)";break;case L.Type.UTF8:n+=" (UTF8)";break;case L.Type.ROID:n+=" (Relative Object Identifier)";break;case L.Type.SEQUENCE:n+=" (Sequence)";break;case L.Type.SET:n+=" (Set)";break;case L.Type.PRINTABLESTRING:n+=" (Printable String)";break;case L.Type.IA5String:n+=" (IA5String (ASCII))";break;case L.Type.UTCTIME:n+=" (UTC time)";break;case L.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case L.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=B.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===B.Type.OID){var c=B.derToOid(t.value);n+=c,he.pki&&he.pki.oids&&c in he.pki.oids&&(n+=" ("+he.pki.oids[c]+") ")}if(t.type===B.Type.INTEGER)try{n+=B.derToInteger(t.value)}catch{n+="0x"+he.util.bytesToHex(t.value)}else if(t.type===B.Type.BITSTRING){if(t.value.length>1?n+="0x"+he.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===B.Type.OCTETSTRING)wf.test(t.value)||(n+="("+t.value+") "),n+="0x"+he.util.bytesToHex(t.value);else if(t.type===B.Type.UTF8)try{n+=he.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+he.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===B.Type.PRINTABLESTRING||t.type===B.Type.IA5String?n+=t.value:wf.test(t.value)?n+="0x"+he.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ua=R((K_,Ef)=>{var ke=se();Ie();Ef.exports=ke.cipher=ke.cipher||{};ke.cipher.algorithms=ke.cipher.algorithms||{};ke.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};ke.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=ke.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new ke.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};ke.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),ke.cipher.algorithms[t]=e};ke.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in ke.cipher.algorithms?ke.cipher.algorithms[t]:null};var Fa=ke.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)};Fa.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=ke.util.createBuffer(),this.output=t.output||ke.util.createBuffer(),this.mode.start(e)};Fa.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()};Fa.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 Va=R((V_,bf)=>{var Oe=se();Ie();Oe.cipher=Oe.cipher||{};var z=bf.exports=Oe.cipher.modes=Oe.cipher.modes||{};z.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)};z.ecb.prototype.start=function(t){};z.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])};z.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])};z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.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)};z.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)};z.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=Ds(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};z.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};z.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)};z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};z.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)};z.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=Oe.util.createBuffer(),this._partialBytes=0};z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ds(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.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};z.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};z.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=Oe.util.createBuffer(),this._partialBytes=0};z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ds(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.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};z.ofb.prototype.decrypt=z.ofb.prototype.encrypt;z.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=Oe.util.createBuffer(),this._partialBytes=0};z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Ds(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};z.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}Ns(this._inBlock)};z.ctr.prototype.decrypt=z.ctr.prototype.encrypt;z.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=Oe.util.createBuffer(),this._partialBytes=0,this._R=3774873600};z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Oe.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Oe.util.createBuffer(t.additionalData):r=Oe.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Oe.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(Ka(n*8)))}this._inBlock=this._j0.slice(0),Ns(this._inBlock),this._partialBytes=0,r=Oe.util.createBuffer(r),this._aDataLength=Ka(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()])};z.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),Ns(this._inBlock)};z.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),Ns(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};z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Oe.util.createBuffer();var n=this._aDataLength.concat(Ka(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};z.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};z.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)};z.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};z.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)};z.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};z.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 Ds(t,e){if(typeof t=="string"&&(t=Oe.util.createBuffer(t)),Oe.util.isArray(t)&&t.length>4){var r=t;t=Oe.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(!Oe.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Ns(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ka(t){return[t/4294967296|0,t&4294967295]}});var Os=R((q_,If)=>{var le=se();Ua();Va();Ie();If.exports=le.aes=le.aes||{};le.aes.startEncrypting=function(t,e,r,n){var i=ks({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};le.aes.createEncryptionCipher=function(t,e){return ks({key:t,output:null,decrypt:!1,mode:e})};le.aes.startDecrypting=function(t,e,r,n){var i=ks({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};le.aes.createDecryptionCipher=function(t,e){return ks({key:t,output:null,decrypt:!0,mode:e})};le.aes.Algorithm=function(t,e){za||Sf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return $a(r._w,n,i,!1)},decrypt:function(n,i){return $a(r._w,n,i,!0)}}}),r._init=!1};le.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=le.util.createBuffer(e);else if(le.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=le.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!le.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(!le.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=Af(e,t.decrypt&&!o),this._init=!0}};le.aes._expandKey=function(t,e){return za||Sf(),Af(t,e)};le.aes._updateBlock=$a;Tn("AES-ECB",le.cipher.modes.ecb);Tn("AES-CBC",le.cipher.modes.cbc);Tn("AES-CFB",le.cipher.modes.cfb);Tn("AES-OFB",le.cipher.modes.ofb);Tn("AES-CTR",le.cipher.modes.ctr);Tn("AES-GCM",le.cipher.modes.gcm);function Tn(t,e){var r=function(){return new le.aes.Algorithm(t,e)};le.cipher.registerAlgorithm(t,r)}var za=!1,Cn=4,Xe,qa,_f,$r,bt;function Sf(){za=!0,_f=[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;Xe=new Array(256),qa=new Array(256),$r=new Array(4),bt=new Array(4);for(var e=0;e<4;++e)$r[e]=new Array(256),bt[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,Xe[r]=a,qa[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)$r[f][r]=u,bt[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function Af(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Cn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=Xe[n>>>16&255]<<24^Xe[n>>>8&255]<<16^Xe[n&255]<<8^Xe[n>>>24]^_f[i]<<24,i++):s>6&&c%s===4&&(n=Xe[n>>>24]<<24^Xe[n>>>16&255]<<16^Xe[n>>>8&255]<<8^Xe[n&255]),r[c]=r[c-s]^n;if(e){var u,l=bt[0],f=bt[1],h=bt[2],d=bt[3],p=r.slice(0);a=r.length;for(var c=0,m=a-Cn;c<a;c+=Cn,m-=Cn)if(c===0||c===a-Cn)p[c]=r[m],p[c+1]=r[m+3],p[c+2]=r[m+2],p[c+3]=r[m+1];else for(var y=0;y<Cn;++y)u=r[m+y],p[c+(3&-y)]=l[Xe[u>>>24]]^f[Xe[u>>>16&255]]^h[Xe[u>>>8&255]]^d[Xe[u&255]];r=p}return r}function $a(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=bt[0],o=bt[1],a=bt[2],c=bt[3],u=qa):(s=$r[0],o=$r[1],a=$r[2],c=$r[3],u=Xe);var l,f,h,d,p,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],h=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,w=1;w<i;++w)p=s[l>>>24]^o[f>>>16&255]^a[h>>>8&255]^c[d&255]^t[++g],m=s[f>>>24]^o[h>>>16&255]^a[d>>>8&255]^c[l&255]^t[++g],y=s[h>>>24]^o[d>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],d=s[d>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[h&255]^t[++g],l=p,f=m,h=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[h>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[h>>>16&255]<<16^u[d>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[h>>>24]<<24^u[d>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[h&255]^t[++g]}function ks(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=le.cipher.createDecipher(r,t.key):n=le.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof le.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Tf=R(($_,Cf)=>{var ye=se();Ua();Va();Ie();Cf.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=Ms({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return Ms({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=Ms({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return Ms({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Rf(r._keys,n,i,!1)},decrypt:function(n,i){return Rf(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.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=Pg(e),this._init=!0}};Mt("DES-ECB",ye.cipher.modes.ecb);Mt("DES-CBC",ye.cipher.modes.cbc);Mt("DES-CFB",ye.cipher.modes.cfb);Mt("DES-OFB",ye.cipher.modes.ofb);Mt("DES-CTR",ye.cipher.modes.ctr);Mt("3DES-ECB",ye.cipher.modes.ecb);Mt("3DES-CBC",ye.cipher.modes.cbc);Mt("3DES-CFB",ye.cipher.modes.cfb);Mt("3DES-OFB",ye.cipher.modes.ofb);Mt("3DES-CTR",ye.cipher.modes.ctr);function Mt(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var Sg=[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],Ag=[-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],Ig=[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],Rg=[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],Cg=[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],Tg=[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],Bg=[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],Lg=[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 Pg(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],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,_,N=0;N<m;N++){var C=t.getInt32(),T=t.getInt32();_=(C>>>4^T)&252645135,T^=_,C^=_<<4,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>2^T)&858993459,T^=_,C^=_<<2,_=(T>>>-16^C)&65535,C^=_,T^=_<<-16,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=(T>>>8^C)&16711935,C^=_,T^=_<<8,_=(C>>>1^T)&1431655765,T^=_,C^=_<<1,_=C<<8|T>>>20&240,C=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=_;for(var H=0;H<g.length;++H){g[H]?(C=C<<2|C>>>26,T=T<<2|T>>>26):(C=C<<1|C>>>27,T=T<<1|T>>>27),C&=-15,T&=-15;var W=e[C>>>28]|r[C>>>24&15]|n[C>>>20&15]|i[C>>>16&15]|s[C>>>12&15]|o[C>>>8&15]|a[C>>>4&15],De=c[T>>>28]|u[T>>>24&15]|l[T>>>20&15]|f[T>>>16&15]|h[T>>>12&15]|d[T>>>8&15]|p[T>>>4&15];_=(De>>>16^W)&65535,y[w++]=W^_,y[w++]=De^_<<16}}return y}function Rf(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 d=c^t[h],p=(c>>>4|c<<28)^t[h+1];o=a,a=c,c=o^(Ag[d>>>24&63]|Rg[d>>>16&63]|Tg[d>>>8&63]|Lg[d&63]|Sg[p>>>24&63]|Ig[p>>>16&63]|Cg[p>>>8&63]|Bg[p&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 Ms(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var zr=R((z_,Bf)=>{var Fs=se();Bf.exports=Fs.md=Fs.md||{};Fs.md.algorithms=Fs.md.algorithms||{}});var Pf=R((H_,Lf)=>{var er=se();zr();Ie();var Dg=Lf.exports=er.hmac=er.hmac||{};Dg.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 er.md.algorithms)e=er.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=er.util.createBuffer(o);else if(er.util.isArray(o)){var a=o;o=er.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=er.util.createBuffer(),n=er.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 Hr=R(()=>{});var Ha=R((W_,Df)=>{var Ze=se();Pf();zr();Ie();var Ng=Ze.pkcs5=Ze.pkcs5||{},tr;Ze.util.isNodejs&&!Ze.options.usePureJavaScript&&(tr=Hr());Df.exports=Ze.pbkdf2=Ng.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),Ze.util.isNodejs&&!Ze.options.usePureJavaScript&&tr.pbkdf2&&(i===null||typeof i!="object")&&(tr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?tr.pbkdf2Sync.length===4?tr.pbkdf2(t,e,r,n,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):tr.pbkdf2(t,e,r,n,i,function(_,N){if(_)return s(_);s(null,N.toString("binary"))}):tr.pbkdf2Sync.length===4?tr.pbkdf2Sync(t,e,r,n).toString("binary"):tr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Ze.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Ze.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=Ze.hmac.create();l.start(i,t);var f="",h,d,p;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(Ze.util.int32ToBytes(m)),h=p=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(p),d=l.digest().getBytes(),h=Ze.util.xorBytes(h,d,o),p=d;f+=m<c?h:h.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(Ze.util.int32ToBytes(m)),h=p=l.digest().getBytes(),y=2,w()}function w(){if(y<=r)return l.start(null,null),l.update(p),d=l.digest().getBytes(),h=Ze.util.xorBytes(h,d,o),p=d,++y,Ze.util.setImmediate(w);f+=m<c?h:h.substr(0,u),++m,g()}g()}});var Of=R((Q_,kf)=>{var Ks=se();Ie();var Nf=kf.exports=Ks.pem=Ks.pem||{};Nf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
- `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Us(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Us(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Us(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Us(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=Ks.util.encode64(t.body,e.maxline||64)+`\r
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=L.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===L.Type.OID){var c=L.derToOid(t.value);n+=c,de.pki&&de.pki.oids&&c in de.pki.oids&&(n+=" ("+de.pki.oids[c]+") ")}if(t.type===L.Type.INTEGER)try{n+=L.derToInteger(t.value)}catch{n+="0x"+de.util.bytesToHex(t.value)}else if(t.type===L.Type.BITSTRING){if(t.value.length>1?n+="0x"+de.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===L.Type.OCTETSTRING)Vh.test(t.value)||(n+="("+t.value+") "),n+="0x"+de.util.bytesToHex(t.value);else if(t.type===L.Type.UTF8)try{n+=de.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+de.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===L.Type.PRINTABLESTRING||t.type===L.Type.IA5String?n+=t.value:Vh.test(t.value)?n+="0x"+de.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var gc=B((i4,zh)=>{var Fe=ae();Le();zh.exports=Fe.cipher=Fe.cipher||{};Fe.cipher.algorithms=Fe.cipher.algorithms||{};Fe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Fe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Fe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Fe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Fe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Fe.cipher.algorithms[t]=e};Fe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Fe.cipher.algorithms?Fe.cipher.algorithms[t]:null};var yc=Fe.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)};yc.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=Fe.util.createBuffer(),this.output=t.output||Fe.util.createBuffer(),this.mode.start(e)};yc.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()};yc.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 wc=B((o4,$h)=>{var Ke=ae();Le();Ke.cipher=Ke.cipher||{};var Y=$h.exports=Ke.cipher.modes=Ke.cipher.modes||{};Y.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)};Y.ecb.prototype.start=function(t){};Y.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])};Y.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])};Y.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.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)};Y.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)};Y.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=us(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Y.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};Y.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)};Y.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Y.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)};Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Y.ofb.prototype.decrypt=Y.ofb.prototype.encrypt;Y.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=Ke.util.createBuffer(),this._partialBytes=0};Y.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=us(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Y.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}ls(this._inBlock)};Y.ctr.prototype.decrypt=Y.ctr.prototype.encrypt;Y.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=Ke.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Y.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ke.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ke.util.createBuffer(t.additionalData):r=Ke.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ke.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(xc(n*8)))}this._inBlock=this._j0.slice(0),ls(this._inBlock),this._partialBytes=0,r=Ke.util.createBuffer(r),this._aDataLength=xc(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Y.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),ls(this._inBlock)};Y.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),ls(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};Y.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ke.util.createBuffer();var n=this._aDataLength.concat(xc(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Y.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Y.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)};Y.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};Y.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)};Y.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};Y.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function us(t,e){if(typeof t=="string"&&(t=Ke.util.createBuffer(t)),Ke.util.isArray(t)&&t.length>4){var r=t;t=Ke.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(!Ke.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function ls(t){t[t.length-1]=t[t.length-1]+1&4294967295}function xc(t){return[t/4294967296|0,t&4294967295]}});var hs=B((s4,Wh)=>{var fe=ae();gc();wc();Le();Wh.exports=fe.aes=fe.aes||{};fe.aes.startEncrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};fe.aes.createEncryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!1,mode:e})};fe.aes.startDecrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};fe.aes.createDecryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!0,mode:e})};fe.aes.Algorithm=function(t,e){Ec||Gh();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return vc(r._w,n,i,!1)},decrypt:function(n,i){return vc(r._w,n,i,!0)}}}),r._init=!1};fe.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=fe.util.createBuffer(e);else if(fe.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=fe.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!fe.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(!fe.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=Yh(e,t.decrypt&&!s),this._init=!0}};fe.aes._expandKey=function(t,e){return Ec||Gh(),Yh(t,e)};fe.aes._updateBlock=vc;Kn("AES-ECB",fe.cipher.modes.ecb);Kn("AES-CBC",fe.cipher.modes.cbc);Kn("AES-CFB",fe.cipher.modes.cfb);Kn("AES-OFB",fe.cipher.modes.ofb);Kn("AES-CTR",fe.cipher.modes.ctr);Kn("AES-GCM",fe.cipher.modes.gcm);function Kn(t,e){var r=function(){return new fe.aes.Algorithm(t,e)};fe.cipher.registerAlgorithm(t,r)}var Ec=!1,Fn=4,et,bc,Hh,en,It;function Gh(){Ec=!0,Hh=[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;et=new Array(256),bc=new Array(256),en=new Array(4),It=new Array(4);for(var e=0;e<4;++e)en[e]=new Array(256),It[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,et[r]=a,bc[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),l=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var f=0;f<4;++f)en[f][r]=u,It[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function Yh(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Fn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=et[n>>>16&255]<<24^et[n>>>8&255]<<16^et[n&255]<<8^et[n>>>24]^Hh[i]<<24,i++):o>6&&c%o===4&&(n=et[n>>>24]<<24^et[n>>>16&255]<<16^et[n>>>8&255]<<8^et[n&255]),r[c]=r[c-o]^n;if(e){var u,l=It[0],f=It[1],d=It[2],p=It[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Fn;c<a;c+=Fn,m-=Fn)if(c===0||c===a-Fn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var y=0;y<Fn;++y)u=r[m+y],h[c+(3&-y)]=l[et[u>>>24]]^f[et[u>>>16&255]]^d[et[u>>>8&255]]^p[et[u&255]];r=h}return r}function vc(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=It[0],s=It[1],a=It[2],c=It[3],u=bc):(o=en[0],s=en[1],a=en[2],c=en[3],u=et);var l,f,d,p,h,m,y;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)h=o[l>>>24]^s[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++g],m=o[f>>>24]^s[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++g],y=o[d>>>24]^s[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++g],p=o[p>>>24]^s[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++g],l=h,f=m,d=y;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++g],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++g],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++g],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++g]}function fs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=fe.cipher.createDecipher(r,t.key):n=fe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof fe.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Zh=B((a4,Xh)=>{var ge=ae();gc();wc();Le();Xh.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=ds({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return ds({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return Qh(r._keys,n,i,!1)},decrypt:function(n,i){return Qh(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.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=Mx(e),this._init=!0}};Vt("DES-ECB",ge.cipher.modes.ecb);Vt("DES-CBC",ge.cipher.modes.cbc);Vt("DES-CFB",ge.cipher.modes.cfb);Vt("DES-OFB",ge.cipher.modes.ofb);Vt("DES-CTR",ge.cipher.modes.ctr);Vt("3DES-ECB",ge.cipher.modes.ecb);Vt("3DES-CBC",ge.cipher.modes.cbc);Vt("3DES-CFB",ge.cipher.modes.cfb);Vt("3DES-OFB",ge.cipher.modes.ofb);Vt("3DES-CTR",ge.cipher.modes.ctr);function Vt(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var Tx=[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],Bx=[-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],Lx=[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],Px=[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],Dx=[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],Nx=[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],kx=[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],Ox=[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 Mx(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[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],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,E,T=0;T<m;T++){var I=t.getInt32(),C=t.getInt32();E=(I>>>4^C)&252645135,C^=E,I^=E<<4,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>2^C)&858993459,C^=E,I^=E<<2,E=(C>>>-16^I)&65535,I^=E,C^=E<<-16,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=(C>>>8^I)&16711935,I^=E,C^=E<<8,E=(I>>>1^C)&1431655765,C^=E,I^=E<<1,E=I<<8|C>>>20&240,I=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=E;for(var O=0;O<g.length;++O){g[O]?(I=I<<2|I>>>26,C=C<<2|C>>>26):(I=I<<1|I>>>27,C=C<<1|C>>>27),I&=-15,C&=-15;var U=e[I>>>28]|r[I>>>24&15]|n[I>>>20&15]|i[I>>>16&15]|o[I>>>12&15]|s[I>>>8&15]|a[I>>>4&15],se=c[C>>>28]|u[C>>>24&15]|l[C>>>20&15]|f[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];E=(se>>>16^U)&65535,y[x++]=U^E,y[x++]=se^E<<16}}return y}function Qh(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=o[u+1],f=o[u+2],d=o[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];s=a,a=c,c=s^(Bx[p>>>24&63]|Px[p>>>16&63]|Nx[p>>>8&63]|Ox[p&63]|Tx[h>>>24&63]|Lx[h>>>16&63]|Dx[h>>>8&63]|kx[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function ds(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ge.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var tn=B((c4,jh)=>{var ps=ae();jh.exports=ps.md=ps.md||{};ps.md.algorithms=ps.md.algorithms||{}});var e0=B((u4,Jh)=>{var sr=ae();tn();Le();var Ux=Jh.exports=sr.hmac=sr.hmac||{};Ux.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in sr.md.algorithms)e=sr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=sr.util.createBuffer(s);else if(sr.util.isArray(s)){var a=s;s=sr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=sr.util.createBuffer(),n=sr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var rn=B(()=>{});var _c=B((h4,t0)=>{var tt=ae();e0();tn();Le();var Fx=tt.pkcs5=tt.pkcs5||{},ar;tt.util.isNodejs&&!tt.options.usePureJavaScript&&(ar=rn());t0.exports=tt.pbkdf2=Fx.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),tt.util.isNodejs&&!tt.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?ar.pbkdf2Sync.length===4?ar.pbkdf2(t,e,r,n,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2(t,e,r,n,i,function(E,T){if(E)return o(E);o(null,T.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(t,e,r,n).toString("binary"):ar.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in tt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=tt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,l=tt.hmac.create();l.start(i,t);var f="",d,p,h;if(!o){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var y=2;y<=r;++y)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,y;function g(){if(m>c)return o(null,f);l.start(null,null),l.update(e),l.update(tt.util.int32ToBytes(m)),d=h=l.digest().getBytes(),y=2,x()}function x(){if(y<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=tt.util.xorBytes(d,p,s),h=p,++y,tt.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,g()}g()}});var i0=B((d4,n0)=>{var ys=ae();Le();var r0=n0.exports=ys.pem=ys.pem||{};r0.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=ms(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=ms(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=ms(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=ms(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=ys.util.encode64(t.body,e.maxline||64)+`\r
11
11
  `,r+="-----END "+t.type+`-----\r
12
- `,r};Nf.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:Ks.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 d={name:s[1],values:[]},p=s[2].split(","),m=0;m<p.length;++m)d.values.push(kg(p[m]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++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 Us(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
- `;for(var 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
14
- `+e.substr(o)):e=e.substr(0,o)+`\r
15
- `+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function kg(t){return t.replace(/^\s+/,"")}});var qf=R((X_,Vf)=>{var Ft=se();zr();Ie();var Ff=Vf.exports=Ft.sha256=Ft.sha256||{};Ft.md.sha256=Ft.md.algorithms.sha256=Ff;Ff.create=function(){Uf||Og();var t=null,e=Ft.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=Ft.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=Ft.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),Mf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ft.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ga.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};Mf(f,r,i);var h=Ft.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 Ga=null,Uf=!1,Kf=null;function Og(){Ga=String.fromCharCode(128),Ga+=Ft.util.fillString(String.fromCharCode(0),64),Kf=[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],Uf=!0}function Mf(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w=r.length();w>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,h=t.h2,d=t.h3,p=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=y^p&(m^y),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|h&(l^f),n=g+o+a+Kf[u]+e[u],i=s+c,g=y,y=m,m=p,p=d+n>>>0,d=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+d|0,t.h4=t.h4+p|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,w-=64}}});var zf=R((Z_,$f)=>{var Ut=se();Ie();var Vs=null;Ut.util.isNodejs&&!Ut.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Vs=Hr());var Mg=$f.exports=Ut.prng=Ut.prng||{};Mg.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,d=e.plugin.formatKey,p=e.plugin.formatSeed,m=Ut.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Ut.util.nextTick(function(){s(y)});var w=f(e.key,e.seed);e.generated+=w.length,m.putBytes(w),e.key=d(f(e.key,h(e.seed))),e.seed=p(f(e.key,e.seed)),Ut.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,h=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var p=Ut.util.createBuffer();p.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,p.putBytes(m),e.key=h(l(e.key,f(e.seed))),e.seed=d(l(e.key,e.seed))}return p.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=Ut.util.globalScope,h=f.crypto||f.msCrypto;h&&h.getRandomValues&&(l=function(C){return h.getRandomValues(C)});var d=Ut.util.createBuffer();if(l)for(;d.length()<u;){var p=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(p));try{l(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<u)for(var g,w,_,N=Math.floor(Math.random()*65536);d.length()<u;){w=16807*(N&65535),g=16807*(N>>16),w+=(g&32767)<<16,w+=g>>15,w=(w&2147483647)+(w>>31),N=w&4294967295;for(var y=0;y<3;++y)_=N>>>(y<<3),_^=Math.floor(Math.random()*256),d.putByte(_&255)}return d.getBytes(u)}return Vs?(e.seedFile=function(u,l){Vs.randomBytes(u,function(f,h){if(f)return l(f);l(null,h.toString())})},e.seedFileSync=function(u){return Vs.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 d(p){var m=p.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),h(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),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(d,p){u.postMessage({forge:{prng:{err:d,bytes:p}}})})};u.addEventListener("message",l)}},e}});var Ci=R((j_,Ya)=>{var Me=se();Os();qf();zf();Ie();(function(){if(Me.random&&Me.random.getBytes){Ya.exports=Me.random;return}(function(t){var e={},r=new Array(4),n=Me.util.createBuffer();e.formatKey=function(f){var h=Me.util.createBuffer(f);return f=new Array(4),f[0]=h.getInt32(),f[1]=h.getInt32(),f[2]=h.getInt32(),f[3]=h.getInt32(),Me.aes._expandKey(f,!1)},e.formatSeed=function(f){var h=Me.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 Me.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=Me.md.sha256;function i(){var f=Me.prng.create(e);return f.getBytes=function(h,d){return f.generate(h,d)},f.getBytesSync=function(h){return f.generate(h)},f}var s=i(),o=null,a=Me.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Me.options.usePureJavaScript||!Me.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!Me.random)Me.random=s;else for(var l in s)Me.random[l]=s[l];Me.random.createInstance=i,Ya.exports=Me.random})(typeof jQuery<"u"?jQuery:null)})()});var Wf=R((J_,Yf)=>{var et=se();Ie();var Wa=[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],Hf=[1,2,3,5],Fg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Ug=function(t,e){return(t&65535)>>e|t<<16-e&65535};Yf.exports=et.rc2=et.rc2||{};et.rc2.expandKey=function(t,e){typeof t=="string"&&(t=et.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(Wa[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Wa[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Wa[r.at(a+1)^r.at(a+s)]);return r};var Gf=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=et.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(p){for(u=0;u<4;u++)p[u]+=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),p[u]=Fg(p[u],Hf[u]),l++},c=function(p){for(u=0;u<4;u++)p[u]+=f[p[(u+3)%4]&63]}):(a=function(p){for(u=3;u>=0;u--)p[u]=Ug(p[u],Hf[u]),p[u]-=f[l]+(p[(u+3)%4]&p[(u+2)%4])+(~p[(u+3)%4]&p[(u+1)%4]),l--},c=function(p){for(u=3;u>=0;u--)p[u]-=f[p[(u+3)%4]&63]});var h=function(p){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();o!==null&&(r?y^=o.getInt16Le():o.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<p.length;g++)for(var w=0;w<p[g][0];w++)p[g][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},d=null;return d={start:function(p,m){p&&typeof p=="string"&&(p=et.util.createBuffer(p)),n=!1,i=et.util.createBuffer(),s=m||new et.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(p){var m=!0;if(r)if(p)m=p(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(p)m=p(8,s,!r);else{var g=s.length(),w=s.at(g-1);w>g?m=!1:s.truncate(w)}return m}},d};et.rc2.startEncrypting=function(t,e,r){var n=et.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};et.rc2.createEncryptionCipher=function(t,e){return Gf(t,e,!0)};et.rc2.startDecrypting=function(t,e,r){var n=et.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};et.rc2.createDecryptionCipher=function(t,e){return Gf(t,e,!1)}});var zs=R((eS,r0)=>{var Qa=se();r0.exports=Qa.jsbn=Qa.jsbn||{};var rr,Kg=0xdeadbeefcafe,Qf=(Kg&16777215)==15715070;function S(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))}Qa.jsbn.BigInteger=S;function J(){return new S(null)}function Vg(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 qg(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 Xf(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=Xf,rr=28):Qf&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=qg,rr=30):Qf&&navigator.appName!="Netscape"?(S.prototype.am=Vg,rr=26):(S.prototype.am=Xf,rr=28);S.prototype.DB=rr;S.prototype.DM=(1<<rr)-1;S.prototype.DV=1<<rr;var Xa=52;S.prototype.FV=Math.pow(2,Xa);S.prototype.F1=Xa-rr;S.prototype.F2=2*rr-Xa;var $g="0123456789abcdefghijklmnopqrstuvwxyz",qs=new Array,Bn,mt;Bn="0".charCodeAt(0);for(mt=0;mt<=9;++mt)qs[Bn++]=mt;Bn="a".charCodeAt(0);for(mt=10;mt<36;++mt)qs[Bn++]=mt;Bn="A".charCodeAt(0);for(mt=10;mt<36;++mt)qs[Bn++]=mt;function Zf(t){return $g.charAt(t)}function jf(t,e){var r=qs[t.charCodeAt(e)];return r??-1}function zg(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 Hg(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 gr(t){var e=J();return e.fromInt(t),e}function Gg(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:jf(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&t[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function Yg(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Wg(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=Zf(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+=Zf(n));return i?s:"0"}function Qg(){var t=J();return S.ZERO.subTo(this,t),t}function Xg(){return this.s<0?this.negate():this}function Zg(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 $s(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 jg(){return this.t<=0?0:this.DB*(this.t-1)+$s(this.data[this.t-1]^this.s&this.DM)}function Jg(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 e1(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function t1(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,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 r1(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 n1(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 i1(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&&S.ZERO.subTo(e,e)}function s1(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 o1(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=J());var s=J(),o=this.s,a=t.s,c=this.DB-$s(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,d=(1<<this.F1)/f,p=1<<this.F2,m=r.t,y=m-u,g=e??J();for(s.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--y>=0;){var w=r.data[--m]==l?this.DM:Math.floor(r.data[m]*h+(r.data[m-1]+p)*d);if((r.data[m]+=s.am(0,w,r,y,0,u))<w)for(s.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--w;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&S.ZERO.subTo(r,r)}}}function a1(t){var e=J();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function Gr(t){this.m=t}function c1(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function u1(t){return t}function l1(t){t.divRemTo(this.m,null,t)}function f1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function h1(t,e){t.squareTo(e),this.reduce(e)}Gr.prototype.convert=c1;Gr.prototype.revert=u1;Gr.prototype.reduce=l1;Gr.prototype.mulTo=f1;Gr.prototype.sqrTo=h1;function d1(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Yr(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 p1(t){var e=J();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function m1(t){var e=J();return t.copyTo(e),this.reduce(e),e}function y1(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 g1(t,e){t.squareTo(e),this.reduce(e)}function x1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Yr.prototype.convert=p1;Yr.prototype.revert=m1;Yr.prototype.reduce=y1;Yr.prototype.mulTo=x1;Yr.prototype.sqrTo=g1;function w1(){return(this.t>0?this.data[0]&1:this.s)==0}function v1(t,e){if(t>4294967295||t<1)return S.ONE;var r=J(),n=J(),i=e.convert(this),s=$s(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 E1(t,e){var r;return t<256||e.isEven()?r=new Gr(e):r=new Yr(e),this.exp(t,r)}S.prototype.copyTo=zg;S.prototype.fromInt=Hg;S.prototype.fromString=Gg;S.prototype.clamp=Yg;S.prototype.dlShiftTo=Jg;S.prototype.drShiftTo=e1;S.prototype.lShiftTo=t1;S.prototype.rShiftTo=r1;S.prototype.subTo=n1;S.prototype.multiplyTo=i1;S.prototype.squareTo=s1;S.prototype.divRemTo=o1;S.prototype.invDigit=d1;S.prototype.isEven=w1;S.prototype.exp=v1;S.prototype.toString=Wg;S.prototype.negate=Qg;S.prototype.abs=Xg;S.prototype.compareTo=Zg;S.prototype.bitLength=jg;S.prototype.mod=a1;S.prototype.modPowInt=E1;S.ZERO=gr(0);S.ONE=gr(1);function b1(){var t=J();return this.copyTo(t),t}function _1(){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 S1(){return this.t==0?this.s:this.data[0]<<24>>24}function A1(){return this.t==0?this.s:this.data[0]<<16>>16}function I1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function R1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function C1(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=gr(r),i=J(),s=J(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function T1(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=jf(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&&S.ZERO.subTo(this,this)}function B1(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(S.ONE.shiftLeft(t-1),Za,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.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 L1(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function P1(t){return this.compareTo(t)==0}function D1(t){return this.compareTo(t)<0?this:t}function N1(t){return this.compareTo(t)>0?this:t}function k1(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 O1(t,e){return t&e}function M1(t){var e=J();return this.bitwiseTo(t,O1,e),e}function Za(t,e){return t|e}function F1(t){var e=J();return this.bitwiseTo(t,Za,e),e}function Jf(t,e){return t^e}function U1(t){var e=J();return this.bitwiseTo(t,Jf,e),e}function e0(t,e){return t&~e}function K1(t){var e=J();return this.bitwiseTo(t,e0,e),e}function V1(){for(var t=J(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function q1(t){var e=J();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function $1(t){var e=J();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function z1(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function H1(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+z1(this.data[t]);return this.s<0?this.t*this.DB:-1}function G1(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function Y1(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=G1(this.data[r]^e);return t}function W1(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function Q1(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function X1(t){return this.changeBit(t,Za)}function Z1(t){return this.changeBit(t,e0)}function j1(t){return this.changeBit(t,Jf)}function J1(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 ex(t){var e=J();return this.addTo(t,e),e}function tx(t){var e=J();return this.subTo(t,e),e}function rx(t){var e=J();return this.multiplyTo(t,e),e}function nx(t){var e=J();return this.divRemTo(t,e,null),e}function ix(t){var e=J();return this.divRemTo(t,null,e),e}function sx(t){var e=J(),r=J();return this.divRemTo(t,e,r),new Array(e,r)}function ox(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function ax(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 Ti(){}function t0(t){return t}function cx(t,e,r){t.multiplyTo(e,r)}function ux(t,e){t.squareTo(e)}Ti.prototype.convert=t0;Ti.prototype.revert=t0;Ti.prototype.mulTo=cx;Ti.prototype.sqrTo=ux;function lx(t){return this.exp(t,new Ti)}function fx(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 hx(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 Ln(t){this.r2=J(),this.q3=J(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function dx(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=J();return t.copyTo(e),this.reduce(e),e}function px(t){return t}function mx(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 yx(t,e){t.squareTo(e),this.reduce(e)}function gx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ln.prototype.convert=dx;Ln.prototype.revert=px;Ln.prototype.reduce=mx;Ln.prototype.mulTo=gx;Ln.prototype.sqrTo=yx;function xx(t,e){var r=t.bitLength(),n,i=gr(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 Gr(e):e.isEven()?s=new Ln(e):s=new Yr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=J();for(s.sqrTo(o[1],l);a<=u;)o[a]=J(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,h,d=!0,p=J(),m;for(r=$s(t.data[f])-1;f>=0;){for(r>=c?h=t.data[f]>>r-c&u:(h=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(h|=t.data[f-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),d)o[h].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(m=i,i=p,p=m),s.mulTo(p,o[h],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,p),m=i,i=p,p=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function wx(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 vx(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 Ex(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=gr(1),s=gr(0),o=gr(0),a=gr(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(S.ONE)!=0)return S.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 _t=[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],bx=(1<<26)/_t[_t.length-1];function _x(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=_t[_t.length-1]){for(e=0;e<_t.length;++e)if(r.data[0]==_t[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<_t.length;){for(var n=_t[e],i=e+1;i<_t.length&&n<bx;)n*=_t[i++];for(n=r.modInt(n);e<i;)if(n%_t[e++]==0)return!1}return r.millerRabin(t)}function Sx(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Ax(),s,o=0;o<t;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Ax(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=I1;S.prototype.toRadix=C1;S.prototype.fromRadix=T1;S.prototype.fromNumber=B1;S.prototype.bitwiseTo=k1;S.prototype.changeBit=Q1;S.prototype.addTo=J1;S.prototype.dMultiply=ox;S.prototype.dAddOffset=ax;S.prototype.multiplyLowerTo=fx;S.prototype.multiplyUpperTo=hx;S.prototype.modInt=vx;S.prototype.millerRabin=Sx;S.prototype.clone=b1;S.prototype.intValue=_1;S.prototype.byteValue=S1;S.prototype.shortValue=A1;S.prototype.signum=R1;S.prototype.toByteArray=L1;S.prototype.equals=P1;S.prototype.min=D1;S.prototype.max=N1;S.prototype.and=M1;S.prototype.or=F1;S.prototype.xor=U1;S.prototype.andNot=K1;S.prototype.not=V1;S.prototype.shiftLeft=q1;S.prototype.shiftRight=$1;S.prototype.getLowestSetBit=H1;S.prototype.bitCount=Y1;S.prototype.testBit=W1;S.prototype.setBit=X1;S.prototype.clearBit=Z1;S.prototype.flipBit=j1;S.prototype.add=ex;S.prototype.subtract=tx;S.prototype.multiply=rx;S.prototype.divide=nx;S.prototype.remainder=ix;S.prototype.divideAndRemainder=sx;S.prototype.modPow=xx;S.prototype.modInverse=Ex;S.prototype.pow=lx;S.prototype.gcd=wx;S.prototype.isProbablePrime=_x});var a0=R((tS,o0)=>{var Kt=se();zr();Ie();var i0=o0.exports=Kt.sha1=Kt.sha1||{};Kt.md.sha1=Kt.md.algorithms.sha1=i0;i0.create=function(){s0||Ix();var t=null,e=Kt.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Kt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Kt.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),n0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(ja.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};n0(f,r,i);var h=Kt.util.createBuffer();return h.putInt32(f.h0),h.putInt32(f.h1),h.putInt32(f.h2),h.putInt32(f.h3),h.putInt32(f.h4),h},n};var ja=null,s0=!1;function Ix(){ja=String.fromCharCode(128),ja+=Kt.util.fillString(String.fromCharCode(0),64),s0=!0}function n0(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 l0=R((rS,u0)=>{var Vt=se();Ie();Ci();a0();var c0=u0.exports=Vt.pkcs1=Vt.pkcs1||{};c0.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=Vt.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,d=0;d<h;d++)f+="\0";var p=l.getBytes()+f+""+e;if(!i)i=Vt.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var m=Hs(i,a-s.digestLength-1,o),y=Vt.util.xorBytes(p,m,p.length),g=Hs(y,s.digestLength,o),w=Vt.util.xorBytes(i,g,i.length);return"\0"+w+y};c0.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=o,y}if(i===void 0?i=Vt.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=Hs(l,i.digestLength,s),h=Vt.util.xorBytes(u,f,u.length),d=Hs(h,o-i.digestLength-1,s),p=Vt.util.xorBytes(l,d,l.length),m=p.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var w=1,_=i.digestLength,N=i.digestLength;N<p.length;N++){var C=p.charCodeAt(N),T=C&1^1,H=w?65534:0;y|=C&H,w=w&T,_+=w}if(y||p.charCodeAt(_)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(_+1)};function Hs(t,e,r){r||(r=Vt.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 f0=R((nS,Ja)=>{var xr=se();Ie();zs();Ci();(function(){if(xr.prime){Ja.exports=xr.prime;return}var t=Ja.exports=xr.prime=xr.prime||{},e=xr.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,d){typeof h=="function"&&(d=h,h={}),h=h||{};var p=h.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var m=h.prng||xr.random,y={nextBytes:function(g){for(var w=m.getBytesSync(g.length),_=0;_<g.length;++_)g[_]=w.charCodeAt(_)}};if(p.name==="PRIMEINC")return s(f,y,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(f,h,d,p){return"workers"in d?c(f,h,d,p):o(f,h,d,p)}function o(f,h,d,p){var m=u(f,h),y=0,g=l(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var w=10;"maxBlockTime"in d&&(w=d.maxBlockTime),a(m,f,h,y,g,w,p)}function a(f,h,d,p,m,y,g){var w=+new Date;do{if(f.bitLength()>h&&(f=u(h,d)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[p++%8],0)}while(y<0||+new Date-w<y);xr.util.setImmediate(function(){a(f,h,d,p,m,y,g)})}function c(f,h,d,p){if(typeof Worker>"u")return o(f,h,d,p);var m=u(f,h),y=d.workers,g=d.workLoad||100,w=g*30/8,_=d.workerScript||"forge/prime.worker.js";if(y===-1)return xr.util.estimateCores(function(C,T){C&&(T=2),y=T-1,N()});N();function N(){y=Math.max(1,y);for(var C=[],T=0;T<y;++T)C[T]=new Worker(_);for(var H=y,T=0;T<y;++T)C[T].addEventListener("message",De);var W=!1;function De(vt){if(!W){--H;var it=vt.data;if(it.found){for(var Qe=0;Qe<C.length;++Qe)C[Qe].terminate();return W=!0,p(null,new e(it.prime,16))}m.bitLength()>f&&(m=u(f,h));var In=m.toString(16);vt.target.postMessage({hex:In,workLoad:g}),m.dAddOffset(w,0)}}}}function u(f,h){var d=new e(f,h),p=f-1;return d.testBit(p)||d.bitwiseTo(e.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}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 Ys=R((iS,x0)=>{var M=se();Ri();zs();Ls();l0();f0();Ci();Ie();typeof Q>"u"&&(Q=M.jsbn.BigInteger);var Q,ec=M.util.isNodejs?Hr():null,v=M.asn1,yt=M.util;M.pki=M.pki||{};x0.exports=M.pki.rsa=M.rsa=M.rsa||{};var K=M.pki,Rx=[6,4,2,4,2,4,6,2],Cx={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Tx={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Bx={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Lx=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Px={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Dx=function(t){var e;if(t.algorithm in K.oids)e=K.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},y0=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(Q.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Q.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Q(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Q.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};K.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=g0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var o=new Q(i.toHex(),16),a=y0(o,e,n),c=a.toString(16),u=M.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),u.getBytes()};K.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new Q(M.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=y0(o,e,r),c=a.toString(16),u=M.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(M.util.hexToBytes(c)),n!==!1?Gs(u.getBytes(),e,r):u.getBytes()};K.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new Q(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};K.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Q(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 Q(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Q.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(kx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Rx[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Q.ONE).gcd(t.e).compareTo(Q.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(Q.ONE),t.q1=t.q.subtract(Q.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Q.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};K.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(h0("generateKeyPair"))return ec.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:K.privateKeyFromPem(u),publicKey:K.publicKeyFromPem(c)})});if(d0("generateKey")&&d0("exportKey"))return yt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:m0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return yt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:K.setRsaPublicKey(c.n,c.e)})}});if(p0("generateKey")&&p0("exportKey")){var i=yt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:m0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=yt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,h=K.privateKeyFromAsn1(v.fromDer(M.util.createBuffer(f)));n(null,{privateKey:h,publicKey:K.setRsaPublicKey(h.n,h.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(h0("generateKeyPairSync")){var s=ec.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(s.privateKey),publicKey:K.publicKeyFromPem(s.publicKey)}}}var o=K.rsa.createKeyPairGenerationState(t,e,r);if(!n)return K.rsa.stepKeyPairGenerationState(o,0),o.keys;Nx(o,r,n)};K.setRsaPublicKey=K.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return g0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return K.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=Gs(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},h=[];if(!v.validate(l,Px,f,h)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=h,d}var p=v.derToOid(f.algorithmIdentifier);if(!(p===M.oids.md2||p===M.oids.md5||p===M.oids.sha1||p===M.oids.sha224||p===M.oids.sha256||p===M.oids.sha384||p===M.oids.sha512||p===M.oids["sha512-224"]||p===M.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===M.oids.md2||p===M.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Gs(u,r,!0),c===u}});var a=K.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var h=K.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Gs};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(d,p){return M.pkcs1.decode_rsa_oaep(p,d,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(d){return d}};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:Dx},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var h=l.encode(u,c.n.bitLength());return K.rsa.encrypt(h,c,f)},c};K.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};K.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Cx,e,r)&&(t=v.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Tx,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),s=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),u=M.util.createBuffer(e.privateKeyExponent1).toHex(),l=M.util.createBuffer(e.privateKeyExponent2).toHex(),f=M.util.createBuffer(e.privateKeyCoefficient).toHex(),K.setRsaPrivateKey(new Q(i,16),new Q(s,16),new Q(o,16),new Q(a,16),new Q(c,16),new Q(u,16),new Q(l,16),new Q(f,16))};K.privateKeyToAsn1=K.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.qInv))])};K.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Lx,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==K.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Bx,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=M.util.createBuffer(e.publicKeyModulus).toHex(),o=M.util.createBuffer(e.publicKeyExponent).toHex();return K.setRsaPublicKey(new Q(s,16),new Q(o,16))};K.publicKeyToAsn1=K.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(K.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(t)])])};K.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,qt(t.e))])};function g0(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=M.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Gs(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=M.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Nx(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){M.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(Q.ONE).gcd(t.e).compareTo(Q.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Q.ONE).gcd(t.e).compareTo(Q.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(Q.ONE),t.q1=t.q.subtract(Q.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Q.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:K.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:K.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function qt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function kx(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 h0(t){return M.util.isNodejs&&typeof ec[t]=="function"}function d0(t){return typeof yt.globalScope<"u"&&typeof yt.globalScope.crypto=="object"&&typeof yt.globalScope.crypto.subtle=="object"&&typeof yt.globalScope.crypto.subtle[t]=="function"}function p0(t){return typeof yt.globalScope<"u"&&typeof yt.globalScope.msCrypto=="object"&&typeof yt.globalScope.msCrypto.subtle=="object"&&typeof yt.globalScope.msCrypto.subtle[t]=="function"}function m0(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var S0=R((sS,_0)=>{var L=se();Os();Ri();Tf();zr();Ls();Ha();Of();Ci();Wf();Ys();Ie();typeof w0>"u"&&(w0=L.jsbn.BigInteger);var w0,b=L.asn1,q=L.pki=L.pki||{};_0.exports=q.pbe=L.pbe=L.pbe||{};var Wr=q.oids,Ox={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Mx={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Fx={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=L.random.getBytesSync(r.saltSize),i=r.count,s=b.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=Wr["aes128-CBC"],f=L.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Wr["aes192-CBC"],f=L.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Wr["aes256-CBC"],f=L.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Wr.desCBC,f=L.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=b0(d),m=L.pkcs5.pbkdf2(e,n,i,o,p),y=L.random.getBytesSync(u),g=f(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes();var w=Ux(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Wr.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Wr.pkcs5PBKDF2).getBytes()),w]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(l).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){o=24;var _=new L.util.ByteBuffer(n),m=q.pbe.generatePkcs12Key(e,_,1,i,o),y=q.pbe.generatePkcs12Key(e,_,2,i,o),g=L.des.createEncryptionCipher(m);g.start(y),g.update(b.toDer(t)),g.finish(),c=g.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(Wr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var N=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,c)]);return N};q.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!b.validate(t,Ox,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=b.derToOid(n.encryptionOid),a=q.pbe.getCipher(o,n.encryptionParams,e),c=L.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=b.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(t).getBytes()};return L.pem.encode(r,{maxline:e})};q.encryptedPrivateKeyFromPem=function(t){var e=L.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 b.fromDer(e.body)};q.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(t));return n=q.encryptPrivateKeyInfo(n,e,r),q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=L.random.getBytesSync(16),a=L.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=L.random.getBytesSync(8),a=L.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=L.random.getBytesSync(8),a=L.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=L.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(b.toDer(q.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:L.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return L.pem.encode(f)};q.decryptRsaPrivateKey=function(t,e){var r=null,n=L.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=L.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=L.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=L.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=L.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=L.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return L.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return L.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return L.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=L.util.hexToBytes(n.dekInfo.parameters),c=L.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(L.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(b.fromDer(r),e):r=b.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in L.md))throw new Error('"sha1" hash algorithm unavailable.');s=L.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new L.util.ByteBuffer,f=new L.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var h=f.length(),d=e.length(),p=new L.util.ByteBuffer;p.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new L.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(h/u),w=new L.util.ByteBuffer;for(a=0;a<g;a++)w.putByte(f.at(a%h));var _=y;_.putBuffer(w);for(var N=Math.ceil(i/c),C=1;C<=N;C++){var T=new L.util.ByteBuffer;T.putBytes(p.bytes()),T.putBytes(_.bytes());for(var H=0;H<n;H++)s.start(),s.update(T.getBytes()),T=s.digest();var W=new L.util.ByteBuffer;for(a=0;a<u;a++)W.putByte(T.at(a%c));var De=Math.ceil(d/u)+Math.ceil(h/u),vt=new L.util.ByteBuffer;for(o=0;o<De;o++){var it=new L.util.ByteBuffer(_.getBytes(u)),Qe=511;for(a=W.length()-1;a>=0;a--)Qe=Qe>>8,Qe+=W.at(a)+it.at(a),it.setAt(a,Qe&255);vt.putBuffer(it)}_=vt,l.putBuffer(T)}return l.truncate(l.length()-i),l};q.pbe.getCipher=function(t,e,r){switch(t){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(t,e,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!b.validate(e,Mx,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=b.derToOid(n.kdfOid),t!==q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=b.derToOid(n.encOid),t!==q.oids["aes128-CBC"]&&t!==q.oids["aes192-CBC"]&&t!==q.oids["aes256-CBC"]&&t!==q.oids["des-EDE3-CBC"]&&t!==q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=L.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(q.oids[t]){case"aes128-CBC":c=16,u=L.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=L.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=L.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=L.des.createDecryptionCipher;break;case"desCBC":c=8,u=L.des.createDecryptionCipher;break}var l=E0(n.prfOid),f=L.pkcs5.pbkdf2(r,o,a,c,l),h=n.encIv,d=u(f);return d.start(h),d};q.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!b.validate(e,Fx,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=L.util.createBuffer(n.salt),a=L.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=L.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=L.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=E0(n.prfOid),h=q.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var d=q.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(h,d)};q.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in L.md))throw new Error('"md5" hash algorithm unavailable.');n=L.md.md5.create()}e===null&&(e="");for(var i=[v0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(v0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function v0(t,e){return t.start().update(e).digest().getBytes()}function E0(t){var e;if(!t)e="hmacWithSHA1";else if(e=q.oids[b.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return b0(e)}function b0(t){var e=L.md;switch(t){case"hmacWithSHA224":e=L.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 Ux(t,e,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,L.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var ah=R((uA,oh)=>{"use strict";oh.exports=u2;function u2(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 fh=R(lh=>{"use strict";var no=lh;no.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 Fn=new Array(64),uh=new Array(123);for(At=0;At<64;)uh[Fn[At]=At<26?At+65:At<52?At+71:At<62?At-4:At-59|43]=At++;var At;no.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++]=Fn[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Fn[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Fn[c|u>>6],s[o++]=Fn[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Fn[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 ch="invalid encoding";no.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=uh[c])===void 0)throw Error(ch);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(ch);return n-i};no.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var dh=R((fA,hh)=>{"use strict";hh.exports=io;function io(){this._listeners={}}io.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};io.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};io.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 vh=R((hA,wh)=>{"use strict";wh.exports=ph(ph);function ph(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,mh),t.writeFloatBE=e.bind(null,yh);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,gh),t.readFloatBE=r.bind(null,xh)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,mh,0,4),t.writeDoubleBE=e.bind(null,yh,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,gh,0,4),t.readDoubleBE=r.bind(null,xh,4,0)}(),t}function mh(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 yh(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 gh(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function xh(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var Eh=R((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 _h=R(bh=>{"use strict";var Lc=bh;Lc.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};Lc.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))};Lc.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 Ah=R((pA,Sh)=>{"use strict";Sh.exports=l2;function l2(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 Rh=R((mA,Ih)=>{"use strict";Ih.exports=Ue;var Mi=tn();function Ue(t,e){this.lo=t>>>0,this.hi=e>>>0}var en=Ue.zero=new Ue(0,0);en.toNumber=function(){return 0};en.zzEncode=en.zzDecode=function(){return this};en.length=function(){return 1};var f2=Ue.zeroHash="\0\0\0\0\0\0\0\0";Ue.fromNumber=function(e){if(e===0)return en;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 Ue(n,i)};Ue.from=function(e){if(typeof e=="number")return Ue.fromNumber(e);if(Mi.isString(e))if(Mi.Long)e=Mi.Long.fromString(e);else return Ue.fromNumber(parseInt(e,10));return e.low||e.high?new Ue(e.low>>>0,e.high>>>0):en};Ue.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};Ue.prototype.toLong=function(e){return Mi.Long?new Mi.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Cr=String.prototype.charCodeAt;Ue.fromHash=function(e){return e===f2?en:new Ue((Cr.call(e,0)|Cr.call(e,1)<<8|Cr.call(e,2)<<16|Cr.call(e,3)<<24)>>>0,(Cr.call(e,4)|Cr.call(e,5)<<8|Cr.call(e,6)<<16|Cr.call(e,7)<<24)>>>0)};Ue.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)};Ue.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};Ue.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};Ue.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 tn=R(Pc=>{"use strict";var O=Pc;O.asPromise=ah();O.base64=fh();O.EventEmitter=dh();O.float=vh();O.inquire=Eh();O.utf8=_h();O.pool=Ah();O.LongBits=Rh();O.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);O.global=O.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Pc;O.emptyArray=Object.freeze?Object.freeze([]):[];O.emptyObject=Object.freeze?Object.freeze({}):{};O.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};O.isString=function(e){return typeof e=="string"||e instanceof String};O.isObject=function(e){return e&&typeof e=="object"};O.isset=O.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};O.Buffer=function(){try{var t=O.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();O._Buffer_from=null;O._Buffer_allocUnsafe=null;O.newBuffer=function(e){return typeof e=="number"?O.Buffer?O._Buffer_allocUnsafe(e):new O.Array(e):O.Buffer?O._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};O.Array=typeof Uint8Array<"u"?Uint8Array:Array;O.Long=O.global.dcodeIO&&O.global.dcodeIO.Long||O.global.Long||O.inquire("long");O.key2Re=/^true|false|0|1$/;O.key32Re=/^-?(?:0|[1-9][0-9]*)$/;O.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;O.longToHash=function(e){return e?O.LongBits.from(e).toHash():O.LongBits.zeroHash};O.longFromHash=function(e,r){var n=O.LongBits.fromHash(e);return O.Long?O.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function Ch(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}O.merge=Ch;O.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function Th(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&&Ch(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}O.newError=Th;O.ProtocolError=Th("ProtocolError");O.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};O.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};O.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};O._configure=function(){var t=O.Buffer;if(!t){O._Buffer_from=O._Buffer_allocUnsafe=null;return}O._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},O._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var kc=R((gA,Nh)=>{"use strict";Nh.exports=Te;var Ht=tn(),Nc,Ph=Ht.LongBits,h2=Ht.utf8;function It(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function Te(t){this.buf=t,this.pos=0,this.len=t.length}var Bh=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new Te(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new Te(e);throw Error("illegal buffer")},Dh=function(){return Ht.Buffer?function(r){return(Te.create=function(i){return Ht.Buffer.isBuffer(i)?new Nc(i):Bh(i)})(r)}:Bh};Te.create=Dh();Te.prototype._slice=Ht.Array.prototype.subarray||Ht.Array.prototype.slice;Te.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,It(this,10);return e}}();Te.prototype.int32=function(){return this.uint32()|0};Te.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Dc(){var t=new Ph(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 It(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 It(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")}Te.prototype.bool=function(){return this.uint32()!==0};function so(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}Te.prototype.fixed32=function(){if(this.pos+4>this.len)throw It(this,4);return so(this.buf,this.pos+=4)};Te.prototype.sfixed32=function(){if(this.pos+4>this.len)throw It(this,4);return so(this.buf,this.pos+=4)|0};function Lh(){if(this.pos+8>this.len)throw It(this,8);return new Ph(so(this.buf,this.pos+=4),so(this.buf,this.pos+=4))}Te.prototype.float=function(){if(this.pos+4>this.len)throw It(this,4);var e=Ht.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};Te.prototype.double=function(){if(this.pos+8>this.len)throw It(this,4);var e=Ht.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};Te.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw It(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)};Te.prototype.string=function(){var e=this.bytes();return h2.read(e,0,e.length)};Te.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw It(this,e);this.pos+=e}else do if(this.pos>=this.len)throw It(this);while(this.buf[this.pos++]&128);return this};Te.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};Te._configure=function(t){Nc=t,Te.create=Dh(),Nc._configure();var e=Ht.Long?"toLong":"toNumber";Ht.merge(Te.prototype,{int64:function(){return Dc.call(this)[e](!1)},uint64:function(){return Dc.call(this)[e](!0)},sint64:function(){return Dc.call(this).zzDecode()[e](!1)},fixed64:function(){return Lh.call(this)[e](!0)},sfixed64:function(){return Lh.call(this)[e](!1)}})}});var Fh=R((xA,Mh)=>{"use strict";Mh.exports=rn;var Oh=kc();(rn.prototype=Object.create(Oh.prototype)).constructor=rn;var kh=tn();function rn(t){Oh.call(this,t)}rn._configure=function(){kh.Buffer&&(rn.prototype._slice=kh.Buffer.prototype.slice)};rn.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))};rn._configure()});var qc=R((wA,qh)=>{"use strict";qh.exports=ee;var gt=tn(),Oc,oo=gt.LongBits,Uh=gt.base64,Kh=gt.utf8;function Fi(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Fc(){}function d2(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function ee(){this.len=0,this.head=new Fi(Fc,0,0),this.tail=this.head,this.states=null}var Vh=function(){return gt.Buffer?function(){return(ee.create=function(){return new Oc})()}:function(){return new ee}};ee.create=Vh();ee.alloc=function(e){return new gt.Array(e)};gt.Array!==Array&&(ee.alloc=gt.pool(ee.alloc,gt.Array.prototype.subarray));ee.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Fi(e,r,n),this.len+=r,this};function Uc(t,e,r){e[r]=t&255}function p2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Kc(t,e){this.len=t,this.next=void 0,this.val=e}Kc.prototype=Object.create(Fi.prototype);Kc.prototype.fn=p2;ee.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Kc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};ee.prototype.int32=function(e){return e<0?this._push(Vc,10,oo.fromNumber(e)):this.uint32(e)};ee.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Vc(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}ee.prototype.uint64=function(e){var r=oo.from(e);return this._push(Vc,r.length(),r)};ee.prototype.int64=ee.prototype.uint64;ee.prototype.sint64=function(e){var r=oo.from(e).zzEncode();return this._push(Vc,r.length(),r)};ee.prototype.bool=function(e){return this._push(Uc,1,e?1:0)};function Mc(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}ee.prototype.fixed32=function(e){return this._push(Mc,4,e>>>0)};ee.prototype.sfixed32=ee.prototype.fixed32;ee.prototype.fixed64=function(e){var r=oo.from(e);return this._push(Mc,4,r.lo)._push(Mc,4,r.hi)};ee.prototype.sfixed64=ee.prototype.fixed64;ee.prototype.float=function(e){return this._push(gt.float.writeFloatLE,4,e)};ee.prototype.double=function(e){return this._push(gt.float.writeDoubleLE,8,e)};var m2=gt.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]};ee.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(Uc,1,0);if(gt.isString(e)){var n=ee.alloc(r=Uh.length(e));Uh.decode(e,n,0),e=n}return this.uint32(r)._push(m2,r,e)};ee.prototype.string=function(e){var r=Kh.length(e);return r?this.uint32(r)._push(Kh.write,r,e):this._push(Uc,1,0)};ee.prototype.fork=function(){return this.states=new d2(this),this.head=this.tail=new Fi(Fc,0,0),this.len=0,this};ee.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 Fi(Fc,0,0),this.len=0),this};ee.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};ee.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};ee._configure=function(t){Oc=t,ee.create=Vh(),Oc._configure()}});var Hh=R((vA,zh)=>{"use strict";zh.exports=Gt;var $h=qc();(Gt.prototype=Object.create($h.prototype)).constructor=Gt;var Tr=tn();function Gt(){$h.call(this)}Gt._configure=function(){Gt.alloc=Tr._Buffer_allocUnsafe,Gt.writeBytesBuffer=Tr.Buffer&&Tr.Buffer.prototype instanceof Uint8Array&&Tr.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++]}};Gt.prototype.bytes=function(e){Tr.isString(e)&&(e=Tr._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Gt.writeBytesBuffer,r,e),this};function y2(t,e,r){t.length<40?Tr.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Gt.prototype.string=function(e){var r=Tr.Buffer.byteLength(e);return this.uint32(r),r&&this._push(y2,r,e),this};Gt._configure()});var sd=R((vI,id)=>{var pe=se();zr();Ie();var Ki=id.exports=pe.sha512=pe.sha512||{};pe.md.sha512=pe.md.algorithms.sha512=Ki;var rd=pe.sha384=pe.sha512.sha384=pe.sha512.sha384||{};rd.create=function(){return Ki.create("SHA-384")};pe.md.sha384=pe.md.algorithms.sha384=rd;pe.sha512.sha256=pe.sha512.sha256||{create:function(){return Ki.create("SHA-512/256")}};pe.md["sha512/256"]=pe.md.algorithms["sha512/256"]=pe.sha512.sha256;pe.sha512.sha224=pe.sha512.sha224||{create:function(){return Ki.create("SHA-512/224")}};pe.md["sha512/224"]=pe.md.algorithms["sha512/224"]=pe.sha512.sha224;Ki.create=function(t){if(nd||A2(),typeof t>"u"&&(t="SHA-512"),!(t in sn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=sn[t],r=null,n=pe.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=pe.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=pe.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),td(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=pe.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Xc.substr(0,a.blockLength-l));for(var f,h,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)f=a.fullMessageLength[p+1]*8,h=f/4294967296>>>0,d+=h,c.putInt32(d>>>0),d=f>>>0;c.putInt32(d);for(var m=new Array(r.length),p=0;p<r.length;++p)m[p]=r[p].slice(0);td(m,i,c);var y=pe.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var p=0;p<g;++p)y.putInt32(m[p][0]),(p!==g-1||t!=="SHA-512/224")&&y.putInt32(m[p][1]);return y},a};var Xc=null,nd=!1,Zc=null,sn=null;function A2(){Xc=String.fromCharCode(128),Xc+=pe.util.fillString(String.fromCharCode(0),128),Zc=[[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]],sn={},sn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],sn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],sn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],sn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],nd=!0}function td(t,e,r){for(var n,i,s,o,a,c,u,l,f,h,d,p,m,y,g,w,_,N,C,T,H,W,De,vt,it,Qe,In,Rs,Le,Je,F,Ca,Ta,Ba,La,Zl=r.length();Zl>=128;){for(Le=0;Le<16;++Le)e[Le][0]=r.getInt32()>>>0,e[Le][1]=r.getInt32()>>>0;for(;Le<80;++Le)Ca=e[Le-2],Je=Ca[0],F=Ca[1],n=((Je>>>19|F<<13)^(F>>>29|Je<<3)^Je>>>6)>>>0,i=((Je<<13|F>>>19)^(F<<3|Je>>>29)^(Je<<26|F>>>6))>>>0,Ba=e[Le-15],Je=Ba[0],F=Ba[1],s=((Je>>>1|F<<31)^(Je>>>8|F<<24)^Je>>>7)>>>0,o=((Je<<31|F>>>1)^(Je<<24|F>>>8)^(Je<<25|F>>>7))>>>0,Ta=e[Le-7],La=e[Le-16],F=i+Ta[1]+o+La[1],e[Le][0]=n+Ta[0]+s+La[0]+(F/4294967296>>>0)>>>0,e[Le][1]=F>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],w=t[1][1],_=t[2][0],N=t[2][1],C=t[3][0],T=t[3][1],H=t[4][0],W=t[4][1],De=t[5][0],vt=t[5][1],it=t[6][0],Qe=t[6][1],In=t[7][0],Rs=t[7][1],Le=0;Le<80;++Le)u=((H>>>14|W<<18)^(H>>>18|W<<14)^(W>>>9|H<<23))>>>0,l=((H<<18|W>>>14)^(H<<14|W>>>18)^(W<<23|H>>>9))>>>0,f=(it^H&(De^it))>>>0,h=(Qe^W&(vt^Qe))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,d=(m&g|_&(m^g))>>>0,p=(y&w|N&(y^w))>>>0,F=Rs+l+h+Zc[Le][1]+e[Le][1],n=In+u+f+Zc[Le][0]+e[Le][0]+(F/4294967296>>>0)>>>0,i=F>>>0,F=c+p,s=a+d+(F/4294967296>>>0)>>>0,o=F>>>0,In=it,Rs=Qe,it=De,Qe=vt,De=H,vt=W,F=T+i,H=C+n+(F/4294967296>>>0)>>>0,W=F>>>0,C=_,T=N,_=g,N=w,g=m,w=y,F=i+o,m=n+s+(F/4294967296>>>0)>>>0,y=F>>>0;F=t[0][1]+y,t[0][0]=t[0][0]+m+(F/4294967296>>>0)>>>0,t[0][1]=F>>>0,F=t[1][1]+w,t[1][0]=t[1][0]+g+(F/4294967296>>>0)>>>0,t[1][1]=F>>>0,F=t[2][1]+N,t[2][0]=t[2][0]+_+(F/4294967296>>>0)>>>0,t[2][1]=F>>>0,F=t[3][1]+T,t[3][0]=t[3][0]+C+(F/4294967296>>>0)>>>0,t[3][1]=F>>>0,F=t[4][1]+W,t[4][0]=t[4][0]+H+(F/4294967296>>>0)>>>0,t[4][1]=F>>>0,F=t[5][1]+vt,t[5][0]=t[5][0]+De+(F/4294967296>>>0)>>>0,t[5][1]=F>>>0,F=t[6][1]+Qe,t[6][0]=t[6][0]+it+(F/4294967296>>>0)>>>0,t[6][1]=F>>>0,F=t[7][1]+Rs,t[7][0]=t[7][0]+In+(F/4294967296>>>0)>>>0,t[7][1]=F>>>0,Zl-=128}}});var yu=R((AR,Vd)=>{var Qn=1e3,Xn=Qn*60,Zn=Xn*60,un=Zn*24,sv=un*7,ov=un*365.25;Vd.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return av(t);if(r==="number"&&isFinite(t))return e.long?uv(t):cv(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function av(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*ov;case"weeks":case"week":case"w":return r*sv;case"days":case"day":case"d":return r*un;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Zn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Xn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Qn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function cv(t){var e=Math.abs(t);return e>=un?Math.round(t/un)+"d":e>=Zn?Math.round(t/Zn)+"h":e>=Xn?Math.round(t/Xn)+"m":e>=Qn?Math.round(t/Qn)+"s":t+"ms"}function uv(t){var e=Math.abs(t);return e>=un?wo(t,e,un,"day"):e>=Zn?wo(t,e,Zn,"hour"):e>=Xn?wo(t,e,Xn,"minute"):e>=Qn?wo(t,e,Qn,"second"):t+" ms"}function wo(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var $d=R((IR,qd)=>{function lv(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=yu(),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,d,p;function m(...y){if(!m.enabled)return;let g=m,w=Number(new Date),_=w-(f||w);g.diff=_,g.prev=f,g.curr=w,f=w,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let N=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(T,H)=>{if(T==="%%")return"%";N++;let W=r.formatters[H];if(typeof W=="function"){let De=y[N];T=W.call(g,De),y.splice(N,1),N--}return T}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(d!==r.namespaces&&(d=r.namespaces,p=r.enabled(l)),p),set:y=>{h=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let h=r(this.namespace+(typeof f>"u"?":":f)+l);return h.log=this.log,h}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,h=(typeof l=="string"?l:"").split(/[\s,]+/),d=h.length;for(f=0;f<d;f++)h[f]&&(l=h[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,h;for(f=0,h=r.skips.length;f<h;f++)if(r.skips[f].test(l))return!1;for(f=0,h=r.names.length;f<h;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}qd.exports=lv});var gu=R((ct,vo)=>{ct.formatArgs=hv;ct.save=dv;ct.load=pv;ct.useColors=fv;ct.storage=mv();ct.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`."))}})();ct.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 fv(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function hv(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+vo.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)}ct.log=console.debug||console.log||(()=>{});function dv(t){try{t?ct.storage.setItem("debug",t):ct.storage.removeItem("debug")}catch{}}function pv(){let t;try{t=ct.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function mv(){try{return localStorage}catch{}}vo.exports=$d()(ct);var{formatters:yv}=vo.exports;yv.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Qd=R((GR,Wd)=>{"use strict";Wd.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var tp=R((Jd,ep)=>{"use strict";var So=Qd(),{hasOwnProperty:Zd}=Object.prototype,{propertyIsEnumerable:_v}=Object,ei=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),Sv=Jd,Xd={concatArrays:!1,ignoreUndefined:!1},Ao=t=>{let e=[];for(let r in t)Zd.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)_v.call(t,n)&&e.push(n)}return e};function ti(t){return Array.isArray(t)?Av(t):So(t)?Iv(t):t}function Av(t){let e=t.slice(0,0);return Ao(t).forEach(r=>{ei(e,r,ti(t[r]))}),e}function Iv(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Ao(t).forEach(r=>{ei(e,r,ti(t[r]))}),e}var jd=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?ei(t,i,Eu(t[i],e[i],n)):ei(t,i,ti(e[i])))}),t),Rv=(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++)Zd.call(s,a)&&(o.push(String(a)),s===t?ei(n,i++,s[a]):ei(n,i++,ti(s[a])));n=jd(n,s,Ao(s).filter(a=>!o.includes(a)),r)}),n};function Eu(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?Rv(t,e,r):!So(e)||!So(t)?ti(e):jd(t,e,Ao(e),r)}ep.exports=function(...t){let e=Eu(ti(Xd),this!==Sv&&this||{},Xd),r={_:{}};for(let n of t)if(n!==void 0){if(!So(n))throw new TypeError("`"+n+"` is not an Option Object");r=Eu(r,{_:n},e)}return r._}});var ip=R((WR,np)=>{"use strict";function Cv(t){return t>=55296&&t<=56319}function Tv(t){return t>=56320&&t<=57343}np.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],Cv(o)&&Tv(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 op=R((QR,sp)=>{"use strict";function Bv(t){return t>=55296&&t<=56319}function Lv(t){return t>=56320&&t<=57343}sp.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),Lv(i)?s!=null&&Bv(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 cp=R((XR,ap)=>{"use strict";var Pv=ip(),Dv=op();ap.exports=Pv.bind(null,Dv)});var fp=R((ZR,lp)=>{"use strict";var Nv=cp(),kv=/[\/\?<>\\:\*\|"]/g,Ov=/[\x00-\x1f\x80-\x9f]/g,Mv=/^\.+$/,Fv=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Uv=/[\. ]+$/;function up(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(kv,e).replace(Ov,e).replace(Mv,e).replace(Fv,e).replace(Uv,e);return Nv(r,255)}lp.exports=function(t,e){var r=e&&e.replacement||"",n=up(t,r);return r===""?n:up(n,"")}});var _p=R((r4,bp)=>{bp.exports=Su;var Ep=128,Zv=127,jv=~Zv,Jv=Math.pow(2,31);function Su(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Su.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=Jv;)e[r++]=t&255|Ep,t/=128;for(;t&jv;)e[r++]=t&255|Ep,t>>>=7;return e[r]=t|0,Su.bytes=r-n+1,e}});var Ip=R((n4,Ap)=>{Ap.exports=Au;var eE=128,Sp=127;function Au(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a||i>49)throw Au.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Sp)<<i:(o&Sp)*Math.pow(2,i),i+=7}while(o>=eE);return Au.bytes=s-n,r}});var Cp=R((i4,Rp)=>{var tE=Math.pow(2,7),rE=Math.pow(2,14),nE=Math.pow(2,21),iE=Math.pow(2,28),sE=Math.pow(2,35),oE=Math.pow(2,42),aE=Math.pow(2,49),cE=Math.pow(2,56),uE=Math.pow(2,63);Rp.exports=function(t){return t<tE?1:t<rE?2:t<nE?3:t<iE?4:t<sE?5:t<oE?6:t<aE?7:t<cE?8:t<uE?9:10}});var To=R((s4,Tp)=>{Tp.exports={encode:_p(),decode:Ip(),encodingLength:Cp()}});var Xp=R((NT,Uu)=>{"use strict";var ME=Object.prototype.hasOwnProperty,je="~";function ss(){}Object.create&&(ss.prototype=Object.create(null),new ss().__proto__||(je=!1));function FE(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Qp(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new FE(r,n||t,i),o=je?je+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 ko(t,e){--t._eventsCount===0?t._events=new ss:delete t._events[e]}function Ye(){this._events=new ss,this._eventsCount=0}Ye.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)ME.call(r,n)&&e.push(je?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ye.prototype.listeners=function(e){var r=je?je+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};Ye.prototype.listenerCount=function(e){var r=je?je+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ye.prototype.emit=function(e,r,n,i,s,o){var a=je?je+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,d;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(d=1,l=new Array(u-1);d<u;d++)l[d-1]=arguments[d];c[f].fn.apply(c[f].context,l)}}return!0};Ye.prototype.on=function(e,r,n){return Qp(this,e,r,n,!1)};Ye.prototype.once=function(e,r,n){return Qp(this,e,r,n,!0)};Ye.prototype.removeListener=function(e,r,n,i){var s=je?je+e:e;if(!this._events[s])return this;if(!r)return ko(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ko(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:ko(this,s)}return this};Ye.prototype.removeAllListeners=function(e){var r;return e?(r=je?je+e:e,this._events[r]&&ko(this,r)):(this._events=new ss,this._eventsCount=0),this};Ye.prototype.off=Ye.prototype.removeListener;Ye.prototype.addListener=Ye.prototype.on;Ye.prefixed=je;Ye.EventEmitter=Ye;typeof Uu<"u"&&(Uu.exports=Ye)});var al=R((Q8,ym)=>{"use strict";function mm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function jE(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return mm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),mm(new i,r)}}ym.exports=jE});var bm=R(ds=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,h;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,h=c&255,[u,l,f,h].join(".")},o=function(c){var u,l,f,h,d,p;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)}p=e(c),d=p[0],l=p[1],c=c.substring(l),u.push(d)}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,d;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")),d=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===d)throw new Error("empty octet");return[h,f]},t=function(){function c(u,l){var f,h,d,p;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(p=u.split("/",2),u=p[0],l=p[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(h=d=32;d>=0;h=--d)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(o(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,h;for(h=o(this.first),f=o(this.last),l=0;h<=f;)u(a(h),h,l),l++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),ds.ip2long=o,ds.long2ip=a,ds.Netmask=t}).call(ds)});var Im=R((Am,ra)=>{(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(d,p){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],w,_;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>p)return null;for(_=p-m,w=":";_--;)w+="0:";return d=d.replace("::",w),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),p=function(){let N=d.split(":"),C=[];for(let T=0;T<N.length;T++)C.push(parseInt(N[T],16));return C}(),{parts:p,zoneId:g}}function u(d,p,m,y){if(d.length!==p.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,w;for(;y>0;){if(w=m-y,w<0&&(w=0),d[g]>>w!==p[g]>>w)return!1;y-=m,g+=1}return!0}function l(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function f(d,p){for(;d.length<p;)d=`0${d}`;return d}let h={};h.IPv4=function(){function d(p){if(p.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<p.length;m++)if(y=p[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=p}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,p.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,w,_;for(g=3;g>=0;g-=1)if(w=this.octets[g],w in y){if(_=y[w],m&&_!==0)return null;_!==8&&(m=!0),p+=_}else return null;return 32-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return h.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),h.IPv4.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<4;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.isIPv4=function(d){return this.parser(d)!==null},h.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},h.IPv4.isValidFourPartDecimal=function(d){return!!(h.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},h.IPv4.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},h.IPv4.parse=function(d){let p=this.parser(d);if(p===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(p)},h.IPv4.parseCIDR=function(d){let p;if(p=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(p[2]);if(m>=0&&m<=32){let y=[this.parse(p[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},h.IPv4.parser=function(d){let p,m,y;if(p=d.match(r.fourOctet))return function(){let g=p.slice(1,6),w=[];for(let _=0;_<g.length;_++)m=g[_],w.push(l(m));return w}();if(p=d.match(r.longValue)){if(y=l(p[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],w;for(w=0;w<=24;w+=8)g.push(y>>w&255);return g}().reverse()}else return(p=d.match(r.twoOctet))?function(){let g=p.slice(1,4),w=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(y>>16&255),w.push(y>>8&255),w.push(y&255),w}():(p=d.match(r.threeOctet))?function(){let g=p.slice(1,5),w=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return w.push(l(g[0])),w.push(l(g[1])),w.push(y>>8&255),w.push(y&255),w}():null},h.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let p=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<4&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.IPv6=function(){function d(p,m){let y,g;if(p.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(p[y]<<8|p[y+1]);else if(p.length===8)this.parts=p;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(p,m){let y;if(m===void 0&&(y=p,p=y[0],m=y[1]),p.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,p.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let p=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,w;for(let _=7;_>=0;_-=1)if(g=this.parts[_],g in y){if(w=y[g],m&&w!==0)return null;w!==16&&(m=!0),p+=w}else return null;return 128-p},d.prototype.range=function(){return h.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let p,m=[],y=this.parts;for(let g=0;g<y.length;g++)p=y[g],m.push(p>>8),m.push(p&255);return m},d.prototype.toFixedLengthString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let p=this.parts.slice(-2),m=p[0],y=p[1];return new h.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let p=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),p+m},d.prototype.toRFC5952String=function(){let p=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,w;for(;w=p.exec(m);)w[0].length>g&&(y=w.index,g=w[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),h.IPv6.broadcastAddressFromCIDR=function(d){try{let p=this.parseCIDR(d),m=p[0].toByteArray(),y=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],w=0;for(;w<16;)g.push(parseInt(m[w],10)|parseInt(y[w],10)^255),w++;return new this(g)}catch(p){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${p})`)}},h.IPv6.isIPv6=function(d){return this.parser(d)!==null},h.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let p=this.parser(d);return new this(p.parts,p.zoneId),!0}catch{return!1}},h.IPv6.networkAddressFromCIDR=function(d){let p,m,y,g,w;try{for(p=this.parseCIDR(d),y=p[0].toByteArray(),w=this.subnetMaskFromPrefixLength(p[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(w[m],10)),m++;return new this(g)}catch(_){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${_})`)}},h.IPv6.parse=function(d){let p=this.parser(d);if(p.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(p.parts,p.zoneId)},h.IPv6.parseCIDR=function(d){let p,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(p=parseInt(m[2]),p>=0&&p<=128))return y=[this.parse(m[1]),p],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},h.IPv6.parser=function(d){let p,m,y,g,w,_;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(_=y[6]||"",p=c(y[1].slice(0,-1)+_,6),p.parts)){for(w=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<w.length;m++)if(g=w[m],!(0<=g&&g<=255))return null;return p.parts.push(w[0]<<8|w[1]),p.parts.push(w[2]<<8|w[3]),{parts:p.parts,zoneId:p.zoneId}}return null},h.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)p[m]=255,m++;return y<16&&(p[y]=Math.pow(2,d%8)-1<<8-d%8),new this(p)},h.fromByteArray=function(d){let p=d.length;if(p===4)return new h.IPv4(d);if(p===16)return new h.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},h.isValid=function(d){return h.IPv6.isValid(d)||h.IPv4.isValid(d)},h.parse=function(d){if(h.IPv6.isValid(d))return h.IPv6.parse(d);if(h.IPv4.isValid(d))return h.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},h.parseCIDR=function(d){try{return h.IPv6.parseCIDR(d)}catch{try{return h.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},h.process=function(d){let p=this.parse(d);return p.kind()==="ipv6"&&p.isIPv4MappedAddress()?p.toIPv4Address():p},h.subnetMatch=function(d,p,m){let y,g,w,_;m==null&&(m="unicast");for(g in p)if(Object.prototype.hasOwnProperty.call(p,g)){for(w=p[g],w[0]&&!(w[0]instanceof Array)&&(w=[w]),y=0;y<w.length;y++)if(_=w[y],d.kind()===_[0].kind()&&d.match.apply(d,_))return g}return m},typeof ra<"u"&&ra.exports?ra.exports=h:t.ipaddr=h})(Am)});var Nm=R((S3,Dm)=>{"use strict";Dm.exports=Pm;var hb=yu(),Vr=Pm.prototype,db=new Date%1e9;function pb(){return(Math.random()*1e9>>>0)+db++}function Pm(t){t=t||{},this.id=t.id||pb(),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)}Vr.has=function(t){return t in this._lookup};Vr.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};Vr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Vr.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};Vr.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};Vr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=hb(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};Vr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Vr.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 ps=R((H3,qm)=>{qm.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var zm=R((Y3,$m)=>{$m.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var Gm=R((W3,Hm)=>{var xb=zm();Hm.exports=xb});var dt=R((X3,Ym)=>{Ym.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var di=R((j3,Qm)=>{var yl=ps(),wb=Gm(),Wm=dt();Qm.exports=class extends yl{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new wb}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof yl?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof yl))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Wm(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new Wm(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var jm=R((J3,Zm)=>{var vb=di(),Eb=dt(),Xm="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",gl=class extends vb{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:Xm})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new Eb;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}_upsert(e,r,n,i=!1){return new Promise((s,o)=>{if(!this._isRedisReady())return o(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?o(u):s(l));else if(a>0){let u=function(l,f){return l?o(l):s(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(Xm,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?o(u):s(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,s)=>{if(i)n(i);else{let[o]=s;if(o===null)return r(null);r(s)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):r(s>0)})})}};Zm.exports=gl});var ty=R((eB,ey)=>{var bb=di(),_b=dt();function Jm(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var ms=class extends bb{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Jm(this.client)}):(this._initCollection(),this._driverVersion=Jm(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?ms.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new _b,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(h=>{l(h)}).catch(h=>{if(h&&h.code===11e3){let d=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),p={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(d,p,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(h)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};ey.exports=ms});var ny=R((tB,ry)=>{var Sb=di(),Ab=dt(),xl=class extends Sb{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new Ab,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,h;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
12
+ `,r};r0.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ys.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(o=l.match(n),o){for(var p={name:o[1],values:[]},h=o[2].split(","),m=0;m<h.length;++m)p.values.push(Kx(h[m]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[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:h[0],parameters:h[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:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function ms(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
+ `;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
14
+ `+e.substr(s)):e=e.substr(0,s)+`\r
15
+ `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Kx(t){return t.replace(/^\s+/,"")}});var l0=B((p4,u0)=>{var qt=ae();tn();Le();var s0=u0.exports=qt.sha256=qt.sha256||{};qt.md.sha256=qt.md.algorithms.sha256=s0;s0.create=function(){a0||Vx();var t=null,e=qt.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=qt.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=qt.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),o0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=qt.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Sc.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};o0(f,r,i);var d=qt.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var Sc=null,a0=!1,c0=null;function Vx(){Sc=String.fromCharCode(128),Sc+=qt.util.fillString(String.fromCharCode(0),64),c0=[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],a0=!0}function o0(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),o=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=g+s+a+c0[u]+e[u],i=o+c,g=y,y=m,m=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var h0=B((m4,f0)=>{var zt=ae();Le();var gs=null;zt.util.isNodejs&&!zt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(gs=rn());var qx=f0.exports=zt.prng=zt.prng||{};qx.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,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,m=zt.util.createBuffer();e.key=null,y();function y(g){if(g)return l(g);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return zt.util.nextTick(function(){o(y)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),zt.util.setImmediate(y)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=zt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l===0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=zt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(I){return d.getRandomValues(I)});var p=zt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var y=0;y<m.length;++y)p.putInt32(m[y])}catch(I){if(!(typeof QuotaExceededError<"u"&&I instanceof QuotaExceededError))throw I}}if(p.length()<u)for(var g,x,E,T=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(T&65535),g=16807*(T>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),T=x&4294967295;for(var y=0;y<3;++y)E=T>>>(y<<3),E^=Math.floor(Math.random()*256),p.putByte(E&255)}return p.getBytes(u)}return gs?(e.seedFile=function(u,l){gs.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return gs.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="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var Xi=B((y4,Ac)=>{var Ve=ae();hs();l0();h0();Le();(function(){if(Ve.random&&Ve.random.getBytes){Ac.exports=Ve.random;return}(function(t){var e={},r=new Array(4),n=Ve.util.createBuffer();e.formatKey=function(f){var d=Ve.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ve.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ve.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return Ve.aes._updateBlock(f,d,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=Ve.md.sha256;function i(){var f=Ve.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var o=i(),s=null,a=Ve.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(f){return c.getRandomValues(f)}),Ve.options.usePureJavaScript||!Ve.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(f){o.collectInt(f.clientX,16),o.collectInt(f.clientY,16)}),t().keypress(function(f){o.collectInt(f.charCode,8)}))}if(!Ve.random)Ve.random=o;else for(var l in o)Ve.random[l]=o[l];Ve.random.createInstance=i,Ac.exports=Ve.random})(typeof jQuery<"u"?jQuery:null)})()});var y0=B((g4,m0)=>{var it=ae();Le();var Ic=[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],d0=[1,2,3,5],zx=function(t,e){return t<<e&65535|(t&65535)>>16-e},$x=function(t,e){return(t&65535)>>e|t<<16-e&65535};m0.exports=it.rc2=it.rc2||{};it.rc2.expandKey=function(t,e){typeof t=="string"&&(t=it.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ic[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ic[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ic[r.at(a+1)^r.at(a+o)]);return r};var p0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,l,f=[];for(t=it.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=zx(h[u],d0[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=$x(h[u],d0[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}l=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=it.util.createBuffer(h)),n=!1,i=it.util.createBuffer(),o=m||new it.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},p};it.rc2.startEncrypting=function(t,e,r){var n=it.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};it.rc2.createEncryptionCipher=function(t,e){return p0(t,e,!0)};it.rc2.startDecrypting=function(t,e,r){var n=it.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};it.rc2.createDecryptionCipher=function(t,e){return p0(t,e,!1)}});var bs=B((x4,S0)=>{var Rc=ae();S0.exports=Rc.jsbn=Rc.jsbn||{};var cr,Hx=0xdeadbeefcafe,g0=(Hx&16777215)==15715070;function S(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))}Rc.jsbn.BigInteger=S;function ee(){return new S(null)}function Gx(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function Yx(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*s;c=s*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function x0(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*s;c=s*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(S.prototype.am=x0,cr=28):g0&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=Yx,cr=30):g0&&navigator.appName!="Netscape"?(S.prototype.am=Gx,cr=26):(S.prototype.am=x0,cr=28);S.prototype.DB=cr;S.prototype.DM=(1<<cr)-1;S.prototype.DV=1<<cr;var Cc=52;S.prototype.FV=Math.pow(2,Cc);S.prototype.F1=Cc-cr;S.prototype.F2=2*cr-Cc;var Wx="0123456789abcdefghijklmnopqrstuvwxyz",xs=new Array,Vn,bt;Vn="0".charCodeAt(0);for(bt=0;bt<=9;++bt)xs[Vn++]=bt;Vn="a".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;Vn="A".charCodeAt(0);for(bt=10;bt<36;++bt)xs[Vn++]=bt;function w0(t){return Wx.charAt(t)}function b0(t,e){var r=xs[t.charCodeAt(e)];return r??-1}function Qx(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 Xx(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 Ir(t){var e=ee();return e.fromInt(t),e}function Zx(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:b0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&S.ZERO.subTo(this,this)}function jx(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Jx(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=w0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=w0(n));return i?o:"0"}function ew(){var t=ee();return S.ZERO.subTo(this,t),t}function tw(){return this.s<0?this.negate():this}function rw(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 ws(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 nw(){return this.t<=0?0:this.DB*(this.t-1)+ws(this.data[this.t-1]^this.s&this.DM)}function iw(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 ow(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 sw(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function aw(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function cw(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 uw(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&&S.ZERO.subTo(e,e)}function lw(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 fw(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=ee());var o=ee(),s=this.s,a=t.s,c=this.DB-ws(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,l=o.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,m=r.t,y=m-u,g=e??ee();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),S.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&S.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&S.ZERO.subTo(r,r)}}}function hw(t){var e=ee();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(S.ZERO)>0&&t.subTo(e,e),e}function nn(t){this.m=t}function dw(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function pw(t){return t}function mw(t){t.divRemTo(this.m,null,t)}function yw(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function gw(t,e){t.squareTo(e),this.reduce(e)}nn.prototype.convert=dw;nn.prototype.revert=pw;nn.prototype.reduce=mw;nn.prototype.mulTo=yw;nn.prototype.sqrTo=gw;function xw(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function on(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 ww(t){var e=ee();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(S.ZERO)>0&&this.m.subTo(e,e),e}function bw(t){var e=ee();return t.copyTo(e),this.reduce(e),e}function vw(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 Ew(t,e){t.squareTo(e),this.reduce(e)}function _w(t,e,r){t.multiplyTo(e,r),this.reduce(r)}on.prototype.convert=ww;on.prototype.revert=bw;on.prototype.reduce=vw;on.prototype.mulTo=_w;on.prototype.sqrTo=Ew;function Sw(){return(this.t>0?this.data[0]&1:this.s)==0}function Aw(t,e){if(t>4294967295||t<1)return S.ONE;var r=ee(),n=ee(),i=e.convert(this),o=ws(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Iw(t,e){var r;return t<256||e.isEven()?r=new nn(e):r=new on(e),this.exp(t,r)}S.prototype.copyTo=Qx;S.prototype.fromInt=Xx;S.prototype.fromString=Zx;S.prototype.clamp=jx;S.prototype.dlShiftTo=iw;S.prototype.drShiftTo=ow;S.prototype.lShiftTo=sw;S.prototype.rShiftTo=aw;S.prototype.subTo=cw;S.prototype.multiplyTo=uw;S.prototype.squareTo=lw;S.prototype.divRemTo=fw;S.prototype.invDigit=xw;S.prototype.isEven=Sw;S.prototype.exp=Aw;S.prototype.toString=Jx;S.prototype.negate=ew;S.prototype.abs=tw;S.prototype.compareTo=rw;S.prototype.bitLength=nw;S.prototype.mod=hw;S.prototype.modPowInt=Iw;S.ZERO=Ir(0);S.ONE=Ir(1);function Rw(){var t=ee();return this.copyTo(t),t}function Cw(){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 Tw(){return this.t==0?this.s:this.data[0]<<24>>24}function Bw(){return this.t==0?this.s:this.data[0]<<16>>16}function Lw(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Pw(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Dw(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=Ir(r),i=ee(),o=ee(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Nw(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=b0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&S.ZERO.subTo(this,this)}function kw(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(S.ONE.shiftLeft(t-1),Tc,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(S.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 Ow(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Mw(t){return this.compareTo(t)==0}function Uw(t){return this.compareTo(t)<0?this:t}function Fw(t){return this.compareTo(t)>0?this:t}function Kw(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Vw(t,e){return t&e}function qw(t){var e=ee();return this.bitwiseTo(t,Vw,e),e}function Tc(t,e){return t|e}function zw(t){var e=ee();return this.bitwiseTo(t,Tc,e),e}function v0(t,e){return t^e}function $w(t){var e=ee();return this.bitwiseTo(t,v0,e),e}function E0(t,e){return t&~e}function Hw(t){var e=ee();return this.bitwiseTo(t,E0,e),e}function Gw(){for(var t=ee(),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 Yw(t){var e=ee();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function Ww(t){var e=ee();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Qw(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function Xw(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Qw(this.data[t]);return this.s<0?this.t*this.DB:-1}function Zw(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function jw(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=Zw(this.data[r]^e);return t}function Jw(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function e2(t,e){var r=S.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function t2(t){return this.changeBit(t,Tc)}function r2(t){return this.changeBit(t,E0)}function n2(t){return this.changeBit(t,v0)}function i2(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 o2(t){var e=ee();return this.addTo(t,e),e}function s2(t){var e=ee();return this.subTo(t,e),e}function a2(t){var e=ee();return this.multiplyTo(t,e),e}function c2(t){var e=ee();return this.divRemTo(t,e,null),e}function u2(t){var e=ee();return this.divRemTo(t,null,e),e}function l2(t){var e=ee(),r=ee();return this.divRemTo(t,e,r),new Array(e,r)}function f2(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function h2(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Zi(){}function _0(t){return t}function d2(t,e,r){t.multiplyTo(e,r)}function p2(t,e){t.squareTo(e)}Zi.prototype.convert=_0;Zi.prototype.revert=_0;Zi.prototype.mulTo=d2;Zi.prototype.sqrTo=p2;function m2(t){return this.exp(t,new Zi)}function y2(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 g2(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 qn(t){this.r2=ee(),this.q3=ee(),S.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function x2(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=ee();return t.copyTo(e),this.reduce(e),e}function w2(t){return t}function b2(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 v2(t,e){t.squareTo(e),this.reduce(e)}function E2(t,e,r){t.multiplyTo(e,r),this.reduce(r)}qn.prototype.convert=x2;qn.prototype.revert=w2;qn.prototype.reduce=b2;qn.prototype.mulTo=E2;qn.prototype.sqrTo=v2;function _2(t,e){var r=t.bitLength(),n,i=Ir(1),o;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?o=new nn(e):e.isEven()?o=new qn(e):o=new on(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var l=ee();for(o.sqrTo(s[1],l);a<=u;)s[a]=ee(),o.mulTo(l,s[a-2],s[a]),a+=2}var f=t.t-1,d,p=!0,h=ee(),m;for(r=ws(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(m=i,i=h,h=m),o.mulTo(h,s[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)o.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return o.revert(i)}function S2(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function A2(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 I2(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return S.ZERO;for(var r=t.clone(),n=this.clone(),i=Ir(1),o=Ir(0),s=Ir(0),a=Ir(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(S.ONE)!=0)return S.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 Rt=[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],R2=(1<<26)/Rt[Rt.length-1];function C2(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<R2;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function T2(t){var e=this.subtract(S.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=B2(),o,s=0;s<t;++s){do o=new S(this.bitLength(),i);while(o.compareTo(S.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function B2(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Lw;S.prototype.toRadix=Dw;S.prototype.fromRadix=Nw;S.prototype.fromNumber=kw;S.prototype.bitwiseTo=Kw;S.prototype.changeBit=e2;S.prototype.addTo=i2;S.prototype.dMultiply=f2;S.prototype.dAddOffset=h2;S.prototype.multiplyLowerTo=y2;S.prototype.multiplyUpperTo=g2;S.prototype.modInt=A2;S.prototype.millerRabin=T2;S.prototype.clone=Rw;S.prototype.intValue=Cw;S.prototype.byteValue=Tw;S.prototype.shortValue=Bw;S.prototype.signum=Pw;S.prototype.toByteArray=Ow;S.prototype.equals=Mw;S.prototype.min=Uw;S.prototype.max=Fw;S.prototype.and=qw;S.prototype.or=zw;S.prototype.xor=$w;S.prototype.andNot=Hw;S.prototype.not=Gw;S.prototype.shiftLeft=Yw;S.prototype.shiftRight=Ww;S.prototype.getLowestSetBit=Xw;S.prototype.bitCount=jw;S.prototype.testBit=Jw;S.prototype.setBit=t2;S.prototype.clearBit=r2;S.prototype.flipBit=n2;S.prototype.add=o2;S.prototype.subtract=s2;S.prototype.multiply=a2;S.prototype.divide=c2;S.prototype.remainder=u2;S.prototype.divideAndRemainder=l2;S.prototype.modPow=_2;S.prototype.modInverse=I2;S.prototype.pow=m2;S.prototype.gcd=S2;S.prototype.isProbablePrime=C2});var T0=B((w4,C0)=>{var $t=ae();tn();Le();var I0=C0.exports=$t.sha1=$t.sha1||{};$t.md.sha1=$t.md.algorithms.sha1=I0;I0.create=function(){R0||L2();var t=null,e=$t.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return e=$t.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=$t.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),A0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=$t.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Bc.substr(0,n.blockLength-s));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};A0(f,r,i);var d=$t.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Bc=null,R0=!1;function L2(){Bc=String.fromCharCode(128),Bc+=$t.util.fillString(String.fromCharCode(0),64),R0=!0}function A0(t,e,r){for(var n,i,o,s,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var P0=B((b4,L0)=>{var Ht=ae();Le();Xi();T0();var B0=L0.exports=Ht.pkcs1=Ht.pkcs1||{};B0.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Ht.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var l=o.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Ht.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var m=vs(i,a-o.digestLength-1,s),y=Ht.util.xorBytes(h,m,h.length),g=vs(y,o.digestLength,s),x=Ht.util.xorBytes(i,g,i.length);return"\0"+x+y};B0.decode_rsa_oaep=function(t,e,r){var n,i,o;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=Ht.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=vs(l,i.digestLength,o),d=Ht.util.xorBytes(u,f,u.length),p=vs(d,s-i.digestLength-1,o),h=Ht.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,E=i.digestLength,T=i.digestLength;T<h.length;T++){var I=h.charCodeAt(T),C=I&1^1,O=x?65534:0;y|=I&O,x=x&C,E+=x}if(y||h.charCodeAt(E)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(E+1)};function vs(t,e,r){r||(r=Ht.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var D0=B((v4,Lc)=>{var Rr=ae();Le();bs();Xi();(function(){if(Rr.prime){Lc.exports=Rr.prime;return}var t=Lc.exports=Rr.prime=Rr.prime||{},e=Rr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=d.prng||Rr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),E=0;E<g.length;++E)g[E]=x.charCodeAt(E)}};if(h.name==="PRIMEINC")return o(f,y,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(f,d,p,h){return"workers"in p?c(f,d,p,h):s(f,d,p,h)}function s(f,d,p,h){var m=u(f,d),y=0,g=l(m.bitLength());"millerRabinTests"in p&&(g=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,y,g,x,h)}function a(f,d,p,h,m,y,g){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return g(null,f);f.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);Rr.util.setImmediate(function(){a(f,d,p,h,m,y,g)})}function c(f,d,p,h){if(typeof Worker>"u")return s(f,d,p,h);var m=u(f,d),y=p.workers,g=p.workLoad||100,x=g*30/8,E=p.workerScript||"forge/prime.worker.js";if(y===-1)return Rr.util.estimateCores(function(I,C){I&&(C=2),y=C-1,T()});T();function T(){y=Math.max(1,y);for(var I=[],C=0;C<y;++C)I[C]=new Worker(E);for(var O=y,C=0;C<y;++C)I[C].addEventListener("message",se);var U=!1;function se(At){if(!U){--O;var ut=At.data;if(ut.found){for(var Je=0;Je<I.length;++Je)I[Je].terminate();return U=!0,h(null,new e(ut.prime,16))}m.bitLength()>f&&(m=u(f,d));var Mn=m.toString(16);At.target.postMessage({hex:Mn,workLoad:g}),m.dAddOffset(x,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),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 _s=B((E4,K0)=>{var F=ae();Qi();bs();as();P0();D0();Xi();Le();typeof X>"u"&&(X=F.jsbn.BigInteger);var X,Pc=F.util.isNodejs?rn():null,b=F.asn1,vt=F.util;F.pki=F.pki||{};K0.exports=F.pki.rsa=F.rsa=F.rsa||{};var q=F.pki,P2=[6,4,2,4,2,4,6,2],D2={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},N2={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},k2={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},O2=F.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},M2={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},U2=function(t){var e;if(t.algorithm in q.oids)e=q.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},U0=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(X.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(X.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new X(F.util.bytesToHex(F.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(X.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};q.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=F0(t,e,r)):(i=F.util.createBuffer(),i.putBytes(t));for(var s=new X(i.toHex(),16),a=U0(s,e,n),c=a.toString(16),u=F.util.createBuffer(),l=o-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new X(F.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=U0(s,e,r),c=a.toString(16),u=F.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(F.util.hexToBytes(c)),n!==!1?Es(u.getBytes(),e,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||F.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new X(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};q.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new X(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new X(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(X.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(K2(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(P2[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(X.ONE).gcd(t.e).compareTo(X.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(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(X.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:q.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:q.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};q.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),!F.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(N0("generateKeyPair"))return Pc.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:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(k0("generateKey")&&k0("exportKey"))return vt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return vt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(b.fromDer(F.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(O0("generateKey")&&O0("exportKey")){var i=vt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:M0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=vt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=q.privateKeyFromAsn1(b.fromDer(F.util.createBuffer(f)));n(null,{privateKey:d,publicKey:q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(N0("generateKeyPairSync")){var o=Pc.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(t,e,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;F2(s,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return F0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return F.pkcs1.encode_rsa_oaep(c,a,o)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var s=i.encode(n,r,!0);return q.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Es(u,r,!0);var l=b.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),f={},d=[];if(!b.validate(l,M2,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=b.derToOid(f.algorithmIdentifier);if(!(h===F.oids.md2||h===F.oids.md5||h===F.oids.sha1||h===F.oids.sha224||h===F.oids.sha256||h===F.oids.sha384||h===F.oids.sha512||h===F.oids["sha512-224"]||h===F.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===F.oids.md2||h===F.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Es(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=q.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Es};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return F.pkcs1.decode_rsa_oaep(h,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(d,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:U2},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return q.rsa.encrypt(d,c,f)},c};q.wrapRsaPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};q.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,D2,e,r)&&(t=b.fromDer(F.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,N2,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,l,f;return i=F.util.createBuffer(e.privateKeyModulus).toHex(),o=F.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=F.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=F.util.createBuffer(e.privateKeyPrime1).toHex(),c=F.util.createBuffer(e.privateKeyPrime2).toHex(),u=F.util.createBuffer(e.privateKeyExponent1).toHex(),l=F.util.createBuffer(e.privateKeyExponent2).toHex(),f=F.util.createBuffer(e.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new X(i,16),new X(o,16),new X(s,16),new X(a,16),new X(c,16),new X(u,16),new X(l,16),new X(f,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.qInv))])};q.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,O2,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,k2,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=F.util.createBuffer(e.publicKeyModulus).toHex(),s=F.util.createBuffer(e.publicKeyExponent).toHex();return q.setRsaPublicKey(new X(o,16),new X(s,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(q.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(t)])])};q.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Gt(t.e))])};function F0(t,e,r){var n=F.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,l=F.random.getBytes(s),c=0;c<s;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Es(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=F.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var l=o.getByte();if(l!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function F2(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){F.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.p=null,i();return}if(t.q.subtract(X.ONE).gcd(t.e).compareTo(X.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(X.ONE),t.q1=t.q.subtract(X.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(X.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:q.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:q.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Gt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=F.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function K2(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 N0(t){return F.util.isNodejs&&typeof Pc[t]=="function"}function k0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.crypto=="object"&&typeof vt.globalScope.crypto.subtle=="object"&&typeof vt.globalScope.crypto.subtle[t]=="function"}function O0(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.msCrypto=="object"&&typeof vt.globalScope.msCrypto.subtle=="object"&&typeof vt.globalScope.msCrypto.subtle[t]=="function"}function M0(t){for(var e=F.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var G0=B((_4,H0)=>{var P=ae();hs();Qi();Zh();tn();as();_c();i0();Xi();y0();_s();Le();typeof V0>"u"&&(V0=P.jsbn.BigInteger);var V0,_=P.asn1,H=P.pki=P.pki||{};H0.exports=H.pbe=P.pbe=P.pbe||{};var sn=H.oids,V2={name:"EncryptedPrivateKeyInfo",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},q2={name:"PBES2Algorithms",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:_.Class.UNIVERSAL,type:_.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},z2={name:"pkcs-12PbeParams",tagClass:_.Class.UNIVERSAL,type:_.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:_.Class.UNIVERSAL,type:_.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:_.Class.UNIVERSAL,type:_.Type.INTEGER,constructed:!1,capture:"iterations"}]};H.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=_.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":s=16,u=16,l=sn["aes128-CBC"],f=P.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,l=sn["aes192-CBC"],f=P.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,l=sn["aes256-CBC"],f=P.aes.createEncryptionCipher;break;case"des":s=8,u=8,l=sn.desCBC,f=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=$0(p),m=P.pkcs5.pbkdf2(e,n,i,s,h),y=P.random.getBytesSync(u),g=f(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes();var x=$2(n,o,s,p);a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBES2).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn.pkcs5PBKDF2).getBytes()),x]),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(l).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var E=new P.util.ByteBuffer(n),m=H.pbe.generatePkcs12Key(e,E,1,i,s),y=H.pbe.generatePkcs12Key(e,E,2,i,s),g=P.des.createEncryptionCipher(m);g.start(y),g.update(_.toDer(t)),g.finish(),c=g.output.getBytes(),a=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(sn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,n),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var T=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[a,_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,c)]);return T};H.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!_.validate(t,V2,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=_.derToOid(n.encryptionOid),a=H.pbe.getCipher(s,n.encryptionParams,e),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=_.fromDer(a.output)),r};H.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:_.toDer(t).getBytes()};return P.pem.encode(r,{maxline:e})};H.encryptedPrivateKeyFromPem=function(t){var e=P.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return _.fromDer(e.body)};H.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=H.wrapRsaPrivateKey(H.privateKeyToAsn1(t));return n=H.encryptPrivateKeyInfo(n,e,r),H.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=P.pbe.opensslDeriveBytes(e,o.substr(0,8),s),l=a(u);l.start(o),l.update(_.toDer(H.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:l.output.getBytes()};return P.pem.encode(f)};H.decryptRsaPrivateKey=function(t,e){var r=null,n=P.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(f){return P.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":o=8,s=function(f){return P.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":o=16,s=function(f){return P.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=H.decryptPrivateKeyInfo(_.fromDer(r),e):r=_.fromDer(r),r!==null&&(r=H.privateKeyFromAsn1(r)),r};H.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var c=o.digestLength,u=o.blockLength,l=new P.util.ByteBuffer,f=new P.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),y=new P.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%p));var g=u*Math.ceil(d/u),x=new P.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(f.at(a%d));var E=y;E.putBuffer(x);for(var T=Math.ceil(i/c),I=1;I<=T;I++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(E.bytes());for(var O=0;O<n;O++)o.start(),o.update(C.getBytes()),C=o.digest();var U=new P.util.ByteBuffer;for(a=0;a<u;a++)U.putByte(C.at(a%c));var se=Math.ceil(p/u)+Math.ceil(d/u),At=new P.util.ByteBuffer;for(s=0;s<se;s++){var ut=new P.util.ByteBuffer(E.getBytes(u)),Je=511;for(a=U.length()-1;a>=0;a--)Je=Je>>8,Je+=U.at(a)+ut.at(a),ut.setAt(a,Je&255);At.putBuffer(ut)}E=At,l.putBuffer(C)}return l.truncate(l.length()-i),l};H.pbe.getCipher=function(t,e,r){switch(t){case H.oids.pkcs5PBES2:return H.pbe.getCipherForPBES2(t,e,r);case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case H.oids["pbewithSHAAnd40BitRC2-CBC"]:return H.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}};H.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!_.validate(e,q2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=_.derToOid(n.kdfOid),t!==H.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=_.derToOid(n.encOid),t!==H.oids["aes128-CBC"]&&t!==H.oids["aes192-CBC"]&&t!==H.oids["aes256-CBC"]&&t!==H.oids["des-EDE3-CBC"]&&t!==H.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(H.oids[t]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var l=z0(n.prfOid),f=P.pkcs5.pbkdf2(r,s,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};H.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!_.validate(e,z2,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case H.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=P.des.startDecrypting;break;case H.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,y){var g=P.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var f=z0(n.prfOid),d=H.pbe.generatePkcs12Key(r,s,1,a,c,f);f.start();var p=H.pbe.generatePkcs12Key(r,s,2,a,u,f);return l(d,p)};H.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}e===null&&(e="");for(var i=[q0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(q0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function q0(t,e){return t.start().update(e).digest().getBytes()}function z0(t){var e;if(!t)e="hmacWithSHA1";else if(e=H.oids[_.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return $0(e)}function $0(t){var e=P.md;switch(t){case"hmacWithSHA224":e=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function $2(t,e,r,n){var i=_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OCTETSTRING,!1,t),_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(_.create(_.Class.UNIVERSAL,_.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),_.create(_.Class.UNIVERSAL,_.Type.SEQUENCE,!0,[_.create(_.Class.UNIVERSAL,_.Type.OID,!1,_.oidToDer(H.oids[n]).getBytes()),_.create(_.Class.UNIVERSAL,_.Type.NULL,!1,"")])),i}});var $d=B((FC,zd)=>{"use strict";zd.exports=Yv;function Yv(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(o)if(o=!1,l)c(l);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){o&&(o=!1,c(u))}})}});var Wd=B(Yd=>{"use strict";var Ns=Yd;Ns.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 ti=new Array(64),Gd=new Array(123);for(Tt=0;Tt<64;)Gd[ti[Tt]=Tt<26?Tt+65:Tt<52?Tt+71:Tt<62?Tt-4:Tt-59|43]=Tt++;var Tt;Ns.encode=function(e,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:o[s++]=ti[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=ti[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=ti[c|u>>6],o[s++]=ti[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=ti[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var Hd="invalid encoding";Ns.decode=function(e,r,n){for(var i=n,o=0,s,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&o>1)break;if((c=Gd[c])===void 0)throw Error(Hd);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(Hd);return n-i};Ns.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Xd=B((VC,Qd)=>{"use strict";Qd.exports=ks;function ks(){this._listeners={}}ks.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ks.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};ks.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 np=B((qC,rp)=>{"use strict";rp.exports=Zd(Zd);function Zd(t){return typeof Float32Array<"u"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function o(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:o,t.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?s:a,t.readFloatBE=n?a:s}():function(){function e(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}t.writeFloatLE=e.bind(null,jd),t.writeFloatBE=e.bind(null,Jd);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,ep),t.readFloatBE=r.bind(null,tp)}(),typeof Float64Array<"u"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function o(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:o,t.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?s:a,t.readDoubleBE=n?a:s}():function(){function e(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var l;if(s<22250738585072014e-324)l=s/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+o);else{var f=Math.floor(Math.log(s)/Math.LN2);f===1024&&(f=1023),l=s*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+o)}}}t.writeDoubleLE=e.bind(null,jd,0,4),t.writeDoubleBE=e.bind(null,Jd,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),l=(u>>31)*2+1,f=u>>>20&2047,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}t.readDoubleLE=r.bind(null,ep,0,4),t.readDoubleBE=r.bind(null,tp,4,0)}(),t}function jd(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 Jd(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 ep(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function tp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ip=B((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 sp=B(op=>{"use strict";var vu=op;vu.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};vu.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=e[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};vu.write=function(e,r,n){for(var i=n,o,s,a=0;a<e.length;++a)o=e.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=e.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var cp=B(($C,ap)=>{"use strict";ap.exports=Wv;function Wv(t,e,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return t(c);s+c>n&&(o=t(n),s=0);var u=e.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var lp=B((HC,up)=>{"use strict";up.exports=ze;var uo=hn();function ze(t,e){this.lo=t>>>0,this.hi=e>>>0}var fn=ze.zero=new ze(0,0);fn.toNumber=function(){return 0};fn.zzEncode=fn.zzDecode=function(){return this};fn.length=function(){return 1};var Qv=ze.zeroHash="\0\0\0\0\0\0\0\0";ze.fromNumber=function(e){if(e===0)return fn;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 ze(n,i)};ze.from=function(e){if(typeof e=="number")return ze.fromNumber(e);if(uo.isString(e))if(uo.Long)e=uo.Long.fromString(e);else return ze.fromNumber(parseInt(e,10));return e.low||e.high?new ze(e.low>>>0,e.high>>>0):fn};ze.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};ze.prototype.toLong=function(e){return uo.Long?new uo.Long(this.lo|0,this.hi|0,!!e):{low:this.lo|0,high:this.hi|0,unsigned:!!e}};var Mr=String.prototype.charCodeAt;ze.fromHash=function(e){return e===Qv?fn:new ze((Mr.call(e,0)|Mr.call(e,1)<<8|Mr.call(e,2)<<16|Mr.call(e,3)<<24)>>>0,(Mr.call(e,4)|Mr.call(e,5)<<8|Mr.call(e,6)<<16|Mr.call(e,7)<<24)>>>0)};ze.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)};ze.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};ze.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};ze.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 hn=B(Eu=>{"use strict";var M=Eu;M.asPromise=$d();M.base64=Wd();M.EventEmitter=Xd();M.float=np();M.inquire=ip();M.utf8=sp();M.pool=cp();M.LongBits=lp();M.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);M.global=M.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Eu;M.emptyArray=Object.freeze?Object.freeze([]):[];M.emptyObject=Object.freeze?Object.freeze({}):{};M.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};M.isString=function(e){return typeof e=="string"||e instanceof String};M.isObject=function(e){return e&&typeof e=="object"};M.isset=M.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};M.Buffer=function(){try{var t=M.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch{return null}}();M._Buffer_from=null;M._Buffer_allocUnsafe=null;M.newBuffer=function(e){return typeof e=="number"?M.Buffer?M._Buffer_allocUnsafe(e):new M.Array(e):M.Buffer?M._Buffer_from(e):typeof Uint8Array>"u"?e:new Uint8Array(e)};M.Array=typeof Uint8Array<"u"?Uint8Array:Array;M.Long=M.global.dcodeIO&&M.global.dcodeIO.Long||M.global.Long||M.inquire("long");M.key2Re=/^true|false|0|1$/;M.key32Re=/^-?(?:0|[1-9][0-9]*)$/;M.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;M.longToHash=function(e){return e?M.LongBits.from(e).toHash():M.LongBits.zeroHash};M.longFromHash=function(e,r){var n=M.LongBits.fromHash(e);return M.Long?M.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function fp(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}M.merge=fp;M.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function hp(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&&fp(this,n)}return e.prototype=Object.create(Error.prototype,{constructor:{value:e,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return t},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),e}M.newError=hp;M.ProtocolError=hp("ProtocolError");M.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};M.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};M.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};M._configure=function(){var t=M.Buffer;if(!t){M._Buffer_from=M._Buffer_allocUnsafe=null;return}M._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},M._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Au=B((YC,gp)=>{"use strict";gp.exports=De;var Xt=hn(),Su,mp=Xt.LongBits,Xv=Xt.utf8;function Bt(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function De(t){this.buf=t,this.pos=0,this.len=t.length}var dp=typeof Uint8Array<"u"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new De(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new De(e);throw Error("illegal buffer")},yp=function(){return Xt.Buffer?function(r){return(De.create=function(i){return Xt.Buffer.isBuffer(i)?new Su(i):dp(i)})(r)}:dp};De.create=yp();De.prototype._slice=Xt.Array.prototype.subarray||Xt.Array.prototype.slice;De.prototype.uint32=function(){var e=4294967295;return function(){if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Bt(this,10);return e}}();De.prototype.int32=function(){return this.uint32()|0};De.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function _u(){var t=new mp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Bt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Bt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}De.prototype.bool=function(){return this.uint32()!==0};function Os(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}De.prototype.fixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)};De.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Bt(this,4);return Os(this.buf,this.pos+=4)|0};function pp(){if(this.pos+8>this.len)throw Bt(this,8);return new mp(Os(this.buf,this.pos+=4),Os(this.buf,this.pos+=4))}De.prototype.float=function(){if(this.pos+4>this.len)throw Bt(this,4);var e=Xt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};De.prototype.double=function(){if(this.pos+8>this.len)throw Bt(this,4);var e=Xt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};De.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Bt(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};De.prototype.string=function(){var e=this.bytes();return Xv.read(e,0,e.length)};De.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Bt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Bt(this);while(this.buf[this.pos++]&128);return this};De.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};De._configure=function(t){Su=t,De.create=yp(),Su._configure();var e=Xt.Long?"toLong":"toNumber";Xt.merge(De.prototype,{int64:function(){return _u.call(this)[e](!1)},uint64:function(){return _u.call(this)[e](!0)},sint64:function(){return _u.call(this).zzDecode()[e](!1)},fixed64:function(){return pp.call(this)[e](!0)},sfixed64:function(){return pp.call(this)[e](!1)}})}});var vp=B((WC,bp)=>{"use strict";bp.exports=dn;var wp=Au();(dn.prototype=Object.create(wp.prototype)).constructor=dn;var xp=hn();function dn(t){wp.call(this,t)}dn._configure=function(){xp.Buffer&&(dn.prototype._slice=xp.Buffer.prototype.slice)};dn.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))};dn._configure()});var Pu=B((QC,Ap)=>{"use strict";Ap.exports=te;var Et=hn(),Iu,Ms=Et.LongBits,Ep=Et.base64,_p=Et.utf8;function lo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function Cu(){}function Zv(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 lo(Cu,0,0),this.tail=this.head,this.states=null}var Sp=function(){return Et.Buffer?function(){return(te.create=function(){return new Iu})()}:function(){return new te}};te.create=Sp();te.alloc=function(e){return new Et.Array(e)};Et.Array!==Array&&(te.alloc=Et.pool(te.alloc,Et.Array.prototype.subarray));te.prototype._push=function(e,r,n){return this.tail=this.tail.next=new lo(e,r,n),this.len+=r,this};function Tu(t,e,r){e[r]=t&255}function jv(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function Bu(t,e){this.len=t,this.next=void 0,this.val=e}Bu.prototype=Object.create(lo.prototype);Bu.prototype.fn=jv;te.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new Bu((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(Lu,10,Ms.fromNumber(e)):this.uint32(e)};te.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Lu(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=Ms.from(e);return this._push(Lu,r.length(),r)};te.prototype.int64=te.prototype.uint64;te.prototype.sint64=function(e){var r=Ms.from(e).zzEncode();return this._push(Lu,r.length(),r)};te.prototype.bool=function(e){return this._push(Tu,1,e?1:0)};function Ru(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(Ru,4,e>>>0)};te.prototype.sfixed32=te.prototype.fixed32;te.prototype.fixed64=function(e){var r=Ms.from(e);return this._push(Ru,4,r.lo)._push(Ru,4,r.hi)};te.prototype.sfixed64=te.prototype.fixed64;te.prototype.float=function(e){return this._push(Et.float.writeFloatLE,4,e)};te.prototype.double=function(e){return this._push(Et.float.writeDoubleLE,8,e)};var Jv=Et.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(Tu,1,0);if(Et.isString(e)){var n=te.alloc(r=Ep.length(e));Ep.decode(e,n,0),e=n}return this.uint32(r)._push(Jv,r,e)};te.prototype.string=function(e){var r=_p.length(e);return r?this.uint32(r)._push(_p.write,r,e):this._push(Tu,1,0)};te.prototype.fork=function(){return this.states=new Zv(this),this.head=this.tail=new lo(Cu,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 lo(Cu,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){Iu=t,te.create=Sp(),Iu._configure()}});var Cp=B((XC,Rp)=>{"use strict";Rp.exports=Zt;var Ip=Pu();(Zt.prototype=Object.create(Ip.prototype)).constructor=Zt;var Ur=hn();function Zt(){Ip.call(this)}Zt._configure=function(){Zt.alloc=Ur._Buffer_allocUnsafe,Zt.writeBytesBuffer=Ur.Buffer&&Ur.Buffer.prototype instanceof Uint8Array&&Ur.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++]}};Zt.prototype.bytes=function(e){Ur.isString(e)&&(e=Ur._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Zt.writeBytesBuffer,r,e),this};function eE(t,e,r){t.length<40?Ur.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Zt.prototype.string=function(e){var r=Ur.Buffer.byteLength(e);return this.uint32(r),r&&this._push(eE,r,e),this};Zt._configure()});var qp=B((X8,Vp)=>{var me=ae();tn();Le();var ho=Vp.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=ho;var Fp=me.sha384=me.sha512.sha384=me.sha512.sha384||{};Fp.create=function(){return ho.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=Fp;me.sha512.sha256=me.sha512.sha256||{create:function(){return ho.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return ho.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;ho.create=function(t){if(Kp||uE(),typeof t>"u"&&(t="SHA-512"),!(t in mn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=mn[t],r=null,n=me.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=me.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=me.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),Up(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Ku.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);Up(m,i,c);var y=me.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var Ku=null,Kp=!1,Vu=null,mn=null;function uE(){Ku=String.fromCharCode(128),Ku+=me.util.fillString(String.fromCharCode(0),128),Vu=[[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]],mn={},mn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],mn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],mn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],mn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Kp=!0}function Up(t,e,r){for(var n,i,o,s,a,c,u,l,f,d,p,h,m,y,g,x,E,T,I,C,O,U,se,At,ut,Je,Mn,ns,ke,nt,K,sc,ac,cc,uc,bh=r.length();bh>=128;){for(ke=0;ke<16;++ke)e[ke][0]=r.getInt32()>>>0,e[ke][1]=r.getInt32()>>>0;for(;ke<80;++ke)sc=e[ke-2],nt=sc[0],K=sc[1],n=((nt>>>19|K<<13)^(K>>>29|nt<<3)^nt>>>6)>>>0,i=((nt<<13|K>>>19)^(K<<3|nt>>>29)^(nt<<26|K>>>6))>>>0,cc=e[ke-15],nt=cc[0],K=cc[1],o=((nt>>>1|K<<31)^(nt>>>8|K<<24)^nt>>>7)>>>0,s=((nt<<31|K>>>1)^(nt<<24|K>>>8)^(nt<<25|K>>>7))>>>0,ac=e[ke-7],uc=e[ke-16],K=i+ac[1]+s+uc[1],e[ke][0]=n+ac[0]+o+uc[0]+(K/4294967296>>>0)>>>0,e[ke][1]=K>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],E=t[2][0],T=t[2][1],I=t[3][0],C=t[3][1],O=t[4][0],U=t[4][1],se=t[5][0],At=t[5][1],ut=t[6][0],Je=t[6][1],Mn=t[7][0],ns=t[7][1],ke=0;ke<80;++ke)u=((O>>>14|U<<18)^(O>>>18|U<<14)^(U>>>9|O<<23))>>>0,l=((O<<18|U>>>14)^(O<<14|U>>>18)^(U<<23|O>>>9))>>>0,f=(ut^O&(se^ut))>>>0,d=(Je^U&(At^Je))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,p=(m&g|E&(m^g))>>>0,h=(y&x|T&(y^x))>>>0,K=ns+l+d+Vu[ke][1]+e[ke][1],n=Mn+u+f+Vu[ke][0]+e[ke][0]+(K/4294967296>>>0)>>>0,i=K>>>0,K=c+h,o=a+p+(K/4294967296>>>0)>>>0,s=K>>>0,Mn=ut,ns=Je,ut=se,Je=At,se=O,At=U,K=C+i,O=I+n+(K/4294967296>>>0)>>>0,U=K>>>0,I=E,C=T,E=g,T=x,g=m,x=y,K=i+s,m=n+o+(K/4294967296>>>0)>>>0,y=K>>>0;K=t[0][1]+y,t[0][0]=t[0][0]+m+(K/4294967296>>>0)>>>0,t[0][1]=K>>>0,K=t[1][1]+x,t[1][0]=t[1][0]+g+(K/4294967296>>>0)>>>0,t[1][1]=K>>>0,K=t[2][1]+T,t[2][0]=t[2][0]+E+(K/4294967296>>>0)>>>0,t[2][1]=K>>>0,K=t[3][1]+C,t[3][0]=t[3][0]+I+(K/4294967296>>>0)>>>0,t[3][1]=K>>>0,K=t[4][1]+U,t[4][0]=t[4][0]+O+(K/4294967296>>>0)>>>0,t[4][1]=K>>>0,K=t[5][1]+At,t[5][0]=t[5][0]+se+(K/4294967296>>>0)>>>0,t[5][1]=K>>>0,K=t[6][1]+Je,t[6][0]=t[6][0]+ut+(K/4294967296>>>0)>>>0,t[6][1]=K>>>0,K=t[7][1]+ns,t[7][0]=t[7][0]+Mn+(K/4294967296>>>0)>>>0,t[7][1]=K>>>0,bh-=128}}});var sl=B((t3,Sm)=>{var hi=1e3,di=hi*60,pi=di*60,wn=pi*24,zE=wn*7,$E=wn*365.25;Sm.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return HE(t);if(r==="number"&&isFinite(t))return e.long?YE(t):GE(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function HE(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*$E;case"weeks":case"week":case"w":return r*zE;case"days":case"day":case"d":return r*wn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*pi;case"minutes":case"minute":case"mins":case"min":case"m":return r*di;case"seconds":case"second":case"secs":case"sec":case"s":return r*hi;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function GE(t){var e=Math.abs(t);return e>=wn?Math.round(t/wn)+"d":e>=pi?Math.round(t/pi)+"h":e>=di?Math.round(t/di)+"m":e>=hi?Math.round(t/hi)+"s":t+"ms"}function YE(t){var e=Math.abs(t);return e>=wn?Qs(t,e,wn,"day"):e>=pi?Qs(t,e,pi,"hour"):e>=di?Qs(t,e,di,"minute"):e>=hi?Qs(t,e,hi,"second"):t+" ms"}function Qs(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var Im=B((r3,Am)=>{function WE(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=sl(),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 d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),E=x-(f||x);g.diff=E,g.prev=f,g.curr=x,f=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let T=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(C,O)=>{if(C==="%%")return"%";T++;let U=r.formatters[O];if(typeof U=="function"){let se=y[T];C=U.call(g,se),y.splice(T,1),T--}return C}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:y=>{d=y}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)d[f]&&(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.slice(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function o(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;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}Am.exports=WE});var al=B((ht,Xs)=>{ht.formatArgs=XE;ht.save=ZE;ht.load=jE;ht.useColors=QE;ht.storage=JE();ht.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`."))}})();ht.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 QE(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function XE(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Xs.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)}ht.log=console.debug||console.log||(()=>{});function ZE(t){try{t?ht.storage.setItem("debug",t):ht.storage.removeItem("debug")}catch{}}function jE(){let t;try{t=ht.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function JE(){try{return localStorage}catch{}}Xs.exports=Im()(ht);var{formatters:e_}=Xs.exports;e_.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Om=B((H3,km)=>{"use strict";km.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var qm=B((Km,Vm)=>{"use strict";var ea=Om(),{hasOwnProperty:Um}=Object.prototype,{propertyIsEnumerable:k_}=Object,gi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),O_=Km,Mm={concatArrays:!1,ignoreUndefined:!1},ta=t=>{let e=[];for(let r in t)Um.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)k_.call(t,n)&&e.push(n)}return e};function xi(t){return Array.isArray(t)?M_(t):ea(t)?U_(t):t}function M_(t){let e=t.slice(0,0);return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}function U_(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return ta(t).forEach(r=>{gi(e,r,xi(t[r]))}),e}var Fm=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?gi(t,i,vl(t[i],e[i],n)):gi(t,i,xi(e[i])))}),t),F_=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(o=>{let s=[];for(let a=0;a<o.length;a++)Um.call(o,a)&&(s.push(String(a)),o===t?gi(n,i++,o[a]):gi(n,i++,xi(o[a])));n=Fm(n,o,ta(o).filter(a=>!s.includes(a)),r)}),n};function vl(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?F_(t,e,r):!ea(e)||!ea(t)?xi(e):Fm(t,e,ta(e),r)}Vm.exports=function(...t){let e=vl(xi(Mm),this!==O_&&this||{},Mm),r={_:{}};for(let n of t)if(n!==void 0){if(!ea(n))throw new TypeError("`"+n+"` is not an Option Object");r=vl(r,{_:n},e)}return r._}});var Hm=B((Y3,$m)=>{"use strict";function K_(t){return t>=55296&&t<=56319}function V_(t){return t>=56320&&t<=57343}$m.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,o=0,s,a,c=0;c<i;c+=1){if(s=r.charCodeAt(c),a=r[c],K_(s)&&V_(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),o+=e(a),o===n)return r.slice(0,c+1);if(o>n)return r.slice(0,c-a.length+1)}return r}});var Ym=B((W3,Gm)=>{"use strict";function q_(t){return t>=55296&&t<=56319}function z_(t){return t>=56320&&t<=57343}Gm.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,o=null,s=0;s<r;s++)i=e.charCodeAt(s),z_(i)?o!=null&&q_(o)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),o=i;return n}});var Qm=B((Q3,Wm)=>{"use strict";var $_=Hm(),H_=Ym();Wm.exports=$_.bind(null,H_)});var jm=B((X3,Zm)=>{"use strict";var G_=Qm(),Y_=/[\/\?<>\\:\*\|"]/g,W_=/[\x00-\x1f\x80-\x9f]/g,Q_=/^\.+$/,X_=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,Z_=/[\. ]+$/;function Xm(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(Y_,e).replace(W_,e).replace(Q_,e).replace(X_,e).replace(Z_,e);return G_(r,255)}Zm.exports=function(t,e){var r=e&&e.replacement||"",n=Xm(t,r);return r===""?n:Xm(n,"")}});var _y=B((x6,Ey)=>{Ey.exports=Pl;var vy=128,GS=127,YS=~GS,WS=Math.pow(2,31);function Pl(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Pl.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=WS;)e[r++]=t&255|vy,t/=128;for(;t&YS;)e[r++]=t&255|vy,t>>>=7;return e[r]=t|0,Pl.bytes=r-n+1,e}});var Iy=B((w6,Ay)=>{Ay.exports=Dl;var QS=128,Sy=127;function Dl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a||i>49)throw Dl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Sy)<<i:(s&Sy)*Math.pow(2,i),i+=7}while(s>=QS);return Dl.bytes=o-n,r}});var Cy=B((b6,Ry)=>{var XS=Math.pow(2,7),ZS=Math.pow(2,14),jS=Math.pow(2,21),JS=Math.pow(2,28),eA=Math.pow(2,35),tA=Math.pow(2,42),rA=Math.pow(2,49),nA=Math.pow(2,56),iA=Math.pow(2,63);Ry.exports=function(t){return t<XS?1:t<ZS?2:t<jS?3:t<JS?4:t<eA?5:t<tA?6:t<rA?7:t<nA?8:t<iA?9:10}});var ca=B((v6,Ty)=>{Ty.exports={encode:_y(),decode:Iy(),encodingLength:Cy()}});var rg=B((yP,sf)=>{"use strict";var rI=Object.prototype.hasOwnProperty,rt="~";function Oo(){}Object.create&&(Oo.prototype=Object.create(null),new Oo().__proto__||(rt=!1));function nI(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function tg(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new nI(r,n||t,i),s=rt?rt+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function pa(t,e){--t._eventsCount===0?t._events=new Oo:delete t._events[e]}function Ze(){this._events=new Oo,this._eventsCount=0}Ze.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)rI.call(r,n)&&e.push(rt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Ze.prototype.listeners=function(e){var r=rt?rt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Ze.prototype.listenerCount=function(e){var r=rt?rt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Ze.prototype.emit=function(e,r,n,i,o,s){var a=rt?rt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;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};Ze.prototype.on=function(e,r,n){return tg(this,e,r,n,!1)};Ze.prototype.once=function(e,r,n){return tg(this,e,r,n,!0)};Ze.prototype.removeListener=function(e,r,n,i){var o=rt?rt+e:e;if(!this._events[o])return this;if(!r)return pa(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&pa(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:pa(this,o)}return this};Ze.prototype.removeAllListeners=function(e){var r;return e?(r=rt?rt+e:e,this._events[r]&&pa(this,r)):(this._events=new Oo,this._eventsCount=0),this};Ze.prototype.off=Ze.prototype.removeListener;Ze.prototype.addListener=Ze.prototype.on;Ze.prefixed=rt;Ze.EventEmitter=Ze;typeof sf<"u"&&(sf.exports=Ze)});var Cf=B((L5,Eg)=>{"use strict";function vg(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function gI(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 vg(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),vg(new i,r)}}Eg.exports=gI});var Cg=B($o=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&65280)>>>8,d=c&255,[u,l,f,d].join(".")},s=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=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)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-o)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=s(l)}catch(m){throw f=m,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(m){throw f=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var l,f,d;for(d=s(this.first),f=s(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),$o.ip2long=s,$o.long2ip=a,$o.Netmask=t}).call($o)});var Pg=B((Lg,ka)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let m=0,y=-1,g=(p.match(a.zoneIndex)||[])[0],x,E;for(g&&(g=g.substring(1),p=p.replace(/%.+$/,""));(y=p.indexOf(":",y+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(E=h-m,x=":";E--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let T=p.split(":"),I=[];for(let C=0;C<T.length;C++)I.push(parseInt(T[C],16));return I}(),{parts:h,zoneId:g}}function u(p,h,m,y){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),p[g]>>x!==h[g]>>x)return!1;y-=m,g+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,18,0,0]),15],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,E;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(E=y[x],m&&E!==0)return null;E!==8&&(m=!0),h+=E}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let y=[this.parse(h[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,y;if(h=p.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let E=0;E<g.length;E++)m=g[E],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(y=l(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=p.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=l(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=p.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=l(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(l(g[0])),x.push(l(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let E=7;E>=0;E-=1)if(g=this.parts[E],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(f(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],y=h[1];return new d.IPv4([m>>8,m&255,y>>8,y&255])},p.prototype.toNormalizedString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,y,g,x;try{for(h=this.parseCIDR(p),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(E){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${E})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,m,y;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,y,g,x,E;if(y=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(p))return c(p,8);if((y=p.match(a.transitional))&&(E=y[6]||"",h=c(y[1].slice(0,-1)+E,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(p/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,m){let y,g,x,E;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(E=x[y],p.kind()===E[0].kind()&&p.match.apply(p,E))return g}return m},typeof ka<"u"&&ka.exports?ka.exports=d:t.ipaddr=d})(Lg)});var Kg=B((sD,Fg)=>{"use strict";Fg.exports=Ug;var LI=sl(),Zr=Ug.prototype,PI=new Date%1e9;function DI(){return(Math.random()*1e9>>>0)+PI++}function Ug(t){t=t||{},this.id=t.id||DI(),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)}Zr.has=function(t){return t in this._lookup};Zr.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};Zr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Zr.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};Zr.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};Zr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=LI(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};Zr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Zr.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 Ho=B((RD,Wg)=>{Wg.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var Xg=B((TD,Qg)=>{Qg.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var jg=B((BD,Zg)=>{var MI=Xg();Zg.exports=MI});var gt=B((PD,Jg)=>{Jg.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var ki=B((ND,t1)=>{var Mf=Ho(),UI=jg(),e1=gt();t1.exports=class extends Mf{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed||e.inmemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration||e.inmemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new UI}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,o,s={}){let a=this._getRateLimiterRes(n,i,o);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,s)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,o,s=!1,a={}){this.insuranceLimiter instanceof Mf?this.insuranceLimiter[r](o,s,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}get _inmemoryBlockedKeys(){return this._inMemoryBlockedKeys}getInmemoryBlockMsBeforeExpire(e){return this.getInMemoryBlockMsBeforeExpire(e)}get inmemoryBlockOnConsumed(){return this.inMemoryBlockOnConsumed}set inmemoryBlockOnConsumed(e){this.inMemoryBlockOnConsumed=e}get inmemoryBlockDuration(){return this.inMemoryBlockDuration}set inmemoryBlockDuration(e){this.inMemoryBlockDuration=e}get msInmemoryBlockDuration(){return this.inMemoryBlockDuration*1e3}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof Mf))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let o=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,o,i)}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(s);if(a>0)return o(new e1(0,a));this._upsert(s,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,o,s,r,c)}).catch(c=>{this._handleError(c,"consume",i,o,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",o,s,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((o,s)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{o(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",o,s,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._get(n,r).then(s=>{i(s===null||typeof s>"u"?null:this._getRateLimiterRes(n,0,s))}).catch(s=>{this._handleError(s,"get",i,o,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,o)=>{this._delete(n,r).then(s=>{this._inMemoryBlockedKeys.delete(n),i(s)}).catch(s=>{this._handleError(s,"delete",i,o,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((o,s)=>{this._upsert(e,r,n,!0,i).then(()=>{o(new e1(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",o,s,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,o={}){throw new Error("You have to implement the method '_upsert'!")}}});var i1=B((kD,n1)=>{var FI=ki(),KI=gt(),r1="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",Uf=class extends FI{constructor(e){super(e),e.redis?this.client=e.redis:this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:r1})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,o]=n;Array.isArray(i)&&([,i]=i,[,o]=o);let s=new KI;return s.consumedPoints=parseInt(i),s.isFirstInDuration=s.consumedPoints===r,s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.msBeforeNext=o,s}_upsert(e,r,n,i=!1){return new Promise((o,s)=>{if(!this._isRedisReady())return s(new Error("Redis connection is not ready"));let a=Math.floor(n/1e3),c=this.client.multi();if(i)a>0?c.set(e,r,"EX",a):c.set(e,r),c.pttl(e).exec((u,l)=>u?s(u):o(l));else if(a>0){let u=function(l,f){return l?s(l):o(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,a,u):this.client.eval(r1,1,e,r,a,u)}else c.incrby(e,r).pttl(e).exec((u,l)=>u?s(u):o(l))})}_get(e){return new Promise((r,n)=>{if(!this._isRedisReady())return n(new Error("Redis connection is not ready"));this.client.multi().get(e).pttl(e).exec((i,o)=>{if(i)n(i);else{let[s]=o;if(s===null)return r(null);r(o)}})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):r(o>0)})})}};n1.exports=Uf});var a1=B((OD,s1)=>{var VI=ki(),qI=gt();function o1(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var Go=class extends VI{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=o1(this.client)}):(this._initCollection(),this._driverVersion=o1(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?Go.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new qI,o;return typeof n.value>"u"?o=n:o=n.value,i.isFirstInDuration=o.points===r,i.consumedPoints=o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire!==null?Math.max(new Date(o.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,o={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let s=o.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,s),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,s)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,s),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,s));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},s),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},s)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(y=>l(y)).catch(y=>f(y)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(o=>o.deletedCount>0)}};s1.exports=Go});var u1=B((MD,c1)=>{var zI=ki(),$I=gt(),Ff=class extends zI{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),o=>{if(o)return this._releaseConnection(n),r(o);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new $I,[o]=n;return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,o){return new Promise((s,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;o?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
16
16
  ON DUPLICATE KEY UPDATE
17
17
  points = ?,
18
- expire = ?;`,h=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
18
+ expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
19
19
  ON DUPLICATE KEY UPDATE
20
20
  points = IF(expire <= ?, ?, points + (?)),
21
- expire = IF(expire <= ?, ?, expire);`,h=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,h,d=>{if(d)return e.rollback(),a(d);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(p,m)=>{if(p)return e.rollback(),a(p);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};ry.exports=xl});var sy=R((rB,iy)=>{var Ib=di(),Rb=dt(),wl=class extends Ib{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
21
+ expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",y=>{if(y)return e.rollback(),a(y);s(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((o,s)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{o(c),this._releaseConnection(a)}).catch(c=>{s(c),this._releaseConnection(a)})}).catch(a=>{s(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(o,s)=>{o?n(o):s.length===0?r(null):r(s),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(o,s)=>{o?n(o):r(s.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};c1.exports=Ff});var f1=B((UD,l1)=>{var HI=ki(),GI=gt(),Kf=class extends HI{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?typeof r=="function"&&r():this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this.tableName} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this.tableName} (
22
22
  key varchar(255) PRIMARY KEY,
23
23
  points integer NOT NULL DEFAULT 0,
24
24
  expire bigint
25
- );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new Rb,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
25
+ );`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new GI,o=n.rows[0];return i.isFirstInDuration=r===o.points,i.consumedPoints=i.isFirstInDuration?r:o.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=o.expire?Math.max(o.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,o)=>{this._getConnection().then(s=>{s.query(n).then(a=>{i(a),this._releaseConnection(s)}).catch(a=>{o(a),this._releaseConnection(s)})}).catch(s=>{o(s)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let o=n>0?Date.now()+n:null,s=i?" $3 ":` CASE
26
26
  WHEN ${this.tableName}.expire <= $4 THEN $3
27
27
  ELSE ${this.tableName}.expire
28
28
  END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
@@ -32,21 +32,21 @@
32
32
  WHEN (${this.tableName}.expire <= $4 OR 1=${i?1:0}) THEN $2
33
33
  ELSE ${this.tableName}.points + ($2)
34
34
  END,
35
- expire = ${o}
36
- RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
- SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};iy.exports=wl});var oy=R(()=>{});var cy=R((oB,ay)=>{ay.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var ly=R((cB,uy)=>{var Cb=cy(),vl=dt();uy.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new vl(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new Cb(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new vl(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new vl(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var bl=R((uB,hy)=>{var Tb=ps(),Bb=ly(),fy=dt(),El=class extends Tb{constructor(e={}){super(e),this._memoryStorage=new Bb}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new fy(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new fy(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};hy.exports=El});var wy=R((lB,xy)=>{var dy=oy(),Lb=Hr(),Pb=ps(),my=bl(),Db=dt(),wt="rate_limiter_flexible",yi=null,py=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:wt,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},yy=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&yy.call(this,t)},30)},pi=function(t,e,r,n,i){let s={channel:wt,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):yy.call(this,s)},gy=function(t,e){if(!e||e.channel!==wt||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{py(t,e,"resolve",n)}).catch(n=>{py(t,e,"reject",n)})},Nb=function(t){if(!t||t.channel!==wt||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new Db(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},kb=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=Lb.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},_l=class{constructor(){if(yi)return yi;this._rateLimiters={},dy.setMaxListeners(0),dy.on("message",(e,r)=>{r&&r.channel===wt&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new my(r.opts)),e.send({channel:wt,type:"init",keyPrefix:r.opts.keyPrefix})):gy.call(this,e,r)}),yi=this}},Sl=class{constructor(e){if(yi)return yi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===wt&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new my(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:wt,channel:wt,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=wt,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};gy.call(this,o,s)}})}),yi=this}},Al=class extends Pb{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===wt&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:Nb.call(this,r)}),process.send({channel:wt,type:"init",opts:kb.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=mi.call(this,i,s);pi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=mi.call(this,i,s);pi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=mi.call(this,i,s);pi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=mi.call(this,i,s);pi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=mi.call(this,n,i);pi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=mi.call(this,n,i);pi.call(this,"delete",s,e,r)})}};xy.exports={RateLimiterClusterMaster:_l,RateLimiterClusterMasterPM2:Sl,RateLimiterCluster:Al}});var Ey=R((fB,vy)=>{var Ob=di(),Mb=dt(),Il=class extends Ob{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new Mb;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(h,d)=>{if(h||!d)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let p=Object.assign({},s);p.attemptNumber=p.attemptNumber?p.attemptNumber+1:1,this._upsert(e,r,n,i,p).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let p={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(p)})}):this.client.get(`${e}_expire`,(h,d)=>{if(h)a(h);else{let p=d===!1?0:d,m={consumedPoints:f,msBeforeNext:p>=0?Math.max(p-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};vy.exports=Il});var Sy=R((dB,_y)=>{var by=dt();_y.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new by(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new by(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Iy=R((mB,Ay)=>{var Fb=ps();Ay.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof Fb))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var Cy=R((gB,Ry)=>{Ry.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Py=R((wB,Ly)=>{var Ty=Cy(),By=4294967295,Rl="limiter";Ly.exports=class{constructor(e,r={maxQueueSize:By}){this._queueLimiters={KEY_DEFAULT:new sa(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Rl){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Rl){return this._queueLimiters[r]||(this._queueLimiters[r]=new sa(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var sa=class{constructor(e,r={maxQueueSize:By,key:Rl}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new Ty(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new Ty(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Ny=R((EB,Dy)=>{var Cl=dt();Dy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Cl(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Cl?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Cl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var Oy=R((bB,ky)=>{var Ub=jm(),Kb=ty(),Vb=ny(),qb=sy(),{RateLimiterClusterMaster:$b,RateLimiterClusterMasterPM2:zb,RateLimiterCluster:Hb}=wy(),Gb=bl(),Yb=Ey(),Wb=Sy(),Qb=Iy(),Xb=Py(),Zb=Ny(),jb=dt();ky.exports={RateLimiterRedis:Ub,RateLimiterMongo:Kb,RateLimiterMySQL:Vb,RateLimiterPostgres:qb,RateLimiterMemory:Gb,RateLimiterMemcache:Yb,RateLimiterClusterMaster:$b,RateLimiterClusterMasterPM2:zb,RateLimiterCluster:Hb,RLWrapperBlackAndWhite:Wb,RateLimiterUnion:Qb,RateLimiterQueue:Xb,BurstyRateLimiter:Zb,RateLimiterRes:jb}});var P_={};Ke(P_,{createLibp2p:()=>L_});var tg=V(_i(),1);var eR=V(Ri(),1),tR=V(S0(),1);var Ws=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Ws.code,this.type=Ws.type}},wr=Ws;Et(wr,"code","ABORT_ERR"),Et(wr,"type","aborted");var E=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var go=V(se(),1);function Qr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var sc={};Ke(sc,{identity:()=>Hx});function Kx(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(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var m=0,y=0,g=0,w=p.length;g!==w&&p[g]===0;)g++,m++;for(var _=(w-g)*l+1>>>0,N=new Uint8Array(_);g!==w;){for(var C=p[g],T=0,H=_-1;(C!==0||T<y)&&H!==-1;H--,T++)C+=256*N[H]>>>0,N[H]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");y=T,g++}for(var W=_-y;W!==_&&N[W]===0;)W++;for(var De=c.repeat(m);W<_;++W)De+=t.charAt(N[W]);return De}function h(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var m=0;if(p[m]!==" "){for(var y=0,g=0;p[m]===c;)y++,m++;for(var w=(p.length-m)*u+1>>>0,_=new Uint8Array(w);p[m];){var N=r[p.charCodeAt(m)];if(N===255)return;for(var C=0,T=w-1;(N!==0||C<g)&&T!==-1;T--,C++)N+=a*_[T]>>>0,_[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");g=C,m++}if(p[m]!==" "){for(var H=w-g;H!==w&&_[H]===0;)H++;for(var W=new Uint8Array(y+(w-H)),De=y;H!==w;)W[De++]=_[H++];return W}}}function d(p){var m=h(p);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:h,decode:d}}var Vx=Kx,qx=Vx,A0=qx;var lS=new Uint8Array(0);var I0=(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},nr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var R0=t=>new TextEncoder().encode(t),C0=t=>new TextDecoder().decode(t);var tc=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")}},rc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return B0(this,e)}},nc=class{constructor(e){this.decoders=e}or(e){return B0(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`)}},B0=(t,e)=>new nc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ic=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new tc(e,r,n),this.decoder=new rc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Pn=({name:t,prefix:e,encode:r,decode:n})=>new ic(t,e,r,n),vr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=A0(r,e);return Pn({prefix:t,name:e,encode:n,decode:s=>nr(i(s))})},$x=(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},zx=(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},be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Pn({prefix:e,name:t,encode(i){return zx(i,n,r)},decode(i){return $x(i,n,r,t)}});var Hx=Pn({prefix:"\0",name:"identity",encode:t=>C0(t),decode:t=>R0(t)});var oc={};Ke(oc,{base2:()=>Gx});var Gx=be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ac={};Ke(ac,{base8:()=>Yx});var Yx=be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var cc={};Ke(cc,{base10:()=>Wx});var Wx=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var uc={};Ke(uc,{base16:()=>Qx,base16upper:()=>Xx});var Qx=be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xx=be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var lc={};Ke(lc,{base32:()=>st,base32hex:()=>ew,base32hexpad:()=>rw,base32hexpadupper:()=>nw,base32hexupper:()=>tw,base32pad:()=>jx,base32padupper:()=>Jx,base32upper:()=>Zx,base32z:()=>iw});var st=be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Zx=be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),jx=be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jx=be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ew=be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tw=be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rw=be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nw=be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iw=be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var fc={};Ke(fc,{base36:()=>sw,base36upper:()=>ow});var sw=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ow=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var hc={};Ke(hc,{base58btc:()=>Re,base58flickr:()=>aw});var Re=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),aw=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var dc={};Ke(dc,{base64:()=>Xr,base64pad:()=>cw,base64url:()=>uw,base64urlpad:()=>lw});var Xr=be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),cw=be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),uw=be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),lw=be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var pc={};Ke(pc,{base256emoji:()=>mw});var L0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),fw=L0.reduce((t,e,r)=>(t[r]=e,t),[]),hw=L0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function dw(t){return t.reduce((e,r)=>(e+=fw[r],e),"")}function pw(t){let e=[];for(let r of t){let n=hw[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var mw=Pn({prefix:"\u{1F680}",name:"base256emoji",encode:dw,decode:pw});var xc={};Ke(xc,{sha256:()=>Ve,sha512:()=>Nw});var yw=N0,P0=128,gw=127,xw=~gw,ww=Math.pow(2,31);function N0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=ww;)e[r++]=t&255|P0,t/=128;for(;t&xw;)e[r++]=t&255|P0,t>>>=7;return e[r]=t|0,N0.bytes=r-n+1,e}var vw=mc,Ew=128,D0=127;function mc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw mc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&D0)<<i:(o&D0)*Math.pow(2,i),i+=7}while(o>=Ew);return mc.bytes=s-n,r}var bw=Math.pow(2,7),_w=Math.pow(2,14),Sw=Math.pow(2,21),Aw=Math.pow(2,28),Iw=Math.pow(2,35),Rw=Math.pow(2,42),Cw=Math.pow(2,49),Tw=Math.pow(2,56),Bw=Math.pow(2,63),Lw=function(t){return t<bw?1:t<_w?2:t<Sw?3:t<Aw?4:t<Iw?5:t<Rw?6:t<Cw?7:t<Tw?8:t<Bw?9:10},Pw={encode:yw,decode:vw,encodingLength:Lw},Dw=Pw,Bi=Dw;var Li=(t,e=0)=>[Bi.decode(t,e),Bi.decode.bytes],Dn=(t,e,r=0)=>(Bi.encode(t,e,r),e),Nn=t=>Bi.encodingLength(t);var $t=(t,e)=>{let r=e.byteLength,n=Nn(t),i=n+Nn(r),s=new Uint8Array(i+r);return Dn(t,s,0),Dn(r,s,n),s.set(e,i),new kn(t,r,e,s)},Zr=t=>{let e=nr(t),[r,n]=Li(e),[i,s]=Li(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new kn(r,i,o,e)},k0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&I0(t.bytes,r.bytes)}},kn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var gc=({name:t,code:e,encode:r})=>new yc(t,e,r),yc=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?$t(this.code,r):r.then(n=>$t(this.code,n))}else throw Error("Unknown type, must be binary type")}};var M0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ve=gc({name:"sha2-256",code:18,encode:M0("SHA-256")}),Nw=gc({name:"sha2-512",code:19,encode:M0("SHA-512")});var wc={};Ke(wc,{identity:()=>Er});var F0=0,kw="identity",U0=nr,Ow=t=>$t(F0,U0(t)),Er={code:F0,name:kw,encode:U0,digest:Ow};var LS=new TextEncoder,PS=new TextDecoder;var K0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Kw(r,vc(t),e||Re.encoder);default:return Vw(r,vc(t),e||st.encoder)}};var V0=new WeakMap,vc=t=>{let e=V0.get(t);if(e==null){let r=new Map;return V0.set(t,r),r}return e},ue=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Pi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==qw)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ue.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=$t(e,r);return ue.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return ue.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&k0(e.multihash,n.multihash)}toString(e){return K0(this,e)}toJSON(){return{"/":K0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof ue)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ue(n,i,s,o||q0(n,i,s.bytes))}else if(r[$w]===!0){let{version:n,multihash:i,code:s}=r,o=Zr(i);return ue.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Pi)throw new Error(`Version 0 CID must use dag-pb (code: ${Pi}) block encoding`);return new ue(e,r,n,n.bytes)}case 1:{let i=q0(e,r,n.bytes);return new ue(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return ue.create(0,Pi,e)}static createV1(e,r){return ue.create(1,e,r)}static decode(e){let[r,n]=ue.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=ue.inspectBytes(e),n=r.size-r.multihashSize,i=nr(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 kn(r.multihashCode,r.digestSize,s,i);return[r.version===0?ue.createV0(o):ue.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,h]=Li(e.subarray(r));return r+=h,f},i=n(),s=Pi;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=Uw(e,r),s=ue.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vc(s).set(n,e),s}},Uw=(t,e)=>{switch(t[0]){case"Q":{let r=e||Re;return[Re.prefix,r.decode(`${Re.prefix}${t}`)]}case Re.prefix:{let r=e||Re;return[Re.prefix,r.decode(t)]}case st.prefix:{let r=e||st;return[st.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)]}}},Kw=(t,e,r)=>{let{prefix:n}=r;if(n!==Re.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},Vw=(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},Pi=112,qw=18,q0=(t,e,r)=>{let n=Nn(t),i=n+Nn(e),s=new Uint8Array(i+r.byteLength);return Dn(t,s,0),Dn(e,s,n),s.set(r,i),s},$w=Symbol.for("@ipld/js-cid/CID");var br={...sc,...oc,...ac,...cc,...uc,...lc,...fc,...hc,...dc,...pc},qS={...xc,...wc};function ir(t=0){return globalThis.Buffer?.alloc!=null?Qr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function St(t=0){return globalThis.Buffer?.allocUnsafe!=null?Qr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function z0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var $0=z0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Ec=z0("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=St(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),zw={utf8:$0,"utf-8":$0,hex:br.base16,latin1:Ec,ascii:Ec,binary:Ec,...br},Xs=zw;function U(t,e="utf8"){let r=Xs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Qr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Qc={};Ke(Qc,{Ed25519PrivateKey:()=>nn,Ed25519PublicKey:()=>Ui,generateKeyPair:()=>b2,generateKeyPairFromSeed:()=>Xh,unmarshalEd25519PrivateKey:()=>v2,unmarshalEd25519PublicKey:()=>E2});function ve(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 Hw=V(Hr(),1);var Fe=BigInt(0),X=BigInt(1),Ar=BigInt(2),Gw=BigInt(8),H0=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),de=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:H0,n:H0,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var X0=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Di=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),JS=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Yw=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ww=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Qw=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Xw=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Y=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof ge))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(ge.ZERO)?Y.ZERO:new Y(e.x,e.y,X,A(e.x*e.y))}static toAffineBatch(e){let r=Jw(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Y0(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=A(r*a),u=A(s*i),l=A(n*a),f=A(o*i);return c===u&&l===f}negate(){return new Y(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=de,s=A(e*e),o=A(r*r),a=A(Ar*A(n*n)),c=A(i*s),u=e+r,l=A(A(u*u)-s-o),f=c+o,h=f-a,d=c-o,p=A(l*h),m=A(f*d),y=A(l*d),g=A(h*f);return new Y(p,m,g,y)}add(e){Y0(e);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:c,t:u}=e,l=A((n-r)*(a+o)),f=A((n+r)*(a-o)),h=A(f-l);if(h===Fe)return this.double();let d=A(i*Ar*u),p=A(s*Ar*c),m=p+d,y=f+l,g=p-d,w=A(m*h),_=A(y*g),N=A(m*g),C=A(h*y);return new Y(w,_,C,N)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Y.BASE)&&(r=ge.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&&Ic.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Y.normalizeZ(i),Ic.set(r,i)));let s=Y.ZERO,o=Y.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=X);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add(G0(g,i[m])):s=s.add(G0(w,i[y]))}return Y.normalizeZ([s,o])[0]}multiply(e,r){return this.wNAF(js(e,de.l),r)}multiplyUnsafe(e){let r=js(e,de.l,!1),n=Y.BASE,i=Y.ZERO;if(r===Fe)return i;if(this.equals(i)||r===X)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Fe;)r&X&&(s=s.add(o)),o=o.double(),r>>=X;return s}isSmallOrder(){return this.multiplyUnsafe(de.h).equals(Y.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(de.l/Ar).double();return de.l%Ar&&(e=e.add(this)),e.equals(Y.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(Y.ZERO);e==null&&(e=s?Gw:Js(i));let o=A(r*e),a=A(n*e),c=A(i*e);if(s)return ge.ZERO;if(c!==X)throw new Error("invZ was invalid");return new ge(o,a)}fromRistrettoBytes(){_c()}toRistrettoBytes(){_c()}fromRistrettoHash(){_c()}};Y.BASE=new Y(de.Gx,de.Gy,X,A(de.Gx*de.Gy));Y.ZERO=new Y(Fe,X,X,Fe);function G0(t,e){let r=e.negate();return t?r:e}function Y0(t){if(!(t instanceof Y))throw new TypeError("ExtendedPoint expected")}function bc(t){if(!(t instanceof tt))throw new TypeError("RistrettoPoint expected")}function _c(){throw new Error("Legacy method: switch to RistrettoPoint")}var tt=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=de,n=A(Di*e*e),i=A((n+X)*Qw),s=BigInt(-1),o=A((s-r*n)*A(n+r)),{isValid:a,value:c}=Cc(i,o),u=A(c*e);Sr(u)||(u=A(-u)),a||(c=u),a||(s=n);let l=A(s*(n-X)*Xw-o),f=c*c,h=A((c+c)*o),d=A(l*Yw),p=A(X-f),m=A(X+f);return new Y(A(h*m),A(p*d),A(d*m),A(h*p))}static hashToCurve(e){e=Ir(e,64);let r=Sc(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=Sc(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new tt(n.add(s))}static fromHex(e){e=Ir(e,32);let{a:r,d:n}=de,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=Sc(e);if(!t2(Ni(s),e)||Sr(s))throw new Error(i);let o=A(s*s),a=A(X+r*o),c=A(X-r*o),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:h,value:d}=Q0(A(f*l)),p=A(d*c),m=A(d*p*f),y=A((s+s)*p);Sr(y)&&(y=A(-y));let g=A(a*m),w=A(y*g);if(!h||Sr(w)||g===Fe)throw new Error(i);return new tt(new Y(y,g,X,w))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,s=A(A(n+r)*A(n-r)),o=A(e*r),a=A(o*o),{value:c}=Q0(A(s*a)),u=A(c*s),l=A(c*o),f=A(u*l*i),h;if(Sr(i*f)){let p=A(r*Di),m=A(e*Di);e=p,r=m,h=A(u*Ww)}else h=l;Sr(e*f)&&(r=A(-r));let d=A((n-r)*h);return Sr(d)&&(d=A(-d)),Ni(d)}toHex(){return ki(this.toRawBytes())}toString(){return this.toHex()}equals(e){bc(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),s=A(r.y*n.y)===A(r.x*n.x);return i||s}add(e){return bc(e),new tt(this.ep.add(e.ep))}subtract(e){return bc(e),new tt(this.ep.subtract(e.ep))}multiply(e){return new tt(this.ep.multiply(e))}multiplyUnsafe(e){return new tt(this.ep.multiplyUnsafe(e))}};tt.BASE=new tt(Y.BASE);tt.ZERO=new tt(Y.ZERO);var Ic=new WeakMap,ge=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Ic.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=de;e=Ir(e,32);let s=e.slice();s[31]=e[31]&-129;let o=Oi(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=X0)throw new Error("Expected 0 < hex < 2**256");let a=A(o*o),c=A(a-X),u=A(n*a+X),{isValid:l,value:f}=Cc(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let h=(f&X)===X;return(e[31]&128)!==0!==h&&(f=A(-f)),new ge(f,o)}static async fromPrivateKey(e){return(await eo(e)).point}toRawBytes(){let e=Ni(this.y);return e[31]|=this.x&X?128:0,e}toHex(){return ki(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((X+e)*Js(X-e));return Ni(r)}isTorsionFree(){return Y.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ge(A(-this.x),this.y)}add(e){return Y.fromAffine(this).add(Y.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Y.fromAffine(this).multiply(e,this).toAffine()}};ge.BASE=new ge(de.Gx,de.Gy);ge.ZERO=new ge(Fe,X);var Jr=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=Ir(e,64),n=ge.fromHex(r.slice(0,32),!1),i=Oi(r.slice(32,64));return new Jr(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof ge))throw new Error("Expected Point instance");return js(r,de.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Ni(this.s),32),e}toHex(){return ki(this.toRawBytes())}};function W0(...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 Zw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ki(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Zw[t[r]];return e}function Rc(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Z0(t){let r=t.toString(16).padStart(64,"0");return Rc(r)}function Ni(t){return Z0(t).reverse()}function Sr(t){return(A(t)&X)===X}function Oi(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ki(Uint8Array.from(t).reverse()))}var jw=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function Sc(t){return A(Oi(t)&jw)}function A(t,e=de.P){let r=t%e;return r>=Fe?r:e+r}function Js(t,e=de.P){if(t===Fe||e<=Fe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=Fe,s=X,o=X,a=Fe;for(;r!==Fe;){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!==X)throw new Error("invert: does not exist");return A(i,e)}function Jw(t,e=de.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Fe?s:(r[a]=s,A(s*o,e)),X),i=Js(n,e);return t.reduceRight((s,o,a)=>o===Fe?s:(r[a]=A(s*r[a],e),A(s*o,e)),i),r}function zt(t,e){let{P:r}=de,n=t;for(;e-- >Fe;)n*=n,n%=r;return n}function e2(t){let{P:e}=de,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=zt(c,Ar)*c%e,l=zt(u,X)*t%e,f=zt(l,r)*l%e,h=zt(f,n)*f%e,d=zt(h,i)*h%e,p=zt(d,s)*d%e,m=zt(p,o)*p%e,y=zt(m,o)*p%e,g=zt(y,n)*f%e;return{pow_p_5_8:zt(g,Ar)*t%e,b2:c}}function Cc(t,e){let r=A(e*e*e),n=A(r*r*e),i=e2(t*n).pow_p_5_8,s=A(t*r*i),o=A(e*s*s),a=s,c=A(s*Di),u=o===t,l=o===A(-t),f=o===A(-t*Di);return u&&(s=a),(l||f)&&(s=c),Sr(s)&&(s=A(-s)),{isValid:u||l,value:s}}function Q0(t){return Cc(X,t)}function Zs(t){return A(Oi(t),de.l)}function t2(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 Ir(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):Rc(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function js(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(Fe<t)return t}else if(Fe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function r2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function n2(t){if(t=typeof t=="bigint"||typeof t=="number"?Z0(js(t,X0)):Ir(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function i2(t){let e=r2(t.slice(0,32)),r=t.slice(32,64),n=Zs(e),i=ge.BASE.multiply(n),s=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:s}}var Ac;async function eo(t){return i2(await Rr.sha512(n2(t)))}async function Tc(t){return(await eo(t)).pointBytes}async function j0(t,e){t=Ir(t);let{prefix:r,scalar:n,pointBytes:i}=await eo(e),s=Zs(await Rr.sha512(r,t)),o=ge.BASE.multiply(s),a=Zs(await Rr.sha512(o.toRawBytes(),i,t)),c=A(s+a*n,de.l);return new Jr(o,c).toRawBytes()}function s2(t,e,r){e=Ir(e),r instanceof ge||(r=ge.fromHex(r,!1));let{r:n,s:i}=t instanceof Jr?t.assertValidity():Jr.fromHex(t),s=Y.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:e}}function o2(t,e,r,n){let i=Zs(n),s=Y.fromAffine(t).multiplyUnsafe(i);return Y.fromAffine(e).add(s).subtract(r).multiplyUnsafe(de.h).equals(Y.ZERO)}async function J0(t,e,r){let{r:n,SB:i,msg:s,pub:o}=s2(t,e,r),a=await Rr.sha512(n.toRawBytes(),o.toRawBytes(),s);return o2(o,n,i,a)}ge.BASE._setWindowSize(8);var _r={node:Hw,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Rr={bytesToHex:ki,hexToBytes:Rc,concatBytes:W0,getExtendedPublicKey:eo,mod:A,invert:Js,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=Ir(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(Oi(t),de.l-X)+X},randomBytes:(t=32)=>{if(_r.web)return _r.web.getRandomValues(new Uint8Array(t));if(_r.node){let{randomBytes:e}=_r.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Rr.randomBytes(32),sha512:async(...t)=>{let e=W0(...t);if(_r.web){let r=await _r.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(_r.node)return Uint8Array.from(_r.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=ge.BASE){let r=e.equals(ge.BASE)?e:new ge(e.x,e.y);return r._setWindowSize(t),r.multiply(Ar),r},sha512Sync:void 0};Object.defineProperties(Rr,{sha512Sync:{configurable:!1,get(){return Ac},set(t){Ac||(Ac=t)}}});var On=32,sr=64,to=32;async function eh(){let t=Rr.randomPrivateKey(),e=await Tc(t);return{privateKey:ih(t,e),publicKey:e}}async function th(t){if(t.length!==to)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 Tc(e);return{privateKey:ih(e,r),publicKey:r}}async function rh(t,e){let r=t.subarray(0,to);return j0(e,r)}async function nh(t,e,r){return J0(e,r,t)}function ih(t,e){let r=new Uint8Array(sr);for(let n=0;n<to;n++)r[n]=t[n],r[to+n]=e[n];return r}function Ce(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=St(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Qr(r)}var rt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Bc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function ro(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=rt.get();r*=8;async function c(f,h){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:p};typeof h=="string"&&(h=U(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",Bc,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",Bc,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},_=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,_,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Ce([d,m.iv,new Uint8Array(g)])}async function u(f,h){let d=f.subarray(0,s),p=f.subarray(s,s+n),m=f.subarray(s+n),y={name:e,iv:p};typeof h=="string"&&(h=U(h));let g;if(h.length===0)try{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",Bc,{name:"AES-GCM"},!0,["decrypt"])}else{let _={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},N=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(_,N,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,g,m);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function Mn(t,e){let n=await ro().encrypt(t,e);return Xr.encode(n)}var $c=V(kc(),1),Gh=V(Fh(),1),Yh=V(tn(),1),zc=V(qc(),1),Wh=V(Hh(),1);function g2(){Yh.default._configure(),$c.default._configure(Gh.default),zc.default._configure(Wh.default)}g2();var Qh=["uint64","int64","sint64","fixed64","sfixed64"];function x2(t){for(let e of Qh){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function Hc(t){return x2(new $c.default(t))}function w2(t){for(let e of Qh){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Gc(){return w2(zc.default.create())}function qe(t,e){let r=Hc(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function $e(t,e){let r=Gc();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Un;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Un||(Un={}));function ao(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Yc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return ao("enum",Un.VARINT,r,n)}function ze(t,e){return ao("message",Un.LENGTH_DELIMITED,t,e)}var xe;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(xe||(xe={}));var Wc;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Wc||(Wc={}));(function(t){t.codec=()=>Yc(Wc)})(xe||(xe={}));var Yt;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xe.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=xe.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Yt||(Yt={}));var Wt;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xe.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=xe.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Wt||(Wt={}));var Ui=class{_key;constructor(e){this._key=Kn(e,On)}async verify(e,r){return nh(this._key,r,e)}marshal(){return this._key}get bytes(){return Yt.encode({Type:xe.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},nn=class{_key;_publicKey;constructor(e,r){this._key=Kn(e,sr),this._publicKey=Kn(r,On)}async sign(e){return rh(this._key,e)}get public(){return new Ui(this._publicKey)}marshal(){return this._key}get bytes(){return Wt.encode({Type:xe.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=Er.digest(this.public.bytes);return Re.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Mn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function v2(t){if(t.length>sr){t=Kn(t,sr+On);let n=t.subarray(0,sr),i=t.subarray(sr,t.length);return new nn(n,i)}t=Kn(t,sr);let e=t.subarray(0,sr),r=t.subarray(On);return new nn(e,r)}function E2(t){return t=Kn(t,On),new Ui(t)}async function b2(){let{privateKey:t,publicKey:e}=await eh();return new nn(t,e)}async function Xh(t){let{privateKey:e,publicKey:r}=await th(t);return new nn(e,r)}function Kn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new E(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function $(t,e="utf8"){let r=Xs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var GA=V(Ie(),1),YA=V(zs(),1),Zh=V(se(),1);function Rt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ce([new Uint8Array(e-r.length),r])}return $(r,"base64url")}function ot(t){let e=jh(t);return new Zh.default.jsbn.BigInteger($(e,"base16"),16)}function jh(t,e){let r=U(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ce([new Uint8Array(e-r.length),r])}return r}var _2={"P-256":256,"P-384":384,"P-521":521},S2=Object.keys(_2),iI=S2.join(" / ");async function Jh(t,e){let r=Xr.decode(t);return ro().decrypt(r,e)}var ou={};Ke(ou,{RsaPrivateKey:()=>Yn,RsaPublicKey:()=>Gi,fromJwk:()=>Q2,generateKeyPair:()=>X2,unmarshalRsaPrivateKey:()=>Y2,unmarshalRsaPublicKey:()=>W2});var Hi=V(se(),1);var qI=V(sd(),1);var I2=V(Hr(),1);var Z=BigInt(0),me=BigInt(1),Lr=BigInt(2),qi=BigInt(3),od=BigInt(8),_e=Object.freeze({a:Z,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:me,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),ad=(t,e)=>(t+e/Lr)/e,uo={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=_e,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-me*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=ad(s*t,e),c=ad(-n*t,e),u=P(t-a*r-c*i,e),l=P(-a*n-c*s,e),f=u>o,h=l>o;if(f&&(u=e-u),h&&(l=e-l),u>o||l>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:h,k2:l}}},Ct=32,$n=32,R2=32,cd=Ct+1,ud=2*Ct+1;function ld(t){let{a:e,b:r}=_e,n=P(t*t),i=P(n*t);return P(i+e*t+r)}var lo=_e.a===Z,po=class extends Error{constructor(e){super(e)}};function fd(t){if(!(t instanceof te))throw new TypeError("JacobianPoint expected")}var te=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof re))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(re.ZERO)?te.ZERO:new te(e.x,e.y,me)}static toAffineBatch(e){let r=P2(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return te.toAffineBatch(e).map(te.fromAffine)}equals(e){fd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e,c=P(i*i),u=P(a*a),l=P(r*u),f=P(s*c),h=P(P(n*a)*u),d=P(P(o*i)*c);return l===f&&h===d}negate(){return new te(this.x,P(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=P(e*e),s=P(r*r),o=P(s*s),a=e+s,c=P(Lr*(P(a*a)-i-o)),u=P(qi*i),l=P(u*u),f=P(l-Lr*c),h=P(u*(c-f)-od*o),d=P(Lr*r*n);return new te(f,h,d)}add(e){fd(e);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=e;if(s===Z||o===Z)return this;if(r===Z||n===Z)return e;let c=P(i*i),u=P(a*a),l=P(r*u),f=P(s*c),h=P(P(n*a)*u),d=P(P(o*i)*c),p=P(f-l),m=P(d-h);if(p===Z)return m===Z?this.double():te.ZERO;let y=P(p*p),g=P(p*y),w=P(l*y),_=P(m*m-g-Lr*w),N=P(m*(w-_)-h*g),C=P(i*a*p);return new te(_,N,C)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=te.ZERO;if(typeof e=="bigint"&&e===Z)return r;let n=pd(e);if(n===me)return this;if(!lo){let f=r,h=this;for(;n>Z;)n&me&&(f=f.add(h)),h=h.double(),n>>=me;return f}let{k1neg:i,k1:s,k2neg:o,k2:a}=uo.splitScalar(n),c=r,u=r,l=this;for(;s>Z||a>Z;)s&me&&(c=c.add(l)),a&me&&(u=u.add(l)),l=l.double(),s>>=me,a>>=me;return i&&(c=c.negate()),o&&(u=u.negate()),u=new te(P(u.x*uo.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=lo?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(te.BASE)&&(r=re.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&&Jc.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=te.normalizeZ(i),Jc.set(r,i)));let s=te.ZERO,o=te.BASE,a=1+(lo?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let h=0;h<a;h++){let d=h*c,p=Number(e&u);e>>=f,p>c&&(p-=l,e+=me);let m=d,y=d+Math.abs(p)-1,g=h%2!==0,w=p<0;p===0?o=o.add(fo(g,i[m])):s=s.add(fo(w,i[y]))}return{p:s,f:o}}multiply(e,r){let n=pd(e),i,s;if(lo){let{k1neg:o,k1:a,k2neg:c,k2:u}=uo.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:h,f:d}=this.wNAF(u,r);l=fo(o,l),h=fo(c,h),h=new te(P(h.x*uo.beta),h.y,h.z),i=l.add(h),s=f.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return te.normalizeZ([i,s])[0]}toAffine(e){let{x:r,y:n,z:i}=this,s=this.equals(te.ZERO);e==null&&(e=s?od:Gn(i));let o=e,a=P(o*o),c=P(a*o),u=P(r*a),l=P(n*c),f=P(i*o);if(s)return re.ZERO;if(f!==me)throw new Error("invZ was invalid");return new re(u,l)}};te.BASE=new te(_e.Gx,_e.Gy,me);te.ZERO=new te(Z,me,Z);function fo(t,e){let r=e.negate();return t?r:e}var Jc=new WeakMap,re=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,Jc.delete(this)}hasEvenY(){return this.y%Lr===Z}static fromCompressedHex(e){let r=e.length===32,n=Pr(r?e:e.subarray(1));if(!jc(n))throw new Error("Point is not on curve");let i=ld(n),s=L2(i),o=(s&me)===me;r?o&&(s=P(-s)):(e[0]&1)===1!==o&&(s=P(-s));let a=new re(n,s);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Pr(e.subarray(1,Ct+1)),n=Pr(e.subarray(Ct+1,Ct*2+1)),i=new re(r,n);return i.assertValidity(),i}static fromHex(e){let r=Hn(e),n=r.length,i=r[0];if(n===Ct)return this.fromCompressedHex(r);if(n===cd&&(i===2||i===3))return this.fromCompressedHex(r);if(n===ud&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${cd} compressed bytes or ${ud} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return re.BASE.multiply(yo(e))}static fromSignature(e,r,n){let{r:i,s}=md(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=ru(Hn(e)),{n:a}=_e,c=n===2||n===3?i+a:i,u=Gn(c,a),l=P(-o*u,a),f=P(s*u,a),h=n&1?"03":"02",d=re.fromHex(h+Vn(c)),p=re.BASE.multiplyAndAddUnsafe(d,l,f);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(e=!1){return on(this.toHex(e))}toHex(e=!1){let r=Vn(this.x);return e?`${this.hasEvenY()?"02":"03"}${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(!jc(r)||!jc(n))throw new Error(e);let i=P(n*n),s=ld(r);if(P(i-s)!==Z)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new re(this.x,P(-this.y))}double(){return te.fromAffine(this).double().toAffine()}add(e){return te.fromAffine(this).add(te.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return te.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=te.fromAffine(this),s=r===Z||r===me||this!==re.BASE?i.multiplyUnsafe(r):i.multiply(r),o=te.fromAffine(e).multiplyUnsafe(n),a=s.add(o);return a.equals(te.ZERO)?void 0:a.toAffine()}};re.BASE=new re(_e.Gx,_e.Gy);re.ZERO=new re(Z,Z);function hd(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function dd(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${zn(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:Pr(r),left:t.subarray(e+2)}}function C2(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${zn(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=dd(t.subarray(2)),{data:n,left:i}=dd(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${zn(i)}`);return{r:e,s:n}}var Qt=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?zn(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Qt(mo(i.slice(0,64)),mo(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}=C2(r?e:on(e));return new Qt(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!zi(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!zi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=_e.n>>me;return this.s>e}normalizeS(){return this.hasHighS()?new Qt(this.r,P(-this.s,_e.n)):this}toDERRawBytes(){return on(this.toDERHex())}toDERHex(){let e=hd(Vi(this.s)),r=hd(Vi(this.r)),n=e.length/2,i=r.length/2,s=Vi(n),o=Vi(i);return`30${Vi(i+n+4)}02${o}${r}02${s}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return on(this.toCompactHex())}toCompactHex(){return Vn(this.r)+Vn(this.s)}};function Br(...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 T2=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function zn(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=T2[t[r]];return e}var B2=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Vn(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(Z<=t&&t<B2))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function eu(t){let e=on(Vn(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function Vi(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function mo(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function on(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");e[r]=s}return e}function Pr(t){return mo(zn(t))}function Hn(t){return t instanceof Uint8Array?Uint8Array.from(t):on(t)}function pd(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&zi(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function P(t,e=_e.P){let r=t%e;return r>=Z?r:e+r}function xt(t,e){let{P:r}=_e,n=t;for(;e-- >Z;)n*=n,n%=r;return n}function L2(t){let{P:e}=_e,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=xt(u,qi)*u%e,f=xt(l,qi)*u%e,h=xt(f,Lr)*c%e,d=xt(h,n)*h%e,p=xt(d,i)*d%e,m=xt(p,o)*p%e,y=xt(m,a)*m%e,g=xt(y,o)*p%e,w=xt(g,qi)*u%e,_=xt(w,s)*d%e,N=xt(_,r)*c%e,C=xt(N,Lr);if(C*C%e!==t)throw new Error("Cannot find square root");return C}function Gn(t,e=_e.P){if(t===Z||e<=Z)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=P(t,e),n=e,i=Z,s=me,o=me,a=Z;for(;r!==Z;){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!==me)throw new Error("invert: does not exist");return P(i,e)}function P2(t,e=_e.P){let r=new Array(t.length),n=t.reduce((s,o,a)=>o===Z?s:(r[a]=s,P(s*o,e)),me),i=Gn(n,e);return t.reduceRight((s,o,a)=>o===Z?s:(r[a]=P(s*r[a],e),P(s*o,e)),i),r}function D2(t){let e=t.length*8-$n*8,r=Pr(t);return e>0?r>>BigInt(e):r}function ru(t,e=!1){let r=D2(t);if(e)return r;let{n}=_e;return r>=n?r-n:r}var qn,$i,tu=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Tt.hmacSha256(this.k,...e)}hmacSync(...e){return $i(this.k,...e)}checkSync(){if(typeof $i!="function")throw new po("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Br(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Br(...r)}};function zi(t){return Z<t&&t<_e.n}function jc(t){return Z<t&&t<_e.P}function N2(t,e,r,n=!0){let{n:i}=_e,s=ru(t,!0);if(!zi(s))return;let o=Gn(s,i),a=re.BASE.multiply(s),c=P(a.x,i);if(c===Z)return;let u=P(o*P(e+r*c,i),i);if(u===Z)return;let l=new Qt(c,u),f=(a.x===l.r?0:2)|Number(a.y&me);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function yo(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*$n)throw new Error("Expected 32 bytes of private key");e=mo(t)}else if(t instanceof Uint8Array){if(t.length!==$n)throw new Error("Expected 32 bytes of private key");e=Pr(t)}else throw new TypeError("Expected valid private key");if(!zi(e))throw new Error("Expected private key: 0 < key < n");return e}function k2(t){return t instanceof re?(t.assertValidity(),t):re.fromHex(t)}function md(t){if(t instanceof Qt)return t.assertValidity(),t;try{return Qt.fromDER(t)}catch{return Qt.fromCompact(t)}}function nu(t,e=!1){return re.fromPrivateKey(t).toRawBytes(e)}function yd(t){let e=t.length>Ct?t.slice(0,Ct):t;return Pr(e)}function O2(t){let e=yd(t),r=P(e,_e.n);return gd(r<Z?e:r)}function gd(t){return eu(t)}function M2(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=Hn(t),i=yo(e),s=[gd(i),O2(n)];if(r!=null){r===!0&&(r=Tt.randomBytes(Ct));let c=Hn(r);if(c.length!==Ct)throw new Error(`sign: Expected ${Ct} bytes of extra data`);s.push(c)}let o=Br(...s),a=yd(n);return{seed:o,m:a,d:i}}function F2(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},e),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function xd(t,e,r={}){let{seed:n,m:i,d:s}=M2(t,e,r.extraEntropy),o=new tu(R2,$n);await o.reseed(n);let a;for(;!(a=N2(await o.generate(),i,s,r.canonical));)await o.reseed();return F2(a,r)}var U2={strict:!0};function wd(t,e,r,n=U2){let i;try{i=md(t),e=Hn(e)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=ru(e),c;try{c=k2(r)}catch{return!1}let{n:u}=_e,l=Gn(o,u),f=P(a*l,u),h=P(s*l,u),d=re.BASE.multiplyAndAddUnsafe(c,f,h);return d?P(d.x,u)===s:!1}re.BASE._setWindowSize(8);var at={node:I2,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var ho={},Tt={bytesToHex:zn,hexToBytes:on,concatBytes:Br,mod:P,invert:Gn,isValidPrivateKey(t){try{return yo(t),!0}catch{return!1}},_bigintTo32Bytes:eu,_normalizePrivateKey:yo,hashToPrivateKey:t=>{t=Hn(t);let e=$n+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=P(Pr(t),_e.n-me)+me;return eu(r)},randomBytes:(t=32)=>{if(at.web)return at.web.getRandomValues(new Uint8Array(t));if(at.node){let{randomBytes:e}=at.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Tt.hashToPrivateKey(Tt.randomBytes($n+8)),precompute(t=8,e=re.BASE){let r=e===re.BASE?e:new re(e.x,e.y);return r._setWindowSize(t),r.multiply(qi),r},sha256:async(...t)=>{if(at.web){let e=await at.web.subtle.digest("SHA-256",Br(...t));return new Uint8Array(e)}else if(at.node){let{createHash:e}=at.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(at.web){let r=await at.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Br(...e),i=await at.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(at.node){let{createHmac:r}=at.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=ho[t];if(r===void 0){let n=await Tt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Br(n,n),ho[t]=r}return Tt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof qn!="function")throw new po("sha256Sync is undefined, you need to set it");let r=ho[t];if(r===void 0){let n=qn(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Br(n,n),ho[t]=r}return qn(r,...e)},_JacobianPoint:te};Object.defineProperties(Tt,{sha256Sync:{configurable:!1,get(){return qn},set(t){qn||(qn=t)}},hmacSha256Sync:{configurable:!1,get(){return $i},set(t){$i||($i=t)}}});function an(t){if(isNaN(t)||t<=0)throw new E("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Tt.randomBytes(t)}var SI=V(Ys(),1),iu=V(se(),1);function vd(t,e){return e.map(r=>ot(t[r]))}function Ed(t){return iu.default.pki.setRsaPrivateKey(...vd(t,["n","e","d","p","q","dp","dq","qi"]))}function bd(t){return iu.default.pki.setRsaPublicKey(...vd(t,["n","e"]))}var cn={};Ke(cn,{jwkToPkcs1:()=>q2,jwkToPkix:()=>z2,pkcs1ToJwk:()=>V2,pkixToJwk:()=>$2});var RI=V(Ri(),1),CI=V(Ys(),1);var or=V(se(),1);function V2(t){let e=or.default.asn1.fromDer($(t,"ascii")),r=or.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Rt(r.n),e:Rt(r.e),d:Rt(r.d),p:Rt(r.p),q:Rt(r.q),dp:Rt(r.dP),dq:Rt(r.dQ),qi:Rt(r.qInv),alg:"RS256"}}function q2(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.privateKeyToAsn1({n:ot(t.n),e:ot(t.e),d:ot(t.d),p:ot(t.p),q:ot(t.q),dP:ot(t.dp),dQ:ot(t.dq),qInv:ot(t.qi)});return U(or.default.asn1.toDer(e).getBytes(),"ascii")}function $2(t){let e=or.default.asn1.fromDer($(t,"ascii")),r=or.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Rt(r.n),e:Rt(r.e)}}function z2(t){if(t.n==null||t.e==null)throw new E("JWK was missing components","ERR_INVALID_PARAMETERS");let e=or.default.pki.publicKeyToAsn1({n:ot(t.n),e:ot(t.e)});return U(or.default.asn1.toDer(e).getBytes(),"ascii")}async function _d(t){let e=await rt.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 Id(e);return{privateKey:r[0],publicKey:r[1]}}async function su(t){let r=[await rt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await H2(t)],n=await Id({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Sd(t,e){let r=await rt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await rt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function Ad(t,e,r){let n=await rt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return rt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function Id(t){if(t.privateKey==null||t.publicKey==null)throw new E("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([rt.get().subtle.exportKey("jwk",t.privateKey),rt.get().subtle.exportKey("jwk",t.publicKey)])}async function H2(t){return rt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Rd(t,e,r,n){let i=e?bd(t):Ed(t),s=$(Uint8Array.from(r),"ascii"),o=n(s,i);return U(o,"ascii")}function Cd(t,e){return Rd(t,!0,e,(r,n)=>n.encrypt(r))}function Td(t,e){return Rd(t,!1,e,(r,n)=>n.decrypt(r))}var Gi=class{_key;constructor(e){this._key=e}async verify(e,r){return Ad(this._key,r,e)}marshal(){return cn.jwkToPkix(this._key)}get bytes(){return Yt.encode({Type:xe.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Cd(this._key,e)}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},Yn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return an(16)}async sign(e){return Sd(this._key,e)}get public(){if(this._publicKey==null)throw new E("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Gi(this._publicKey)}decrypt(e){return Td(this._key,e)}marshal(){return cn.jwkToPkcs1(this._key)}get bytes(){return Wt.encode({Type:xe.RSA,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Hi.default.util.ByteBuffer(this.marshal()),i=Hi.default.asn1.fromDer(n),s=Hi.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Hi.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Mn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Y2(t){let e=cn.pkcs1ToJwk(t),r=await su(e);return new Yn(r.privateKey,r.publicKey)}function W2(t){let e=cn.pkixToJwk(t);return new Gi(e)}async function Q2(t){let e=await su(t);return new Yn(e.privateKey,e.publicKey)}async function X2(t){let e=await _d(t);return new Yn(e.privateKey,e.publicKey)}var cu={};Ke(cu,{Secp256k1PrivateKey:()=>Wi,Secp256k1PublicKey:()=>Yi,generateKeyPair:()=>ev,unmarshalSecp256k1PrivateKey:()=>j2,unmarshalSecp256k1PublicKey:()=>J2});function Bd(){return Tt.randomPrivateKey()}async function Ld(t,e){let{digest:r}=await Ve.digest(e);try{return await xd(r,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}async function Pd(t,e,r){try{let{digest:n}=await Ve.digest(r);return wd(e,n,t)}catch(n){throw new E(String(n),"ERR_INVALID_INPUT")}}function Dd(t){return re.fromHex(t).toRawBytes(!0)}function Nd(t){try{nu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}function au(t){try{re.fromHex(t)}catch(e){throw new E(String(e),"ERR_INVALID_PUBLIC_KEY")}}function kd(t){try{return nu(t,!0)}catch(e){throw new E(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Yi=class{_key;constructor(e){au(e),this._key=e}async verify(e,r){return Pd(this._key,r,e)}marshal(){return Dd(this._key)}get bytes(){return Yt.encode({Type:xe.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}},Wi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??kd(e),Nd(this._key),au(this._publicKey)}async sign(e){return Ld(this._key,e)}get public(){return new Yi(this._publicKey)}marshal(){return this._key}get bytes(){return Wt.encode({Type:xe.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return ve(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ve.digest(this.bytes);return e}async id(){let e=await this.public.hash();return $(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Mn(this.bytes,e);throw new E(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function j2(t){return new Wi(t)}function J2(t){return new Yi(t)}async function ev(){let t=Bd();return new Wi(t)}var ar={rsa:ou,ed25519:Qc,secp256k1:cu};function uu(t){let e=Object.keys(ar).join(" / ");return new E(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function lu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return ar[t];throw uu(t)}async function xo(t,e){return lu(t).generateKeyPair(e??2048)}function Qi(t){let e=Yt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xe.RSA:return ar.rsa.unmarshalRsaPublicKey(r);case xe.Ed25519:return ar.ed25519.unmarshalEd25519PublicKey(r);case xe.Secp256k1:return ar.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw uu(e.Type??"RSA")}}function Od(t,e){return e=(e??"rsa").toLowerCase(),lu(e),t.bytes}async function Wn(t){let e=Wt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xe.RSA:return ar.rsa.unmarshalRsaPrivateKey(r);case xe.Ed25519:return ar.ed25519.unmarshalEd25519PrivateKey(r);case xe.Secp256k1:return ar.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw uu(e.Type??"RSA")}}function Md(t,e){return e=(e??"rsa").toLowerCase(),lu(e),t.bytes}async function Xi(t,e){try{let i=await Jh(t,e);return await Wn(i)}catch{}let r=go.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new E("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=go.default.asn1.toDer(go.default.pki.privateKeyToAsn1(r));return n=U(n.getBytes(),"ascii"),ar.rsa.unmarshalRsaPrivateKey(n)}var fu=Symbol.for("@libp2p/content-routing");var hu=Symbol.for("@libp2p/peer-discovery");var du=Symbol.for("@libp2p/peer-routing");var Zi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new mu(e,r))}},pu=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},mu=globalThis.CustomEvent??pu;var dR=V(Os(),1),rv=V(se(),1);var Ud=V(Ha(),1),Kd=V(Ie(),1),Fd={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function ji(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(Fd).join(" / ");throw new E(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let s=Fd[i],o=(0,Ud.default)(t,e,r,n,s);return Kd.default.encode64(o,null)}var ut=V(gu(),1);ut.default.formatters.b=t=>t==null?"undefined":Re.baseEncode(t);ut.default.formatters.t=t=>t==null?"undefined":st.baseEncode(t);ut.default.formatters.m=t=>t==null?"undefined":Xr.baseEncode(t);ut.default.formatters.p=t=>t==null?"undefined":t.toString();ut.default.formatters.c=t=>t==null?"undefined":t.toString();ut.default.formatters.k=t=>t==null?"undefined":t.toString();ut.default.formatters.a=t=>t==null?"undefined":t.toString();function gv(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function G(t){let e=gv(`${t}:trace`);return ut.default.enabled(`${t}:trace`)&&ut.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,ut.default)(`${t}:trace`)),Object.assign((0,ut.default)(t),{error:(0,ut.default)(`${t}:error`),trace:e})}var xu=Symbol.for("@libp2p/peer-id");function Eo(t){return t!=null&&!!t[xu]}var xv=Symbol.for("nodejs.util.inspect.custom"),zd=Object.values(br).map(t=>t.decoder).reduce((t,e)=>t.or(e),br.identity.decoder),Hd=114,wu=36,vu=37,Ji=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[xu]=!0;toString(){return this.string==null&&(this.string=Re.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ue.createV1(Hd,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return ve(this.multihash.bytes,e);if(typeof e=="string")return ie(e).equals(this);if(e?.multihash?.bytes!=null)return ve(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[xv](){return`PeerId(${this.toString()})`}},ln=class extends Ji{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},fn=class extends Ji{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},hn=class extends Ji{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Gd(t){if(t.type==="RSA")return new ln(t);if(t.type==="Ed25519")return new fn(t);if(t.type==="secp256k1")return new hn(t);throw new E("Not a PeerId","ERR_INVALID_PARAMETERS")}function ie(t,e){if(e=e??zd,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Zr(Re.decode(`z${t}`));return t.startsWith("12D")?new fn({multihash:r}):t.startsWith("16U")?new hn({multihash:r}):new ln({multihash:r})}return jn(zd.decode(t))}function jn(t){try{let e=Zr(t);if(e.code===Er.code){if(e.digest.length===wu)return new fn({multihash:e});if(e.digest.length===vu)return new hn({multihash:e})}if(e.code===Ve.code)return new ln({multihash:e})}catch{return wv(ue.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function wv(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Hd)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ve.code)return new ln({multihash:t.multihash});if(e.code===Er.code){if(e.digest.length===wu)return new fn({multihash:t.multihash});if(e.digest.length===vu)return new hn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Jn(t,e){return t.length===wu?new fn({multihash:$t(Er.code,t),privateKey:e}):t.length===vu?new hn({multihash:$t(Er.code,t),privateKey:e}):new ln({multihash:await Ve.digest(t),publicKey:t,privateKey:e})}var bo=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var cr="/",Yd=new TextEncoder().encode(cr),_o=Yd[0],Se=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=U(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==_o)throw new Error("Invalid key")}toString(e="utf8"){return $(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Se(e.join(cr))}static random(){return new Se(bo().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Se(e):typeof e.uint8Array=="function"?new Se(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Yd),this._buf[0]!==_o){let e=new Uint8Array(this._buf.byteLength+1);e.fill(_o,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===_o;)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 Se.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(cr).slice(1)}type(){return vv(this.baseNamespace())}name(){return Ev(this.baseNamespace())}instance(e){return new Se(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(cr)||(e+=cr),e+=this.type(),new Se(e)}parent(){let e=this.list();return e.length===1?new Se(cr):new Se(e.slice(0,-1).join(cr))}child(e){return this.toString()===cr?e:e.toString()===cr?this:new Se(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 Se.withNamespaces([...this.namespaces(),...bv(e.map(r=>r.namespaces()))])}};function vv(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Ev(t){let e=t.split(":");return e[e.length-1]}function bv(t){return[].concat(...t)}var rp=V(tp(),1),Dr=rp.default;var hp=V(fp(),1);var j;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(j||(j={}));var Io=G("libp2p:keychain"),Kv="/pkcs8/",dp="/info/",dn=new WeakMap,pn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},bu={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function ur(t){return t==null||typeof t!="string"?!1:t===(0,hp.default)(t.trim())&&t.length>0}async function ae(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function Xt(t){return new Se(Kv+t)}function Nr(t){return new Se(dp+t)}var mn=class{components;init;constructor(e,r){if(this.components=e,this.init=Dr(bu,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<pn.minKeyLength)throw new Error(`dek.keyLength must be least ${pn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<pn.minSaltLength)throw new Error(`dek.saltLength must be least ${pn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<pn.minIterationCount)throw new Error(`dek.iterationCount must be least ${pn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?ji(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";dn.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},bu),r=Math.ceil(pn.minSaltLength/3)*3;return e.dek.salt=$(an(r),"base64"),e}static get options(){return bu}async createKey(e,r,n=2048){if(!ur(e)||e==="self")throw await ae(),new E("Invalid key name",j.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ae(),new E("Invalid key type",j.ERR_INVALID_KEY_TYPE);let i=Xt(e);if(await this.components.datastore.has(i))throw await ae(),new E("Key name already exists",j.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ae(),new E("Invalid RSA key size",j.ERR_INVALID_KEY_SIZE);break;default:break}let o;try{let a=await xo(r,n),c=await a.id(),u=dn.get(this);if(u==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);o={name:e,id:c};let h=this.components.datastore.batch();h.put(i,U(f)),h.put(Nr(e),U(JSON.stringify(o))),await h.commit()}catch(a){throw await ae(),a}return o}async listKeys(){let e={prefix:dp},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse($(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new E(`Key with id '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ae(),r}}async findKeyByName(e){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);let r=Nr(e);try{let n=await this.components.datastore.get(r);return JSON.parse($(n))}catch(n){throw await ae(),Io.error(n),new E(`Key '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);let r=Xt(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(Nr(e)),await i.commit(),n}async renameKey(e,r){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid old key name '${e}'`,j.ERR_OLD_KEY_NAME_INVALID);if(!ur(r)||r==="self")throw await ae(),new E(`Invalid new key name '${r}'`,j.ERR_NEW_KEY_NAME_INVALID);let n=Xt(e),i=Xt(r),s=Nr(e),o=Nr(r);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${r}' already exists`,j.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(s),l=JSON.parse($(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(o,U(JSON.stringify(l))),f.delete(n),f.delete(s),await f.commit(),l}catch(c){throw await ae(),c}}async exportKey(e,r){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw await ae(),new E("Password is required",j.ERR_PASSWORD_REQUIRED);let n=Xt(e);try{let i=await this.components.datastore.get(n),s=$(i),o=dn.get(this);if(o==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek;return await(await Xi(s,a)).export(r)}catch(i){throw await ae(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await Xi(n,r);return Jn(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!ur(e)||e==="self")throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw await ae(),new E("PEM encoded key is required",j.ERR_PEM_REQUIRED);let i=Xt(e);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${e}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o;try{o=await Xi(r,n)}catch{throw await ae(),new E("Cannot read the key, most likely the password is wrong",j.ERR_CANNOT_READ_KEY)}let a;try{a=await o.id();let l=dn.get(this);if(l==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let f=l.dek;r=await o.export(f)}catch(l){throw await ae(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,U(r)),u.put(Nr(e),U(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!ur(e))throw new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);if(r==null)throw new E("PeerId is required",j.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new E("PeerId.privKey is required",j.ERR_MISSING_PRIVATE_KEY);let n=await Wn(r.privateKey),i=Xt(e);if(await this.components.datastore.has(i))throw await ae(),new E(`Key '${e}' already exists`,j.ERR_KEY_ALREADY_EXISTS);let o=dn.get(this);if(o==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let a=o.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,U(c)),l.put(Nr(e),U(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ae(),n}}async getPrivateKey(e){if(!ur(e))throw await ae(),new E(`Invalid key name '${e}'`,j.ERR_INVALID_KEY_NAME);try{let r=Xt(e),n=await this.components.datastore.get(r);return $(n)}catch(r){throw await ae(),Io.error(r),new E(`Key '${e}' does not exist.`,j.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ae(),new E(`Invalid old pass type '${typeof e}'`,j.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ae(),new E(`Invalid new pass type '${typeof r}'`,j.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ae(),new E(`Invalid pass length ${r.length}`,j.ERR_INVALID_PASS_LENGTH);Io("recreating keychain");let n=dn.get(this);if(n==null)throw new E("dek missing",j.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let s=r!=null&&this.init.dek?.salt!=null?ji(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";dn.set(this,{dek:s});let o=await this.listKeys();for(let a of o){let c=await this.components.datastore.get(Xt(a.name)),u=$(c),l=await Xi(u,i),f=s.toString(),h=await l.export(f),d=this.components.datastore.batch(),p={name:a.name,id:a.id};d.put(Xt(a.name),U(h)),d.put(Nr(a.name),U(JSON.stringify(p))),await d.commit()}Io("keychain reconstructed")}};function lr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Bt=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return lr(this.map.entries(),e=>[ie(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,ie(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return lr(this.map.keys(),e=>ie(e))}values(){return this.map.values()}get size(){return this.map.size}};var Lt=class{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return lr(this.set.entries(),e=>{let r=ie(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=ie(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return lr(this.set.values(),e=>ie(e))}intersection(e){let r=new Lt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new Lt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new Lt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var ri=class{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return lr(this.list.entries(),e=>ie(e[1]))}concat(e){let r=new ri(this);for(let n of e)r.push(n);return r}entries(){return lr(this.list.entries(),e=>[e[0],ie(e[1])])}every(e){return this.list.every((r,n)=>e(ie(r),n,this))}filter(e){let r=new ri;return this.list.forEach((n,i)=>{let s=ie(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(ie(n),i,this));if(r!=null)return ie(r)}findIndex(e){return this.list.findIndex((r,n)=>e(ie(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(ie(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return ie(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return ie(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var _u;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(_u||(_u={}));var pp=async()=>{let t=await xo("Ed25519"),e=await Vv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Vv(t){return Jn(Od(t.public),Md(t))}function Ro(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var mp=4294967296,lt=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new lt(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new lt(r,n)}toBytes(e,r=0){let n=Ro(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new lt;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>mp&&(i=0,++n>mp&&(n=0))),new lt(n,i)}static fromNumber(e){if(e===0)return new lt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new lt(i,n)}static fromBytes(e,r=0){let n=Ro(e),i=new lt,s=0;if(e.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;s<5;++s){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var qv=Math.pow(2,7),$v=Math.pow(2,14),zv=Math.pow(2,21),Hv=Math.pow(2,28),Gv=Math.pow(2,35),Yv=Math.pow(2,42),Wv=Math.pow(2,49),Qv=Math.pow(2,56),Xv=Math.pow(2,63),Pt={encodingLength(t){return t<qv?1:t<$v?2:t<zv?3:t<Hv?4:t<Gv?5:t<Yv?6:t<Wv?7:t<Qv?8:t<Xv?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=St(Pt.encodingLength(t))),lt.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return lt.fromBytes(t,e).toNumber(!0)}};var gp=Symbol.for("@achingbrain/uint8arraylist");function yp(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Co(t){return!!t?.[gp]}var Ae=class{constructor(...e){Object.defineProperty(this,gp,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Co(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Co(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=yp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=yp(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Co(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Ce(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Ce(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new Ae;return s.length=i,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Co(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let h=u;h>=0;h--){let d=this.get(f+h);if(n[h]!==d){l=Math.max(1,h-a[d]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=St(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=ir(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=St(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=ir(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=ir(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=ir(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Ae)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ve(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Ae;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};var xp={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var es;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(es||(es={}));var ts=class{peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=es.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return ve(this.marshal(),e.marshal())}async validate(e){let r=wp(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Qi(this.peerId.publicKey).verify(r.subarray(),this.signature)}},fr=ts;Et(fr,"createFromProtobuf",async e=>{let r=es.decode(e),n=await Jn(r.publicKey);return new ts({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})}),Et(fr,"seal",async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=wp(n,i,s),c=await(await Wn(r.privateKey)).sign(o.subarray());return new ts({peerId:r,payloadType:i,payload:s,signature:c})}),Et(fr,"openAndCertify",async(e,r)=>{let n=await ts.createFromProtobuf(e);if(!await n.validate(r))throw new E("envelope signature is not valid for the given domain",xp.ERR_SIGNATURE_NOT_VALID);return n});var wp=(t,e,r)=>{let n=U(t),i=Pt.encode(n.byteLength),s=Pt.encode(e.length),o=Pt.encode(r.length);return new Ae(i,n,s,e,o,r)};function vp(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var Mu=V(To(),1);var si=V(To(),1);var Bo=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let h=Number.parseInt(f,e);if(!Number.isNaN(h))return h});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Bp=45,lE=15,ni=new Bo;function Iu(t){if(!(t.length>lE))return ni.new(t).parseWith(()=>ni.readIPv4Addr())}function Ru(t){if(!(t.length>Bp))return ni.new(t).parseWith(()=>ni.readIPv6Addr())}function Lo(t){if(!(t.length>Bp))return ni.new(t).parseWith(()=>ni.readIPAddr())}var m4=parseInt("0xFFFF",16),y4=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Zt=V(To(),1);function Dp(t){return!!Iu(t)}function Np(t){return!!Ru(t)}function ii(t){return!!Lo(t)}var kp=Dp,mE=Np,Cu=function(t){let e=0;if(t=t.toString().trim(),kp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(mE(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=kp(r[n]),o;s&&(o=Cu(r[n]),r[n]=$(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,$(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Op=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var rs={},Tu={},gE=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];gE.forEach(t=>{let e=xE(...t);Tu[e.code]=e,rs[e.name]=e});function xE(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ce(t){if(typeof t=="number"){if(Tu[t]!=null)return Tu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(rs[t]!=null)return rs[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var J4=ce("ip4"),eT=ce("ip6"),tT=ce("ipcidr");function Vp(t,e){switch(ce(t).code){case 4:case 41:return vE(e);case 42:return Up(e);case 6:case 273:case 33:case 132:return $p(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Up(e);case 421:return SE(e);case 444:return Kp(e);case 445:return Kp(e);case 466:return _E(e);default:return $(e,"base16")}}function qp(t,e){switch(ce(t).code){case 4:return Mp(e);case 41:return Mp(e);case 42:return Fp(e);case 6:case 273:case 33:case 132:return Lu(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Fp(e);case 421:return EE(e);case 444:return AE(e);case 445:return IE(e);case 466:return bE(e);default:return U(e,"base16")}}var Bu=Object.values(br).map(t=>t.decoder),wE=function(){let t=Bu[0].or(Bu[1]);return Bu.slice(2).forEach(e=>t=t.or(e)),t}();function Mp(t){if(!ii(t))throw new Error("invalid ip address");return Cu(t)}function vE(t){let e=Op(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!ii(e))throw new Error("invalid ip address");return e}function Lu(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function $p(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Fp(t){let e=U(t),r=Uint8Array.from(Zt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function Up(t){let e=Zt.default.decode(t);if(t=t.slice(Zt.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return $(t)}function EE(t){let e;t[0]==="Q"||t[0]==="1"?e=Zr(Re.decode(`z${t}`)).bytes:e=ue.parse(t).multihash.bytes;let r=Uint8Array.from(Zt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function bE(t){let e=wE.decode(t),r=Uint8Array.from(Zt.default.encode(e.length));return Ce([r,e],r.length+e.length)}function _E(t){let e=Zt.default.decode(t),r=t.slice(Zt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+$(r,"base64url")}function SE(t){let e=Zt.default.decode(t),r=t.slice(Zt.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return $(r,"base58btc")}function AE(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=st.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=Lu(n);return Ce([r,i],r.length+i.length)}function IE(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=st.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=Lu(n);return Ce([r,i],r.length+i.length)}function Kp(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=$(e,"base32"),i=$p(r);return`${n}:${i}`}function RE(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=ce(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Hp("invalid address: "+t);if(s.path===!0){e.push([i,Ou(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function CE(t){let e=[];return t.map(r=>{let n=No(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ou(e.join("/"))}function TE(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=No(e);return e.length>1?[r.code,qp(r.code,e[1])]:[r.code]})}function Pu(t){return t.map(e=>{let r=No(e);return e[1]!=null?[r.code,Vp(r.code,e[1])]:[r.code]})}function Du(t){return Do(Ce(t.map(e=>{let r=No(e),n=Uint8Array.from(si.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Ce([n,e[1]])),n})))}function Nu(t,e){return t.size>0?t.size/8:t.size===0?0:si.default.decode(e)+(si.default.decode.bytes??0)}function Po(t){let e=[],r=0;for(;r<t.length;){let n=si.default.decode(t,r),i=si.default.decode.bytes??0,s=ce(n),o=Nu(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 Hp("Invalid address Uint8Array: "+$(t,"base16"));e.push([n,a])}return e}function ku(t){let e=Po(t),r=Pu(e);return CE(r)}function BE(t){t=Ou(t);let e=RE(t),r=TE(e);return Du(r)}function zp(t){return BE(t)}function Do(t){let e=LE(t);if(e!=null)throw e;return Uint8Array.from(t)}function LE(t){try{Po(t)}catch(e){return e}}function Ou(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Hp(t){return new Error("Error parsing address: "+t)}function No(t){return ce(t[0])}var DE=Symbol.for("nodejs.util.inspect.custom"),NE=[ce("dns").code,ce("dns4").code,ce("dns6").code,ce("dnsaddr").code],Fu=new Map,Gp=Symbol.for("@multiformats/js-multiaddr/multiaddr");function yn(t){return!!t?.[Gp]}var hr=class{bytes;#e;#t;#n;#r;[Gp]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=Do(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=zp(e)}else if(yn(e))this.bytes=Do(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=ku(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ce("tcp"),a=ce("udp"),c=ce("ip4"),u=ce("ip6"),l=ce("dns6"),f=ce("ip6zone");for(let[d,p]of this.stringTuples())d===f.code&&(s=`%${p??""}`),NE.includes(d)&&(r=o.name,i=443,n=`${p??""}${s}`,e=d===l.code?6:4),(d===o.code||d===a.code)&&(r=ce(d).name,i=parseInt(p??"")),(d===c.code||d===u.code)&&(r=ce(d).name,n=`${p??""}${s}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},ce(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Mu.default.decode(r,n),s=Mu.default.decode.bytes??0,o=ce(i),a=Nu(o,r.slice(n+s));n+=a+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#t==null&&(this.#t=Po(this.bytes)),this.#t}stringTuples(){return this.#n==null&&(this.#n=Pu(this.tuples())),this.#n}encapsulate(e){return e=new hr(e),new hr(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new hr(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 hr(Du(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===rs.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?$(Re.decode(`z${n}`),"base58btc"):$(ue.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#r===void 0)try{this.#r=this.stringTuples().filter(e=>ce(e[0]).path===!0)[0][1],this.#r==null&&(this.#r=null)}catch{this.#r=null}return this.#r}equals(e){return ve(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Fu.get(r.name);if(n==null)throw new E(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new hr(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[DE](){return`Multiaddr(${ku(this.bytes)})`}};function Ne(t){return new hr(t)}var Yp="libp2p-peer-record",Wp=Uint8Array.from([3,1]);var ns;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ze((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>$e(s,n.codec()),n.decode=s=>qe(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ze((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>$e(n,t.codec()),t.decode=n=>qe(n,t.codec())})(ns||(ns={}));var oi=class{peerId;multiaddrs;seqNumber;domain=oi.DOMAIN;codec=oi.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ns.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof oi)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!vp(this.multiaddrs,e.multiaddrs))}},jt=oi;Et(jt,"createFromProtobuf",e=>{let r=ns.decode(e),n=jn(r.peerId),i=(r.addresses??[]).map(o=>Ne(o.multiaddr)),s=r.seq;return new oi({peerId:n,multiaddrs:i,seqNumber:s})}),Et(jt,"DOMAIN",Yp),Et(jt,"CODEC",Wp);function kE(t){return t[Symbol.asyncIterator]!=null}function OE(t){if(kE(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var is=OE;var sm=V(Xp(),1);var os=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Ku=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Zp=t=>globalThis.DOMException===void 0?new Ku(t):new DOMException(t),jp=t=>{let e=t.reason===void 0?Zp("This operation was aborted."):t.reason;return e instanceof Error?e:Zp(e)};function Vu(t,e,r,n){let i,s=new Promise((o,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){o(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(jp(c)),c.addEventListener("abort",()=>{a(jp(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new os(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{o(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function qu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var gn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},dr,as=class{constructor(){dr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&gn(this,dr,"f")[this.size-1].priority>=r.priority){gn(this,dr,"f").push(n);return}let i=qu(gn(this,dr,"f"),n,(s,o)=>o.priority-s.priority);gn(this,dr,"f").splice(i,0,n)}dequeue(){let e=gn(this,dr,"f").shift();return e?.run}filter(e){return gn(this,dr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return gn(this,dr,"f").length}};dr=new WeakMap;var Ee=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Be,us,ls,Or,Vo,fs,Oo,Dt,cs,ft,Mo,ht,hs,kr,Fo,Jp,em,nm,tm,rm,Uo,$u,zu,qo,im,Ko,$o=class extends Error{},Nt=class extends sm.default{constructor(e){var r,n,i,s;if(super(),Be.add(this),us.set(this,void 0),ls.set(this,void 0),Or.set(this,0),Vo.set(this,void 0),fs.set(this,void 0),Oo.set(this,0),Dt.set(this,void 0),cs.set(this,void 0),ft.set(this,void 0),Mo.set(this,void 0),ht.set(this,0),hs.set(this,void 0),kr.set(this,void 0),Fo.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:as,...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})`);Ee(this,us,e.carryoverConcurrencyCount,"f"),Ee(this,ls,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Ee(this,Vo,e.intervalCap,"f"),Ee(this,fs,e.interval,"f"),Ee(this,ft,new e.queueClass,"f"),Ee(this,Mo,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Ee(this,Fo,e.throwOnTimeout===!0,"f"),Ee(this,kr,e.autoStart===!1,"f")}get concurrency(){return k(this,hs,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Ee(this,hs,e,"f"),k(this,Be,"m",qo).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,Fo,"f"),...r},new Promise((n,i)=>{k(this,ft,"f").enqueue(async()=>{var s,o,a;Ee(this,ht,(o=k(this,ht,"f"),o++,o),"f"),Ee(this,Or,(a=k(this,Or,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new $o("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Vu(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Be,"m",im).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof os&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Be,"m",nm).call(this)}},r),this.emit("add"),k(this,Be,"m",Uo).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,kr,"f")?(Ee(this,kr,!1,"f"),k(this,Be,"m",qo).call(this),this):this}pause(){Ee(this,kr,!0,"f")}clear(){Ee(this,ft,new(k(this,Mo,"f")),"f")}async onEmpty(){k(this,ft,"f").size!==0&&await k(this,Be,"m",Ko).call(this,"empty")}async onSizeLessThan(e){k(this,ft,"f").size<e||await k(this,Be,"m",Ko).call(this,"next",()=>k(this,ft,"f").size<e)}async onIdle(){k(this,ht,"f")===0&&k(this,ft,"f").size===0||await k(this,Be,"m",Ko).call(this,"idle")}get size(){return k(this,ft,"f").size}sizeBy(e){return k(this,ft,"f").filter(e).length}get pending(){return k(this,ht,"f")}get isPaused(){return k(this,kr,"f")}};us=new WeakMap,ls=new WeakMap,Or=new WeakMap,Vo=new WeakMap,fs=new WeakMap,Oo=new WeakMap,Dt=new WeakMap,cs=new WeakMap,ft=new WeakMap,Mo=new WeakMap,ht=new WeakMap,hs=new WeakMap,kr=new WeakMap,Fo=new WeakMap,Be=new WeakSet,Jp=function(){return k(this,ls,"f")||k(this,Or,"f")<k(this,Vo,"f")},em=function(){return k(this,ht,"f")<k(this,hs,"f")},nm=function(){var e;Ee(this,ht,(e=k(this,ht,"f"),e--,e),"f"),k(this,Be,"m",Uo).call(this),this.emit("next")},tm=function(){k(this,Be,"m",zu).call(this),k(this,Be,"m",$u).call(this),Ee(this,cs,void 0,"f")},rm=function(){let e=Date.now();if(k(this,Dt,"f")===void 0){let r=k(this,Oo,"f")-e;if(r<0)Ee(this,Or,k(this,us,"f")?k(this,ht,"f"):0,"f");else return k(this,cs,"f")===void 0&&Ee(this,cs,setTimeout(()=>{k(this,Be,"m",tm).call(this)},r),"f"),!0}return!1},Uo=function(){if(k(this,ft,"f").size===0)return k(this,Dt,"f")&&clearInterval(k(this,Dt,"f")),Ee(this,Dt,void 0,"f"),this.emit("empty"),k(this,ht,"f")===0&&this.emit("idle"),!1;if(!k(this,kr,"f")){let e=!k(this,Be,"a",rm);if(k(this,Be,"a",Jp)&&k(this,Be,"a",em)){let r=k(this,ft,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Be,"m",$u).call(this),!0):!1}}return!1},$u=function(){k(this,ls,"f")||k(this,Dt,"f")!==void 0||(Ee(this,Dt,setInterval(()=>{k(this,Be,"m",zu).call(this)},k(this,fs,"f")),"f"),Ee(this,Oo,Date.now()+k(this,fs,"f"),"f"))},zu=function(){k(this,Or,"f")===0&&k(this,ht,"f")===0&&k(this,Dt,"f")&&(clearInterval(k(this,Dt,"f")),Ee(this,Dt,void 0,"f")),Ee(this,Or,k(this,us,"f")?k(this,ht,"f"):0,"f"),k(this,Be,"m",qo).call(this)},qo=function(){for(;k(this,Be,"m",Uo).call(this););},im=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new $o("The task was aborted."))},{once:!0})})},Ko=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Hu=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Gu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},om=t=>globalThis.DOMException===void 0?new Gu(t):new DOMException(t),am=t=>{let e=t.reason===void 0?om("This operation was aborted."):t.reason;return e instanceof Error?e:om(e)};function Yu(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:h}=e;h.aborted&&l(am(h)),h.addEventListener("abort",()=>{l(am(h))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new Hu;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(h){l(h)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(h){l(h)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}var Wu="lock:worker:request-read",Qu="lock:worker:release-read",Xu="lock:master:grant-read",Zu="lock:worker:request-write",ju="lock:worker:release-write",Ju="lock:master:grant-write";var Mr={},ai=t=>{t.addEventListener("message",e=>{ai.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{ai.dispatchEvent("message",t,e)})};ai.addEventListener=(t,e)=>{Mr[t]==null&&(Mr[t]=[]),Mr[t].push(e)};ai.removeEventListener=(t,e)=>{Mr[t]!=null&&(Mr[t]=Mr[t].filter(r=>r===e))};ai.dispatchEvent=function(t,e,r){Mr[t]!=null&&Mr[t].forEach(n=>n(e,r))};var el=ai;var cm=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)}))}}))},um=(t,e,r,n)=>async()=>{let i=bo();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},UE={singleProcess:!1},lm=t=>{if(t=Object.assign({},UE,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return el.addEventListener("message",cm(r,"requestReadLock",Wu,Qu,Xu)),el.addEventListener("message",cm(r,"requestWriteLock",Zu,ju,Ju)),r}return{isWorker:!0,readLock:r=>um(r,Wu,Xu,Qu),writeLock:r=>um(r,Zu,Ju,ju)}};var xn={},Fr;async function tl(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await Yu((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var KE=(t,e)=>{if(Fr.isWorker===!0)return{readLock:Fr.readLock(t,e),writeLock:Fr.writeLock(t,e)};let r=new Nt({concurrency:1}),n;return{async readLock(){if(n!=null)return await tl(n,e);n=new Nt({concurrency:e.concurrency,autoStart:!1});let i=n,s=tl(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await s},async writeLock(){return n=null,await tl(r,e)}}},VE={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function rl(t){let e=Object.assign({},VE,t);return Fr==null&&(Fr=lm(e),Fr.isWorker!==!0&&(Fr.addEventListener("requestReadLock",r=>{xn[r.data.name]!=null&&xn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Fr.addEventListener("requestWriteLock",async r=>{xn[r.data.name]!=null&&xn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),xn[e.name]==null&&(xn[e.name]=KE(e.name,e)),xn[e.name]}var He={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var ci;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=ze((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>$e(o,i.codec()),i.decode=o=>qe(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=ze((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),Ho.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=Ho.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>$e(o,i.codec()),i.decode=o=>qe(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=ze((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),zo.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(zo.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>$e(i,t.codec()),t.decode=i=>qe(i,t.codec())})(ci||(ci={}));var zo;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(zo||(zo={}));var Ho;(function(t){let e;t.codec=()=>(e==null&&(e=ze((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>$e(r,t.codec()),t.decode=r=>qe(r,t.codec())})(Ho||(Ho={}));function ui(t,e){let r=ci.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Gd({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:Ne(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var nl="/peers/";function li(t){if(!Eo(t)||t.type==null)throw new E("Invalid PeerId",He.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Se(`${nl}${e}`)}async function fm(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ne(i.multiaddr)),!yn(i.multiaddr))throw new E("Multiaddr was invalid",He.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Yo(t,e,r,n){if(e==null)throw new E("Invalid PeerData",He.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!ve(e.publicKey,t.publicKey))throw new E("publicKey bytes do not match peer id publicKey bytes",He.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new E("peer id did not match existing peer id",He.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Go(f,{validate:hm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Go(f,{validate:dm,map:pm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[h,d]of f)d==null?a.delete(h):a.set(h,d);a=Go([...a.entries()],{validate:hm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),h=new Map(c);for(let[d,p]of f)p==null?h.delete(d):h.set(d,p);c=Go([...h.entries()],{validate:dm,map:pm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await fm(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,h)=>f.localeCompare(h)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Go(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function hm(t,e){if(typeof t!="string")throw new E("Metadata key must be a string",He.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new E("Metadata value must be a Uint8Array",He.ERR_INVALID_PARAMETERS)}function dm(t,e){if(typeof t!="string")throw new E("Tag name must be a string",He.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new E("Tag value must be an integer",He.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new E("Tag value must be between 0-100",He.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new E("Tag ttl must be an integer",He.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new E("Tag ttl must be between greater than 0",He.ERR_INVALID_PARAMETERS)}}function pm(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Wo(t,e,r){let n=t.toString().split("/")[2],i=st.decode(n),s=jn(i),o=r.get(s);if(o!=null)return o;let a=ui(s,e);return r.set(s,a),a}function qE(t,e){return t==null?{}:{prefix:nl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Wo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Wo(n.key,n.value,e),Wo(i.key,i.value,e)))}}var Qo=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=rl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(li(e))}async delete(e){if(this.peerId.equals(e))throw new E("Cannot delete self peer",He.ERR_INVALID_PARAMETERS);await this.datastore.delete(li(e))}async load(e){let r=await this.datastore.get(li(e));return ui(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Yo(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Yo(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Yo(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,s,n,i)}async*all(e){let r=new Bt;for await(let{key:n,value:i}of this.datastore.query(qE(e??{},r))){let s=Wo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(li(e)),n=ui(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let s=ci.encode(r);return n!=null&&ve(s,n)?{peer:ui(e,s),previous:i,updated:!1}:(await this.datastore.put(li(e),s),{peer:ui(e,s),previous:i,updated:!0})}};var fe=G("libp2p:peer-store"),Xo=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Qo(e,r)}async forEach(e,r){fe.trace("forEach await read lock");let n=await this.store.lock.readLock();fe.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{fe.trace("forEach release read lock"),n()}}async all(e){fe.trace("all await read lock");let r=await this.store.lock.readLock();fe.trace("all got read lock");try{return await is(this.store.all(e))}finally{fe.trace("all release read lock"),r()}}async delete(e){fe.trace("delete await write lock");let r=await this.store.lock.writeLock();fe.trace("delete got write lock");try{await this.store.delete(e)}finally{fe.trace("delete release write lock"),r()}}async has(e){fe.trace("has await read lock");let r=await this.store.lock.readLock();fe.trace("has got read lock");try{return await this.store.has(e)}finally{fe.trace("has release read lock"),r()}}async get(e){fe.trace("get await read lock");let r=await this.store.lock.readLock();fe.trace("get got read lock");try{return await this.store.load(e)}finally{fe.trace("get release read lock"),r()}}async save(e,r){fe.trace("save await write lock");let n=await this.store.lock.writeLock();fe.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{fe.trace("save release write lock"),n()}}async patch(e,r){fe.trace("patch await write lock");let n=await this.store.lock.writeLock();fe.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{fe.trace("patch release write lock"),n()}}async merge(e,r){fe.trace("merge await write lock");let n=await this.store.lock.writeLock();fe.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{fe.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await fr.openAndCertify(e,jt.DOMAIN);if(r?.equals(n.peerId)===!1)return fe("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=jt.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await fr.createFromProtobuf(s.peerRecordEnvelope),a=jt.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return fe("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function $E(t){return t[Symbol.asyncIterator]!=null}function zE(t){if($E(t))return(async()=>{for await(let e of t);})();for(let e of t);}var il=zE;function HE(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Zo=HE;function GE(t){return t[Symbol.asyncIterator]!=null}function YE(t,e){if(GE(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Zo(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var kt=YE;function WE(t){return t[Symbol.asyncIterator]!=null}function QE(t,e){return WE(t)?async function*(){yield*(await is(t)).sort(e)}():function*(){yield*is(t).sort(e)}()}var sl=QE;function XE(t){return t[Symbol.asyncIterator]!=null}function ZE(t,e){return XE(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var ol=ZE;var jo=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await il(this.putMany(e,n)),e=[],await il(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=kt(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>kt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>sl(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=kt(n,()=>i++>=s)}return e.limit!=null&&(n=ol(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=kt(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>kt(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>sl(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=kt(n,()=>s++>=i)}return e.limit!=null&&(n=ol(n,e.limit)),n}};var gm=V(al(),1);function xm(t){return t=t??new Error("Not Found"),(0,gm.default)(t,"ERR_NOT_FOUND")}var Jo=class extends jo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw xm();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Se(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Se(e)}};function wm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var eb=G("libp2p:address-manager"),tb=t=>t;function cl(t,e){let r=t.getPeerId();return r!=null&&ie(r).equals(e)&&(t=t.decapsulate(Ne(`/p2p/${e.toString()}`))),t}var ea=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??tb,this._updatePeerStoreAddresses=wm(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ne(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{eb.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ne(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ne(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ne(e))}addObservedAddr(e){e=cl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=cl(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=cl(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ne(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function vm(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var ul=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>vm(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},rb=["metrics","connectionProtector"],nb=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Em(t={}){let e=new ul(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!nb.includes(i)){let o=e.components[i];if(o==null&&!rb.includes(i))throw new E(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var Cm=V(bm(),1);var _m="[a-fA-F\\d:]",Ur=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${_m})|(?<=${_m})(?=\\s|$))`:"",Ot="(?: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}",Pe="[a-fA-F\\d]{1,4}",ta=`
35
+ expire = ${s}
36
+ RETURNING points, expire;`,values:[e,r,o,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
37
+ SELECT points, expire FROM ${this.tableName} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this.tableName} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};l1.exports=Kf});var h1=B(()=>{});var p1=B((qD,d1)=>{d1.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var y1=B(($D,m1)=>{var YI=p1(),Vf=gt();m1.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return i!==0?(this._storage[e].value=this._storage[e].value+r,new Vf(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new YI(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new Vf(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new Vf(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var zf=B((HD,x1)=>{var WI=Ho(),QI=y1(),g1=gt(),qf=class extends WI{constructor(e={}){super(e),this._memoryStorage=new QI}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(s,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(s,c.consumedPoints,this.blockDuration)),o(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(o=>{let s=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,s);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),o(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new g1(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new g1(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};x1.exports=qf});var A1=B((GD,S1)=>{var w1=h1(),XI=rn(),ZI=Ho(),v1=zf(),jI=gt(),St="rate_limiter_flexible",Ui=null,b1=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:St,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},E1=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&E1.call(this,t)},30)},Oi=function(t,e,r,n,i){let o={channel:St,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(o):E1.call(this,o)},_1=function(t,e){if(!e||e.channel!==St||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{b1(t,e,"resolve",n)}).catch(n=>{b1(t,e,"reject",n)})},JI=function(t){if(!t||t.channel!==St||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new jI(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},eR=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},Mi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=XI.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},$f=class{constructor(){if(Ui)return Ui;this._rateLimiters={},w1.setMaxListeners(0),w1.on("message",(e,r)=>{r&&r.channel===St&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new v1(r.opts)),e.send({channel:St,type:"init",keyPrefix:r.opts.keyPrefix})):_1.call(this,e,r)}),Ui=this}},Hf=class{constructor(e){if(Ui)return Ui;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let o=i.raw;if(o&&o.channel===St&&o.type==="init")typeof this._rateLimiters[o.opts.keyPrefix]>"u"&&(this._rateLimiters[o.opts.keyPrefix]=new v1(o.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:St,channel:St,type:"init",keyPrefix:o.opts.keyPrefix},(s,a)=>{s&&console.log(s,a)});else{let s={send:a=>{let c=a;c.topic=St,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};_1.call(this,s,o)}})}),Ui=this}},Gf=class extends ZI{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===St&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:JI.call(this,r)}),process.send({channel:St,type:"init",opts:eR.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"consume",s,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"penalty",s,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"reward",s,e,r,n)})}block(e,r,n={}){return new Promise((i,o)=>{let s=Mi.call(this,i,o);Oi.call(this,"block",s,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"get",o,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let o=Mi.call(this,n,i);Oi.call(this,"delete",o,e,r)})}};S1.exports={RateLimiterClusterMaster:$f,RateLimiterClusterMasterPM2:Hf,RateLimiterCluster:Gf}});var R1=B((YD,I1)=>{var tR=ki(),rR=gt(),Yf=class extends tR{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new rR;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,o={}){return new Promise((s,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof o.attemptNumber>"u"||o.attemptNumber<3){let h=Object.assign({},o);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>s(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};s(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};s(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(o,s)=>{s?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:s,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,o)=>{i?n(i):o===!1?r(o):this.client.del(`${e}_expire`,s=>{s?n(s):r(o)})})})}};I1.exports=Yf});var B1=B((QD,T1)=>{var C1=gt();T1.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new C1(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new C1(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var P1=B((ZD,L1)=>{var nR=Ho();L1.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof nR))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let o=[];this._limiters.forEach(s=>{o.push(s.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(o).then(s=>{let a={},c=!1;s.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<s.length;u++)c&&s[u].rejected===!0?a[this._limiters[u].keyPrefix]=s[u].rej:c||(a[this._limiters[u].keyPrefix]=s[u]);c?i(a):n(a)})})}}});var N1=B((JD,D1)=>{D1.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var U1=B((tN,M1)=>{var k1=N1(),O1=4294967295,Wf="limiter";M1.exports=class{constructor(e,r={maxQueueSize:O1}){this._queueLimiters={KEY_DEFAULT:new Ua(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=Wf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=Wf){return this._queueLimiters[r]||(this._queueLimiters[r]=new Ua(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Ua=class{constructor(e,r={maxQueueSize:O1,key:Wf}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new k1(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(o=>{n(o.remainingPoints)}).catch(o=>{o instanceof Error?i(o):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),o.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new k1(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var K1=B((nN,F1)=>{var Qf=gt();F1.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return new Qf(e.remainingPoints,Math.min(e.msBeforeNext,r.msBeforeNext),e.consumedPoints,e.isFirstInDuration)}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Qf?this._burstLimiter.consume(e,r,n).then(o=>Promise.resolve(this._combineRes(i,o))).catch(o=>o instanceof Qf?Promise.reject(this._combineRes(i,o)):Promise.reject(o)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var q1=B((iN,V1)=>{var iR=i1(),oR=a1(),sR=u1(),aR=f1(),{RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR}=A1(),fR=zf(),hR=R1(),dR=B1(),pR=P1(),mR=U1(),yR=K1(),gR=gt();V1.exports={RateLimiterRedis:iR,RateLimiterMongo:oR,RateLimiterMySQL:sR,RateLimiterPostgres:aR,RateLimiterMemory:fR,RateLimiterMemcache:hR,RateLimiterClusterMaster:cR,RateLimiterClusterMasterPM2:uR,RateLimiterCluster:lR,RLWrapperBlackAndWhite:dR,RateLimiterUnion:pR,RateLimiterQueue:mR,BurstyRateLimiter:yR,RateLimiterRes:gR}});var XR={};$(XR,{createLibp2p:()=>QR});var sx=z(Hi(),1);var BT=z(Qi(),1),LT=z(G0(),1);var Ss=class extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=Ss.code,this.type=Ss.type}},Cr=Ss;wt(Cr,"code","ABORT_ERR"),wt(Cr,"type","aborted");var v=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ys=z(ae(),1);function an(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Mc={};$(Mc,{identity:()=>X2});function H2(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var G2=H2,Y2=G2,Y0=Y2;var C4=new Uint8Array(0);var W0=(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},ur=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Q0=t=>new TextEncoder().encode(t),X0=t=>new TextDecoder().decode(t);var Dc=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")}},Nc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return j0(this,e)}},kc=class{constructor(e){this.decoders=e}or(e){return j0(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`)}},j0=(t,e)=>new kc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Oc=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Dc(e,r,n),this.decoder=new Nc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zn=({name:t,prefix:e,encode:r,decode:n})=>new Oc(t,e,r,n),Tr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=Y0(r,e);return zn({prefix:t,name:e,encode:n,decode:o=>ur(i(o))})},W2=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Q2=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ae=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zn({prefix:e,name:t,encode(i){return Q2(i,n,r)},decode(i){return W2(i,n,r,t)}});var X2=zn({prefix:"\0",name:"identity",encode:t=>X0(t),decode:t=>Q0(t)});var Uc={};$(Uc,{base2:()=>Z2});var Z2=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fc={};$(Fc,{base8:()=>j2});var j2=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kc={};$(Kc,{base10:()=>J2});var J2=Tr({prefix:"9",name:"base10",alphabet:"0123456789"});var Vc={};$(Vc,{base16:()=>eb,base16upper:()=>tb});var eb=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),tb=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qc={};$(qc,{base32:()=>$n,base32hex:()=>ob,base32hexpad:()=>ab,base32hexpadupper:()=>cb,base32hexupper:()=>sb,base32pad:()=>nb,base32padupper:()=>ib,base32upper:()=>rb,base32z:()=>ub});var $n=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),rb=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),nb=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ib=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ob=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),sb=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ab=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cb=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ub=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zc={};$(zc,{base36:()=>lb,base36upper:()=>fb});var lb=Tr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fb=Tr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var $c={};$($c,{base58btc:()=>Yt,base58flickr:()=>hb});var Yt=Tr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),hb=Tr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hc={};$(Hc,{base64:()=>db,base64pad:()=>pb,base64url:()=>mb,base64urlpad:()=>yb});var db=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pb=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),mb=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),yb=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Gc={};$(Gc,{base256emoji:()=>vb});var J0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),gb=J0.reduce((t,e,r)=>(t[r]=e,t),[]),xb=J0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function wb(t){return t.reduce((e,r)=>(e+=gb[r],e),"")}function bb(t){let e=[];for(let r of t){let n=xb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var vb=zn({prefix:"\u{1F680}",name:"base256emoji",encode:wb,decode:bb});var Xc={};$(Xc,{sha256:()=>Kb,sha512:()=>Vb});var Eb=rd,ed=128,_b=127,Sb=~_b,Ab=Math.pow(2,31);function rd(t,e,r){e=e||[],r=r||0;for(var n=r;t>=Ab;)e[r++]=t&255|ed,t/=128;for(;t&Sb;)e[r++]=t&255|ed,t>>>=7;return e[r]=t|0,rd.bytes=r-n+1,e}var Ib=Yc,Rb=128,td=127;function Yc(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Yc.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&td)<<i:(s&td)*Math.pow(2,i),i+=7}while(s>=Rb);return Yc.bytes=o-n,r}var Cb=Math.pow(2,7),Tb=Math.pow(2,14),Bb=Math.pow(2,21),Lb=Math.pow(2,28),Pb=Math.pow(2,35),Db=Math.pow(2,42),Nb=Math.pow(2,49),kb=Math.pow(2,56),Ob=Math.pow(2,63),Mb=function(t){return t<Cb?1:t<Tb?2:t<Bb?3:t<Lb?4:t<Pb?5:t<Db?6:t<Nb?7:t<kb?8:t<Ob?9:10},Ub={encode:Eb,decode:Ib,encodingLength:Mb},Fb=Ub,ji=Fb;var Ji=(t,e=0)=>[ji.decode(t,e),ji.decode.bytes],Hn=(t,e,r=0)=>(ji.encode(t,e,r),e),Gn=t=>ji.encodingLength(t);var cn=(t,e)=>{let r=e.byteLength,n=Gn(t),i=n+Gn(r),o=new Uint8Array(i+r);return Hn(t,o,0),Hn(r,o,n),o.set(e,i),new Yn(t,r,e,o)},nd=t=>{let e=ur(t),[r,n]=Ji(e),[i,o]=Ji(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Yn(r,i,s,e)},id=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&W0(t.bytes,r.bytes)}},Yn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Qc=({name:t,code:e,encode:r})=>new Wc(t,e,r),Wc=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?cn(this.code,r):r.then(n=>cn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var sd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Kb=Qc({name:"sha2-256",code:18,encode:sd("SHA-256")}),Vb=Qc({name:"sha2-512",code:19,encode:sd("SHA-512")});var Zc={};$(Zc,{identity:()=>$b});var ad=0,qb="identity",cd=ur,zb=t=>cn(ad,cd(t)),$b={code:ad,name:qb,encode:cd,digest:zb};var Q4=new TextEncoder,X4=new TextDecoder;var ud=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Wb(r,jc(t),e||Yt.encoder);default:return Qb(r,jc(t),e||$n.encoder)}};var ld=new WeakMap,jc=t=>{let e=ld.get(t);if(e==null){let r=new Map;return ld.set(t,r),r}return e},Oe=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==to)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Xb)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Oe.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=cn(e,r);return Oe.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return Oe.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&id(e.multihash,n.multihash)}toString(e){return ud(this,e)}toJSON(){return{"/":ud(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof Oe)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new Oe(n,i,o,s||fd(n,i,o.bytes))}else if(r[Zb]===!0){let{version:n,multihash:i,code:o}=r,s=nd(i);return Oe.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==to)throw new Error(`Version 0 CID must use dag-pb (code: ${to}) block encoding`);return new Oe(e,r,n,n.bytes)}case 1:{let i=fd(e,r,n.bytes);return new Oe(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return Oe.create(0,to,e)}static createV1(e,r){return Oe.create(1,e,r)}static decode(e){let[r,n]=Oe.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=Oe.inspectBytes(e),n=r.size-r.multihashSize,i=ur(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Yn(r.multihashCode,r.digestSize,o,i);return[r.version===0?Oe.createV0(s):Oe.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Ji(e.subarray(r));return r+=d,f},i=n(),o=to;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=Yb(e,r),o=Oe.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return jc(o).set(n,e),o}},Yb=(t,e)=>{switch(t[0]){case"Q":{let r=e||Yt;return[Yt.prefix,r.decode(`${Yt.prefix}${t}`)]}case Yt.prefix:{let r=e||Yt;return[Yt.prefix,r.decode(t)]}case $n.prefix:{let r=e||$n;return[$n.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)]}}},Wb=(t,e,r)=>{let{prefix:n}=r;if(n!==Yt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Qb=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},to=112,Xb=18,fd=(t,e,r)=>{let n=Gn(t),i=n+Gn(e),o=new Uint8Array(i+r.byteLength);return Hn(t,o,0),Hn(e,o,n),o.set(r,i),o},Zb=Symbol.for("@ipld/js-cid/CID");var Jc={...Mc,...Uc,...Fc,...Kc,...Vc,...qc,...zc,...$c,...Hc,...Gc},sC={...Xc,...Zc};function lr(t=0){return globalThis.Buffer?.alloc!=null?an(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ct(t=0){return globalThis.Buffer?.allocUnsafe!=null?an(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function dd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hd=dd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),eu=dd("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=Ct(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),jb={utf8:hd,"utf-8":hd,hex:Jc.base16,latin1:eu,ascii:eu,binary:eu,...Jc},Is=jb;function V(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?an(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Fu={};$(Fu,{Ed25519PrivateKey:()=>pn,Ed25519PublicKey:()=>fo,generateKeyPair:()=>sE,generateKeyPairFromSeed:()=>Dp,unmarshalEd25519PrivateKey:()=>iE,unmarshalEd25519PublicKey:()=>oE});var ou={};$(ou,{base58btc:()=>$e,base58flickr:()=>iv});function Jb(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var ev=Jb,tv=ev,pd=tv;var gC=new Uint8Array(0);var md=(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},fr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var yd=t=>new TextEncoder().encode(t),gd=t=>new TextDecoder().decode(t);var tu=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")}},ru=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return wd(this,e)}},nu=class{constructor(e){this.decoders=e}or(e){return wd(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`)}},wd=(t,e)=>new nu({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),iu=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new tu(e,r,n),this.decoder=new ru(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Wn=({name:t,prefix:e,encode:r,decode:n})=>new iu(t,e,r,n),Br=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=pd(r,e);return Wn({prefix:t,name:e,encode:n,decode:o=>fr(i(o))})},rv=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},nv=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ie=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Wn({prefix:e,name:t,encode(i){return nv(i,n,r)},decode(i){return rv(i,n,r,t)}});var $e=Br({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iv=Br({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var au={};$(au,{identity:()=>Lr});var ov=Ed,bd=128,sv=127,av=~sv,cv=Math.pow(2,31);function Ed(t,e,r){e=e||[],r=r||0;for(var n=r;t>=cv;)e[r++]=t&255|bd,t/=128;for(;t&av;)e[r++]=t&255|bd,t>>>=7;return e[r]=t|0,Ed.bytes=r-n+1,e}var uv=su,lv=128,vd=127;function su(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw su.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&vd)<<i:(s&vd)*Math.pow(2,i),i+=7}while(s>=lv);return su.bytes=o-n,r}var fv=Math.pow(2,7),hv=Math.pow(2,14),dv=Math.pow(2,21),pv=Math.pow(2,28),mv=Math.pow(2,35),yv=Math.pow(2,42),gv=Math.pow(2,49),xv=Math.pow(2,56),wv=Math.pow(2,63),bv=function(t){return t<fv?1:t<hv?2:t<dv?3:t<pv?4:t<mv?5:t<yv?6:t<gv?7:t<xv?8:t<wv?9:10},vv={encode:ov,decode:uv,encodingLength:bv},Ev=vv,ro=Ev;var no=(t,e=0)=>[ro.decode(t,e),ro.decode.bytes],Qn=(t,e,r=0)=>(ro.encode(t,e,r),e),Xn=t=>ro.encodingLength(t);var Wt=(t,e)=>{let r=e.byteLength,n=Xn(t),i=n+Xn(r),o=new Uint8Array(i+r);return Qn(t,o,0),Qn(r,o,n),o.set(e,i),new Zn(t,r,e,o)},io=t=>{let e=fr(t),[r,n]=no(e),[i,o]=no(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Zn(r,i,s,e)},_d=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&md(t.bytes,r.bytes)}},Zn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Sd=0,_v="identity",Ad=fr,Sv=t=>Wt(Sd,Ad(t)),Lr={code:Sd,name:_v,encode:Ad,digest:Sv};var lu={};$(lu,{sha256:()=>He,sha512:()=>Av});var uu=({name:t,code:e,encode:r})=>new cu(t,e,r),cu=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?Wt(this.code,r):r.then(n=>Wt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Rd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),He=uu({name:"sha2-256",code:18,encode:Rd("SHA-256")}),Av=uu({name:"sha2-512",code:19,encode:Rd("SHA-512")});function Ee(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 Iv=z(rn(),1);var qe=BigInt(0),Z=BigInt(1),Nr=BigInt(2),Rv=BigInt(8),Cd=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pe=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Cd,n:Cd,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var Dd=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),oo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),CC=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Cv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Tv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Bv=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Lv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof xe))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(xe.ZERO)?Q.ZERO:new Q(e.x,e.y,Z,A(e.x*e.y))}static toAffineBatch(e){let r=Nv(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}equals(e){Bd(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=A(r*a),u=A(o*i),l=A(n*a),f=A(s*i);return c===u&&l===f}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:e,y:r,z:n}=this,{a:i}=pe,o=A(e*e),s=A(r*r),a=A(Nr*A(n*n)),c=A(i*o),u=e+r,l=A(A(u*u)-o-s),f=c+s,d=f-a,p=c-s,h=A(l*d),m=A(f*p),y=A(l*p),g=A(d*f);return new Q(h,m,g,y)}add(e){Bd(e);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=e,l=A((n-r)*(a+s)),f=A((n+r)*(a-s)),d=A(f-l);if(d===qe)return this.double();let p=A(i*Nr*u),h=A(o*Nr*c),m=h+p,y=f+l,g=h-p,x=A(m*d),E=A(y*g),T=A(m*g),I=A(d*y);return new Q(x,E,I,T)}subtract(e){return this.add(e.negate())}precomputeWindow(e){let r=1+256/e,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(Q.BASE)&&(r=xe.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&&mu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),mu.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=Z);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(Td(g,i[m])):o=o.add(Td(x,i[y]))}return Q.normalizeZ([o,s])[0]}multiply(e,r){return this.wNAF(Ts(e,pe.l),r)}multiplyUnsafe(e){let r=Ts(e,pe.l,!1),n=Q.BASE,i=Q.ZERO;if(r===qe)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>qe;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pe.h).equals(Q.ZERO)}isTorsionFree(){let e=this.multiplyUnsafe(pe.l/Nr).double();return pe.l%Nr&&(e=e.add(this)),e.equals(Q.ZERO)}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);e==null&&(e=o?Rv:Bs(i));let s=A(r*e),a=A(n*e),c=A(i*e);if(o)return xe.ZERO;if(c!==Z)throw new Error("invZ was invalid");return new xe(s,a)}fromRistrettoBytes(){hu()}toRistrettoBytes(){hu()}fromRistrettoHash(){hu()}};Q.BASE=new Q(pe.Gx,pe.Gy,Z,A(pe.Gx*pe.Gy));Q.ZERO=new Q(qe,Z,Z,qe);function Td(t,e){let r=e.negate();return t?r:e}function Bd(t){if(!(t instanceof Q))throw new TypeError("ExtendedPoint expected")}function fu(t){if(!(t instanceof ot))throw new TypeError("RistrettoPoint expected")}function hu(){throw new Error("Legacy method: switch to RistrettoPoint")}var ot=class{constructor(e){this.ep=e}static calcElligatorRistrettoMap(e){let{d:r}=pe,n=A(oo*e*e),i=A((n+Z)*Bv),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:c}=gu(i,s),u=A(c*e);Dr(u)||(u=A(-u)),a||(c=u),a||(o=n);let l=A(o*(n-Z)*Lv-s),f=c*c,d=A((c+c)*s),p=A(l*Cv),h=A(Z-f),m=A(Z+f);return new Q(A(d*m),A(h*p),A(p*m),A(d*h))}static hashToCurve(e){e=kr(e,64);let r=du(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=du(e.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new ot(n.add(o))}static fromHex(e){e=kr(e,32);let{a:r,d:n}=pe,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=du(e);if(!Ov(so(o),e)||Dr(o))throw new Error(i);let s=A(o*o),a=A(Z+r*s),c=A(Z-r*s),u=A(a*a),l=A(c*c),f=A(r*n*u-l),{isValid:d,value:p}=Pd(A(f*l)),h=A(p*c),m=A(p*h*f),y=A((o+o)*h);Dr(y)&&(y=A(-y));let g=A(a*m),x=A(y*g);if(!d||Dr(x)||g===qe)throw new Error(i);return new ot(new Q(y,g,Z,x))}toRawBytes(){let{x:e,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(e*r),a=A(s*s),{value:c}=Pd(A(o*a)),u=A(c*o),l=A(c*s),f=A(u*l*i),d;if(Dr(i*f)){let h=A(r*oo),m=A(e*oo);e=h,r=m,d=A(u*Tv)}else d=l;Dr(e*f)&&(r=A(-r));let p=A((n-r)*d);return Dr(p)&&(p=A(-p)),so(p)}toHex(){return ao(this.toRawBytes())}toString(){return this.toHex()}equals(e){fu(e);let r=this.ep,n=e.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(e){return fu(e),new ot(this.ep.add(e.ep))}subtract(e){return fu(e),new ot(this.ep.subtract(e.ep))}multiply(e){return new ot(this.ep.multiply(e))}multiplyUnsafe(e){return new ot(this.ep.multiplyUnsafe(e))}};ot.BASE=new ot(Q.BASE);ot.ZERO=new ot(Q.ZERO);var mu=new WeakMap,xe=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,mu.delete(this)}static fromHex(e,r=!0){let{d:n,P:i}=pe;e=kr(e,32);let o=e.slice();o[31]=e[31]&-129;let s=co(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=Dd)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),c=A(a-Z),u=A(n*a+Z),{isValid:l,value:f}=gu(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&Z)===Z;return(e[31]&128)!==0!==d&&(f=A(-f)),new xe(f,s)}static async fromPrivateKey(e){return(await Ls(e)).point}toRawBytes(){let e=so(this.y);return e[31]|=this.x&Z?128:0,e}toHex(){return ao(this.toRawBytes())}toX25519(){let{y:e}=this,r=A((Z+e)*Bs(Z-e));return so(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new xe(A(-this.x),this.y)}add(e){return Q.fromAffine(this).add(Q.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Q.fromAffine(this).multiply(e,this).toAffine()}};xe.BASE=new xe(pe.Gx,pe.Gy);xe.ZERO=new xe(qe,Z);var un=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromHex(e){let r=kr(e,64),n=xe.fromHex(r.slice(0,32),!1),i=co(r.slice(32,64));return new un(n,i)}assertValidity(){let{r:e,s:r}=this;if(!(e instanceof xe))throw new Error("Expected Point instance");return Ts(r,pe.l,!1),this}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(so(this.s),32),e}toHex(){return ao(this.toRawBytes())}};function Ld(...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 o=t[n];r.set(o,i),i+=o.length}return r}var Pv=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ao(t){if(!(t instanceof Uint8Array))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Pv[t[r]];return e}function yu(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),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Nd(t){let r=t.toString(16).padStart(64,"0");return yu(r)}function so(t){return Nd(t).reverse()}function Dr(t){return(A(t)&Z)===Z}function co(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+ao(Uint8Array.from(t).reverse()))}var Dv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function du(t){return A(co(t)&Dv)}function A(t,e=pe.P){let r=t%e;return r>=qe?r:e+r}function Bs(t,e=pe.P){if(t===qe||e<=qe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=A(t,e),n=e,i=qe,o=Z,s=Z,a=qe;for(;r!==qe;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==Z)throw new Error("invert: does not exist");return A(i,e)}function Nv(t,e=pe.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===qe?o:(r[a]=o,A(o*s,e)),Z),i=Bs(n,e);return t.reduceRight((o,s,a)=>s===qe?o:(r[a]=A(o*r[a],e),A(o*s,e)),i),r}function Qt(t,e){let{P:r}=pe,n=t;for(;e-- >qe;)n*=n,n%=r;return n}function kv(t){let{P:e}=pe,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=t*t%e*t%e,u=Qt(c,Nr)*c%e,l=Qt(u,Z)*t%e,f=Qt(l,r)*l%e,d=Qt(f,n)*f%e,p=Qt(d,i)*d%e,h=Qt(p,o)*p%e,m=Qt(h,s)*h%e,y=Qt(m,s)*h%e,g=Qt(y,n)*f%e;return{pow_p_5_8:Qt(g,Nr)*t%e,b2:c}}function gu(t,e){let r=A(e*e*e),n=A(r*r*e),i=kv(t*n).pow_p_5_8,o=A(t*r*i),s=A(e*o*o),a=o,c=A(o*oo),u=s===t,l=s===A(-t),f=s===A(-t*oo);return u&&(o=a),(l||f)&&(o=c),Dr(o)&&(o=A(-o)),{isValid:u||l,value:o}}function Pd(t){return gu(Z,t)}function Cs(t){return A(co(t),pe.l)}function Ov(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 kr(t,e){let r=t instanceof Uint8Array?Uint8Array.from(t):yu(t);if(typeof e=="number"&&r.length!==e)throw new Error(`Expected ${e} bytes`);return r}function Ts(t,e,r=!0){if(!e)throw new TypeError("Specify max value");if(typeof t=="number"&&Number.isSafeInteger(t)&&(t=BigInt(t)),typeof t=="bigint"&&t<e){if(r){if(qe<t)return t}else if(qe<=t)return t}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Mv(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function Uv(t){if(t=typeof t=="bigint"||typeof t=="number"?Nd(Ts(t,Dd)):kr(t),t.length!==32)throw new Error("Expected 32 bytes");return t}function Fv(t){let e=Mv(t.slice(0,32)),r=t.slice(32,64),n=Cs(e),i=xe.BASE.multiply(n),o=i.toRawBytes();return{head:e,prefix:r,scalar:n,point:i,pointBytes:o}}var pu;async function Ls(t){return Fv(await Or.sha512(Uv(t)))}async function xu(t){return(await Ls(t)).pointBytes}async function kd(t,e){t=kr(t);let{prefix:r,scalar:n,pointBytes:i}=await Ls(e),o=Cs(await Or.sha512(r,t)),s=xe.BASE.multiply(o),a=Cs(await Or.sha512(s.toRawBytes(),i,t)),c=A(o+a*n,pe.l);return new un(s,c).toRawBytes()}function Kv(t,e,r){e=kr(e),r instanceof xe||(r=xe.fromHex(r,!1));let{r:n,s:i}=t instanceof un?t.assertValidity():un.fromHex(t),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:e}}function Vv(t,e,r,n){let i=Cs(n),o=Q.fromAffine(t).multiplyUnsafe(i);return Q.fromAffine(e).add(o).subtract(r).multiplyUnsafe(pe.h).equals(Q.ZERO)}async function Od(t,e,r){let{r:n,SB:i,msg:o,pub:s}=Kv(t,e,r),a=await Or.sha512(n.toRawBytes(),s.toRawBytes(),o);return Vv(s,n,i,a)}xe.BASE._setWindowSize(8);var Pr={node:Iv,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Or={bytesToHex:ao,hexToBytes:yu,concatBytes:Ld,getExtendedPublicKey:Ls,mod:A,invert:Bs,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:t=>{if(t=kr(t),t.length<40||t.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return A(co(t),pe.l-Z)+Z},randomBytes:(t=32)=>{if(Pr.web)return Pr.web.getRandomValues(new Uint8Array(t));if(Pr.node){let{randomBytes:e}=Pr.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Or.randomBytes(32),sha512:async(...t)=>{let e=Ld(...t);if(Pr.web){let r=await Pr.web.subtle.digest("SHA-512",e.buffer);return new Uint8Array(r)}else{if(Pr.node)return Uint8Array.from(Pr.node.createHash("sha512").update(e).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=xe.BASE){let r=e.equals(xe.BASE)?e:new xe(e.x,e.y);return r._setWindowSize(t),r.multiply(Nr),r},sha512Sync:void 0};Object.defineProperties(Or,{sha512Sync:{configurable:!1,get(){return pu},set(t){pu||(pu=t)}}});var Jn=32,hr=64,Ps=32;async function Md(){let t=Or.randomPrivateKey(),e=await xu(t);return{privateKey:Vd(t,e),publicKey:e}}async function Ud(t){if(t.length!==Ps)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 xu(e);return{privateKey:Vd(e,r),publicKey:r}}async function Fd(t,e){let r=t.subarray(0,Ps);return kd(e,r)}async function Kd(t,e,r){return Od(e,r,t)}function Vd(t,e){let r=new Uint8Array(hr);for(let n=0;n<Ps;n++)r[n]=t[n],r[Ps+n]=e[n];return r}var wu={};$(wu,{base64:()=>ln,base64pad:()=>$v,base64url:()=>Hv,base64urlpad:()=>Gv});var ln=Ie({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$v=Ie({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hv=Ie({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gv=Ie({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});function Pe(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ct(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return an(r)}var st={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var bu={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ds(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=st.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=V(d));let y;if(d.length===0){y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},E=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,E,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,f);return Pe([p,m.iv,new Uint8Array(g)])}async function u(f,d){let p=f.subarray(0,o),h=f.subarray(o,o+n),m=f.subarray(o+n),y={name:e,iv:h};typeof d=="string"&&(d=V(d));let g;if(d.length===0)try{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",bu,{name:"AES-GCM"},!0,["decrypt"])}else{let E={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},T=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(E,T,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function ei(t,e){let n=await Ds().encrypt(t,e);return ln.encode(n)}var Du=z(Au(),1),Tp=z(vp(),1),Bp=z(hn(),1),Nu=z(Pu(),1),Lp=z(Cp(),1);function tE(){Bp.default._configure(),Du.default._configure(Tp.default),Nu.default._configure(Lp.default)}tE();var Pp=["uint64","int64","sint64","fixed64","sfixed64"];function rE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(){return BigInt(r.call(this).toString())}}return t}function ku(t){return rE(new Du.default(t))}function nE(t){for(let e of Pp){if(t[e]==null)continue;let r=t[e];t[e]=function(n){return r.call(this,n.toString())}}return t}function Ou(){return nE(Nu.default.create())}function Ge(t,e){let r=ku(t instanceof Uint8Array?t:t.subarray());return e.decode(r)}function Ye(t,e){let r=Ou();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ri;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ri||(ri={}));function Us(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Mu(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return Us("enum",ri.VARINT,r,n)}function We(t,e){return Us("message",ri.LENGTH_DELIMITED,t,e)}var we;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(we||(we={}));var Uu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Uu||(Uu={}));(function(t){t.codec=()=>Mu(Uu)})(we||(we={}));var jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(jt||(jt={}));var Jt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Jt||(Jt={}));var fo=class{_key;constructor(e){this._key=ni(e,Jn)}async verify(e,r){return Kd(this._key,r,e)}marshal(){return this._key}get bytes(){return jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},pn=class{_key;_publicKey;constructor(e,r){this._key=ni(e,hr),this._publicKey=ni(r,Jn)}async sign(e){return Fd(this._key,e)}get public(){return new fo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=Lr.digest(this.public.bytes);return $e.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function iE(t){if(t.length>hr){t=ni(t,hr+Jn);let n=t.subarray(0,hr),i=t.subarray(hr,t.length);return new pn(n,i)}t=ni(t,hr);let e=t.subarray(0,hr),r=t.subarray(Jn);return new pn(e,r)}function oE(t){return t=ni(t,Jn),new fo(t)}async function sE(){let{privateKey:t,publicKey:e}=await Md();return new pn(t,e)}async function Dp(t){let{privateKey:e,publicKey:r}=await Ud(t);return new pn(e,r)}function ni(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new v(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function G(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var E8=z(Le(),1),_8=z(bs(),1),Np=z(ae(),1);function Lt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pe([new Uint8Array(e-r.length),r])}return G(r,"base64url")}function lt(t){let e=kp(t);return new Np.default.jsbn.BigInteger(G(e,"base16"),16)}function kp(t,e){let r=V(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pe([new Uint8Array(e-r.length),r])}return r}var aE={"P-256":256,"P-384":384,"P-521":521},cE=Object.keys(aE),N8=cE.join(" / ");async function Op(t,e){let r=ln.decode(t);return Ds().decrypt(r,e)}var Xu={};$(Xu,{RsaPrivateKey:()=>li,RsaPublicKey:()=>wo,fromJwk:()=>DE,generateKeyPair:()=>NE,unmarshalRsaPrivateKey:()=>LE,unmarshalRsaPublicKey:()=>PE});var xo=z(ae(),1);var xT=z(qp(),1);var lE=z(rn(),1);var j=BigInt(0),ye=BigInt(1),Kr=BigInt(2),mo=BigInt(3),zp=BigInt(8),Re=Object.freeze({a:j,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ye,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),$p=(t,e)=>(t+e/Kr)/e,Ks={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(t){let{n:e}=Re,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ye*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=$p(o*t,e),c=$p(-n*t,e),u=D(t-a*r-c*i,e),l=D(-a*n-c*o,e),f=u>s,d=l>s;if(f&&(u=e-u),d&&(l=e-l),u>s||l>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}},Pt=32,si=32,fE=32,Hp=Pt+1,Gp=2*Pt+1;function Yp(t){let{a:e,b:r}=Re,n=D(t*t),i=D(n*t);return D(i+e*t+r)}var Vs=Re.a===j,$s=class extends Error{constructor(e){super(e)}};function Wp(t){if(!(t instanceof re))throw new TypeError("JacobianPoint expected")}var re=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof ne))throw new TypeError("JacobianPoint#fromAffine: expected Point");return e.equals(ne.ZERO)?re.ZERO:new re(e.x,e.y,ye)}static toAffineBatch(e){let r=yE(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return re.toAffineBatch(e).map(re.fromAffine)}equals(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e,c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c);return l===f&&d===p}negate(){return new re(this.x,D(-this.y),this.z)}double(){let{x:e,y:r,z:n}=this,i=D(e*e),o=D(r*r),s=D(o*o),a=e+o,c=D(Kr*(D(a*a)-i-s)),u=D(mo*i),l=D(u*u),f=D(l-Kr*c),d=D(u*(c-f)-zp*s),p=D(Kr*r*n);return new re(f,d,p)}add(e){Wp(e);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=e;if(o===j||s===j)return this;if(r===j||n===j)return e;let c=D(i*i),u=D(a*a),l=D(r*u),f=D(o*c),d=D(D(n*a)*u),p=D(D(s*i)*c),h=D(f-l),m=D(p-d);if(h===j)return m===j?this.double():re.ZERO;let y=D(h*h),g=D(h*y),x=D(l*y),E=D(m*m-g-Kr*x),T=D(m*(x-E)-d*g),I=D(i*a*h);return new re(E,T,I)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=re.ZERO;if(typeof e=="bigint"&&e===j)return r;let n=Zp(e);if(n===ye)return this;if(!Vs){let f=r,d=this;for(;n>j;)n&ye&&(f=f.add(d)),d=d.double(),n>>=ye;return f}let{k1neg:i,k1:o,k2neg:s,k2:a}=Ks.splitScalar(n),c=r,u=r,l=this;for(;o>j||a>j;)o&ye&&(c=c.add(l)),a&ye&&(u=u.add(l)),l=l.double(),o>>=ye,a>>=ye;return i&&(c=c.negate()),s&&(u=u.negate()),u=new re(D(u.x*Ks.beta),u.y,u.z),c.add(u)}precomputeWindow(e){let r=Vs?128/e+1:256/e+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(e-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(e,r){!r&&this.equals(re.BASE)&&(r=ne.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&&zu.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=re.normalizeZ(i),zu.set(r,i)));let o=re.ZERO,s=re.BASE,a=1+(Vs?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);e>>=f,h>c&&(h-=l,e+=ye);let m=p,y=p+Math.abs(h)-1,g=d%2!==0,x=h<0;h===0?s=s.add(qs(g,i[m])):o=o.add(qs(x,i[y]))}return{p:o,f:s}}multiply(e,r){let n=Zp(e),i,o;if(Vs){let{k1neg:s,k1:a,k2neg:c,k2:u}=Ks.splitScalar(n),{p:l,f}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);l=qs(s,l),d=qs(c,d),d=new re(D(d.x*Ks.beta),d.y,d.z),i=l.add(d),o=f.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return re.normalizeZ([i,o])[0]}toAffine(e){let{x:r,y:n,z:i}=this,o=this.equals(re.ZERO);e==null&&(e=o?zp:ui(i));let s=e,a=D(s*s),c=D(a*s),u=D(r*a),l=D(n*c),f=D(i*s);if(o)return ne.ZERO;if(f!==ye)throw new Error("invZ was invalid");return new ne(u,l)}};re.BASE=new re(Re.Gx,Re.Gy,ye);re.ZERO=new re(j,ye,j);function qs(t,e){let r=e.negate();return t?r:e}var zu=new WeakMap,ne=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,zu.delete(this)}hasEvenY(){return this.y%Kr===j}static fromCompressedHex(e){let r=e.length===32,n=Vr(r?e:e.subarray(1));if(!qu(n))throw new Error("Point is not on curve");let i=Yp(n),o=mE(i),s=(o&ye)===ye;r?s&&(o=D(-o)):(e[0]&1)===1!==s&&(o=D(-o));let a=new ne(n,o);return a.assertValidity(),a}static fromUncompressedHex(e){let r=Vr(e.subarray(1,Pt+1)),n=Vr(e.subarray(Pt+1,Pt*2+1)),i=new ne(r,n);return i.assertValidity(),i}static fromHex(e){let r=ci(e),n=r.length,i=r[0];if(n===Pt)return this.fromCompressedHex(r);if(n===Hp&&(i===2||i===3))return this.fromCompressedHex(r);if(n===Gp&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Hp} compressed bytes or ${Gp} uncompressed bytes, not ${n}`)}static fromPrivateKey(e){return ne.BASE.multiply(Gs(e))}static fromSignature(e,r,n){let{r:i,s:o}=jp(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Gu(ci(e)),{n:a}=Re,c=n===2||n===3?i+a:i,u=ui(c,a),l=D(-s*u,a),f=D(o*u,a),d=n&1?"03":"02",p=ne.fromHex(d+ii(c)),h=ne.BASE.multiplyAndAddUnsafe(p,l,f);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(e=!1){return yn(this.toHex(e))}toHex(e=!1){let r=ii(this.x);return e?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${ii(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(!qu(r)||!qu(n))throw new Error(e);let i=D(n*n),o=Yp(r);if(D(i-o)!==j)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new ne(this.x,D(-this.y))}double(){return re.fromAffine(this).double().toAffine()}add(e){return re.fromAffine(this).add(re.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return re.fromAffine(this).multiply(e,this).toAffine()}multiplyAndAddUnsafe(e,r,n){let i=re.fromAffine(this),o=r===j||r===ye||this!==ne.BASE?i.multiplyUnsafe(r):i.multiply(r),s=re.fromAffine(e).multiplyUnsafe(n),a=o.add(s);return a.equals(re.ZERO)?void 0:a.toAffine()}};ne.BASE=new ne(Re.Gx,Re.Gy);ne.ZERO=new ne(j,j);function Qp(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function Xp(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${ai(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:Vr(r),left:t.subarray(e+2)}}function hE(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${ai(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=Xp(t.subarray(2)),{data:n,left:i}=Xp(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${ai(i)}`);return{r:e,s:n}}var er=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?ai(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new er(Hs(i.slice(0,64)),Hs(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}=hE(r?e:yn(e));return new er(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!go(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!go(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=Re.n>>ye;return this.s>e}normalizeS(){return this.hasHighS()?new er(this.r,D(-this.s,Re.n)):this}toDERRawBytes(){return yn(this.toDERHex())}toDERHex(){let e=Qp(po(this.s)),r=Qp(po(this.r)),n=e.length/2,i=r.length/2,o=po(n),s=po(i);return`30${po(i+n+4)}02${s}${r}02${o}${e}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return yn(this.toCompactHex())}toCompactHex(){return ii(this.r)+ii(this.s)}};function Fr(...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 o=t[n];r.set(o,i),i+=o.length}return r}var dE=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ai(t){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=dE[t[r]];return e}var pE=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function ii(t){if(typeof t!="bigint")throw new Error("Expected bigint");if(!(j<=t&&t<pE))throw new Error("Expected number 0 <= n < 2^256");return t.toString(16).padStart(64,"0")}function $u(t){let e=yn(ii(t));if(e.length!==32)throw new Error("Error: expected 32 bytes");return e}function po(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Hs(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),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");e[r]=o}return e}function Vr(t){return Hs(ai(t))}function ci(t){return t instanceof Uint8Array?Uint8Array.from(t):yn(t)}function Zp(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&go(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function D(t,e=Re.P){let r=t%e;return r>=j?r:e+r}function _t(t,e){let{P:r}=Re,n=t;for(;e-- >j;)n*=n,n%=r;return n}function mE(t){let{P:e}=Re,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=_t(u,mo)*u%e,f=_t(l,mo)*u%e,d=_t(f,Kr)*c%e,p=_t(d,n)*d%e,h=_t(p,i)*p%e,m=_t(h,s)*h%e,y=_t(m,a)*m%e,g=_t(y,s)*h%e,x=_t(g,mo)*u%e,E=_t(x,o)*p%e,T=_t(E,r)*c%e,I=_t(T,Kr);if(I*I%e!==t)throw new Error("Cannot find square root");return I}function ui(t,e=Re.P){if(t===j||e<=j)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=D(t,e),n=e,i=j,o=ye,s=ye,a=j;for(;r!==j;){let u=n/r,l=n%r,f=i-s*u,d=o-a*u;n=r,r=l,i=s,o=a,s=f,a=d}if(n!==ye)throw new Error("invert: does not exist");return D(i,e)}function yE(t,e=Re.P){let r=new Array(t.length),n=t.reduce((o,s,a)=>s===j?o:(r[a]=o,D(o*s,e)),ye),i=ui(n,e);return t.reduceRight((o,s,a)=>s===j?o:(r[a]=D(o*r[a],e),D(o*s,e)),i),r}function gE(t){let e=t.length*8-si*8,r=Vr(t);return e>0?r>>BigInt(e):r}function Gu(t,e=!1){let r=gE(t);if(e)return r;let{n}=Re;return r>=n?r-n:r}var oi,yo,Hu=class{constructor(e,r){if(this.hashLen=e,this.qByteLen=r,typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(e).fill(1),this.k=new Uint8Array(e).fill(0),this.counter=0}hmac(...e){return Dt.hmacSha256(this.k,...e)}hmacSync(...e){return yo(this.k,...e)}checkSync(){if(typeof yo!="function")throw new $s("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}generateSync(){this.checkSync(),this.incr();let e=0,r=[];for(;e<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),e+=this.v.length}return Fr(...r)}};function go(t){return j<t&&t<Re.n}function qu(t){return j<t&&t<Re.P}function xE(t,e,r,n=!0){let{n:i}=Re,o=Gu(t,!0);if(!go(o))return;let s=ui(o,i),a=ne.BASE.multiply(o),c=D(a.x,i);if(c===j)return;let u=D(s*D(e+r*c,i),i);if(u===j)return;let l=new er(c,u),f=(a.x===l.r?0:2)|Number(a.y&ye);return n&&l.hasHighS()&&(l=l.normalizeS(),f^=1),{sig:l,recovery:f}}function Gs(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==2*si)throw new Error("Expected 32 bytes of private key");e=Hs(t)}else if(t instanceof Uint8Array){if(t.length!==si)throw new Error("Expected 32 bytes of private key");e=Vr(t)}else throw new TypeError("Expected valid private key");if(!go(e))throw new Error("Expected private key: 0 < key < n");return e}function wE(t){return t instanceof ne?(t.assertValidity(),t):ne.fromHex(t)}function jp(t){if(t instanceof er)return t.assertValidity(),t;try{return er.fromDER(t)}catch{return er.fromCompact(t)}}function Yu(t,e=!1){return ne.fromPrivateKey(t).toRawBytes(e)}function Jp(t){let e=t.length>Pt?t.slice(0,Pt):t;return Vr(e)}function bE(t){let e=Jp(t),r=D(e,Re.n);return em(r<j?e:r)}function em(t){return $u(t)}function vE(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=ci(t),i=Gs(e),o=[em(i),bE(n)];if(r!=null){r===!0&&(r=Dt.randomBytes(Pt));let c=ci(r);if(c.length!==Pt)throw new Error(`sign: Expected ${Pt} bytes of extra data`);o.push(c)}let s=Fr(...o),a=Jp(n);return{seed:s,m:a,d:i}}function EE(t,e){let{sig:r,recovery:n}=t,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},e),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function tm(t,e,r={}){let{seed:n,m:i,d:o}=vE(t,e,r.extraEntropy),s=new Hu(fE,si);await s.reseed(n);let a;for(;!(a=xE(await s.generate(),i,o,r.canonical));)await s.reseed();return EE(a,r)}var _E={strict:!0};function rm(t,e,r,n=_E){let i;try{i=jp(t),e=ci(e)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Gu(e),c;try{c=wE(r)}catch{return!1}let{n:u}=Re,l=ui(s,u),f=D(a*l,u),d=D(o*l,u),p=ne.BASE.multiplyAndAddUnsafe(c,f,d);return p?D(p.x,u)===o:!1}ne.BASE._setWindowSize(8);var ft={node:lE,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var zs={},Dt={bytesToHex:ai,hexToBytes:yn,concatBytes:Fr,mod:D,invert:ui,isValidPrivateKey(t){try{return Gs(t),!0}catch{return!1}},_bigintTo32Bytes:$u,_normalizePrivateKey:Gs,hashToPrivateKey:t=>{t=ci(t);let e=si+8;if(t.length<e||t.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=D(Vr(t),Re.n-ye)+ye;return $u(r)},randomBytes:(t=32)=>{if(ft.web)return ft.web.getRandomValues(new Uint8Array(t));if(ft.node){let{randomBytes:e}=ft.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Dt.hashToPrivateKey(Dt.randomBytes(si+8)),precompute(t=8,e=ne.BASE){let r=e===ne.BASE?e:new ne(e.x,e.y);return r._setWindowSize(t),r.multiply(mo),r},sha256:async(...t)=>{if(ft.web){let e=await ft.web.subtle.digest("SHA-256",Fr(...t));return new Uint8Array(e)}else if(ft.node){let{createHash:e}=ft.node,r=e("sha256");return t.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(ft.web){let r=await ft.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Fr(...e),i=await ft.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ft.node){let{createHmac:r}=ft.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(t,...e)=>{let r=zs[t];if(r===void 0){let n=await Dt.sha256(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return Dt.sha256(r,...e)},taggedHashSync:(t,...e)=>{if(typeof oi!="function")throw new $s("sha256Sync is undefined, you need to set it");let r=zs[t];if(r===void 0){let n=oi(Uint8Array.from(t,i=>i.charCodeAt(0)));r=Fr(n,n),zs[t]=r}return oi(r,...e)},_JacobianPoint:re};Object.defineProperties(Dt,{sha256Sync:{configurable:!1,get(){return oi},set(t){oi||(oi=t)}},hmacSha256Sync:{configurable:!1,get(){return yo},set(t){yo||(yo=t)}}});function gn(t){if(isNaN(t)||t<=0)throw new v("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Dt.randomBytes(t)}var eT=z(_s(),1),Wu=z(ae(),1);function nm(t,e){return e.map(r=>lt(t[r]))}function im(t){return Wu.default.pki.setRsaPrivateKey(...nm(t,["n","e","d","p","q","dp","dq","qi"]))}function om(t){return Wu.default.pki.setRsaPublicKey(...nm(t,["n","e"]))}var xn={};$(xn,{jwkToPkcs1:()=>IE,jwkToPkix:()=>CE,pkcs1ToJwk:()=>AE,pkixToJwk:()=>RE});var nT=z(Qi(),1),iT=z(_s(),1);var dr=z(ae(),1);function AE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function IE(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.privateKeyToAsn1({n:lt(t.n),e:lt(t.e),d:lt(t.d),p:lt(t.p),q:lt(t.q),dP:lt(t.dp),dQ:lt(t.dq),qInv:lt(t.qi)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}function RE(t){let e=dr.default.asn1.fromDer(G(t,"ascii")),r=dr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function CE(t){if(t.n==null||t.e==null)throw new v("JWK was missing components","ERR_INVALID_PARAMETERS");let e=dr.default.pki.publicKeyToAsn1({n:lt(t.n),e:lt(t.e)});return V(dr.default.asn1.toDer(e).getBytes(),"ascii")}async function sm(t){let e=await st.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 um(e);return{privateKey:r[0],publicKey:r[1]}}async function Qu(t){let r=[await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await TE(t)],n=await um({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function am(t,e){let r=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await st.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function cm(t,e,r){let n=await st.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return st.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function um(t){if(t.privateKey==null||t.publicKey==null)throw new v("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([st.get().subtle.exportKey("jwk",t.privateKey),st.get().subtle.exportKey("jwk",t.publicKey)])}async function TE(t){return st.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function lm(t,e,r,n){let i=e?om(t):im(t),o=G(Uint8Array.from(r),"ascii"),s=n(o,i);return V(s,"ascii")}function fm(t,e){return lm(t,!0,e,(r,n)=>n.encrypt(r))}function hm(t,e){return lm(t,!1,e,(r,n)=>n.decrypt(r))}var wo=class{_key;constructor(e){this._key=e}async verify(e,r){return cm(this._key,r,e)}marshal(){return xn.jwkToPkix(this._key)}get bytes(){return jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}encrypt(e){return fm(this._key,e)}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},li=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return gn(16)}async sign(e){return am(this._key,e)}get public(){if(this._publicKey==null)throw new v("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new wo(this._publicKey)}decrypt(e){return hm(this._key,e)}marshal(){return xn.jwkToPkcs1(this._key)}get bytes(){return Jt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new xo.default.util.ByteBuffer(this.marshal()),i=xo.default.asn1.fromDer(n),o=xo.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return xo.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function LE(t){let e=xn.pkcs1ToJwk(t),r=await Qu(e);return new li(r.privateKey,r.publicKey)}function PE(t){let e=xn.pkixToJwk(t);return new wo(e)}async function DE(t){let e=await Qu(t);return new li(e.privateKey,e.publicKey)}async function NE(t){let e=await sm(t);return new li(e.privateKey,e.publicKey)}var ju={};$(ju,{Secp256k1PrivateKey:()=>vo,Secp256k1PublicKey:()=>bo,generateKeyPair:()=>UE,unmarshalSecp256k1PrivateKey:()=>OE,unmarshalSecp256k1PublicKey:()=>ME});function dm(){return Dt.randomPrivateKey()}async function pm(t,e){let{digest:r}=await He.digest(e);try{return await tm(r,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}async function mm(t,e,r){try{let{digest:n}=await He.digest(r);return rm(e,n,t)}catch(n){throw new v(String(n),"ERR_INVALID_INPUT")}}function ym(t){return ne.fromHex(t).toRawBytes(!0)}function gm(t){try{Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Zu(t){try{ne.fromHex(t)}catch(e){throw new v(String(e),"ERR_INVALID_PUBLIC_KEY")}}function xm(t){try{return Yu(t,!0)}catch(e){throw new v(String(e),"ERR_INVALID_PRIVATE_KEY")}}var bo=class{_key;constructor(e){Zu(e),this._key=e}async verify(e,r){return mm(this._key,r,e)}marshal(){return ym(this._key)}get bytes(){return jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}},vo=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??xm(e),gm(this._key),Zu(this._publicKey)}async sign(e){return pm(this._key,e)}get public(){return new bo(this._publicKey)}marshal(){return this._key}get bytes(){return Jt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ee(this.bytes,e.bytes)}async hash(){let{bytes:e}=await He.digest(this.bytes);return e}async id(){let e=await this.public.hash();return G(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ei(this.bytes,e);throw new v(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function OE(t){return new vo(t)}function ME(t){return new bo(t)}async function UE(){let t=dm();return new vo(t)}var pr={rsa:Xu,ed25519:Fu,secp256k1:ju};function Ju(t){let e=Object.keys(pr).join(" / ");return new v(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function el(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return pr[t];throw Ju(t)}async function Ws(t,e){return el(t).generateKeyPair(e??2048)}function Eo(t){let e=jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPublicKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PublicKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Ju(e.Type??"RSA")}}function wm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function fi(t){let e=Jt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return pr.rsa.unmarshalRsaPrivateKey(r);case we.Ed25519:return pr.ed25519.unmarshalEd25519PrivateKey(r);case we.Secp256k1:return pr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Ju(e.Type??"RSA")}}function bm(t,e){return e=(e??"rsa").toLowerCase(),el(e),t.bytes}async function _o(t,e){try{let i=await Op(t,e);return await fi(i)}catch{}let r=Ys.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new v("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=Ys.default.asn1.toDer(Ys.default.pki.privateKeyToAsn1(r));return n=V(n.getBytes(),"ascii"),pr.rsa.unmarshalRsaPrivateKey(n)}var tl=Symbol.for("@libp2p/content-routing");var So=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new nl(e,r))}},rl=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},nl=globalThis.CustomEvent??rl;var il=Symbol.for("@libp2p/peer-discovery");var ol=Symbol.for("@libp2p/peer-routing");var zT=z(hs(),1),KE=z(ae(),1);var Em=z(_c(),1),_m=z(Le(),1),vm={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function Ao(t,e,r,n,i){if(i!=="sha1"&&i!=="sha2-256"&&i!=="sha2-512"){let a=Object.keys(vm).join(" / ");throw new v(`Hash '${i}' is unknown or not supported. Must be ${a}`,"ERR_UNSUPPORTED_HASH_TYPE")}let o=vm[i],s=(0,Em.default)(t,e,r,n,o);return _m.default.encode64(s,null)}var dt=z(al(),1);var cl={};$(cl,{base32:()=>tr,base32hex:()=>i_,base32hexpad:()=>s_,base32hexpadupper:()=>a_,base32hexupper:()=>o_,base32pad:()=>r_,base32padupper:()=>n_,base32upper:()=>t_,base32z:()=>c_});var tr=Ie({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),t_=Ie({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),r_=Ie({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),n_=Ie({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),i_=Ie({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),o_=Ie({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),s_=Ie({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),a_=Ie({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),c_=Ie({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});dt.default.formatters.b=t=>t==null?"undefined":$e.baseEncode(t);dt.default.formatters.t=t=>t==null?"undefined":tr.baseEncode(t);dt.default.formatters.m=t=>t==null?"undefined":ln.baseEncode(t);dt.default.formatters.p=t=>t==null?"undefined":t.toString();dt.default.formatters.c=t=>t==null?"undefined":t.toString();dt.default.formatters.k=t=>t==null?"undefined":t.toString();dt.default.formatters.a=t=>t==null?"undefined":t.toString();function u_(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function W(t){let e=u_(`${t}:trace`);return dt.default.enabled(`${t}:trace`)&&dt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,dt.default)(`${t}:trace`)),Object.assign((0,dt.default)(t),{error:(0,dt.default)(`${t}:error`),trace:e})}var ul=Symbol.for("@libp2p/peer-id");function Zs(t){return t!=null&&!!t[ul]}var ll={};$(ll,{identity:()=>l_});var l_=Wn({prefix:"\0",name:"identity",encode:t=>gd(t),decode:t=>yd(t)});var fl={};$(fl,{base2:()=>f_});var f_=Ie({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var hl={};$(hl,{base8:()=>h_});var h_=Ie({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var dl={};$(dl,{base10:()=>d_});var d_=Br({prefix:"9",name:"base10",alphabet:"0123456789"});var pl={};$(pl,{base16:()=>p_,base16upper:()=>m_});var p_=Ie({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),m_=Ie({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ml={};$(ml,{base36:()=>y_,base36upper:()=>g_});var y_=Br({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),g_=Br({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yl={};$(yl,{base256emoji:()=>E_});var Rm=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),x_=Rm.reduce((t,e,r)=>(t[r]=e,t),[]),w_=Rm.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function b_(t){return t.reduce((e,r)=>(e+=x_[r],e),"")}function v_(t){let e=[];for(let r of t){let n=w_[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var E_=Wn({prefix:"\u{1F680}",name:"base256emoji",encode:b_,decode:v_});var x3=new TextEncoder,w3=new TextDecoder;var Cm=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return I_(r,gl(t),e||$e.encoder);default:return R_(r,gl(t),e||tr.encoder)}};var Tm=new WeakMap,gl=t=>{let e=Tm.get(t);if(e==null){let r=new Map;return Tm.set(t,r),r}return e},_e=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Io)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==C_)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return _e.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Wt(e,r);return _e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return _e.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&_d(e.multihash,n.multihash)}toString(e){return Cm(this,e)}toJSON(){return{"/":Cm(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof _e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new _e(n,i,o,s||Bm(n,i,o.bytes))}else if(r[T_]===!0){let{version:n,multihash:i,code:o}=r,s=io(i);return _e.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Io)throw new Error(`Version 0 CID must use dag-pb (code: ${Io}) block encoding`);return new _e(e,r,n,n.bytes)}case 1:{let i=Bm(e,r,n.bytes);return new _e(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return _e.create(0,Io,e)}static createV1(e,r){return _e.create(1,e,r)}static decode(e){let[r,n]=_e.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=_e.inspectBytes(e),n=r.size-r.multihashSize,i=fr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Zn(r.multihashCode,r.digestSize,o,i);return[r.version===0?_e.createV0(s):_e.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=no(e.subarray(r));return r+=d,f},i=n(),o=Io;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=A_(e,r),o=_e.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return gl(o).set(n,e),o}},A_=(t,e)=>{switch(t[0]){case"Q":{let r=e||$e;return[$e.prefix,r.decode(`${$e.prefix}${t}`)]}case $e.prefix:{let r=e||$e;return[$e.prefix,r.decode(t)]}case tr.prefix:{let r=e||tr;return[tr.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)]}}},I_=(t,e,r)=>{let{prefix:n}=r;if(n!==$e.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},R_=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Io=112,C_=18,Bm=(t,e,r)=>{let n=Xn(t),i=n+Xn(e),o=new Uint8Array(i+r.byteLength);return Qn(t,o,0),Qn(e,o,n),o.set(r,i),o},T_=Symbol.for("@ipld/js-cid/CID");var xl={...ll,...fl,...hl,...dl,...pl,...cl,...ml,...ou,...wu,...yl},T3={...lu,...au};var B_=Symbol.for("nodejs.util.inspect.custom"),Lm=Object.values(xl).map(t=>t.decoder).reduce((t,e)=>t.or(e),xl.identity.decoder),Pm=114,wl=36,bl=37,Ro=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[ul]=!0;toString(){return this.string==null&&(this.string=$e.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return _e.createV1(Pm,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Ee(this.multihash.bytes,e);if(typeof e=="string")return oe(e).equals(this);if(e?.multihash?.bytes!=null)return Ee(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[B_](){return`PeerId(${this.toString()})`}},bn=class extends Ro{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},vn=class extends Ro{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},En=class extends Ro{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Dm(t){if(t.type==="RSA")return new bn(t);if(t.type==="Ed25519")return new vn(t);if(t.type==="secp256k1")return new En(t);throw new v("Not a PeerId","ERR_INVALID_PARAMETERS")}function oe(t,e){if(e=e??Lm,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=io($e.decode(`z${t}`));return t.startsWith("12D")?new vn({multihash:r}):t.startsWith("16U")?new En({multihash:r}):new bn({multihash:r})}return mi(Lm.decode(t))}function mi(t){try{let e=io(t);if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:e});if(e.digest.length===bl)return new En({multihash:e})}if(e.code===He.code)return new bn({multihash:e})}catch{return L_(_e.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function L_(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Pm)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===He.code)return new bn({multihash:t.multihash});if(e.code===Lr.code){if(e.digest.length===wl)return new vn({multihash:t.multihash});if(e.digest.length===bl)return new En({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function yi(t,e){return t.length===wl?new vn({multihash:Wt(Lr.code,t),privateKey:e}):t.length===bl?new En({multihash:Wt(Lr.code,t),privateKey:e}):new bn({multihash:await He.digest(t),publicKey:t,privateKey:e})}var js=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var mr="/",Nm=new TextEncoder().encode(mr),Js=Nm[0],Ce=class{_buf;constructor(e,r){if(typeof e=="string")this._buf=V(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]!==Js)throw new Error("Invalid key")}toString(e="utf8"){return G(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Ce(e.join(mr))}static random(){return new Ce(js().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Ce(e):typeof e.uint8Array=="function"?new Ce(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Nm),this._buf[0]!==Js){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Js,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Js;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return Ce.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(mr).slice(1)}type(){return P_(this.baseNamespace())}name(){return D_(this.baseNamespace())}instance(e){return new Ce(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(mr)||(e+=mr),e+=this.type(),new Ce(e)}parent(){let e=this.list();return e.length===1?new Ce(mr):new Ce(e.slice(0,-1).join(mr))}child(e){return this.toString()===mr?e:e.toString()===mr?this:new Ce(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 Ce.withNamespaces([...this.namespaces(),...N_(e.map(r=>r.namespaces()))])}};function P_(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function D_(t){let e=t.split(":");return e[e.length-1]}function N_(t){return[].concat(...t)}var zm=z(qm(),1),qr=zm.default;var Jm=z(jm(),1);var J;(function(t){t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH"})(J||(J={}));var ra=W("libp2p:keychain"),j_="/pkcs8/",ey="/info/",_n=new WeakMap,Sn={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},El={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function yr(t){return t==null||typeof t!="string"?!1:t===(0,Jm.default)(t.trim())&&t.length>0}async function ue(){let r=Math.random()*800+200;await new Promise(n=>setTimeout(n,r))}function rr(t){return new Ce(j_+t)}function zr(t){return new Ce(ey+t)}var An=class{components;init;constructor(e,r){if(this.components=e,this.init=qr(El,r),this.init.pass!=null&&this.init.pass?.length<20)throw new Error("pass must be least 20 characters");if(this.init.dek?.keyLength!=null&&this.init.dek.keyLength<Sn.minKeyLength)throw new Error(`dek.keyLength must be least ${Sn.minKeyLength} bytes`);if(this.init.dek?.salt?.length!=null&&this.init.dek.salt.length<Sn.minSaltLength)throw new Error(`dek.saltLength must be least ${Sn.minSaltLength} bytes`);if(this.init.dek?.iterationCount!=null&&this.init.dek.iterationCount<Sn.minIterationCount)throw new Error(`dek.iterationCount must be least ${Sn.minIterationCount}`);let n=this.init.pass!=null&&this.init.dek?.salt!=null?Ao(this.init.pass,this.init.dek?.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:n})}static generateOptions(){let e=Object.assign({},El),r=Math.ceil(Sn.minSaltLength/3)*3;return e.dek.salt=G(gn(r),"base64"),e}static get options(){return El}async createKey(e,r,n=2048){if(!yr(e)||e==="self")throw await ue(),new v("Invalid key name",J.ERR_INVALID_KEY_NAME);if(typeof r!="string")throw await ue(),new v("Invalid key type",J.ERR_INVALID_KEY_TYPE);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v("Key name already exists",J.ERR_KEY_ALREADY_EXISTS);switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)throw await ue(),new v("Invalid RSA key size",J.ERR_INVALID_KEY_SIZE);break;default:break}let s;try{let a=await Ws(r,n),c=await a.id(),u=_n.get(this);if(u==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let l=u.dek,f=await a.export(l);s={name:e,id:c};let d=this.components.datastore.batch();d.put(i,V(f)),d.put(zr(e),V(JSON.stringify(s))),await d.commit()}catch(a){throw await ue(),a}return s}async listKeys(){let e={prefix:ey},r=[];for await(let n of this.components.datastore.query(e))r.push(JSON.parse(G(n.value)));return r}async findKeyById(e){try{let n=(await this.listKeys()).find(i=>i.id===e);if(n==null)throw new v(`Key with id '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND);return n}catch(r){throw await ue(),r}}async findKeyByName(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=zr(e);try{let n=await this.components.datastore.get(r);return JSON.parse(G(n))}catch(n){throw await ue(),ra.error(n),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async removeKey(e){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);let r=rr(e),n=await this.findKeyByName(e),i=this.components.datastore.batch();return i.delete(r),i.delete(zr(e)),await i.commit(),n}async renameKey(e,r){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid old key name '${e}'`,J.ERR_OLD_KEY_NAME_INVALID);if(!yr(r)||r==="self")throw await ue(),new v(`Invalid new key name '${r}'`,J.ERR_NEW_KEY_NAME_INVALID);let n=rr(e),i=rr(r),o=zr(e),s=zr(r);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${r}' already exists`,J.ERR_KEY_ALREADY_EXISTS);try{let c=await this.components.datastore.get(n),u=await this.components.datastore.get(o),l=JSON.parse(G(u));l.name=r;let f=this.components.datastore.batch();return f.put(i,c),f.put(s,V(JSON.stringify(l))),f.delete(n),f.delete(o),await f.commit(),l}catch(c){throw await ue(),c}}async exportKey(e,r){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("Password is required",J.ERR_PASSWORD_REQUIRED);let n=rr(e);try{let i=await this.components.datastore.get(n),o=G(i),s=_n.get(this);if(s==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let a=s.dek;return await(await _o(o,a)).export(r)}catch(i){throw await ue(),i}}async exportPeerId(e){let r="temporary-password",n=await this.exportKey(e,r),i=await _o(n,r);return yi(i.public.bytes,i.bytes)}async importKey(e,r,n){if(!yr(e)||e==="self")throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw await ue(),new v("PEM encoded key is required",J.ERR_PEM_REQUIRED);let i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s;try{s=await _o(r,n)}catch{throw await ue(),new v("Cannot read the key, most likely the password is wrong",J.ERR_CANNOT_READ_KEY)}let a;try{a=await s.id();let l=_n.get(this);if(l==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let f=l.dek;r=await s.export(f)}catch(l){throw await ue(),l}let c={name:e,id:a},u=this.components.datastore.batch();return u.put(i,V(r)),u.put(zr(e),V(JSON.stringify(c))),await u.commit(),c}async importPeer(e,r){try{if(!yr(e))throw new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);if(r==null)throw new v("PeerId is required",J.ERR_MISSING_PRIVATE_KEY);if(r.privateKey==null)throw new v("PeerId.privKey is required",J.ERR_MISSING_PRIVATE_KEY);let n=await fi(r.privateKey),i=rr(e);if(await this.components.datastore.has(i))throw await ue(),new v(`Key '${e}' already exists`,J.ERR_KEY_ALREADY_EXISTS);let s=_n.get(this);if(s==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let a=s.dek,c=await n.export(a),u={name:e,id:r.toString()},l=this.components.datastore.batch();return l.put(i,V(c)),l.put(zr(e),V(JSON.stringify(u))),await l.commit(),u}catch(n){throw await ue(),n}}async getPrivateKey(e){if(!yr(e))throw await ue(),new v(`Invalid key name '${e}'`,J.ERR_INVALID_KEY_NAME);try{let r=rr(e),n=await this.components.datastore.get(r);return G(n)}catch(r){throw await ue(),ra.error(r),new v(`Key '${e}' does not exist.`,J.ERR_KEY_NOT_FOUND)}}async rotateKeychainPass(e,r){if(typeof e!="string")throw await ue(),new v(`Invalid old pass type '${typeof e}'`,J.ERR_INVALID_OLD_PASS_TYPE);if(typeof r!="string")throw await ue(),new v(`Invalid new pass type '${typeof r}'`,J.ERR_INVALID_NEW_PASS_TYPE);if(r.length<20)throw await ue(),new v(`Invalid pass length ${r.length}`,J.ERR_INVALID_PASS_LENGTH);ra("recreating keychain");let n=_n.get(this);if(n==null)throw new v("dek missing",J.ERR_INVALID_PARAMETERS);let i=n.dek;this.init.pass=r;let o=r!=null&&this.init.dek?.salt!=null?Ao(r,this.init.dek.salt,this.init.dek?.iterationCount,this.init.dek?.keyLength,this.init.dek?.hash):"";_n.set(this,{dek:o});let s=await this.listKeys();for(let a of s){let c=await this.components.datastore.get(rr(a.name)),u=G(c),l=await _o(u,i),f=o.toString(),d=await l.export(f),p=this.components.datastore.batch(),h={name:a.name,id:a.id};p.put(rr(a.name),V(d)),p.put(zr(a.name),V(JSON.stringify(h))),await p.commit()}ra("keychain reconstructed")}};function gr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var Nt=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return gr(this.map.entries(),e=>[oe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,oe(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return gr(this.map.keys(),e=>oe(e))}values(){return this.map.values()}get size(){return this.map.size}};var kt=class{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return gr(this.set.entries(),e=>{let r=oe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=oe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return gr(this.set.values(),e=>oe(e))}intersection(e){let r=new kt;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new kt;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new kt;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var wi=class{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return gr(this.list.entries(),e=>oe(e[1]))}concat(e){let r=new wi(this);for(let n of e)r.push(n);return r}entries(){return gr(this.list.entries(),e=>[e[0],oe(e[1])])}every(e){return this.list.every((r,n)=>e(oe(r),n,this))}filter(e){let r=new wi;return this.list.forEach((n,i)=>{let o=oe(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(oe(n),i,this));if(r!=null)return oe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(oe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(oe(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return oe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return oe(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};var _l;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_l||(_l={}));var ty=async()=>{let t=await Ws("Ed25519"),e=await J_(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function J_(t){return yi(wm(t.public),bm(t))}function na(t){return t instanceof Uint8Array?{get(e){return t[e]},set(e,r){t[e]=r}}:{get(e){return t.get(e)},set(e,r){t.set(e,r)}}}var ry=4294967296,pt=class{constructor(e=0,r=0){this.hi=e,this.lo=r}toBigInt(e){if(e===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(e){return Number(this.toBigInt(e))}zzDecode(){let e=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^e)>>>0,n=(this.hi>>>1^e)>>>0;return new pt(n,r)}zzEncode(){let e=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^e)>>>0,n=(this.lo<<1^e)>>>0;return new pt(r,n)}toBytes(e,r=0){let n=na(e);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(e){if(e===0n)return new pt;let r=e<0;r&&(e=-e);let n=Number(e>>32n)|0,i=Number(e-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>ry&&(i=0,++n>ry&&(n=0))),new pt(n,i)}static fromNumber(e){if(e===0)return new pt;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new pt(i,n)}static fromBytes(e,r=0){let n=na(e),i=new pt,o=0;if(e.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(e.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<e.byteLength)for(;o<5;++o){if(r>=e.length)throw RangeError(`index out of range: ${r} > ${e.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var eS=Math.pow(2,7),tS=Math.pow(2,14),rS=Math.pow(2,21),nS=Math.pow(2,28),iS=Math.pow(2,35),oS=Math.pow(2,42),sS=Math.pow(2,49),aS=Math.pow(2,56),cS=Math.pow(2,63),Ot={encodingLength(t){return t<eS?1:t<tS?2:t<rS?3:t<nS?4:t<iS?5:t<oS?6:t<sS?7:t<aS?8:t<cS?9:10},encode(t,e,r=0){if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return e==null&&(e=Ct(Ot.encodingLength(t))),pt.fromNumber(t).toBytes(e,r),e},decode(t,e=0){return pt.fromBytes(t,e).toNumber(!0)}};var iy=Symbol.for("@achingbrain/uint8arraylist");function ny(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function ia(t){return!!t?.[iy]}var Te=class{constructor(...e){Object.defineProperty(this,iy,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ia(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ia(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=ny(this.bufs,e);return r.buf[r.index]}set(e,r){let n=ny(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ia(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return Pe(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:Pe(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new Te;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(s);break}let f=e-a;n.push(s.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(l){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ia(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let f=0;f<o;f++)s[f]=-1;for(let f=0;f<i;f++)s[n[f]]=f;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ct(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof Te)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ee(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new Te;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var oy={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Co;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Co||(Co={}));var To=class{peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Co.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Ee(this.marshal(),e.marshal())}async validate(e){let r=sy(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Eo(this.peerId.publicKey).verify(r.subarray(),this.signature)}},xr=To;wt(xr,"createFromProtobuf",async e=>{let r=Co.decode(e),n=await yi(r.publicKey);return new To({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})}),wt(xr,"seal",async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=sy(n,i,o),c=await(await fi(r.privateKey)).sign(s.subarray());return new To({peerId:r,payloadType:i,payload:o,signature:c})}),wt(xr,"openAndCertify",async(e,r)=>{let n=await To.createFromProtobuf(e);if(!await n.validate(r))throw new v("envelope signature is not valid for the given domain",oy.ERR_SIGNATURE_NOT_VALID);return n});var sy=(t,e,r)=>{let n=V(t),i=Ot.encode(n.byteLength),o=Ot.encode(e.length),s=Ot.encode(r.length);return new Te(i,n,o,e,s,r)};function ay(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var oa=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Cl={};$(Cl,{base58btc:()=>at,base58flickr:()=>pS});function uS(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var E=(x-g)*l+1>>>0,T=new Uint8Array(E);g!==x;){for(var I=h[g],C=0,O=E-1;(I!==0||C<y)&&O!==-1;O--,C++)I+=256*T[O]>>>0,T[O]=I%a>>>0,I=I/a>>>0;if(I!==0)throw new Error("Non-zero carry");y=C,g++}for(var U=E-y;U!==E&&T[U]===0;)U++;for(var se=c.repeat(m);U<E;++U)se+=t.charAt(T[U]);return se}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,E=new Uint8Array(x);h[m];){var T=r[h.charCodeAt(m)];if(T===255)return;for(var I=0,C=x-1;(T!==0||I<g)&&C!==-1;C--,I++)T+=a*E[C]>>>0,E[C]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");g=I,m++}if(h[m]!==" "){for(var O=x-g;O!==x&&E[O]===0;)O++;for(var U=new Uint8Array(y+(x-O)),se=y;O!==x;)U[se++]=E[O++];return U}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var lS=uS,fS=lS,cy=fS;var i6=new Uint8Array(0);var uy=(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},wr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var ly=t=>new TextEncoder().encode(t),fy=t=>new TextDecoder().decode(t);var Sl=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")}},Al=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dy(this,e)}},Il=class{constructor(e){this.decoders=e}or(e){return dy(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`)}},dy=(t,e)=>new Il({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Rl=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Sl(e,r,n),this.decoder=new Al(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},bi=({name:t,prefix:e,encode:r,decode:n})=>new Rl(t,e,r,n),$r=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=cy(r,e);return bi({prefix:t,name:e,encode:n,decode:o=>wr(i(o))})},hS=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let l=0;l<o;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},dS=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Be=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>bi({prefix:e,name:t,encode(i){return dS(i,n,r)},decode(i){return hS(i,n,r,t)}});var at=$r({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),pS=$r({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mS=yy,py=128,yS=127,gS=~yS,xS=Math.pow(2,31);function yy(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xS;)e[r++]=t&255|py,t/=128;for(;t&gS;)e[r++]=t&255|py,t>>>=7;return e[r]=t|0,yy.bytes=r-n+1,e}var wS=Tl,bS=128,my=127;function Tl(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Tl.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&my)<<i:(s&my)*Math.pow(2,i),i+=7}while(s>=bS);return Tl.bytes=o-n,r}var vS=Math.pow(2,7),ES=Math.pow(2,14),_S=Math.pow(2,21),SS=Math.pow(2,28),AS=Math.pow(2,35),IS=Math.pow(2,42),RS=Math.pow(2,49),CS=Math.pow(2,56),TS=Math.pow(2,63),BS=function(t){return t<vS?1:t<ES?2:t<_S?3:t<SS?4:t<AS?5:t<IS?6:t<RS?7:t<CS?8:t<TS?9:10},LS={encode:mS,decode:wS,encodingLength:BS},PS=LS,Bo=PS;var Lo=(t,e=0)=>[Bo.decode(t,e),Bo.decode.bytes],vi=(t,e,r=0)=>(Bo.encode(t,e,r),e),Ei=t=>Bo.encodingLength(t);var In=(t,e)=>{let r=e.byteLength,n=Ei(t),i=n+Ei(r),o=new Uint8Array(i+r);return vi(t,o,0),vi(r,o,n),o.set(e,i),new _i(t,r,e,o)},aa=t=>{let e=wr(t),[r,n]=Lo(e),[i,o]=Lo(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new _i(r,i,s,e)},gy=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&uy(t.bytes,r.bytes)}},_i=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Bl={};$(Bl,{base32:()=>br,base32hex:()=>OS,base32hexpad:()=>US,base32hexpadupper:()=>FS,base32hexupper:()=>MS,base32pad:()=>NS,base32padupper:()=>kS,base32upper:()=>DS,base32z:()=>KS});var br=Be({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),DS=Be({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),NS=Be({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kS=Be({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),OS=Be({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),MS=Be({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),US=Be({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),FS=Be({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),KS=Be({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var xy=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return qS(r,Ll(t),e||at.encoder);default:return zS(r,Ll(t),e||br.encoder)}};var wy=new WeakMap,Ll=t=>{let e=wy.get(t);if(e==null){let r=new Map;return wy.set(t,r),r}return e},be=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Po)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==$S)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return be.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=In(e,r);return be.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return be.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&gy(e.multihash,n.multihash)}toString(e){return xy(this,e)}toJSON(){return{"/":xy(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof be)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new be(n,i,o,s||by(n,i,o.bytes))}else if(r[HS]===!0){let{version:n,multihash:i,code:o}=r,s=aa(i);return be.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Po)throw new Error(`Version 0 CID must use dag-pb (code: ${Po}) block encoding`);return new be(e,r,n,n.bytes)}case 1:{let i=by(e,r,n.bytes);return new be(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return be.create(0,Po,e)}static createV1(e,r){return be.create(1,e,r)}static decode(e){let[r,n]=be.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=be.inspectBytes(e),n=r.size-r.multihashSize,i=wr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new _i(r.multihashCode,r.digestSize,o,i);return[r.version===0?be.createV0(s):be.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Lo(e.subarray(r));return r+=d,f},i=n(),o=Po;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,l=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=VS(e,r),o=be.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ll(o).set(n,e),o}},VS=(t,e)=>{switch(t[0]){case"Q":{let r=e||at;return[at.prefix,r.decode(`${at.prefix}${t}`)]}case at.prefix:{let r=e||at;return[at.prefix,r.decode(t)]}case br.prefix:{let r=e||br;return[br.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)]}}},qS=(t,e,r)=>{let{prefix:n}=r;if(n!==at.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},zS=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Po=112,$S=18,by=(t,e,r)=>{let n=Ei(t),i=n+Ei(e),o=new Uint8Array(i+r.byteLength);return vi(t,o,0),vi(e,o,n),o.set(r,i),o},HS=Symbol.for("@ipld/js-cid/CID");var nf=z(ca(),1);var Ri=z(ca(),1);var ua=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(o*=e,o+=l,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var By=45,oA=15,Ai=new ua;function Nl(t){if(!(t.length>oA))return Ai.new(t).parseWith(()=>Ai.readIPv4Addr())}function kl(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPv6Addr())}function la(t){if(!(t.length>By))return Ai.new(t).parseWith(()=>Ai.readIPAddr())}var L6=parseInt("0xFFFF",16),P6=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Ol={};$(Ol,{identity:()=>lA});var lA=bi({prefix:"\0",name:"identity",encode:t=>fy(t),decode:t=>ly(t)});var Ml={};$(Ml,{base2:()=>fA});var fA=Be({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ul={};$(Ul,{base8:()=>hA});var hA=Be({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fl={};$(Fl,{base10:()=>dA});var dA=$r({prefix:"9",name:"base10",alphabet:"0123456789"});var Kl={};$(Kl,{base16:()=>pA,base16upper:()=>mA});var pA=Be({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),mA=Be({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Vl={};$(Vl,{base36:()=>yA,base36upper:()=>gA});var yA=$r({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gA=$r({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ql={};$(ql,{base64:()=>xA,base64pad:()=>wA,base64url:()=>bA,base64urlpad:()=>vA});var xA=Be({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wA=Be({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),bA=Be({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vA=Be({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zl={};$(zl,{base256emoji:()=>IA});var Dy=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),EA=Dy.reduce((t,e,r)=>(t[r]=e,t),[]),_A=Dy.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function SA(t){return t.reduce((e,r)=>(e+=EA[r],e),"")}function AA(t){let e=[];for(let r of t){let n=_A[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var IA=bi({prefix:"\u{1F680}",name:"base256emoji",encode:SA,decode:AA});var Gl={};$(Gl,{sha256:()=>RA,sha512:()=>CA});var Hl=({name:t,code:e,encode:r})=>new $l(t,e,r),$l=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?In(this.code,r):r.then(n=>In(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ky=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),RA=Hl({name:"sha2-256",code:18,encode:ky("SHA-256")}),CA=Hl({name:"sha2-512",code:19,encode:ky("SHA-512")});var Yl={};$(Yl,{identity:()=>LA});var Oy=0,TA="identity",My=wr,BA=t=>In(Oy,My(t)),LA={code:Oy,name:TA,encode:My,digest:BA};var hL=new TextEncoder,dL=new TextDecoder;var Uy={...Ol,...Ml,...Ul,...Fl,...Kl,...Bl,...Vl,...Cl,...ql,...zl},xL={...Gl,...Yl};var nr=z(ca(),1);function Fy(t){return!!Nl(t)}function Ky(t){return!!kl(t)}function Ii(t){return!!la(t)}var Vy=Fy,NA=Ky,Wl=function(t){let e=0;if(t=t.toString().trim(),Vy(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(NA(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Vy(r[n]),s;o&&(s=Wl(r[n]),r[n]=G(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,G(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},qy=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Do={},Ql={},OA=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];OA.forEach(t=>{let e=MA(...t);Ql[e.code]=e,Do[e.name]=e});function MA(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function le(t){if(typeof t=="number"){if(Ql[t]!=null)return Ql[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Do[t]!=null)return Do[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var kL=le("ip4"),OL=le("ip6"),ML=le("ipcidr");function Yy(t,e){switch(le(t).code){case 4:case 41:return FA(e);case 42:return Hy(e);case 6:case 273:case 33:case 132:return Qy(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Hy(e);case 421:return zA(e);case 444:return Gy(e);case 445:return Gy(e);case 466:return qA(e);default:return G(e,"base16")}}function Wy(t,e){switch(le(t).code){case 4:return zy(e);case 41:return zy(e);case 42:return $y(e);case 6:case 273:case 33:case 132:return Zl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return $y(e);case 421:return KA(e);case 444:return $A(e);case 445:return HA(e);case 466:return VA(e);default:return V(e,"base16")}}var Xl=Object.values(Uy).map(t=>t.decoder),UA=function(){let t=Xl[0].or(Xl[1]);return Xl.slice(2).forEach(e=>t=t.or(e)),t}();function zy(t){if(!Ii(t))throw new Error("invalid ip address");return Wl(t)}function FA(t){let e=qy(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ii(e))throw new Error("invalid ip address");return e}function Zl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Qy(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function $y(t){let e=V(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function Hy(t){let e=nr.default.decode(t);if(t=t.slice(nr.default.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return G(t)}function KA(t){let e;t[0]==="Q"||t[0]==="1"?e=aa(at.decode(`z${t}`)).bytes:e=be.parse(t).multihash.bytes;let r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function VA(t){let e=UA.decode(t),r=Uint8Array.from(nr.default.encode(e.length));return Pe([r,e],r.length+e.length)}function qA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return"u"+G(r,"base64url")}function zA(t){let e=nr.default.decode(t),r=t.slice(nr.default.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return G(r,"base58btc")}function $A(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=br.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=Zl(n);return Pe([r,i],r.length+i.length)}function HA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=br.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=Zl(n);return Pe([r,i],r.length+i.length)}function Gy(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=G(e,"base32"),i=Qy(r);return`${n}:${i}`}function GA(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],o=le(i);if(o.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Zy("invalid address: "+t);if(o.path===!0){e.push([i,rf(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function YA(t){let e=[];return t.map(r=>{let n=da(r);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),rf(e.join("/"))}function WA(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=da(e);return e.length>1?[r.code,Wy(r.code,e[1])]:[r.code]})}function jl(t){return t.map(e=>{let r=da(e);return e[1]!=null?[r.code,Yy(r.code,e[1])]:[r.code]})}function Jl(t){return ha(Pe(t.map(e=>{let r=da(e),n=Uint8Array.from(Ri.default.encode(r.code));return e.length>1&&e[1]!=null&&(n=Pe([n,e[1]])),n})))}function ef(t,e){return t.size>0?t.size/8:t.size===0?0:Ri.default.decode(e)+(Ri.default.decode.bytes??0)}function fa(t){let e=[],r=0;for(;r<t.length;){let n=Ri.default.decode(t,r),i=Ri.default.decode.bytes??0,o=le(n),s=ef(o,t.slice(r+i));if(s===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+s);if(r+=s+i,r>t.length)throw Zy("Invalid address Uint8Array: "+G(t,"base16"));e.push([n,a])}return e}function tf(t){let e=fa(t),r=jl(e);return YA(r)}function QA(t){t=rf(t);let e=GA(t),r=WA(e);return Jl(r)}function Xy(t){return QA(t)}function ha(t){let e=XA(t);if(e!=null)throw e;return Uint8Array.from(t)}function XA(t){try{fa(t)}catch(e){return e}}function rf(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Zy(t){return new Error("Error parsing address: "+t)}function da(t){return le(t[0])}var jA=Symbol.for("nodejs.util.inspect.custom"),JA=[le("dns").code,le("dns4").code,le("dns6").code,le("dnsaddr").code],of=new Map,jy=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Rn(t){return!!t?.[jy]}var vr=class{bytes;#e;#t;#n;#r;[jy]=!0;constructor(e){if(e==null&&(e=""),e instanceof Uint8Array)this.bytes=ha(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Xy(e)}else if(Rn(e))this.bytes=ha(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return this.#e==null&&(this.#e=tf(this.bytes)),this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=le("tcp"),a=le("udp"),c=le("ip4"),u=le("ip6"),l=le("dns6"),f=le("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(o=`%${h??""}`),JA.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,e=p===l.code?6:4),(p===s.code||p===a.code)&&(r=le(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=le(p).name,n=`${h??""}${o}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(e=>Object.assign({},le(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=nf.default.decode(r,n),o=nf.default.decode.bytes??0,s=le(i),a=ef(s,r.slice(n+o));n+=a+o,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return this.#t==null&&(this.#t=fa(this.bytes)),this.#t}stringTuples(){return this.#n==null&&(this.#n=jl(this.tuples())),this.#n}encapsulate(e){return e=new vr(e),new vr(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new vr(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 vr(Jl(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Do.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?G(at.decode(`z${n}`),"base58btc"):G(be.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(this.#r===void 0)try{this.#r=this.stringTuples().filter(e=>le(e[0]).path===!0)[0][1],this.#r==null&&(this.#r=null)}catch{this.#r=null}return this.#r}equals(e){return Ee(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=of.get(r.name);if(n==null)throw new oa(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new vr(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[jA](){return`Multiaddr(${tf(this.bytes)})`}};function Ue(t){return new vr(t)}var Jy="libp2p-peer-record",eg=Uint8Array.from([3,1]);var No;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=We((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let u=o.uint32();switch(u>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(u&7);break}}return a})),i),n.encode=o=>Ye(o,n.codec()),n.decode=o=>Ge(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=We((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>Ye(n,t.codec()),t.decode=n=>Ge(n,t.codec())})(No||(No={}));var Ci=class{peerId;multiaddrs;seqNumber;domain=Ci.DOMAIN;codec=Ci.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=No.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof Ci)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!ay(this.multiaddrs,e.multiaddrs))}},ir=Ci;wt(ir,"createFromProtobuf",e=>{let r=No.decode(e),n=mi(r.peerId),i=(r.addresses??[]).map(s=>Ue(s.multiaddr)),o=r.seq;return new Ci({peerId:n,multiaddrs:i,seqNumber:o})}),wt(ir,"DOMAIN",Jy),wt(ir,"CODEC",eg);function eI(t){return t[Symbol.asyncIterator]!=null}function tI(t){if(eI(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var ko=tI;var fg=z(rg(),1);var Mo=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},af=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ng=t=>globalThis.DOMException===void 0?new af(t):new DOMException(t),ig=t=>{let e=t.reason===void 0?ng("This operation was aborted."):t.reason;return e instanceof Error?e:ng(e)};function cf(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ig(c)),c.addEventListener("abort",()=>{a(ig(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(l){a(l)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new Mo(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function uf(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Cn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Er,Uo=class{constructor(){Er.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Cn(this,Er,"f")[this.size-1].priority>=r.priority){Cn(this,Er,"f").push(n);return}let i=uf(Cn(this,Er,"f"),n,(o,s)=>s.priority-o.priority);Cn(this,Er,"f").splice(i,0,n)}dequeue(){let e=Cn(this,Er,"f").shift();return e?.run}filter(e){return Cn(this,Er,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Cn(this,Er,"f").length}};Er=new WeakMap;var Se=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},k=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Ne,Ko,Vo,Gr,ba,qo,ma,Mt,Fo,mt,ya,yt,zo,Hr,ga,og,sg,ug,ag,cg,xa,lf,ff,va,lg,wa,Ea=class extends Error{},Ut=class extends fg.default{constructor(e){var r,n,i,o;if(super(),Ne.add(this),Ko.set(this,void 0),Vo.set(this,void 0),Gr.set(this,0),ba.set(this,void 0),qo.set(this,void 0),ma.set(this,0),Mt.set(this,void 0),Fo.set(this,void 0),mt.set(this,void 0),ya.set(this,void 0),yt.set(this,0),zo.set(this,void 0),Hr.set(this,void 0),ga.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Uo,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Se(this,Ko,e.carryoverConcurrencyCount,"f"),Se(this,Vo,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Se(this,ba,e.intervalCap,"f"),Se(this,qo,e.interval,"f"),Se(this,mt,new e.queueClass,"f"),Se(this,ya,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Se(this,ga,e.throwOnTimeout===!0,"f"),Se(this,Hr,e.autoStart===!1,"f")}get concurrency(){return k(this,zo,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Se(this,zo,e,"f"),k(this,Ne,"m",va).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,ga,"f"),...r},new Promise((n,i)=>{k(this,mt,"f").enqueue(async()=>{var o,s,a;Se(this,yt,(s=k(this,yt,"f"),s++,s),"f"),Se(this,Gr,(a=k(this,Gr,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ea("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=cf(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Ne,"m",lg).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof Mo&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Ne,"m",ug).call(this)}},r),this.emit("add"),k(this,Ne,"m",xa).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return k(this,Hr,"f")?(Se(this,Hr,!1,"f"),k(this,Ne,"m",va).call(this),this):this}pause(){Se(this,Hr,!0,"f")}clear(){Se(this,mt,new(k(this,ya,"f")),"f")}async onEmpty(){k(this,mt,"f").size!==0&&await k(this,Ne,"m",wa).call(this,"empty")}async onSizeLessThan(e){k(this,mt,"f").size<e||await k(this,Ne,"m",wa).call(this,"next",()=>k(this,mt,"f").size<e)}async onIdle(){k(this,yt,"f")===0&&k(this,mt,"f").size===0||await k(this,Ne,"m",wa).call(this,"idle")}get size(){return k(this,mt,"f").size}sizeBy(e){return k(this,mt,"f").filter(e).length}get pending(){return k(this,yt,"f")}get isPaused(){return k(this,Hr,"f")}};Ko=new WeakMap,Vo=new WeakMap,Gr=new WeakMap,ba=new WeakMap,qo=new WeakMap,ma=new WeakMap,Mt=new WeakMap,Fo=new WeakMap,mt=new WeakMap,ya=new WeakMap,yt=new WeakMap,zo=new WeakMap,Hr=new WeakMap,ga=new WeakMap,Ne=new WeakSet,og=function(){return k(this,Vo,"f")||k(this,Gr,"f")<k(this,ba,"f")},sg=function(){return k(this,yt,"f")<k(this,zo,"f")},ug=function(){var e;Se(this,yt,(e=k(this,yt,"f"),e--,e),"f"),k(this,Ne,"m",xa).call(this),this.emit("next")},ag=function(){k(this,Ne,"m",ff).call(this),k(this,Ne,"m",lf).call(this),Se(this,Fo,void 0,"f")},cg=function(){let e=Date.now();if(k(this,Mt,"f")===void 0){let r=k(this,ma,"f")-e;if(r<0)Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f");else return k(this,Fo,"f")===void 0&&Se(this,Fo,setTimeout(()=>{k(this,Ne,"m",ag).call(this)},r),"f"),!0}return!1},xa=function(){if(k(this,mt,"f").size===0)return k(this,Mt,"f")&&clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f"),this.emit("empty"),k(this,yt,"f")===0&&this.emit("idle"),!1;if(!k(this,Hr,"f")){let e=!k(this,Ne,"a",cg);if(k(this,Ne,"a",og)&&k(this,Ne,"a",sg)){let r=k(this,mt,"f").dequeue();return r?(this.emit("active"),r(),e&&k(this,Ne,"m",lf).call(this),!0):!1}}return!1},lf=function(){k(this,Vo,"f")||k(this,Mt,"f")!==void 0||(Se(this,Mt,setInterval(()=>{k(this,Ne,"m",ff).call(this)},k(this,qo,"f")),"f"),Se(this,ma,Date.now()+k(this,qo,"f"),"f"))},ff=function(){k(this,Gr,"f")===0&&k(this,yt,"f")===0&&k(this,Mt,"f")&&(clearInterval(k(this,Mt,"f")),Se(this,Mt,void 0,"f")),Se(this,Gr,k(this,Ko,"f")?k(this,yt,"f"):0,"f"),k(this,Ne,"m",va).call(this)},va=function(){for(;k(this,Ne,"m",xa).call(this););},lg=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Ea("The task was aborted."))},{once:!0})})},wa=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var hf=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},df=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},hg=t=>globalThis.DOMException===void 0?new df(t):new DOMException(t),dg=t=>{let e=t.reason===void 0?hg("This operation was aborted."):t.reason;return e instanceof Error?e:hg(e)};function pf(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(dg(d)),d.addEventListener("abort",()=>{l(dg(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new hf;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var mf="lock:worker:request-read",yf="lock:worker:release-read",gf="lock:master:grant-read",xf="lock:worker:request-write",wf="lock:worker:release-write",bf="lock:master:grant-write";var Yr={},Ti=t=>{t.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{Ti.dispatchEvent("message",t,e)})};Ti.addEventListener=(t,e)=>{Yr[t]==null&&(Yr[t]=[]),Yr[t].push(e)};Ti.removeEventListener=(t,e)=>{Yr[t]!=null&&(Yr[t]=Yr[t].filter(r=>r===e))};Ti.dispatchEvent=function(t,e,r){Yr[t]!=null&&Yr[t].forEach(n=>n(e,r))};var vf=Ti;var pg=(t,e,r,n,i)=>(o,s)=>{if(s.data.type!==r)return;let a={type:s.data.type,name:s.data.name,identifier:s.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>(o.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(o.removeEventListener("message",u),c())};o.addEventListener("message",u)}))}}))},mg=(t,e,r,n)=>async()=>{let i=js();return globalThis.postMessage({type:e,identifier:i,name:t}),await new Promise(o=>{let s=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",s),o(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",s)})},iI={singleProcess:!1},yg=t=>{if(t=Object.assign({},iI,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return vf.addEventListener("message",pg(r,"requestReadLock",mf,yf,gf)),vf.addEventListener("message",pg(r,"requestWriteLock",xf,wf,bf)),r}return{isWorker:!0,readLock:r=>mg(r,mf,gf,yf),writeLock:r=>mg(r,xf,bf,wf)}};var Tn={},Wr;async function Ef(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>await pf((async()=>await new Promise(i=>{r(()=>{i()})}))(),{milliseconds:e.timeout})),await n}var oI=(t,e)=>{if(Wr.isWorker===!0)return{readLock:Wr.readLock(t,e),writeLock:Wr.writeLock(t,e)};let r=new Ut({concurrency:1}),n;return{async readLock(){if(n!=null)return await Ef(n,e);n=new Ut({concurrency:e.concurrency,autoStart:!1});let i=n,o=Ef(n,e);return r.add(async()=>(i.start(),await i.onIdle().then(()=>{n===i&&(n=null)}))),await o},async writeLock(){return n=null,await Ef(r,e)}}},sI={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function _f(t){let e=Object.assign({},sI,t);return Wr==null&&(Wr=yg(e),Wr.isWorker!==!0&&(Wr.addEventListener("requestReadLock",r=>{Tn[r.data.name]!=null&&Tn[r.data.name].readLock().then(async n=>await r.data.handler().finally(()=>n()))}),Wr.addEventListener("requestWriteLock",async r=>{Tn[r.data.name]!=null&&Tn[r.data.name].writeLock().then(async n=>await r.data.handler().finally(()=>n()))}))),Tn[e.name]==null&&(Tn[e.name]=oI(e.name,e)),Tn[e.name]}var Qe={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Bi;(function(t){let e;(function(i){let o;i.codec=()=>(o==null&&(o=We((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&s.value.byteLength>0&&(a.uint32(18),a.bytes(s.value)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=s.bytes();break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let o;i.codec=()=>(o==null&&(o=We((s,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),s.key!=null&&s.key!==""&&(a.uint32(10),a.string(s.key)),s.value!=null&&(a.uint32(18),Sa.codec().encode(s.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(s,a)=>{let c={key:""},u=a==null?s.len:s.pos+a;for(;s.pos<u;){let l=s.uint32();switch(l>>>3){case 1:c.key=s.string();break;case 2:c.value=Sa.codec().decode(s,s.uint32());break;default:s.skipType(l&7);break}}return c})),o),i.encode=s=>Ye(s,i.codec()),i.decode=s=>Ge(s,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=We((i,o,s={})=>{if(s.lengthDelimited!==!1&&o.fork(),i.addresses!=null)for(let a of i.addresses)o.uint32(10),_a.codec().encode(a,o);if(i.protocols!=null)for(let a of i.protocols)o.uint32(18),o.string(a);if(i.publicKey!=null&&(o.uint32(34),o.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(o.uint32(42),o.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())o.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},o);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())o.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},o);s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.addresses.push(_a.codec().decode(i,i.uint32()));break;case 2:s.protocols.push(i.string());break;case 4:s.publicKey=i.bytes();break;case 5:s.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());s.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());s.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Ye(i,t.codec()),t.decode=i=>Ge(i,t.codec())})(Bi||(Bi={}));var _a;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(_a||(_a={}));var Sa;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Ye(r,t.codec()),t.decode=r=>Ge(r,t.codec())})(Sa||(Sa={}));function Li(t,e){let r=Bi.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=Dm({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[o,s]of r.tags.entries())s.expiry!=null&&s.expiry<i||n.set(o,s);return{...r,id:t,addresses:r.addresses.map(({multiaddr:o,isCertified:s})=>({multiaddr:Ue(o),isCertified:s??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}var Sf="/peers/";function Pi(t){if(!Zs(t)||t.type==null)throw new v("Invalid PeerId",Qe.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new Ce(`${Sf}${e}`)}async function gg(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=Ue(i.multiaddr)),!Rn(i.multiaddr))throw new v("Multiaddr was invalid",Qe.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let o=i.isCertified??!1,s=i.multiaddr.toString(),a=n.get(s);a!=null?i.isCertified=a.isCertified||o:n.set(s,{multiaddr:i.multiaddr,isCertified:o})}return[...n.values()].sort((i,o)=>i.multiaddr.toString().localeCompare(o.multiaddr.toString())).map(({isCertified:i,multiaddr:o})=>({isCertified:i,multiaddr:o.bytes}))}async function Ia(t,e,r,n){if(e==null)throw new v("Invalid PeerData",Qe.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Ee(e.publicKey,t.publicKey))throw new v("publicKey bytes do not match peer id publicKey bytes",Qe.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new v("peer id did not match existing peer id",Qe.ERR_INVALID_PARAMETERS);let o=i?.addresses??[],s=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(o=[],e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses)),e.protocols!=null&&(s=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Aa(f,{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Aa(f,{validate:wg,map:bg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&o.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&o.push(...e.addresses),e.protocols!=null&&(s=new Set([...s,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=Aa([...a.entries()],{validate:xg})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=Aa([...d.entries()],{validate:wg,map:bg})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await gg(t,n.addressFilter??(async()=>!0),o),protocols:[...s.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Aa(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([o],[s])=>o.localeCompare(s)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function xg(t,e){if(typeof t!="string")throw new v("Metadata key must be a string",Qe.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new v("Metadata value must be a Uint8Array",Qe.ERR_INVALID_PARAMETERS)}function wg(t,e){if(typeof t!="string")throw new v("Tag name must be a string",Qe.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new v("Tag value must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new v("Tag value must be between 0-100",Qe.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new v("Tag ttl must be an integer",Qe.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new v("Tag ttl must be between greater than 0",Qe.ERR_INVALID_PARAMETERS)}}function bg(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function Ra(t,e,r){let n=t.toString().split("/")[2],i=tr.decode(n),o=mi(i),s=r.get(o);if(s!=null)return s;let a=Li(o,e);return r.set(o,a),a}function aI(t,e){return t==null?{}:{prefix:Sf,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(Ra(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(Ra(n.key,n.value,e),Ra(i.key,i.value,e)))}}var Ca=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=_f({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(Pi(e))}async delete(e){if(this.peerId.equals(e))throw new v("Cannot delete self peer",Qe.ERR_INVALID_PARAMETERS);await this.datastore.delete(Pi(e))}async load(e){let r=await this.datastore.get(Pi(e));return Li(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"patch",{addressFilter:this.addressFilter});return this.#t(e,o,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),o=await Ia(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#t(e,o,n,i)}async*all(e){let r=new Nt;for await(let{key:n,value:i}of this.datastore.query(aI(e??{},r))){let o=Ra(n,i,r);o.id.equals(this.peerId)||(yield o)}}async#e(e){try{let r=await this.datastore.get(Pi(e)),n=Li(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#t(e,r,n,i){let o=Bi.encode(r);return n!=null&&Ee(o,n)?{peer:Li(e,o),previous:i,updated:!1}:(await this.datastore.put(Pi(e),o),{peer:Li(e,o),previous:i,updated:!0})}};var he=W("libp2p:peer-store"),Ta=class{store;events;peerId;constructor(e,r={}){this.events=e.events,this.peerId=e.peerId,this.store=new Ca(e,r)}async forEach(e,r){he.trace("forEach await read lock");let n=await this.store.lock.readLock();he.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{he.trace("forEach release read lock"),n()}}async all(e){he.trace("all await read lock");let r=await this.store.lock.readLock();he.trace("all got read lock");try{return await ko(this.store.all(e))}finally{he.trace("all release read lock"),r()}}async delete(e){he.trace("delete await write lock");let r=await this.store.lock.writeLock();he.trace("delete got write lock");try{await this.store.delete(e)}finally{he.trace("delete release write lock"),r()}}async has(e){he.trace("has await read lock");let r=await this.store.lock.readLock();he.trace("has got read lock");try{return await this.store.has(e)}finally{he.trace("has release read lock"),r()}}async get(e){he.trace("get await read lock");let r=await this.store.lock.readLock();he.trace("get got read lock");try{return await this.store.load(e)}finally{he.trace("get release read lock"),r()}}async save(e,r){he.trace("save await write lock");let n=await this.store.lock.writeLock();he.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{he.trace("save release write lock"),n()}}async patch(e,r){he.trace("patch await write lock");let n=await this.store.lock.writeLock();he.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{he.trace("patch release write lock"),n()}}async merge(e,r){he.trace("merge await write lock");let n=await this.store.lock.writeLock();he.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{he.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await xr.openAndCertify(e,ir.DOMAIN);if(r?.equals(n.peerId)===!1)return he("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=ir.createFromProtobuf(n.payload),o;try{o=await this.get(n.peerId)}catch(s){if(s.code!=="ERR_NOT_FOUND")throw s}if(o?.peerRecordEnvelope!=null){let s=await xr.createFromProtobuf(o.peerRecordEnvelope),a=ir.createFromProtobuf(s.payload);if(a.seqNumber>=i.seqNumber)return he("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(s=>({isCertified:!0,multiaddr:s}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function cI(t){return t[Symbol.asyncIterator]!=null}function uI(t){if(cI(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Af=uI;function lI(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Ba=lI;function fI(t){return t[Symbol.asyncIterator]!=null}function hI(t,e){if(fI(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Ba(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){await o&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let s=e;return function*(){o===!0&&(yield n);for(let a of r)s(a)&&(yield a)}()}var Ft=hI;function dI(t){return t[Symbol.asyncIterator]!=null}function pI(t,e){return dI(t)?async function*(){yield*(await ko(t)).sort(e)}():function*(){yield*ko(t).sort(e)}()}var If=pI;function mI(t){return t[Symbol.asyncIterator]!=null}function yI(t,e){return mI(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Rf=yI;var La=class{put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await this.get(n,r)}}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await Af(this.putMany(e,n)),e=[],await Af(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null){let i=e.prefix;n=Ft(n,o=>o.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=0,o=e.offset;n=Ft(n,()=>i++>=o)}return e.limit!=null&&(n=Rf(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=Ft(n,o=>o.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,o)=>Ft(i,o),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,o)=>If(i,o),n)),e.offset!=null){let i=e.offset,o=0;n=Ft(n,()=>o++>=i)}return e.limit!=null&&(n=Rf(n,e.limit)),n}};var _g=z(Cf(),1);function Sg(t){return t=t??new Error("Not Found"),(0,_g.default)(t,"ERR_NOT_FOUND")}var Pa=class extends La{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw Sg();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new Ce(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new Ce(e)}};function Ag(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var wI=W("libp2p:address-manager"),bI=t=>t;function Tf(t,e){let r=t.getPeerId();return r!=null&&oe(r).equals(e)&&(t=t.decapsulate(Ue(`/p2p/${e.toString()}`))),t}var Da=class{components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.listen=n.map(o=>o.toString()),this.announce=new Set(i.map(o=>o.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??bI,this._updatePeerStoreAddresses=Ag(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>Ue(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{wI.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>Ue(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>Ue(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>Ue(e))}addObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Tf(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>Ue(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};function Ig(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Bf=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Ig(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},vI=["metrics","connectionProtector"],EI=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Rg(t={}){let e=new Bf(t);return new Proxy(e,{get(n,i,o){if(typeof i=="string"&&!EI.includes(i)){let s=e.components[i];if(s==null&&!vI.includes(i))throw new v(`${i} not set`,"ERR_SERVICE_MISSING");return s}return Reflect.get(n,i,o)},set(n,i,o){return typeof i=="string"?e.components[i]=o:Reflect.set(n,i,o),!0}})}var Ng=z(Cg(),1);var Tg="[a-fA-F\\d:]",Qr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Tg})|(?<=${Tg})(?=\\s|$))`:"",Kt="(?: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}",Me="[a-fA-F\\d]{1,4}",Na=`
38
38
  (?:
39
- (?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
- (?:${Pe}:){6}(?:${Ot}|:${Pe}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
41
- (?:${Pe}:){5}(?::${Ot}|(?::${Pe}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
- (?:${Pe}:){4}(?:(?::${Pe}){0,1}:${Ot}|(?::${Pe}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
- (?:${Pe}:){3}(?:(?::${Pe}){0,2}:${Ot}|(?::${Pe}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
- (?:${Pe}:){2}(?:(?::${Pe}){0,3}:${Ot}|(?::${Pe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
- (?:${Pe}:){1}(?:(?::${Pe}){0,4}:${Ot}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
- (?::(?:(?::${Pe}){0,5}:${Ot}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
39
+ (?:${Me}:){7}(?:${Me}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
40
+ (?:${Me}:){6}(?:${Kt}|:${Me}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
41
+ (?:${Me}:){5}(?::${Kt}|(?::${Me}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
42
+ (?:${Me}:){4}(?:(?::${Me}){0,1}:${Kt}|(?::${Me}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
43
+ (?:${Me}:){3}(?:(?::${Me}){0,2}:${Kt}|(?::${Me}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
44
+ (?:${Me}:){2}(?:(?::${Me}){0,3}:${Kt}|(?::${Me}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
45
+ (?:${Me}:){1}(?:(?::${Me}){0,4}:${Kt}|(?::${Me}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
46
+ (?::(?:(?::${Me}){0,5}:${Kt}|(?::${Me}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
47
47
  )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
48
- `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),ib=new RegExp(`(?:^${Ot}$)|(?:^${ta}$)`),sb=new RegExp(`^${Ot}$`),ob=new RegExp(`^${ta}$`),ll=t=>t&&t.exact?ib:new RegExp(`(?:${Ur(t)}${Ot}${Ur(t)})|(?:${Ur(t)}${ta}${Ur(t)})`,"g");ll.v4=t=>t&&t.exact?sb:new RegExp(`${Ur(t)}${Ot}${Ur(t)}`,"g");ll.v6=t=>t&&t.exact?ob:new RegExp(`${Ur(t)}${ta}${Ur(t)}`,"g");var Sm=ll;var Tm=V(Im(),1),{isValid:ab,parse:cb}=Tm.default,ub=["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"],lb=ub.map(t=>new Cm.Netmask(t));function fb(t){for(let e of lb)if(e.contains(t))return!0;return!1}function Rm(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Bm=t=>{if(ab(t)){let e=cb(t);if(e.kind()==="ipv4")return fb(e.toNormalizedString());if(e.kind()==="ipv6")return Rm(t)}else if(ii(t)&&Sm.v6().test(t))return Rm(t)};var na=Bm;function Lm(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!na(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var x3=Symbol.for("@libp2p/transport");var Kr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Kr||(Kr={}));function fl(t){try{let{address:e}=t.nodeAddress();return!!na(e)}catch{return!0}}function fi(t,e){let r=fl(t.multiaddr),n=fl(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var dl=V(gu(),1),pl=V(Nm(),1);var km=globalThis.fetch,Om=globalThis.Headers,A3=globalThis.Request,I3=globalThis.Response;function ia(t,e,r){return`${t}?name=${e}&type=${r}`}async function Mm(t,e){return await(await km(t,{headers:new Om({accept:"application/dns-json"}),signal:e})).json()}function wn(t,e){return`${e}_${t}`}var hl=Object.assign((0,dl.default)("dns-over-http-resolver"),{error:(0,dl.default)("dns-over-http-resolver:error")}),ml=class{constructor(e={}){this._cache=new pl.default({max:e?.maxCache??100}),this._TXTcache=new pl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??Mm,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(wn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(ia(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(wn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),hl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(wn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(ia(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(wn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),hl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(wn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(ia(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(wn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),hl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Fm=ml;var Um=Fm;var{code:yb}=ce("dnsaddr");async function hi(t,e={}){let r=new Um;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===yb)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var Jt;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(Jt||(Jt={}));var D;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(D||(D={}));var gb={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:hi},addressSorter:fi},transportManager:{faultTolerance:Kr.FATAL_ALL}};function Km(t){let e=Dr(gb,t);if(e.transports==null||e.transports.length<1)throw new E(Jt.ERR_TRANSPORTS_REQUIRED,D.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new E(Jt.ERR_PROTECTOR_REQUIRED,D.ERR_PROTECTOR_REQUIRED);return e}var Vm="keep-alive";var Ky=V(Oy(),1);var Jb=G("libp2p:get-peer");function oa(t){if(Eo(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:ie(r),t.forEach(n=>{if(!yn(n))throw Jb.error("multiaddr %s was invalid",n),new E("Invalid Multiaddr",D.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}else{let s=ie(i);if(e==null||!e.equals(s))throw new E("Multiaddrs must all have the same peer id or have no peer id",D.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function e_(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Tl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new E("missing peer id",D.ERR_INVALID_PARAMETERS);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=e_(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},aa=class extends Nt{constructor(e={}){super({...e,queueClass:Tl})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Ge=G("libp2p:connection-manager:auto-dial"),ys={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},ca=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??ys.minConnections,this.autoDialPriority=r.autoDialPriority??ys.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??ys.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??ys.maxQueueLength,this.started=!1,this.running=!1,this.queue=new aa({concurrency:r.autoDialConcurrency??ys.autoDialConcurrency}),this.queue.addListener("error",n=>{Ge.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{Ge.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Ge.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Ge.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){Ge.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Ge("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Ge("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Ge("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new Lt(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(Ge.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(Ge.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(Ge.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(Ge.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new Bt;for(let c of s)o.has(c.id)||o.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=s.sort((c,u)=>{let l=o.get(c.id)??0,f=o.get(u.id)??0;return l>f?-1:l<f?1:0});Ge("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){Ge("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}Ge("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{Ge.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{Ge.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var gi=G("libp2p:connection-manager:connection-pruner"),My={maxConnections:300,allow:[]},ua=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??My.maxConnections,this.allow=r.allow??My.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{gi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(gi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;gi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Bt;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&gi.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.stat.timeline.open,h=c.stat.timeline.open;return f<h?1:f>h?-1:0}),o=[];for(let a of s)if(gi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){gi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};var Ml=V(_i(),1);function xi(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function gs(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var kl=V(_i(),1);var Fy=G("libp2p:connection-manager:utils");async function Ol(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await r_(t,e),o=(await Promise.all(n.map(async a=>Ol(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return Fy("resolved %s to",t,o.map(a=>a.toString())),o}async function r_(t,e){try{return t=Ne(t.toString()),await t.resolve(e)}catch(r){return Fy.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Uy(...t){let e=[];for(let n of t)if(n!=null){try{(0,kl.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=xi(e);try{(0,kl.setMaxListeners)?.(1/0,r)}catch{}return r}var We=G("libp2p:connection-manager:dial-queue"),xs={addressSorter:fi,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:hi}},la=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??xs.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??xs.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??xs.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??xs.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,Ml.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))Fu.set(n,i);this.queue=new Nt({concurrency:r.maxParallelDials??xs.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{We.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=oa(e),s=i.map(l=>({multiaddr:l,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(l){throw o.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return We("joining existing dial target for %p",n),o.clear(),c.promise;We("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:i_(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),o.clear()}).catch(l=>{throw We.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),o.aborted?new E(l.message,D.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=xi([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,Ml.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new E("Tried to dial self",D.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new E("The dial request is blocked by gater.allowDialPeer",D.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){We("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),We("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==D.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Ol(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(h=>({multiaddr:h,isCertified:!1}))}))).flat(),s=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),o=new Map;for(let l of s){let f=l.multiaddr.toString(),h=o.get(f);if(h!=null){h.isCertified=h.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(We("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),We("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new E("The dial request has no valid addresses",D.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new E("dial with more addresses than allowed",D.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let h=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:h!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new E("The connection gater denied all addresses in the dial request",D.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Nt({concurrency:this.maxParallelDialsPerPeer});i.on("error",o=>{We.error("error dialling",o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new E("dialAction did not come with an AbortController",D.ERR_INVALID_PARAMETERS);let u=Uy(c.signal,r.signal);u.addEventListener("abort",()=>{We("dial to %s aborted",o)});let l=gs();return await i.add(async()=>{if(u.aborted){We("dial to %s was aborted before reaching the head of the peer dial queue",o),l.reject(new wr);return}await this.queue.add(async()=>{try{if(u.aborted){We("dial to %s was aborted before reaching the head of the dial queue",o),l.reject(new wr);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){We("multiple dials succeeded, closing superfluous connection"),f.close().catch(h=>{We.error("error closing superfluous connection",h)}),l.reject(new wr);return}n[a]=void 0,n.forEach(h=>{h!==void 0&&h.abort()}),We("dial to %s succeeded",o),l.resolve(f)}catch(f){We.error("error during dial of %s",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new E("successful dial led to empty object returned from peer dial queue",D.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function i_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var pt=G("libp2p:connection-manager"),a_=50,vn={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},fa=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??vn.maxConnections;let n=r.minConnections??vn.minConnections;if(this.maxConnections<n)throw new E("Connection Manager maxConnections must be greater than minConnections",D.ERR_INVALID_PARAMETERS);this.connections=new Bt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ne(i)),this.deny=(r.deny??[]).map(i=>Ne(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??vn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Ky.RateLimiterMemory({points:r.inboundConnectionThreshold??vn.inboundConnectionThreshold,duration:1}),this.autoDial=new ca({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??vn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??vn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??vn.autoDialMaxQueueLength}),this.connectionPruner=new ua({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new la({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??fi,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:hi}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.stat.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.stat.direction} ${i.stat.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.stat.direction} ${o.stat.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.autoDial.start(),this.started=!0,pt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Vm)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{pt.error(n)})}))}).catch(e=>{pt.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){pt.error(i)}})());pt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),pt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{pt.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new E("Not started",D.ERR_NODE_NOT_STARTED);let{peerId:n}=oa(e);if(n!=null){pt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return pt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??a_}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return pt("connection from %s refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return pt("connection from %s refused - incomingPendingConnections exceeded by peer %s",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return pt("connection from %s refused - inboundConnectionThreshold exceeded by host %s",i,e.remoteAddr),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(pt("connection from %s refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var ha=class{constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},wi=class{constructor(e={}){this.hwm=e.splitLimit??16,this.head=new ha(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new ha(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};function En(t={}){return c_(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function c_(t,e){e=e??{};let r=e.onEnd,n=new wi,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((m,y)=>{s=g=>{s=null,n.push(g);try{m(t(n))}catch(w){y(w)}return i}}):t(n),c=m=>s!=null?s(m):(n.push(m),i),u=m=>(n=new wi,s!=null?s({error:m}):(n.push({error:m}),i)),l=m=>{if(o)return i;if(e?.objectMode!==!0&&m?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:m})},f=m=>o?i:(o=!0,m!=null?u(m):c({done:!0})),h=()=>(n=new wi,f(),{done:!0}),d=m=>(f(m),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:h,throw:d,push:l,end:f,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(m){return p.throw(m),r!=null&&(r(m),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(m){return p.end(m),r!=null&&(r(m),r=void 0),i},get readableLength(){return p.readableLength}},i}function u_(t){return t[Symbol.asyncIterator]!=null}function l_(...t){let e=[];for(let r of t)u_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=En({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var qr=l_;function bn(t,...e){if(t==null)throw new Error("Empty pipeline");if(Vl(t)){let n=t;t=()=>n.source}else if(qy(t)||Vy(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Vl(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Vl(r[n])&&(r[n]=h_(r[n]));return f_(...r)}var f_=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Vy=t=>t?.[Symbol.asyncIterator]!=null,qy=t=>t?.[Symbol.iterator]!=null,Vl=t=>t==null?!1:t.sink!=null&&t.source!=null,h_=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=En({objectMode:!0});r.then(()=>{n.end()},o=>{n.end(o)});let i,s=t.source;if(Vy(s))i=async function*(){yield*s,n.end()};else if(qy(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return qr(n,i())}return t.source};function d_(t){return t[Symbol.asyncIterator]!=null}function p_(t,e){if(d_(t))return async function*(){for await(let a of t)yield e(a)}();let r=Zo(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){yield await s;for await(let a of r)yield e(a)}();let o=e;return function*(){yield s;for(let a of r)yield o(a)}()}var $y=p_;async function*ws(t,e){yield*$y(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function da(t){let e=new Set;return kt(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*pa(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new E(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var ma=class{routers;started;components;constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*bn(qr(...this.routers.map(n=>n.findProviders(e,r))),n=>ws(n,this.components.peerStore),n=>da(n),n=>pa(n))}async provide(e,r={}){if(this.routers.length===0)throw new E("No content routers available",D.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new E(Jt.NOT_STARTED_YET,D.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new E(Jt.NOT_STARTED_YET,D.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function m_(t){return t[Symbol.asyncIterator]!=null}function y_(t){if(m_(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var ya=y_;var g_=G("libp2p:peer-routing"),ga=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new E("Should not try to find self",D.ERR_FIND_SELF);let n=await bn(qr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){g_.error(s)}}())),i=>kt(i,Boolean),i=>ws(i,this.components.peerStore),async i=>ya(i));if(n!=null)return n;throw new E(Jt.NOT_FOUND,D.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new E("No peer routers available",D.ERR_NO_ROUTERS_AVAILABLE);yield*bn(qr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>ws(n,this.components.peerStore),n=>da(n),n=>pa(n))}};var x_=Symbol.for("@libp2p/topology");function zy(t){return t!=null&&!!t[x_]}var xa=G("libp2p:registrar"),ql=32,$l=64,wa=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new E(`No handler registered for protocol ${e}`,D.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new E(`Handler already registered for protocol ${e}`,D.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Dr.bind({ignoreUndefined:!0})({maxInboundStreams:ql,maxOutboundStreams:$l},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(!zy(r))throw xa.error("topology must be an instance of interfaces/topology"),new E("topology must be an instance of interfaces/topology",D.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),await r.setRegistrar(this),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect(r)}}).catch(n=>{n.code!==D.ERR_NOT_FOUND&&xa.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){xa("peer %p connected but the connection manager did not have a connection",n);return}for(let s of n.protocols){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onConnect(r,i)}}).catch(n=>{n.code!==D.ERR_NOT_FOUND&&xa.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(o=>!r.protocols.includes(o)),s=r.protocols.filter(o=>!(n?.protocols??[]).includes(o));for(let o of i){let a=this.topologies.get(o);if(a!=null)for(let c of a.values())c.onDisconnect(r.id)}for(let o of s){let a=this.topologies.get(o);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect(r.id,u)}}}};var zl=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Hy(t){let{name:e,metrics:r}=t,n;return r!=null?n=new zl({name:e,metrics:r}):n=new Map,n}var _n=G("libp2p:transports"),va=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=Hy({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Kr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new E("Transport must have a valid tag",D.ERR_INVALID_KEY);if(this.transports.has(r))throw new E(`There is already a transport with the tag ${r}`,D.ERR_DUPLICATE_TRANSPORT);_n("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(_n("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),_n("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new E(`No transport available for address ${String(e)}`,D.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=D.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){_n("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){_n("creating listener for %s on %s",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let h=f.findIndex(d=>d===l);f.splice(h,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Kr.NO_FATAL)throw new E(`Transport (${n}) could not listen on any available address`,D.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Kr.FATAL_ALL)throw new E(n,D.ERR_NO_VALID_ADDRESSES);_n(`libp2p in dial mode only: ${n}`)}}async remove(e){_n("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var Ql=V(_i(),1);var pr="/multistream/1.0.0";function Hl(t){let e=async function*(){let r=yield,n=new Ae;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Ae;continue}for(n.append(i);n.length>=r;){let s=n.sublist(0,r);if(n.consume(r),r=yield s,r==null){n.length>0&&(r=yield n,n=new Ae);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ea(t){let e=En(),r=Hl(t.source),n=gs(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await s},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var vs=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Gy(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function ba(t,e,r){let n=r??{},i=Gy(t);async function*s(){let o,a=()=>{o?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new vs(l,f)}let u=new Promise((l,f)=>{o=()=>{let{abortMessage:h,abortCode:d}=n;f(new vs(h,d))}});c=await Promise.race([u,i.next()]),o=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(h=>{n.onReturnError!=null&&n.onReturnError(h)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return s()}function w_(t,e,r){return n=>t(ba(n,e,r))}function Yy(t,e,r){return{sink:w_(t.sink,e,{...r,onAbort:void 0}),source:ba(t.source,e,r)}}function _a(t){return t[Symbol.asyncIterator]!=null}var Sa=t=>{let e=Pt.encodingLength(t),r=St(e);return Pt.encode(t,r),Sa.bytes=e,r};Sa.bytes=0;function Aa(t,e){e=e??{};let r=e.lengthEncoder??Sa;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return _a(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Aa.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Sa;return new Ae(r(t.byteLength),t)};var vi=V(al(),1);var v_=8,E_=1024*1024*4,Sn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Sn||(Sn={}));var Gl=t=>{let e=Pt.decode(t);return Gl.bytes=Pt.encodingLength(e),e};Gl.bytes=0;function Es(t,e){let r=new Ae,n=Sn.LENGTH,i=-1,s=e?.lengthDecoder??Gl,o=e?.maxLengthLength??v_,a=e?.maxDataLength??E_;function*c(){for(;r.byteLength>0;){if(n===Sn.LENGTH)try{if(i=s(r),i<0)throw(0,vi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,vi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Sn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,vi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Sn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Sn.LENGTH}}}return _a(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,vi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,vi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Es.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return Es(n,{...e??{},onLength:s=>{r=s}})};var S_=G("libp2p:mss"),Wy=U(`
49
- `);function bs(t){let e=new Ae(t,Wy);return Aa.single(e)}function An(t,e,r={}){let n=bs(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function Qy(t,e,r={}){let n=new Ae;for(let i of e)n.append(bs(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function A_(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=ba(n,e.signal));let s=a=>{r=a},o=await bn(i,a=>Es(a,{onLength:s,maxDataLength:1024}),async a=>ya(a));if(o==null||o.length===0)throw new E("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(o.get(o.byteLength-1)!==Wy[0])throw S_.error("Invalid mss message - missing newline - %s",o.subarray()),new E("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.sublist(0,-1)}async function Ei(t,e){let r=await A_(t,e);return $(r.subarray())}var _s=G("libp2p:mss:select");async function Ss(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:s,stream:o}=Ea(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");_s.trace('select: write ["%s", "%s"]',pr,a);let c=U(pr),u=U(a);Qy(i,[c,u],r);let l=await Ei(n,r);if(_s.trace('select: read "%s"',l),l===pr&&(l=await Ei(n,r),_s.trace('select: read "%s"',l)),l===a)return s(),{stream:o,protocol:a};for(let f of e){_s.trace('select: write "%s"',f),An(i,U(f),r);let h=await Ei(n,r);if(_s.trace('select: read "%s" for "%s"',h,f),h===f)return s(),{stream:o,protocol:f}}throw s(),new E("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var As=G("libp2p:mss:handle");async function Is(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:s,stream:o}=Ea(t);for(;;){let a=await Ei(i,r);if(As.trace('read "%s"',a),a===pr){As.trace('respond with "%s" for "%s"',pr,a),An(n,U(pr),r);continue}if(e.includes(a))return An(n,U(a),r),As.trace('respond with "%s" for "%s"',a,a),s(),{stream:o,protocol:a};if(a==="ls"){An(n,new Ae(...e.map(c=>bs(U(c)))),r),As.trace('respond with "%s" for %s',e,a);continue}An(n,U("na"),r),As('respond with "na" for "%s"',a)}}var Zy=Symbol.for("@libp2p/connection");var jy="OPEN",Yl="CLOSING",Ia="CLOSED";var R_=G("libp2p:connection"),Wl=class{id;remoteAddr;remotePeer;stat;tags;_newStream;_close;_getStreams;_closing;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,getStreams:o,stat:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.stat={...a,status:jy},this._newStream=i,this._close=s,this._getStreams=o,this.tags=[],this._closing=!1}[Symbol.toStringTag]="Connection";[Zy]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.stat.status===Yl)throw new E("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Ia)throw new E("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.stat.direction="outbound",n}addStream(e){e.stat.direction="inbound"}removeStream(e){}async close(){if(!(this.stat.status===Ia||this._closing)){this.stat.status=Yl;try{this.streams.forEach(e=>{e.close()})}catch(e){R_.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.stat.timeline.close=Date.now(),this.stat.status=Ia}}};function Jy(t){return new Wl(t)}var we=G("libp2p:upgrader");function T_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return ql}function B_(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==D.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??$l}function eg(t,e,r){let n=0;return r.streams.forEach(i=>{i.stat.direction===e&&i.stat.protocol===t&&n++}),n}var Ra=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new E(`The multiaddr connection is blocked by gater.${n}`,D.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new E("connection denied",D.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=xi([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,Ql.setMaxListeners)?.(1/0,u)}catch{}try{let l=Yy(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new E("The multiaddr connection is blocked by gater.acceptConnection",D.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),we("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(we("protecting the inbound connection"),f=await h.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let h={...f,...i};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new E("inbound connection that skipped encryption must have a peer id",D.ERR_INVALID_MULTIADDR);let d=ie(h);c="native",s=d}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...f,...i},this.muxers);a=h.muxerFactory,o=h.stream}}catch(h){throw we.error("Failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),we("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=ie(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),we("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new E("Encryption was skipped but no peer id was passed",D.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw we.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),we("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await Is(d,p);if(we("%s: incoming stream opened on %s",n,y),l==null)return;let g=T_(y,this.components.registrar);if(eg(y,"inbound",l)===g){let _=new E(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,D.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(_),_}d.source=m.source,d.sink=m.sink,d.stat.protocol=y,await this.components.peerStore.merge(o,{protocols:[y]}),l.addStream(d),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:y})}).catch(p=>{we.error(p),d.stat.timeline.close==null&&d.close()})},onStreamEnd:d=>{l?.removeStream(d.id)}}),u=async(d,p={})=>{if(c==null)throw new E("Stream is not multiplexed",D.ERR_MUXER_UNAVAILABLE);we("%s: starting new stream on %s",n,d);let m=await c.newStream();try{if(p.signal==null){we("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d),p.signal=AbortSignal.timeout(3e4);try{(0,Ql.setMaxListeners)?.(1/0,p.signal)}catch{}}let{stream:y,protocol:g}=await Ss(m,d,p),w=B_(g,this.components.registrar,p);if(eg(g,"outbound",l)>=w){let N=new E(`Too many outbound protocol streams for protocol "${g}" - limit ${w}`,D.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(N),N}return await this.components.peerStore.merge(o,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.stat.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw we.error("could not create new stream",y),m.stat.timeline.close==null&&m.close(),y.code!=null?y:new E(String(y),D.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(s.source),s.sink(c.source)]).catch(d=>{we.error(d)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&f.close==null&&(async()=>{try{l.stat.status==="OPEN"&&await l.close()}catch(p){we.error(p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{we.error(p)}),Reflect.set(...d))}),i.timeline.upgraded=Date.now();let h=()=>{throw new E("connection is not multiplexed",D.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Jy({remoteAddr:i.remoteAddr,remotePeer:o,stat:{status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r},newStream:u??h,getStreams:()=>c!=null?c.streams:h(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s}=this.components.registrar.getHandler(i);s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());we("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await Is(e,r,{writeBytes:!0}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return we("encrypting inbound connection..."),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new E(String(n),D.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());we("selecting outbound crypto protocol",n);try{let{stream:i,protocol:s}=await Ss(e,n,{writeBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return we("encrypting outbound connection to %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw new E(String(i),D.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());we("outbound selecting muxer %s",n);try{let{stream:i,protocol:s}=await Ss(e,n,{writeBytes:!0});we("%s selected as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing outbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());we("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await Is(e,n,{writeBytes:!0}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw we.error("error multiplexing inbound stream",i),new E(String(i),D.ERR_MUXER_UNAVAILABLE)}}};var nt=G("libp2p"),Xl=class extends Zi{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new Zi,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new mu(c.type,{detail:c.detail}));return u||l};try{(0,tg.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Em({peerId:e.peerId,events:r,datastore:e.datastore??new Jo,connectionGater:Lm(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Xo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Ra(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new va(this.components,e.transportManager)),this.configureComponent("connectionManager",new fa(this.components,e.connectionManager)),this.configureComponent("registrar",new wa(this.components)),this.configureComponent("addressManager",new ea(this.components,e.addresses));let s=mn.generateOptions();this.keychain=this.configureComponent("keyChain",new mn(this.components,{...s,...e.keychain}));let o=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new ga(this.components,{routers:o}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new ma(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){nt.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[fu]!=null&&(nt("registering service %s for content routing",c),a.push(l[fu])),l[du]!=null&&(nt("registering service %s for peer routing",c),o.push(l[du])),l[hu]!=null&&(nt("registering service %s for peer discovery",c),l[hu].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&nt.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,nt("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(nt("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),nt("libp2p has started")}catch(r){throw nt.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(nt("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),nt("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new Lt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new E("no protocols were provided to open a stream",D.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){yn(e)&&(e=ie(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(nt("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Ce([U("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Qi(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){nt.error(new Error(D.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{nt.error(n)})}};async function rg(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new mn({datastore:e},Dr(mn.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await pp()),new Xl(Km(t))}async function L_(t){let e=await rg(t);return t.start!==!1&&await e.start(),e}return ug(P_);})();
48
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),_I=new RegExp(`(?:^${Kt}$)|(?:^${Na}$)`),SI=new RegExp(`^${Kt}$`),AI=new RegExp(`^${Na}$`),Lf=t=>t&&t.exact?_I:new RegExp(`(?:${Qr(t)}${Kt}${Qr(t)})|(?:${Qr(t)}${Na}${Qr(t)})`,"g");Lf.v4=t=>t&&t.exact?SI:new RegExp(`${Qr(t)}${Kt}${Qr(t)}`,"g");Lf.v6=t=>t&&t.exact?AI:new RegExp(`${Qr(t)}${Na}${Qr(t)}`,"g");var Bg=Lf;var kg=z(Pg(),1),{isValid:II,parse:RI}=kg.default,CI=["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"],TI=CI.map(t=>new Ng.Netmask(t));function BI(t){for(let e of TI)if(e.contains(t))return!0;return!1}function Dg(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var Og=t=>{if(II(t)){let e=RI(t);if(e.kind()==="ipv4")return BI(e.toNormalizedString());if(e.kind()==="ipv6")return Dg(t)}else if(Ii(t)&&Bg.v6().test(t))return Dg(t)};var Oa=Og;function Mg(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Oa(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var eD=Symbol.for("@libp2p/transport");var Xr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Xr||(Xr={}));function Pf(t){try{let{address:e}=t.nodeAddress();return!!Oa(e)}catch{return!0}}function Di(t,e){let r=Pf(t.multiaddr),n=Pf(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}var Nf=z(al(),1),kf=z(Kg(),1);var Vg=globalThis.fetch,qg=globalThis.Headers,aD=globalThis.Request,cD=globalThis.Response;function Ma(t,e,r){return`${t}?name=${e}&type=${r}`}async function zg(t,e){return await(await Vg(t,{headers:new qg({accept:"application/dns-json"}),signal:e})).json()}function Bn(t,e){return`${e}_${t}`}var Df=Object.assign((0,Nf.default)("dns-over-http-resolver"),{error:(0,Nf.default)("dns-over-http-resolver:error")}),Of=class{constructor(e={}){this._cache=new kf.default({max:e?.maxCache??100}),this._TXTcache=new kf.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??zg,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>e.abort())}getServers(){return this._servers}_getShuffledServers(){let e=[...this._servers];for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}async resolve(e,r="A"){switch(r){case"A":return await this.resolve4(e);case"AAAA":return await this.resolve6(e);case"TXT":return await this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(Bn(e,r));if(n!=null)return n;let i=!1;for(let o of this._getShuffledServers()){let s=new AbortController;this._abortControllers.push(s);try{let a=await this._request(Ma(o,e,r),s.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(Bn(e,r),c,{ttl:u}),c}catch{s.signal.aborted&&(i=!0),Df.error(`${o} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==s)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},$g=Of;var Hg=$g;var{code:kI}=le("dnsaddr");async function Ni(t,e={}){let r=new Hg;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===kI)??[];if(i==null)throw new Error("No hostname found in multiaddr");let s=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(s=s.filter(a=>a.includes(n))),s}var or;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.DHT_DISABLED="DHT is not available",t.PUBSUB_DISABLED="PubSub is not available",t.CONN_ENCRYPTION_REQUIRED="At least one connection encryption module is required",t.ERR_TRANSPORTS_REQUIRED="At least one transport module is required",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(or||(or={}));var N;(function(t){t.DHT_DISABLED="ERR_DHT_DISABLED",t.ERR_PUBSUB_DISABLED="ERR_PUBSUB_DISABLED",t.PUBSUB_NOT_STARTED="ERR_PUBSUB_NOT_STARTED",t.DHT_NOT_STARTED="ERR_DHT_NOT_STARTED",t.CONN_ENCRYPTION_REQUIRED="ERR_CONN_ENCRYPTION_REQUIRED",t.ERR_TRANSPORTS_REQUIRED="ERR_TRANSPORTS_REQUIRED",t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TIMEOUT="ERR_TIMEOUT",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_KEYCHAIN_REQUIRED="ERR_KEYCHAIN_REQUIRED",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(N||(N={}));var OI={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:Ni},addressSorter:Di},transportManager:{faultTolerance:Xr.FATAL_ALL}};function Gg(t){let e=qr(OI,t);if(e.transports==null||e.transports.length<1)throw new v(or.ERR_TRANSPORTS_REQUIRED,N.ERR_TRANSPORTS_REQUIRED);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new v(or.ERR_PROTECTOR_REQUIRED,N.ERR_PROTECTOR_REQUIRED);return e}var Yg="keep-alive";var G1=z(q1(),1);var xR=W("libp2p:get-peer");function Fa(t){if(Zs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:oe(r),t.forEach(n=>{if(!Rn(n))throw xR.error("multiaddr %s was invalid",n),new v("Invalid Multiaddr",N.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}else{let o=oe(i);if(e==null||!e.equals(o))throw new v("Multiaddrs must all have the same peer id or have no peer id",N.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function wR(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Xf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new v("missing peer id",N.ERR_INVALID_PARAMETERS);let o={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(o);return}let s=wR(this.#e,o,(a,c)=>c.priority-a.priority);this.#e.splice(s,0,o)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},Ka=class extends Ut{constructor(e={}){super({...e,queueClass:Xf})}hasJob(e){return this.sizeBy({peerId:e})>0}};var Xe=W("libp2p:connection-manager:auto-dial"),Yo={minConnections:50,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3},Va=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialInterval;started;running;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Yo.minConnections,this.autoDialPriority=r.autoDialPriority??Yo.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Yo.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Yo.maxQueueLength,this.started=!1,this.running=!1,this.queue=new Ka({concurrency:r.autoDialConcurrency??Yo.autoDialConcurrency}),this.queue.addListener("error",n=>{Xe.error("error during auto-dial",n)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(n=>{Xe.error(n)})})}isStarted(){return this.started}start(){this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{Xe.error("error while autodialing",e)})},this.autoDialIntervalMs),this.started=!0}afterStart(){this.autoDial().catch(e=>{Xe.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){Xe.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){Xe("not enough connections %d/%d but auto dial queue is full",r,this.minConnections);return}if(this.running){Xe("not enough connections %d/%d - but skipping autodial as it is already running",r,this.minConnections);return}this.running=!0,Xe("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new kt(this.connectionManager.getDialQueue().map(c=>c.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[c=>c.addresses.length===0?(Xe.trace("not autodialing %p because they have no addresses"),!1):e.has(c.id)?(Xe.trace("not autodialing %p because they are already connected"),!1):n.has(c.id)?(Xe.trace("not autodialing %p because they are already being dialed"),!1):this.queue.hasJob(c.id)?(Xe.trace("not autodialing %p because they are already being autodialed"),!1):!0]}),o=i.sort(()=>Math.random()>.5?1:-1),s=new Nt;for(let c of o)s.has(c.id)||s.set(c.id,[...c.tags.values()].reduce((u,l)=>u+l.value,0));let a=o.sort((c,u)=>{let l=s.get(c.id)??0,f=s.get(u.id)??0;return l>f?-1:l<f?1:0});Xe("selected %d/%d peers to dial",a.length,i.length);for(let c of a)this.queue.add(async()=>{let u=this.connectionManager.getConnectionsMap().size;if(u>=this.minConnections){Xe("got enough connections now %d/%d",u,this.minConnections),this.queue.clear();return}Xe("connecting to a peerStore stored peer %p",c.id),await this.connectionManager.openConnection(c.id,{priority:this.autoDialPriority})},{peerId:c.id}).catch(u=>{Xe.error("could not connect to peerStore stored peer",u)});this.running=!1,this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(c=>{Xe.error("error while autodialing",c)})},this.autoDialIntervalMs))}};var Fi=W("libp2p:connection-manager:connection-pruner"),z1={maxConnections:300,allow:[]},qa=class{maxConnections;connectionManager;peerStore;allow;events;constructor(e,r={}){this.maxConnections=r.maxConnections??z1.maxConnections,this.allow=r.allow??z1.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{Fi.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(Fi("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;Fi("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new Nt;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&Fi.error("error loading peer tags",u)}}}let o=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),s=[];for(let a of o)if(Fi("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||s.push(a),s.length===n)break;await Promise.all(s.map(async a=>{try{await a.close()}catch(c){Fi.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:s})}};var ih=z(Hi(),1);function Ki(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var rh=z(Hi(),1);var $1=W("libp2p:connection-manager:utils");async function nh(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await vR(t,e),s=(await Promise.all(n.map(async a=>nh(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return $1("resolved %s to",t,s.map(a=>a.toString())),s}async function vR(t,e){try{return t=Ue(t.toString()),await t.resolve(e)}catch(r){return $1.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function H1(...t){let e=[];for(let n of t)if(n!=null){try{(0,rh.setMaxListeners)?.(1/0,n)}catch{}e.push(n)}let r=Ki(e);try{(0,rh.setMaxListeners)?.(1/0,r)}catch{}return r}var je=W("libp2p:connection-manager:dial-queue"),Wo={addressSorter:Di,maxParallelDials:100,maxPeerAddrsToDial:25,maxParallelDialsPerPeer:10,dialTimeout:3e4,resolvers:{dnsaddr:Ni}},za=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;maxParallelDialsPerPeer;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;constructor(e,r={}){this.addressSorter=r.addressSorter??Wo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Wo.maxPeerAddrsToDial,this.maxParallelDialsPerPeer=r.maxParallelDialsPerPeer??Wo.maxParallelDialsPerPeer,this.dialTimeout=r.dialTimeout??Wo.dialTimeout,this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController;try{(0,ih.setMaxListeners)?.(1/0,this.shutDownController.signal)}catch{}this.pendingDialCount=e.metrics?.registerMetric("libp2p_dialler_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dialler_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))of.set(n,i);this.queue=new Ut({concurrency:r.maxParallelDials??Wo.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{je.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}stop(){this.shutDownController.abort()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Fa(e),o=i.map(l=>({multiaddr:l,isCertified:!1})),s=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,o,{...r,signal:s})}catch(l){throw s.clear(),l}let c=this.pendingDials.find(l=>!!(l.peerId!=null&&n!=null&&l.peerId.equals(n)||a.map(({multiaddr:f})=>f.toString()).join()===l.multiaddrs.map(f=>f.toString()).join()));if(c!=null)return je("joining existing dial target for %p",n),s.clear(),c.promise;je("creating dial target for",a.map(({multiaddr:l})=>l.toString()));let u={id:_R(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:l})=>l)};return u.promise=this.performDial(u,{...r,signal:s}).finally(()=>{this.pendingDials=this.pendingDials.filter(l=>l.id!==u.id),s.clear()}).catch(l=>{throw je.error("dial failed to %s",u.multiaddrs.map(f=>f.toString()).join(", "),l),s.aborted?new v(l.message,N.ERR_TIMEOUT):l}),this.pendingDials.push(u),u.promise}createDialAbortControllers(e){let r=Ki([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);try{(0,ih.setMaxListeners)?.(1/0,r)}catch{}return r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new v("Tried to dial self",N.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new v("The dial request is blocked by gater.allowDialPeer",N.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){je("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),je("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==N.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await nh(l.multiaddr,n);return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat(),o=i.filter(l=>!!this.transportManager.transportForMultiaddr(l.multiaddr)),s=new Map;for(let l of o){let f=l.multiaddr.toString(),d=s.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}s.set(f,l)}let a=[...s.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(je("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),je("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new v("The dial request has no valid addresses",N.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new v("dial with more addresses than allowed",N.ERR_TOO_MANY_ADDRESSES);if(e!=null){let l=`/p2p/${e.toString()}`;a=a.map(f=>{let d=f.multiaddr.getPeerId();return f.multiaddr.protos().pop()?.path===!0?f:d!==e.toString()?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f})}let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new v("The connection gater denied all addresses in the dial request",N.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new Ut({concurrency:this.maxParallelDialsPerPeer});i.on("error",s=>{je.error("error dialling",s)});let o=await Promise.any(e.multiaddrs.map(async(s,a)=>{let c=n[a];if(c==null)throw new v("dialAction did not come with an AbortController",N.ERR_INVALID_PARAMETERS);let u=H1(c.signal,r.signal);u.addEventListener("abort",()=>{je("dial to %a aborted",s)});let l=jr();return await i.add(async()=>{if(u.aborted){je("dial to %a was aborted before reaching the head of the peer dial queue",s),l.reject(new Cr);return}await this.queue.add(async()=>{try{if(u.aborted){je("dial to %a was aborted before reaching the head of the dial queue",s),l.reject(new Cr);return}e.status="active";let f=await this.transportManager.dial(s,{...r,signal:u});if(c.signal.aborted){je("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{je.error("error closing superfluous connection",d)}),l.reject(new Cr);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),je("dial to %a succeeded",s),l.resolve(f)}catch(f){je.error("error during dial of %a",s,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(o==null)throw new v("successful dial led to empty object returned from peer dial queue",N.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",o}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function _R(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var xt=W("libp2p:connection-manager"),IR=50,Ln={minConnections:50,maxConnections:300,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},$a=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;constructor(e,r={}){this.maxConnections=r.maxConnections??Ln.maxConnections;let n=r.minConnections??Ln.minConnections;if(this.maxConnections<n)throw new v("Connection Manager maxConnections must be greater than minConnections",N.ERR_INVALID_PARAMETERS);this.connections=new Nt,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>Ue(i)),this.deny=(r.deny??[]).map(i=>Ue(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??Ln.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new G1.RateLimiterMemory({points:r.inboundConnectionThreshold??Ln.inboundConnectionThreshold,duration:1}),this.autoDial=new Va({connectionManager:this,peerStore:e.peerStore,events:e.events},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??Ln.autoDialConcurrency,autoDialPriority:r.autoDialPriority??Ln.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??Ln.autoDialMaxQueueLength}),this.connectionPruner=new qa({connectionManager:this,peerStore:e.peerStore,events:e.events},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new za({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater},{addressSorter:r.addressSorter??Di,maxParallelDials:r.maxParallelDials??100,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:Ni}})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let o=`${i.direction} ${i.protocol??"unnegotiated"}`;e[o]=(e[o]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let o={};for(let s of i.streams){let a=`${s.direction} ${s.protocol??"unnegotiated"}`;o[a]=(o[a]??0)+1}for(let[s,a]of Object.entries(o))e[s]=e[s]??[],e[s].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((s,a)=>s-a);let o=Math.floor(i.length*.9);r[n]=i[o]}return r}}),this.autoDial.start(),this.started=!0,xt("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(Yg)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{xt.error(n)})}))}).catch(e=>{xt.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){xt.error(i)}})());xt("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),xt("stopped")}onConnect(e){this._onConnect(e).catch(r=>{xt.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),o=!1;i!=null?i.push(r):(o=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),o&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(o=>o.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new v("Not started",N.ERR_NODE_NOT_STARTED);let{peerId:n}=Fa(e);if(n!=null){xt("dial %p",n);let a=this.getConnections(n);if(a.length>0)return xt("had an existing connection to %p",n),a[0]}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??IR}),o=this.connections.get(i.remotePeer);o==null&&(o=[],this.connections.set(i.remotePeer,o));let s=!1;for(let a of o)a.id===i.id&&(s=!0);return s||o.push(i),i}async closeConnections(e){let r=this.connections.get(e)??[];await Promise.all(r.map(async n=>{await n.close()}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return xt("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return xt("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return xt("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(xt("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var Ha=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Vi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Ha(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Ha(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var ch=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Pn(t={}){return RR(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function RR(t,e){e=e??{};let r=e.onEnd,n=new Vi,i,o,s,a=jr(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(E){g(E)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=jr()})}},u=y=>o!=null?o(y):(n.push(y),i),l=y=>(n=new Vi,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},d=y=>s?i:(s=!0,y!=null?l(y):u({done:!0})),p=()=>(n=new Vi,d(),{done:!0}),h=y=>(d(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,E;g!=null&&(x=new Promise((T,I)=>{E=()=>{I(new ch)},g.addEventListener("abort",E)}));try{await Promise.race([a.promise,x])}finally{E!=null&&g!=null&&g?.removeEventListener("abort",E)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function CR(t){return t[Symbol.asyncIterator]!=null}function TR(...t){let e=[];for(let r of t)CR(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Pn({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Jr=TR;function Dn(t,...e){if(t==null)throw new Error("Empty pipeline");if(uh(t)){let n=t;t=()=>n.source}else if(W1(t)||Y1(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&uh(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)uh(r[n])&&(r[n]=LR(r[n]));return BR(...r)}var BR=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Y1=t=>t?.[Symbol.asyncIterator]!=null,W1=t=>t?.[Symbol.iterator]!=null,uh=t=>t==null?!1:t.sink!=null&&t.source!=null,LR=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Pn({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Y1(o))i=async function*(){yield*o,n.end()};else if(W1(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Jr(n,i())}return t.source};function PR(t){return t[Symbol.asyncIterator]!=null}function DR(t,e){if(PR(t))return async function*(){for await(let a of t)yield e(a)}();let r=Ba(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var Q1=DR;async function*Qo(t,e){yield*Q1(t,async r=>(await e.merge(r.id,{multiaddrs:r.multiaddrs}),r))}function Ga(t){let e=new Set;return Ft(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*Ya(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw new v(`more peers required, seen: ${r} min: ${e}`,"NOT_FOUND")}var Wa=class{routers;started;components;constructor(e,r){this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new v("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.findProviders(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}async provide(e,r={}){if(this.routers.length===0)throw new v("No content routers available",N.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new v(or.NOT_STARTED_YET,N.DHT_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new v(or.NOT_STARTED_YET,N.DHT_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};function NR(t){return t[Symbol.asyncIterator]!=null}function kR(t){if(NR(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var Qa=kR;var OR=W("libp2p:peer-routing"),Xa=class{components;routers;constructor(e,r){this.components=e,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.components.peerId.toString())throw new v("Should not try to find self",N.ERR_FIND_SELF);let n=await Dn(Jr(...this.routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(o){OR.error(o)}}())),i=>Ft(i,Boolean),i=>Qo(i,this.components.peerStore),async i=>Qa(i));if(n!=null)return n;throw new v(or.NOT_FOUND,N.ERR_NOT_FOUND)}async*getClosestPeers(e,r){if(this.routers.length===0)throw new v("No peer routers available",N.ERR_NO_ROUTERS_AVAILABLE);yield*Dn(Jr(...this.routers.map(n=>n.getClosestPeers(e,r))),n=>Qo(n,this.components.peerStore),n=>Ga(n),n=>Ya(n))}};var lh=W("libp2p:registrar"),fh=32,hh=64,Za=class{topologies;handlers;components;constructor(e){this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onConnect=this._onConnect.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:connect",this._onConnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new v(`No handler registered for protocol ${e}`,N.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new v(`Handler already registered for protocol ${e}`,N.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=qr.bind({ignoreUndefined:!0})({maxInboundStreams:fh,maxOutboundStreams:hh},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){let r=Array.isArray(e)?e:[e];r.forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:r})}async register(e,r){if(r==null)throw new v("invalid topology",N.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let o=this.topologies.get(i);if(o!=null)for(let s of o.values())s.onDisconnect?.(r)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&lh.error("could not inform topologies of disconnecting peer %p",r,n)})}_onConnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{let i=this.components.connectionManager.getConnections(n.id)[0];if(i==null){lh("peer %p connected but the connection manager did not have a connection",n);return}for(let o of n.protocols){let s=this.topologies.get(o);if(s!=null)for(let a of s.values())a.onConnect?.(r,i)}}).catch(n=>{n.code!==N.ERR_NOT_FOUND&&lh.error("could not inform topologies of connecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s)),o=r.protocols.filter(s=>!(n?.protocols??[]).includes(s));for(let s of i){let a=this.topologies.get(s);if(a!=null)for(let c of a.values())c.onDisconnect?.(r.id)}for(let s of o){let a=this.topologies.get(s);if(a!=null)for(let c of a.values()){let u=this.components.connectionManager.getConnections(r.id)[0];u!=null&&c.onConnect?.(r.id,u)}}}};var dh=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function X1(t){let{name:e,metrics:r}=t,n;return r!=null?n=new dh({name:e,metrics:r}):n=new Map,n}var Nn=W("libp2p:transports"),ja=class{components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.components=e,this.started=!1,this.transports=new Map,this.listeners=X1({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Xr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new v("Transport must have a valid tag",N.ERR_INVALID_KEY);if(this.transports.has(r))throw new v(`There is already a transport with the tag ${r}`,N.ERR_DUPLICATE_TRANSPORT);Nn("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(Nn("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),Nn("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new v(`No transport available for address ${String(e)}`,N.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=N.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this.listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(e==null||e.length===0){Nn("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this.transports.entries()){let o=i.filter(e),s=[];for(let u of o){Nn("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),s.push(l.listen(u))}if(s.length===0){r.push(n);continue}if((await Promise.allSettled(s)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Xr.NO_FATAL)throw new v(`Transport (${n}) could not listen on any available address`,N.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Xr.FATAL_ALL)throw new v(n,N.ERR_NO_VALID_ADDRESSES);Nn(`libp2p in dial mode only: ${n}`)}}async remove(e){Nn("removing %s",e);for(let r of this.listeners.get(e)??[])await r.close();this.transports.delete(e),this.listeners.delete(e)}async removeAll(){let e=[];for(let r of this.transports.keys())e.push(this.remove(r));await Promise.all(e)}};var xh=z(Hi(),1);var _r="/multistream/1.0.0";function ph(t){let e=async function*(){let r=yield,n=new Te;for await(let i of t){if(r==null){n.append(i),r=yield n,n=new Te;continue}for(n.append(i);n.length>=r;){let o=n.sublist(0,r);if(n.consume(r),r=yield o,r==null){n.length>0&&(r=yield n,n=new Te);break}}}if(r!=null)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}function Ja(t){let e=Pn(),r=ph(t.source),n=jr(),i,o=t.sink(async function*(){yield*e,yield*await n.promise}());return o.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:async a=>{if(i!=null){await Promise.reject(i);return}n.resolve(a),await o},source:r},rest:()=>e.end(),write:e.push,read:async()=>{let a=await r.next();if(a.value!=null)return a.value}}}var Xo=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Z1(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function ec(t,e,r){let n=r??{},i=Z1(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:l,abortCode:f}=n;throw new Xo(l,f)}let u=new Promise((l,f)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;f(new Xo(d,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let l=u.type==="aborted"&&e.aborted;if(l&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let f=i.return();f instanceof Promise&&f.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(f){n.onReturnError!=null&&n.onReturnError(f)}if(l&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function MR(t,e,r){return n=>t(ec(n,e,r))}function j1(t,e,r){return{sink:MR(t.sink,e,{...r,onAbort:void 0}),source:ec(t.source,e,r)}}function tc(t){return t[Symbol.asyncIterator]!=null}var rc=t=>{let e=Ot.encodingLength(t),r=Ct(e);return Ot.encode(t,r),rc.bytes=e,r};rc.bytes=0;function nc(t,e){e=e??{};let r=e.lengthEncoder??rc;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return tc(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}nc.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??rc;return new Te(r(t.byteLength),t)};var qi=z(Cf(),1);var UR=8,FR=1024*1024*4,kn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(kn||(kn={}));var mh=t=>{let e=Ot.decode(t);return mh.bytes=Ot.encodingLength(e),e};mh.bytes=0;function Zo(t,e){let r=new Te,n=kn.LENGTH,i=-1,o=e?.lengthDecoder??mh,s=e?.maxLengthLength??UR,a=e?.maxDataLength??FR;function*c(){for(;r.byteLength>0;){if(n===kn.LENGTH)try{if(i=o(r),i<0)throw(0,qi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,qi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=kn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,qi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===kn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=kn.LENGTH}}}return tc(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,qi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Zo.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Zo(n,{...e??{},onLength:o=>{r=o}})};var qR=W("libp2p:mss"),J1=V(`
49
+ `);function jo(t){let e=new Te(t,J1);return nc.single(e)}function On(t,e,r={}){let n=jo(e);r.writeBytes===!0?t.push(n.subarray()):t.push(n)}function ex(t,e,r={}){let n=new Te;for(let i of e)n.append(jo(i));r.writeBytes===!0?t.push(n.subarray()):t.push(n)}async function zR(t,e){let r=1,n={[Symbol.asyncIterator]:()=>n,next:async()=>t.next(r)},i=n;e?.signal!=null&&(i=ec(n,e.signal));let o=a=>{r=a},s=await Dn(i,a=>Zo(a,{onLength:o,maxDataLength:1024}),async a=>Qa(a));if(s==null||s.length===0)throw new v("no buffer returned","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");if(s.get(s.byteLength-1)!==J1[0])throw qR.error("Invalid mss message - missing newline - %s",s.subarray()),new v("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return s.sublist(0,-1)}async function zi(t,e){let r=await zR(t,e);return G(r.subarray())}var Jo=W("libp2p:mss:select");async function es(t,e,r={}){e=Array.isArray(e)?[...e]:[e];let{reader:n,writer:i,rest:o,stream:s}=Ja(t),a=e.shift();if(a==null)throw new Error("At least one protocol must be specified");Jo.trace('select: write ["%s", "%s"]',_r,a);let c=V(_r),u=V(a);ex(i,[c,u],r);let l=await zi(n,r);if(Jo.trace('select: read "%s"',l),l===_r&&(l=await zi(n,r),Jo.trace('select: read "%s"',l)),l===a)return o(),{stream:s,protocol:a};for(let f of e){Jo.trace('select: write "%s"',f),On(i,V(f),r);let d=await zi(n,r);if(Jo.trace('select: read "%s" for "%s"',d,f),d===f)return o(),{stream:s,protocol:f}}throw o(),new v("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}var ts=W("libp2p:mss:handle");async function rs(t,e,r){e=Array.isArray(e)?e:[e];let{writer:n,reader:i,rest:o,stream:s}=Ja(t);for(;;){let a=await zi(i,r);if(ts.trace('read "%s"',a),a===_r){ts.trace('respond with "%s" for "%s"',_r,a),On(n,V(_r),r);continue}if(e.includes(a))return On(n,V(a),r),ts.trace('respond with "%s" for "%s"',a,a),o(),{stream:s,protocol:a};if(a==="ls"){On(n,new Te(...e.map(c=>jo(V(c)))),r),ts.trace('respond with "%s" for %s',e,a);continue}On(n,V("na"),r),ts('respond with "na" for "%s"',a)}}var rx=Symbol.for("@libp2p/connection");var nx="OPEN",yh="CLOSING",ic="CLOSED";var HR=W("libp2p:connection"),gh=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;tags;_newStream;_close;_getStreams;_closing;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:o,getStreams:s}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status=nx,this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this._newStream=i,this._close=o,this._getStreams=s,this.tags=[],this._closing=!1}[Symbol.toStringTag]="Connection";[rx]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status===yh)throw new v("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status===ic)throw new v("the connection is closed","ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let n=await this._newStream(e,r);return n.direction="outbound",n}addStream(e){e.direction="inbound"}removeStream(e){}async close(){if(!(this.status===ic||this._closing)){this.status=yh;try{this.streams.forEach(e=>{e.close()})}catch(e){HR.error(e)}this._closing=!0,await this._close(),this._closing=!1,this.timeline.close=Date.now(),this.status=ic}}};function ix(t){return new gh(t)}var ve=W("libp2p:upgrader");function YR(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return fh}function WR(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==N.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??hh}function ox(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var oc=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new v(`The multiaddr connection is blocked by gater.${n}`,N.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new v("connection denied",N.ERR_CONNECTION_DENIED);let i,o,s,a,c,u=Ki([AbortSignal.timeout(this.inboundUpgradeTimeout)]);try{(0,xh.setMaxListeners)?.(1/0,u)}catch{}try{let l=j1(e,u);if(e.source=l.source,e.sink=l.sink,await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new v("The multiaddr connection is blocked by gater.acceptConnection",N.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),ve("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(ve("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:o,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(o,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new v("inbound connection that skipped encryption must have a peer id",N.ERR_INVALID_MULTIADDR);let p=oe(d);c="native",o=p}if(s=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,s=d.stream}}catch(d){throw ve.error("Failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(o,e,"denyInboundUpgradedConnection"),ve("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:s,muxerFactory:a,remotePeer:o})}finally{this.components.connectionManager.afterUpgradeInbound(),u.clear()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=oe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let o,s,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),ve("Starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(o=l,r?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...o};await this.shouldBlockConnection(s,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new v("Encryption was skipped but no peer id was passed",N.ERR_INVALID_PEER);c="native",s=i}if(a=o,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...o},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw ve.error("Failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(s,e,"denyOutboundUpgradedConnection"),ve("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:s})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:o,remotePeer:s,muxerFactory:a}=e,c,u,l;a!=null&&(c=a.createStreamMuxer({direction:n,onIncomingStream:p=>{l!=null&&Promise.resolve().then(async()=>{let h=this.components.registrar.getProtocols(),{stream:m,protocol:y}=await rs(p,h);if(ve("%s: incoming stream opened on %s",n,y),l==null)return;let g=YR(y,this.components.registrar);if(ox(y,"inbound",l)===g){let E=new v(`Too many inbound protocol streams for protocol "${y}" - limit ${g}`,N.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw p.abort(E),E}p.source=m.source,p.sink=m.sink,p.protocol=y,await this.components.peerStore.merge(s,{protocols:[y]}),l.addStream(p),this.components.metrics?.trackProtocolStream(p,l),this._onStream({connection:l,stream:p,protocol:y})}).catch(h=>{ve.error(h),p.timeline.close==null&&p.close()})},onStreamEnd:p=>{l?.removeStream(p.id)}}),u=async(p,h={})=>{if(c==null)throw new v("Stream is not multiplexed",N.ERR_MUXER_UNAVAILABLE);ve("%s: starting new stream on %s",n,p);let m=await c.newStream();try{if(h.signal==null){ve("No abort signal was passed while trying to negotiate protocols %s falling back to default timeout",p),h.signal=AbortSignal.timeout(3e4);try{(0,xh.setMaxListeners)?.(1/0,h.signal)}catch{}}let{stream:y,protocol:g}=await es(m,p,h),x=WR(g,this.components.registrar,h);if(ox(g,"outbound",l)>=x){let T=new v(`Too many outbound protocol streams for protocol "${g}" - limit ${x}`,N.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(T),T}return await this.components.peerStore.merge(s,{protocols:[g]}),m.source=y.source,m.sink=y.sink,m.protocol=g,this.components.metrics?.trackProtocolStream(m,l),m}catch(y){throw ve.error("could not create new stream",y),m.timeline.close==null&&m.close(),y.code!=null?y:new v(String(y),N.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([c.sink(o.source),o.sink(c.source)]).catch(p=>{ve.error(p)}));let f=i.timeline;i.timeline=new Proxy(f,{set:(...p)=>(l!=null&&p[1]==="close"&&p[2]!=null&&f.close==null&&(async()=>{try{l.status==="OPEN"&&await l.close()}catch(h){ve.error(h)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(h=>{ve.error(h)}),Reflect.set(...p))}),i.timeline.upgraded=Date.now();let d=()=>{throw new v("connection is not multiplexed",N.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=ix({remoteAddr:i.remoteAddr,remotePeer:s,status:"OPEN",direction:n,timeline:i.timeline,multiplexer:c?.protocol,encryption:r,newStream:u??d,getStreams:()=>c!=null?c.streams:d(),close:async()=>{await i.close(),c?.close()}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:o}=this.components.registrar.getHandler(i);o({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());ve("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await rs(e,r,{writeBytes:!0}),o=this.connectionEncryption.get(i);if(o==null)throw new Error(`no crypto module found for ${i}`);return ve("encrypting inbound connection..."),{...await o.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw new v(String(n),N.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());ve("selecting outbound crypto protocol",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return ve("encrypting outbound connection to %p",r),{...await s.secureOutbound(this.components.peerId,i,r),protocol:o}}catch(i){throw new v(String(i),N.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());ve("outbound selecting muxer %s",n);try{let{stream:i,protocol:o}=await es(e,n,{writeBytes:!0});ve("%s selected as muxer protocol",o);let s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing outbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());ve("inbound handling muxers %s",n);try{let{stream:i,protocol:o}=await rs(e,n,{writeBytes:!0}),s=r.get(o);return{stream:i,muxerFactory:s}}catch(i){throw ve.error("error multiplexing inbound stream",i),new v(String(i),N.ERR_MUXER_UNAVAILABLE)}}};var ct=W("libp2p"),wh=class extends So{peerId;peerStore;contentRouting;peerRouting;keychain;metrics;services;components;#e;constructor(e){super();let r=new So,n=r.dispatchEvent.bind(r);r.dispatchEvent=c=>{let u=n(c),l=this.dispatchEvent(new nl(c.type,{detail:c.detail}));return u||l};try{(0,sx.setMaxListeners)?.(1/0,r)}catch{}this.#e=!1,this.peerId=e.peerId,this.services={};let i=this.components=Rg({peerId:e.peerId,events:r,datastore:e.datastore??new Pa,connectionGater:Mg(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Ta(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",c=>{c.detail.previous==null&&this.safeDispatchEvent("peer:discovery",{detail:c.detail.peer})}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new oc(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((c,u)=>this.configureComponent(`connection-encryption-${u}`,c(this.components))),muxers:(e.streamMuxers??[]).map((c,u)=>this.configureComponent(`stream-muxers-${u}`,c(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new ja(this.components,e.transportManager)),this.configureComponent("connectionManager",new $a(this.components,e.connectionManager)),this.configureComponent("registrar",new Za(this.components)),this.configureComponent("addressManager",new Da(this.components,e.addresses));let o=An.generateOptions();this.keychain=this.configureComponent("keyChain",new An(this.components,{...o,...e.keychain}));let s=(e.peerRouters??[]).map((c,u)=>this.configureComponent(`peer-router-${u}`,c(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Xa(this.components,{routers:s}));let a=(e.contentRouters??[]).map((c,u)=>this.configureComponent(`content-router-${u}`,c(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Wa(this.components,{routers:a})),(e.peerDiscovery??[]).forEach((c,u)=>{this.configureComponent(`peer-discovery-${u}`,c(this.components)).addEventListener("peer",f=>{this.#t(f)})}),e.transports.forEach((c,u)=>{this.components.transportManager.add(this.configureComponent(`transport-${u}`,c(this.components)))}),e.services!=null)for(let c of Object.keys(e.services)){let u=e.services[c],l=u(this.components);if(l==null){ct.error("service factory %s returned null or undefined instance",c);continue}this.services[c]=l,this.configureComponent(c,l),l[tl]!=null&&(ct("registering service %s for content routing",c),a.push(l[tl])),l[ol]!=null&&(ct("registering service %s for peer routing",c),s.push(l[ol])),l[il]!=null&&(ct("registering service %s for peer discovery",c),l[il].addEventListener("peer",f=>{this.#t(f)}))}}configureComponent(e,r){return r==null&&ct.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.#e)return;this.#e=!0,ct("libp2p is starting"),(await this.keychain.listKeys()).find(r=>r.name==="self")==null&&(ct("importing self key into keychain"),await this.keychain.importPeer("self",this.components.peerId));try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.safeDispatchEvent("start",{detail:this}),ct("libp2p has started")}catch(r){throw ct.error("An error occurred starting libp2p",r),await this.stop(),r}}async stop(){this.#e&&(ct("libp2p is stopping"),this.#e=!1,await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.safeDispatchEvent("stop",{detail:this}),ct("libp2p has stopped"))}isStarted(){return this.#e}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new kt;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,r)}async dialProtocol(e,r,n={}){if(r==null)throw new v("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new v("no protocols were provided to open a stream",N.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e){Rn(e)&&(e=oe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e)}async getPublicKey(e,r={}){if(ct("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Pe([V("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(i,r);return Eo(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#t(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){ct.error(new Error(N.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs,protocols:r.protocols}).catch(n=>{ct.error(n)})}};async function ax(t){if(t.peerId==null){let e=t.datastore;if(e!=null)try{let r=new An({datastore:e},qr(An.generateOptions(),t.keychain));t.peerId=await r.exportPeerId("self")}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}}return t.peerId==null&&(t.peerId=await ty()),new wh(Gg(t))}async function QR(t){let e=await ax(t);return t.start!==!1&&await e.start(),e}return px(XR);})();
50
50
  /*! Bundled license information:
51
51
 
52
52
  @noble/ed25519/lib/esm/index.js: