@griddo/cx 11.13.0 → 11.13.2

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 (60) hide show
  1. package/README.md +2 -3
  2. package/build/commands/end-render.js +150 -20
  3. package/build/commands/end-render.js.map +4 -4
  4. package/build/commands/prepare-assets-directory.js +146 -8
  5. package/build/commands/prepare-assets-directory.js.map +4 -4
  6. package/build/commands/prepare-domains-render.js +158 -28
  7. package/build/commands/prepare-domains-render.js.map +4 -4
  8. package/build/commands/reset-render.js +150 -20
  9. package/build/commands/reset-render.js.map +4 -4
  10. package/build/commands/start-render.js +179 -49
  11. package/build/commands/start-render.js.map +4 -4
  12. package/build/commands/upload-search-content.js +151 -21
  13. package/build/commands/upload-search-content.js.map +4 -4
  14. package/build/core/check-env-health.d.ts +47 -1
  15. package/build/core/http/create-adapter.d.ts +13 -0
  16. package/build/core/http/index.d.ts +6 -0
  17. package/build/core/http/types.d.ts +20 -0
  18. package/build/core/http/undici-adapter.d.ts +7 -0
  19. package/build/core/http/with-circuit-breaker.d.ts +24 -0
  20. package/build/core/http/with-retry.d.ts +32 -0
  21. package/build/index.js +25026 -42
  22. package/build/react/GriddoIntegrations/utils.d.ts +1 -1
  23. package/build/services/manage-store.d.ts +8 -1
  24. package/build/services/pages.d.ts +73 -2
  25. package/build/services/reference-fields.d.ts +1 -1
  26. package/build/shared/envs.d.ts +5 -2
  27. package/build/shared/types/api.d.ts +0 -2
  28. package/cli.mjs +28 -10
  29. package/exporter/commands/README.md +1 -1
  30. package/exporter/commands/end-render.ts +1 -1
  31. package/exporter/commands/prepare-domains-render.ts +1 -1
  32. package/exporter/commands/{single-domain-upload-search-content.ts → single-domain-upload-search-content.noop} +2 -4
  33. package/exporter/commands/upload-search-content.ts +1 -4
  34. package/exporter/core/check-env-health.ts +1 -1
  35. package/exporter/core/errors.ts +13 -13
  36. package/exporter/core/fs.ts +35 -31
  37. package/exporter/core/http/create-adapter.ts +58 -0
  38. package/exporter/core/http/index.ts +7 -0
  39. package/exporter/core/http/types.ts +22 -0
  40. package/exporter/core/http/undici-adapter.ts +53 -0
  41. package/exporter/core/http/with-circuit-breaker.ts +86 -0
  42. package/exporter/core/http/with-retry.ts +87 -0
  43. package/exporter/services/api.ts +22 -66
  44. package/exporter/services/auth.ts +11 -2
  45. package/exporter/services/domains.ts +6 -1
  46. package/exporter/services/llms.ts +1 -1
  47. package/exporter/services/manage-store.ts +16 -18
  48. package/exporter/services/pages.ts +7 -0
  49. package/exporter/services/reference-fields.ts +3 -5
  50. package/exporter/services/render.ts +3 -7
  51. package/exporter/services/store.ts +10 -4
  52. package/exporter/shared/envs.ts +20 -6
  53. package/exporter/shared/types/api.ts +0 -2
  54. package/exporter/ssg-adapters/gatsby/index.ts +4 -2
  55. package/exporter/ssg-adapters/gatsby/shared/sync-render.ts +5 -1
  56. package/package.json +15 -16
  57. package/tsconfig.commands.json +9 -22
  58. package/tsconfig.exporter.json +3 -4
  59. package/tsconfig.json +2 -3
  60. package/build/commands/single-domain-upload-search-content.d.ts +0 -1
@@ -1,73 +1,203 @@
1
- "use strict";var En=Object.create;var Mt=Object.defineProperty;var _n=Object.getOwnPropertyDescriptor;var Pn=Object.getOwnPropertyNames;var Tn=Object.getPrototypeOf,In=Object.prototype.hasOwnProperty;var xn=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Pn(t))!In.call(e,n)&&n!==r&&Mt(e,n,{get:()=>t[n],enumerable:!(o=_n(t,n))||o.enumerable});return e};var h=(e,t,r)=>(r=e!=null?En(Tn(e)):{},xn(t||!e||!e.__esModule?Mt(r,"default",{value:e,enumerable:!0}):r,e));var hr=h(require("node:path"));var Bt=require("node:util"),An=process.env.NO_COLORS||process.env.CI,$n=["black","red","green","yellow","blue","magenta","cyan","white","gray","bold","dim"],R={};for(let e of $n)R[e]=t=>An?String(t):(0,Bt.styleText)(e,String(t));var $={FROM_SCRATCH:"FROM_SCRATCH",INCREMENTAL:"INCREMENTAL",IDLE:"IDLE",ERROR:"ERROR",COMPLETED:"COMPLETED"};var ut=h(require("node:fs/promises")),je=h(require("node:path"));var Jt=h(require("node:path"));var Ht=h(require("node:fs"));var re=h(require("node:path")),Ut=h(require("node:process")),Wt=require("node:url"),kt=e=>e instanceof URL?(0,Wt.fileURLToPath)(e):e;function Re(e,t={}){let{cwd:r=Ut.default.cwd(),type:o="file",stopAt:n}=t,s=re.default.resolve(kt(r)??""),{root:i}=re.default.parse(s),a=n?re.default.resolve(s,kt(n)):i,d=re.default.isAbsolute(e);for(;;){let l=d?e:re.default.join(s,e);try{let p=Ht.default.statSync(l,{throwIfNoEntry:!1});if(o==="file"&&p?.isFile()||o==="directory"&&p?.isDirectory())return l}catch{}if(s===a||s===i)break;s=re.default.dirname(s)}}function we(e){let{cwd:t}=e||{},r=Re("package.json",{cwd:t});return r&&Jt.default.dirname(r)}var{env:y}=process;function W(e){if(!e)return!1;switch(e.trim().toLowerCase()){case"1":case"true":case"yes":case"y":case"on":return!0;default:return!1}}var lt=y.GRIDDO_API_URL||y.API_URL,qt=y.GRIDDO_PUBLIC_API_URL||y.PUBLIC_API_URL,Yt=y.botEmail||y.GRIDDO_BOT_USER,Vt=y.botPassword||y.GRIDDO_BOT_PASSWORD,_i=W(y.GRIDDO_AI_EMBEDDINGS||y.GRIDDO_API_AI_EMBEDDINGS),mt=Number.parseInt(y.GRIDDO_API_CONCURRENCY_COUNT||y.GRIDDO_RENDER_CONCURRENCY_COUNT||"10"),pt=y.GRIDDO_ASSET_PREFIX||y.ASSET_PREFIX||y.GRIDDO_RENDER_ASSET_PREFIX,le=W(y.GRIDDO_BUILD_LOGS||y.GRIDDO_RENDER_BUILD_LOGS),Xt=Number.parseInt(y.GRIDDO_RENDER_BUILD_LOGS_BUFFER_SIZE||"500"),Kt=y.GRIDDO_REACT_APP_INSTANCE||y.REACT_APP_INSTANCE||y.GRIDDO_APP_INSTANCE||y.GRIDDO_EDITOR_APP_INSTANCIE,zt=W(y.GRIDDO_RENDER_DISABLE_LLMS_TXT),Pi=W(y.GRIDDO_SEARCH_FEATURE||y.GRIDDO_RENDER_SEARCH_FEATURE),Ti=W(y.GRIDDO_RENDER_SKIP_BUILD_CHECKS),Qt=W(y.GRIDDO_RENDER_SSG_BUNDLE_ANALYZER),Zt=W(y.GRIDDO_RENDER_SSG_VERBOSE_LOGS),Ii=W(y.GRIDDO_RENDER_USE_DIST_BACKUP),er=W(y.GRIDDO_VERBOSE_LOGS||y.GRIDDO_RENDER_VERBOSE_LOGS),tr=Number.parseInt(y.GRIDDO_RENDER_API_FETCH_RETRY_WAIT_SECONDS||"4"),ft=Number.parseInt(y.GRIDDO_RENDER_API_FETCH_RETRY_ATTEMPTS||"4"),rr=Number.parseInt(y.GRIDDO_RENDER_LIFECYCLE_RETRY_ATTEMPTS||"1"),Ne=W(y.GRIDDO_RENDER_ENABLED_LLM_MD);var c=class e{constructor(){}static verbose(...t){er&&console.log(R.yellow("verbose"),R.dim(t.join(" ")))}static build(...t){le&&e.log(...t)}static info(...t){console.log(`${R.blue("info")} ${t.join(" ")}`)}static success(...t){console.log(`${R.green("success")} ${t.join(" ")}`)}static error(...t){console.error(`${R.red("error")} ${t.join(" ")}`)}static warn(...t){console.warn(`${R.yellow("warn")} ${t.join(" ")}`)}static log(...t){console.log(...t)}};var Cn=we({cwd:je.default.resolve(__dirname,"../../..")})||"",vn=je.default.join(Cn,".griddo/cache"),or=je.default.join(vn,"db.json");async function S(e=""){let t=e||or;try{return JSON.parse(await ut.default.readFile(t,"utf-8"))}catch(r){throw c.error(`Failed to read DB file at ${t}:`,r),r}}async function G(e,t=""){let r=t||or;try{await ut.default.writeFile(r,JSON.stringify(e,null," "))}catch(o){throw c.error(`Failed to write DB file at ${r}:`,o),o}}var yt=h(require("node:fs/promises")),z=h(require("node:path"));var P=h(require("node:fs/promises")),q=h(require("node:path"));var me={error:"ArtifactError",message:"There was a problem with an artifact",expected:"An external process may have has modified or deleted one of the artifacts (files and directories).",hint:"Have there been any recent deployments? These can delete directories from the current render."};var nr=(e,t)=>({error:"LifecycleExecutionError",message:`Exceeded maximum retry attempts (${e}) for ${t} LifeCycle`}),ir={error:"LoginError",message:"There was a problem logging in to the API",expected:"This happens if the API is currently not working or the credentials are incorrect."};var sr={error:"NoJSConfigFileFound",message:"Could not find jsconfig.json or tsconfig.json",expected:"This can happen if the instance is not properly configured with a jsconfig.json or tsconfig.json file."},ar={error:"ReadFromStoreError",message:"There was an error reading a file to the Store directory",hint:"There may be an issue such as permissions preventing the file from being read."};var cr={error:"RenderUUIDError",message:`Render sentinel file does not exist.
1
+ "use strict";var pw=Object.create;var uQ=Object.defineProperty;var yw=Object.getOwnPropertyDescriptor;var Dw=Object.getOwnPropertyNames;var mw=Object.getPrototypeOf,ww=Object.prototype.hasOwnProperty;var p=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports);var Rw=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Dw(e))!ww.call(A,s)&&s!==t&&uQ(A,s,{get:()=>e[s],enumerable:!(r=yw(e,s))||r.enumerable});return A};var b=(A,e,t)=>(t=A!=null?pw(mw(A)):{},Rw(e||!A||!A.__esModule?uQ(t,"default",{value:A,enumerable:!0}):t,A));var Z=p((lV,zQ)=>{"use strict";zQ.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var Ra=p((EV,tu)=>{"use strict";var Rr=0,fa=1e3,pa=(fa>>1)-1,ot,ya=Symbol("kFastTimer"),VA=[],Da=-2,ma=-1,eu=0,$Q=1;function wa(){Rr+=pa;let A=0,e=VA.length;for(;A<e;){let t=VA[A];t._state===eu?(t._idleStart=Rr-pa,t._state=$Q):t._state===$Q&&Rr>=t._idleStart+t._idleTimeout&&(t._state=ma,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===ma?(t._state=Da,--e!==0&&(VA[A]=VA[e])):++A}VA.length=e,VA.length!==0&&Au()}function Au(){ot?.refresh?ot.refresh():(clearTimeout(ot),ot=setTimeout(wa,pa),ot?.unref())}var Pn=class{[ya]=!0;_state=Da;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,r){this._onTimeout=e,this._idleTimeout=t,this._timerArg=r,this.refresh()}refresh(){this._state===Da&&VA.push(this),(!ot||VA.length===1)&&Au(),this._state=eu}clear(){this._state=ma,this._idleStart=-1}};tu.exports={setTimeout(A,e,t){return e<=fa?setTimeout(A,e,t):new Pn(A,e,t)},clearTimeout(A){A[ya]?A.clear():clearTimeout(A)},setFastTimeout(A,e,t){return new Pn(A,e,t)},clearFastTimeout(A){A.clear()},now(){return Rr},tick(A=0){Rr+=A-fa+1,wa(),wa()},reset(){Rr=0,VA.length=0,clearTimeout(ot),ot=null},kFastTimer:ya}});var Y=p((QV,Su)=>{"use strict";var ru=Symbol.for("undici.error.UND_ERR"),Ae=class extends Error{constructor(e,t){super(e,t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[ru]===!0}get[ru](){return!0}},su=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Sa=class extends Ae{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[su]===!0}get[su](){return!0}},nu=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),Na=class extends Ae{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[nu]===!0}get[nu](){return!0}},ou=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Fa=class extends Ae{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[ou]===!0}get[ou](){return!0}},iu=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),ba=class extends Ae{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[iu]===!0}get[iu](){return!0}},au=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),Ua=class extends Ae{constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[au]===!0}get[au](){return!0}},cu=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),Ma=class extends Ae{constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[cu]===!0}get[cu](){return!0}},gu=Symbol.for("undici.error.UND_ERR_ABORT"),qn=class extends Ae{constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[gu]===!0}get[gu](){return!0}},lu=Symbol.for("undici.error.UND_ERR_ABORTED"),Ta=class extends qn{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[lu]===!0}get[lu](){return!0}},Eu=Symbol.for("undici.error.UND_ERR_INFO"),ka=class extends Ae{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[Eu]===!0}get[Eu](){return!0}},Qu=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),La=class extends Ae{constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[Qu]===!0}get[Qu](){return!0}},uu=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),Ha=class extends Ae{constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[uu]===!0}get[uu](){return!0}},hu=Symbol.for("undici.error.UND_ERR_DESTROYED"),xa=class extends Ae{constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[hu]===!0}get[hu](){return!0}},Iu=Symbol.for("undici.error.UND_ERR_CLOSED"),Ya=class extends Ae{constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[Iu]===!0}get[Iu](){return!0}},Bu=Symbol.for("undici.error.UND_ERR_SOCKET"),Ga=class extends Ae{constructor(e,t){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}static[Symbol.hasInstance](e){return e&&e[Bu]===!0}get[Bu](){return!0}},Cu=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),Oa=class extends Ae{constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[Cu]===!0}get[Cu](){return!0}},du=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),Va=class extends Ae{constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[du]===!0}get[du](){return!0}},fu=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),va=class extends Error{constructor(e,t,r){super(e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[fu]===!0}get[fu](){return!0}},pu=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),Ja=class extends Ae{constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[pu]===!0}get[pu](){return!0}},yu=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Pa=class extends Ae{constructor(e,t,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=t,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[yu]===!0}get[yu](){return!0}},Du=Symbol.for("undici.error.UND_ERR_RESPONSE"),qa=class extends Ae{constructor(e,t,{headers:r,body:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=t,this.body=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[Du]===!0}get[Du](){return!0}},mu=Symbol.for("undici.error.UND_ERR_PRX_TLS"),Wa=class extends Ae{constructor(e,t,r={}){super(t,{cause:e,...r}),this.name="SecureProxyConnectionError",this.message=t||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[mu]===!0}get[mu](){return!0}},wu=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),_a=class extends Ae{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[wu]===!0}get[wu](){return!0}},Za=class extends Ae{constructor(e,t){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=t||"UND_ERR_SOCKS5"}},Ru=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),ja=class extends Ae{constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[Ru]===!0}get[Ru](){return!0}};Su.exports={AbortError:qn,HTTPParserError:va,UndiciError:Ae,HeadersTimeoutError:Na,HeadersOverflowError:Fa,BodyTimeoutError:ba,RequestContentLengthMismatchError:La,ConnectTimeoutError:Sa,InvalidArgumentError:Ua,InvalidReturnValueError:Ma,RequestAbortedError:Ta,ClientDestroyedError:xa,ClientClosedError:Ya,InformationalError:ka,SocketError:Ga,NotSupportedError:Oa,ResponseContentLengthMismatchError:Ha,BalancedPoolMissingUpstreamError:Va,ResponseExceededMaxSizeError:Ja,RequestRetryError:Pa,ResponseError:qa,SecureProxyConnectionError:Wa,MaxOriginsReachedError:_a,Socks5ProxyError:Za,MessageSizeExceededError:ja}});var _n=p((uV,Fu)=>{"use strict";var Xa=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],Wn={};Object.setPrototypeOf(Wn,null);var Nu={};Object.setPrototypeOf(Nu,null);function Mw(A){let e=Nu[A];return e===void 0&&(e=Buffer.from(A)),e}for(let A=0;A<Xa.length;++A){let e=Xa[A],t=e.toLowerCase();Wn[e]=Wn[t]=t}Fu.exports={wellknownHeaderNames:Xa,headerNameLowerCasedRecord:Wn,getHeaderNameAsBuffer:Mw}});var Tu=p((hV,Mu)=>{"use strict";var{wellknownHeaderNames:bu,headerNameLowerCasedRecord:Tw}=_n(),Ka=class A{value=null;left=null;middle=null;right=null;code;constructor(e,t,r){if(r===void 0||r>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(r))>127)throw new TypeError("key must be ascii string");e.length!==++r?this.middle=new A(e,t,r):this.value=t}add(e,t){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,n=this;for(;;){let o=e.charCodeAt(s);if(o>127)throw new TypeError("key must be ascii string");if(n.code===o)if(r===++s){n.value=t;break}else if(n.middle!==null)n=n.middle;else{n.middle=new A(e,t,s);break}else if(n.code<o)if(n.left!==null)n=n.left;else{n.left=new A(e,t,s);break}else if(n.right!==null)n=n.right;else{n.right=new A(e,t,s);break}}}search(e){let t=e.length,r=0,s=this;for(;s!==null&&r<t;){let n=e[r];for(n<=90&&n>=65&&(n|=32);s!==null;){if(n===s.code){if(t===++r)return s;s=s.middle;break}s=s.code<n?s.left:s.right}}return null}},Zn=class{node=null;insert(e,t){this.node===null?this.node=new Ka(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}},Uu=new Zn;for(let A=0;A<bu.length;++A){let e=Tw[bu[A]];Uu.insert(e,e)}Mu.exports={TernarySearchTree:Zn,tree:Uu}});var G=p((IV,eh)=>{"use strict";var ps=require("node:assert"),{kDestroyed:xu,kBodyUsed:Sr,kListeners:Xn,kBody:ku}=Z(),{IncomingMessage:kw}=require("node:http"),Yu=require("node:stream"),Lw=require("node:net"),{stringify:Hw}=require("node:querystring"),{EventEmitter:xw}=require("node:events"),jn=Ra(),{InvalidArgumentError:Be,ConnectTimeoutError:Yw}=Y(),{headerNameLowerCasedRecord:Gw}=_n(),{tree:Gu}=Tu(),[Ow,Vw]=process.versions.node.split(".",2).map(A=>Number(A)),zn=class{constructor(e){this[ku]=e,this[Sr]=!1}async*[Symbol.asyncIterator](){ps(!this[Sr],"disturbed"),this[Sr]=!0,yield*this[ku]}};function Lu(){}function vw(A){return $n(A)?(qu(A)===0&&A.on("data",function(){ps(!1)}),typeof A.readableDidRead!="boolean"&&(A[Sr]=!1,xw.prototype.on.call(A,"data",function(){this[Sr]=!0})),A):A&&typeof A.pipeTo=="function"?new zn(A):A&&Xu(A)?A:A&&typeof A!="string"&&!ArrayBuffer.isView(A)&&Pu(A)?new zn(A):A}function $n(A){return A&&typeof A=="object"&&typeof A.pipe=="function"&&typeof A.on=="function"}function Ou(A){if(A===null)return!1;if(A instanceof Blob)return!0;if(typeof A!="object")return!1;{let e=A[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in A&&typeof A.stream=="function"||"arrayBuffer"in A&&typeof A.arrayBuffer=="function")}}function Vu(A){return A.includes("?")||A.includes("#")}function Jw(A,e){if(Vu(A))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=Hw(e);return t&&(A+="?"+t),A}function vu(A){let e=parseInt(A,10);return e===Number(A)&&e>=0&&e<=65535}function Kn(A){return A!=null&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&(A[4]===":"||A[4]==="s"&&A[5]===":")}function Ju(A){if(typeof A=="string"){if(A=new URL(A),!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}if(!A||typeof A!="object")throw new Be("Invalid URL: The URL argument must be a non-null object.");if(!(A instanceof URL)){if(A.port!=null&&A.port!==""&&vu(A.port)===!1)throw new Be("Invalid URL: port must be a valid integer or a string representation of an integer.");if(A.path!=null&&typeof A.path!="string")throw new Be("Invalid URL path: the path must be a string or null/undefined.");if(A.pathname!=null&&typeof A.pathname!="string")throw new Be("Invalid URL pathname: the pathname must be a string or null/undefined.");if(A.hostname!=null&&typeof A.hostname!="string")throw new Be("Invalid URL hostname: the hostname must be a string or null/undefined.");if(A.origin!=null&&typeof A.origin!="string")throw new Be("Invalid URL origin: the origin must be a string or null/undefined.");if(!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=A.port!=null?A.port:A.protocol==="https:"?443:80,t=A.origin!=null?A.origin:`${A.protocol||""}//${A.hostname||""}:${e}`,r=A.path!=null?A.path:`${A.pathname||""}${A.search||""}`;return t[t.length-1]==="/"&&(t=t.slice(0,t.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${t}${r}`)}if(!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}function Pw(A){if(A=Ju(A),A.pathname!=="/"||A.search||A.hash)throw new Be("invalid url");return A}function qw(A){if(A[0]==="["){let t=A.indexOf("]");return ps(t!==-1),A.substring(1,t)}let e=A.indexOf(":");return e===-1?A:A.substring(0,e)}function Ww(A){if(!A)return null;ps(typeof A=="string");let e=qw(A);return Lw.isIP(e)?"":e}function _w(A){return JSON.parse(JSON.stringify(A))}function Zw(A){return A!=null&&typeof A[Symbol.asyncIterator]=="function"}function Pu(A){return A!=null&&(typeof A[Symbol.iterator]=="function"||typeof A[Symbol.asyncIterator]=="function")}function jw(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function qu(A){if(A==null)return 0;if($n(A)){let e=A._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(Ou(A))return A.size!=null?A.size:null;if(ju(A))return A.byteLength}return null}function Wu(A){return A&&!!(A.destroyed||A[xu]||Yu.isDestroyed?.(A))}function _u(A,e){A==null||!$n(A)||Wu(A)||(typeof A.destroy=="function"?(Object.getPrototypeOf(A).constructor===kw&&(A.socket=null),A.destroy(e)):e&&queueMicrotask(()=>{A.emit("error",e)}),A.destroyed!==!0&&(A[xu]=!0))}var Xw=/timeout=(\d+)/;function Kw(A){let e=A.match(Xw);return e?parseInt(e[1],10)*1e3:null}function Zu(A){return typeof A=="string"?Gw[A]??A.toLowerCase():Gu.lookup(A)??A.toString("latin1").toLowerCase()}function zw(A){return Gu.lookup(A)??A.toString("latin1").toLowerCase()}function $w(A,e){e===void 0&&(e={});for(let t=0;t<A.length;t+=2){let r=Zu(A[t]),s=e[r];if(s!==void 0)if(Object.hasOwn(e,r))typeof s=="string"&&(s=[s],e[r]=s),s.push(A[t+1].toString("latin1"));else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");r==="__proto__"?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");e[r]=n}}return e}function e0(A){let e=A.length,t=new Array(e),r,s;for(let n=0;n<e;n+=2)r=A[n],s=A[n+1],typeof r!="string"&&(r=r.toString()),typeof s!="string"&&(s=s.toString("latin1")),t[n]=r,t[n+1]=s;return t}function A0(A){if(!Array.isArray(A))throw new TypeError("expected headers to be an array");return A.map(e=>Buffer.from(e))}function ju(A){return A instanceof Uint8Array||Buffer.isBuffer(A)}function t0(A,e,t){if(!A||typeof A!="object")throw new Be("handler must be an object");if(typeof A.onRequestStart!="function"){if(typeof A.onConnect!="function")throw new Be("invalid onConnect method");if(typeof A.onError!="function")throw new Be("invalid onError method");if(typeof A.onBodySent!="function"&&A.onBodySent!==void 0)throw new Be("invalid onBodySent method");if(t||e==="CONNECT"){if(typeof A.onUpgrade!="function")throw new Be("invalid onUpgrade method")}else{if(typeof A.onHeaders!="function")throw new Be("invalid onHeaders method");if(typeof A.onData!="function")throw new Be("invalid onData method");if(typeof A.onComplete!="function")throw new Be("invalid onComplete method")}}}function r0(A){return!!(A&&(Yu.isDisturbed(A)||A[Sr]))}function s0(A){return{localAddress:A.localAddress,localPort:A.localPort,remoteAddress:A.remoteAddress,remotePort:A.remotePort,remoteFamily:A.remoteFamily,timeout:A.timeout,bytesWritten:A.bytesWritten,bytesRead:A.bytesRead}}function n0(A){let e;return new ReadableStream({start(){e=A[Symbol.asyncIterator]()},pull(t){return e.next().then(({done:r,value:s})=>{if(r)return queueMicrotask(()=>{t.close(),t.byobRequest?.respond(0)});{let n=Buffer.isBuffer(s)?s:Buffer.from(s);return n.byteLength?t.enqueue(new Uint8Array(n)):this.pull(t)}})},cancel(){return e.return()},type:"bytes"})}function Xu(A){return A&&typeof A=="object"&&typeof A.append=="function"&&typeof A.delete=="function"&&typeof A.get=="function"&&typeof A.getAll=="function"&&typeof A.has=="function"&&typeof A.set=="function"&&A[Symbol.toStringTag]==="FormData"}function o0(A,e){return"addEventListener"in A?(A.addEventListener("abort",e,{once:!0}),()=>A.removeEventListener("abort",e)):(A.once("abort",e),()=>A.removeListener("abort",e))}var Ku=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function i0(A){return Ku[A]===1}var a0=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function c0(A){if(A.length>=12)return a0.test(A);if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(Ku[A.charCodeAt(e)]!==1)return!1;return!0}var g0=/[^\t\x20-\x7e\x80-\xff]/;function l0(A){return!g0.test(A)}var E0=/^bytes (\d+)-(\d+)\/(\d+)?$/;function Q0(A){if(A==null||A==="")return{start:0,end:null,size:null};let e=A?A.match(E0):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function u0(A,e,t){return(A[Xn]??=[]).push([e,t]),A.on(e,t),A}function h0(A){if(A[Xn]!=null){for(let[e,t]of A[Xn])A.removeListener(e,t);A[Xn]=null}return A}function I0(A,e,t){try{e.onError(t),ps(e.aborted)}catch(r){A.emit("error",r)}}var B0=process.platform==="win32"?(A,e)=>{if(!e.timeout)return Lu;let t=null,r=null,s=jn.setFastTimeout(()=>{t=setImmediate(()=>{r=setImmediate(()=>Hu(A.deref(),e))})},e.timeout);return()=>{jn.clearFastTimeout(s),clearImmediate(t),clearImmediate(r)}}:(A,e)=>{if(!e.timeout)return Lu;let t=null,r=jn.setFastTimeout(()=>{t=setImmediate(()=>{Hu(A.deref(),e)})},e.timeout);return()=>{jn.clearFastTimeout(r),clearImmediate(t)}};function Hu(A,e){if(A==null)return;let t="Connect Timeout Error";Array.isArray(A.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${A.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${e.hostname}:${e.port},`,t+=` timeout: ${e.timeout}ms)`,_u(A,new Yw(t))}function C0(A){if(A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p")switch(A[4]){case":":return"http:";case"s":if(A[5]===":")return"https:"}return A.slice(0,A.indexOf(":")+1)}var zu=Object.create(null);zu.enumerable=!0;var za={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},$u={...za,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(za,null);Object.setPrototypeOf($u,null);eh.exports={kEnumerableProperty:zu,isDisturbed:r0,isBlobLike:Ou,parseOrigin:Pw,parseURL:Ju,getServerName:Ww,isStream:$n,isIterable:Pu,hasSafeIterator:jw,isAsyncIterable:Zw,isDestroyed:Wu,headerNameToString:Zu,bufferToLowerCasedHeaderName:zw,addListener:u0,removeAllListeners:h0,errorRequest:I0,parseRawHeaders:e0,encodeRawHeaders:A0,parseHeaders:$w,parseKeepAliveTimeout:Kw,destroy:_u,bodyLength:qu,deepClone:_w,ReadableStreamFrom:n0,isBuffer:ju,assertRequestHandler:t0,getSocketInfo:s0,isFormDataLike:Xu,pathHasQueryOrFragment:Vu,serializePathWithQuery:Jw,addAbortListener:o0,isValidHTTPToken:c0,isValidHeaderValue:l0,isTokenCharCode:i0,parseRangeHeader:Q0,normalizedMethodRecordsBase:za,normalizedMethodRecords:$u,isValidPort:vu,isHttpOrHttpsPrefixed:Kn,nodeMajor:Ow,nodeMinor:Vw,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:vw,setupConnectTimeout:B0,getProtocolFromUrlString:C0}});var Ac=p((BV,nh)=>{"use strict";var{kConnected:Ah,kPending:th,kRunning:rh,kSize:sh,kFree:d0,kQueued:f0}=Z(),$a=class{constructor(e){this.connected=e[Ah],this.pending=e[th],this.running=e[rh],this.size=e[sh]}},ec=class{constructor(e){this.connected=e[Ah],this.free=e[d0],this.pending=e[th],this.queued=e[f0],this.running=e[rh],this.size=e[sh]}};nh.exports={ClientStats:$a,PoolStats:ec}});var it=p((CV,ih)=>{"use strict";var j=require("node:diagnostics_channel"),nc=require("node:util"),Yt=nc.debuglog("undici"),ys=nc.debuglog("fetch"),eo=nc.debuglog("websocket"),Oe={beforeConnect:j.channel("undici:client:beforeConnect"),connected:j.channel("undici:client:connected"),connectError:j.channel("undici:client:connectError"),sendHeaders:j.channel("undici:client:sendHeaders"),create:j.channel("undici:request:create"),bodySent:j.channel("undici:request:bodySent"),bodyChunkSent:j.channel("undici:request:bodyChunkSent"),bodyChunkReceived:j.channel("undici:request:bodyChunkReceived"),headers:j.channel("undici:request:headers"),trailers:j.channel("undici:request:trailers"),error:j.channel("undici:request:error"),open:j.channel("undici:websocket:open"),close:j.channel("undici:websocket:close"),socketError:j.channel("undici:websocket:socket_error"),ping:j.channel("undici:websocket:ping"),pong:j.channel("undici:websocket:pong"),proxyConnected:j.channel("undici:proxy:connected")},tc=!1;function oh(A=Yt){if(!tc){if(Oe.beforeConnect.hasSubscribers||Oe.connected.hasSubscribers||Oe.connectError.hasSubscribers||Oe.sendHeaders.hasSubscribers){tc=!0;return}tc=!0,j.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connecting to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),j.subscribe("undici:client:connected",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connected to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),j.subscribe("undici:client:connectError",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n},error:o}=e;A("connection to %s%s using %s%s errored - %s",n,s?`:${s}`:"",r,t,o.message)}),j.subscribe("undici:client:sendHeaders",e=>{let{request:{method:t,path:r,origin:s}}=e;A("sending request to %s %s%s",t,s,r)})}}var rc=!1;function p0(A=Yt){if(!rc){if(Oe.headers.hasSubscribers||Oe.trailers.hasSubscribers||Oe.error.hasSubscribers){rc=!0;return}rc=!0,j.subscribe("undici:request:headers",e=>{let{request:{method:t,path:r,origin:s},response:{statusCode:n}}=e;A("received response to %s %s%s - HTTP %d",t,s,r,n)}),j.subscribe("undici:request:trailers",e=>{let{request:{method:t,path:r,origin:s}}=e;A("trailers received from %s %s%s",t,s,r)}),j.subscribe("undici:request:error",e=>{let{request:{method:t,path:r,origin:s},error:n}=e;A("request to %s %s%s errored - %s",t,s,r,n.message)})}}var sc=!1;function y0(A=eo){if(!sc){if(Oe.open.hasSubscribers||Oe.close.hasSubscribers||Oe.socketError.hasSubscribers||Oe.ping.hasSubscribers||Oe.pong.hasSubscribers){sc=!0;return}sc=!0,j.subscribe("undici:websocket:open",e=>{if(e.address!=null){let{address:t,port:r}=e.address;A("connection opened %s%s",t,r?`:${r}`:"")}else A("connection opened")}),j.subscribe("undici:websocket:close",e=>{let{websocket:t,code:r,reason:s}=e;A("closed connection to %s - %s %s",t.url,r,s)}),j.subscribe("undici:websocket:socket_error",e=>{A("connection errored - %s",e.message)}),j.subscribe("undici:websocket:ping",e=>{A("ping received")}),j.subscribe("undici:websocket:pong",e=>{A("pong received")})}}(Yt.enabled||ys.enabled)&&(oh(ys.enabled?ys:Yt),p0(ys.enabled?ys:Yt));eo.enabled&&(oh(Yt.enabled?Yt:eo),y0(eo));ih.exports={channels:Oe}});var gh=p((dV,ch)=>{"use strict";var{InvalidArgumentError:W,NotSupportedError:D0}=Y(),mA=require("node:assert"),{isValidHTTPToken:oc,isValidHeaderValue:ic,isStream:m0,destroy:w0,isBuffer:R0,isFormDataLike:S0,isIterable:N0,hasSafeIterator:F0,isBlobLike:b0,serializePathWithQuery:U0,assertRequestHandler:M0,getServerName:T0,normalizedMethodRecords:k0,getProtocolFromUrlString:L0}=G(),{channels:be}=it(),{headerNameLowerCasedRecord:ah}=_n(),H0=/[^\u0021-\u00ff]/,AA=Symbol("handler"),ac=class{constructor(e,{path:t,method:r,body:s,headers:n,query:o,idempotent:i,blocking:a,upgrade:c,headersTimeout:g,bodyTimeout:h,reset:Q,expectContinue:l,servername:E,throwOnError:B,maxRedirections:D,typeOfService:C},f){if(typeof t!="string")throw new W("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT")throw new W("path must be an absolute URL or start with a slash");if(H0.test(t))throw new W("invalid request path");if(typeof r!="string")throw new W("method must be a string");if(k0[r]===void 0&&!oc(r))throw new W("invalid request method");if(c&&typeof c!="string")throw new W("upgrade must be a string");if(c&&!ic(c))throw new W("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new W("invalid headersTimeout");if(h!=null&&(!Number.isFinite(h)||h<0))throw new W("invalid bodyTimeout");if(Q!=null&&typeof Q!="boolean")throw new W("invalid reset");if(l!=null&&typeof l!="boolean")throw new W("invalid expectContinue");if(B!=null)throw new W("invalid throwOnError");if(D!=null&&D!==0)throw new W("maxRedirections is not supported, use the redirect interceptor");if(C!=null&&(!Number.isInteger(C)||C<0||C>255))throw new W("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=g,this.bodyTimeout=h,this.method=r,this.typeOfService=C??0,this.abort=null,s==null)this.body=null;else if(m0(s)){this.body=s;let y=this.body._readableState;(!y||!y.autoDestroy)&&(this.endHandler=function(){w0(this)},this.body.on("end",this.endHandler)),this.errorHandler=T=>{this.abort?this.abort(T):this.error=T},this.body.on("error",this.errorHandler)}else if(R0(s))this.body=s.byteLength?s:null;else if(ArrayBuffer.isView(s))this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null;else if(s instanceof ArrayBuffer)this.body=s.byteLength?Buffer.from(s):null;else if(typeof s=="string")this.body=s.length?Buffer.from(s):null;else if(S0(s)||N0(s)||b0(s))this.body=s;else throw new W("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=c||null,this.path=o?U0(t,o):t,this.origin=e,this.protocol=L0(e),this.idempotent=i??(r==="HEAD"||r==="GET"),this.blocking=a??this.method!=="HEAD",this.reset=Q??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=l??!1,Array.isArray(n)){if(n.length%2!==0)throw new W("headers array must be even");for(let y=0;y<n.length;y+=2)Ao(this,n[y],n[y+1])}else if(n&&typeof n=="object")if(F0(n))for(let y of n){if(!Array.isArray(y)||y.length!==2)throw new W("headers must be in key-value pair format");Ao(this,y[0],y[1])}else{let y=Object.keys(n);for(let T=0;T<y.length;++T)Ao(this,y[T],n[y[T]])}else if(n!=null)throw new W("headers must be an object or an array");M0(f,r,c),this.servername=E||T0(this.host)||null,this[AA]=f,be.create.hasSubscribers&&be.create.publish({request:this})}onBodySent(e){if(be.bodyChunkSent.hasSubscribers&&be.bodyChunkSent.publish({request:this,chunk:e}),this[AA].onBodySent)try{return this[AA].onBodySent(e)}catch(t){this.abort(t)}}onRequestSent(){if(be.bodySent.hasSubscribers&&be.bodySent.publish({request:this}),this[AA].onRequestSent)try{return this[AA].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(mA(!this.aborted),mA(!this.completed),this.error)e(this.error);else return this.abort=e,this[AA].onConnect(e)}onResponseStarted(){return this[AA].onResponseStarted?.()}onHeaders(e,t,r,s){mA(!this.aborted),mA(!this.completed),be.headers.hasSubscribers&&be.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:s}});try{return this[AA].onHeaders(e,t,r,s)}catch(n){this.abort(n)}}onData(e){mA(!this.aborted),mA(!this.completed),be.bodyChunkReceived.hasSubscribers&&be.bodyChunkReceived.publish({request:this,chunk:e});try{return this[AA].onData(e)}catch(t){return this.abort(t),!1}}onUpgrade(e,t,r){return mA(!this.aborted),mA(!this.completed),this[AA].onUpgrade(e,t,r)}onComplete(e){this.onFinally(),mA(!this.aborted),mA(!this.completed),this.completed=!0,be.trailers.hasSubscribers&&be.trailers.publish({request:this,trailers:e});try{return this[AA].onComplete(e)}catch(t){this.onError(t)}}onError(e){if(this.onFinally(),be.error.hasSubscribers&&be.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[AA].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,t){return Ao(this,e,t),this}};function Ao(A,e,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new W(`invalid ${e} header`);if(t===void 0)return;let r=ah[e];if(r===void 0&&(r=e.toLowerCase(),ah[r]===void 0&&!oc(r)))throw new W("invalid header key");if(Array.isArray(t)){let s=[];for(let n=0;n<t.length;n++)if(typeof t[n]=="string"){if(!ic(t[n]))throw new W(`invalid ${e} header`);s.push(t[n])}else if(t[n]===null)s.push("");else{if(typeof t[n]=="object")throw new W(`invalid ${e} header`);s.push(`${t[n]}`)}t=s}else if(typeof t=="string"){if(!ic(t))throw new W(`invalid ${e} header`)}else t===null?t="":t=`${t}`;if(r==="host"){if(A.host!==null)throw new W("duplicate host header");if(typeof t!="string")throw new W("invalid host header");A.host=t}else if(r==="content-length"){if(A.contentLength!==null)throw new W("duplicate content-length header");if(A.contentLength=parseInt(t,10),!Number.isFinite(A.contentLength))throw new W("invalid content-length header")}else if(A.contentType===null&&r==="content-type")A.contentType=t,A.headers.push(e,t);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new W(`invalid ${r} header`);if(r==="connection"){let s=typeof t=="string"?t:null;if(s===null)throw new W("invalid connection header");for(let n of s.toLowerCase().split(",")){let o=n.trim();if(!oc(o))throw new W("invalid connection header");o==="close"&&(A.reset=!0)}}else{if(r==="expect")throw new D0("expect header not supported");A.headers.push(e,t)}}}ch.exports=ac});var Ds=p((fV,Eh)=>{"use strict";var{InvalidArgumentError:x0}=Y();Eh.exports=class lh{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new lh(e)}onConnect(e,t){return this.#e.onConnect?.(e,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,t,r,s){return this.#e.onHeaders?.(e,t,r,s)}onUpgrade(e,t,r){return this.#e.onUpgrade?.(e,t,r)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,t){this.#e.onConnect?.(r=>e.abort(r),t)}onRequestUpgrade(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),cc(i));this.#e.onUpgrade?.(t,n,s)}onResponseStart(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),cc(i));this.#e.onHeaders?.(t,n,()=>e.resume(),s)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let r=[];for(let[s,n]of Object.entries(t))r.push(Buffer.from(s,"latin1"),cc(n));this.#e.onComplete?.(r)}onResponseError(e,t){if(!this.#e.onError)throw new x0("invalid onError method");this.#e.onError?.(t)}};function cc(A){return Array.isArray(A)?A.map(e=>Buffer.from(e,"latin1")):Buffer.from(A,"latin1")}});var ms=p((pV,Qh)=>{"use strict";var Y0=require("node:events"),G0=Ds(),O0=A=>(e,t)=>A(e,G0.wrap(t)),gc=class extends Y0{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let t=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of t)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r=O0(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(s,n)=>n==="dispatch"?r:s[n]})}};Qh.exports=gc});var Ih=p((yV,hh)=>{"use strict";var{parseHeaders:lc}=G(),{InvalidArgumentError:V0}=Y(),Ec=Symbol("resume"),Qc=class{#e=!1;#A=null;#t=!1;#r;[Ec]=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[Ec]?.())}abort(e){this.#t||(this.#t=!0,this.#A=e,this.#r(e))}get aborted(){return this.#t}get reason(){return this.#A}get paused(){return this.#e}};hh.exports=class uh{#e;#A;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new uh(e):e}onConnect(e,t){this.#A=new Qc(e),this.#e.onRequestStart?.(this.#A,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,t,r){this.#e.onRequestUpgrade?.(this.#A,e,lc(t),r)}onHeaders(e,t,r,s){return this.#A[Ec]=r,this.#e.onResponseStart?.(this.#A,e,lc(t),s),!this.#A.paused}onData(e){return this.#e.onResponseData?.(this.#A,e),!this.#A.paused}onComplete(e){this.#e.onResponseEnd?.(this.#A,lc(e))}onError(e){if(!this.#e.onResponseError)throw new V0("invalid onError method");this.#e.onResponseError?.(this.#A,e)}}});var Ot=p((DV,Bh)=>{"use strict";var v0=ms(),J0=Ih(),{ClientDestroyedError:uc,ClientClosedError:P0,InvalidArgumentError:to}=Y(),{kDestroy:q0,kClose:W0,kClosed:ws,kDestroyed:Nr,kDispatch:_0}=Z(),at=Symbol("onDestroyed"),Gt=Symbol("onClosed"),hc=class extends v0{[Nr]=!1;[at]=null;[ws]=!1;[Gt]=null;get destroyed(){return this[Nr]}get closed(){return this[ws]}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((n,o)=>n?s(n):r(o))});if(typeof e!="function")throw new to("invalid callback");if(this[Nr]){let r=new uc;queueMicrotask(()=>e(r,null));return}if(this[ws]){this[Gt]?this[Gt].push(e):queueMicrotask(()=>e(null,null));return}this[ws]=!0,this[Gt]??=[],this[Gt].push(e);let t=()=>{let r=this[Gt];this[Gt]=null;for(let s=0;s<r.length;s++)r[s](null,null)};this[W0]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e=="function"&&(t=e,e=null),t===void 0)return new Promise((s,n)=>{this.destroy(e,(o,i)=>o?n(o):s(i))});if(typeof t!="function")throw new to("invalid callback");if(this[Nr]){this[at]?this[at].push(t):queueMicrotask(()=>t(null,null));return}e||(e=new uc),this[Nr]=!0,this[at]??=[],this[at].push(t);let r=()=>{let s=this[at];this[at]=null;for(let n=0;n<s.length;n++)s[n](null,null)};this[q0](e).then(()=>queueMicrotask(r))}dispatch(e,t){if(!t||typeof t!="object")throw new to("handler must be an object");t=J0.unwrap(t);try{if(!e||typeof e!="object")throw new to("opts must be an object.");if(this[Nr]||this[at])throw new uc;if(this[ws])throw new P0;return this[_0](e,t)}catch(r){if(typeof t.onError!="function")throw r;return t.onError(r),!1}}};Bh.exports=hc});var Vt=p((wV,fh)=>{"use strict";var Z0=require("node:net"),Ch=require("node:assert"),dh=G(),{InvalidArgumentError:j0}=Y(),Ic,X0=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let r=this._sessionCache.get(t);r!==void 0&&r.deref()===void 0&&this._sessionCache.delete(t)})}get(e){let t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(t)),this._sessionRegistry.register(t,e))}};function K0({allowH2:A,useH2c:e,maxCachedSessions:t,socketPath:r,timeout:s,session:n,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new j0("maxCachedSessions must be a positive integer or zero");let i={path:r,...o},a=new X0(t??100);return s=s??1e4,A=A??!1,function({hostname:g,host:h,protocol:Q,port:l,servername:E,localAddress:B,httpSocket:D},C){let f;if(Q==="https:"){Ic||(Ic=require("node:tls")),E=E||i.servername||dh.getServerName(h)||null;let T=E||g;Ch(T);let U=n||a.get(T)||null;l=l||443,f=Ic.connect({highWaterMark:16384,...i,servername:E,session:U,localAddress:B,ALPNProtocols:A?["http/1.1","h2"]:["http/1.1"],socket:D,port:l,host:g}),f.on("session",function(k){a.set(T,k)})}else Ch(!D,"httpSocket can only be sent on TLS update"),l=l||80,f=Z0.connect({highWaterMark:64*1024,...i,localAddress:B,port:l,host:g}),e===!0&&(f.alpnProtocol="h2");if(i.keepAlive==null||i.keepAlive){let T=i.keepAliveInitialDelay===void 0?6e4:i.keepAliveInitialDelay;f.setKeepAlive(!0,T)}let y=dh.setupConnectTimeout(new WeakRef(f),{timeout:s,hostname:g,port:l});return f.setNoDelay(!0).once(Q==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(y),C){let T=C;C=null,T(null,this)}}).on("error",function(T){if(queueMicrotask(y),C){let U=C;C=null,U(T)}}),f}}fh.exports=K0});var ph=p(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.enumToMap=z0;function z0(A,e=[],t=[]){let r=(e?.length??0)===0,s=(t?.length??0)===0;return Object.fromEntries(Object.entries(A).filter(([,n])=>typeof n=="number"&&(r||e.includes(n))&&(s||!t.includes(n))))}});var yh=p(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});u.SPECIAL_HEADERS=u.MINOR=u.MAJOR=u.HTAB_SP_VCHAR_OBS_TEXT=u.QUOTED_STRING=u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS=u.TOKEN=u.HEX=u.URL_CHAR=u.USERINFO_CHARS=u.MARK=u.ALPHANUM=u.NUM=u.HEX_MAP=u.NUM_MAP=u.ALPHA=u.STATUSES_HTTP=u.H_METHOD_MAP=u.METHOD_MAP=u.METHODS_RTSP=u.METHODS_ICE=u.METHODS_HTTP=u.HEADER_STATE=u.FINISH=u.STATUSES=u.METHODS=u.LENIENT_FLAGS=u.FLAGS=u.TYPE=u.ERROR=void 0;var $0=ph();u.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};u.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};u.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};u.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};u.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};u.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};u.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};u.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};u.METHODS_HTTP=[u.METHODS.DELETE,u.METHODS.GET,u.METHODS.HEAD,u.METHODS.POST,u.METHODS.PUT,u.METHODS.CONNECT,u.METHODS.OPTIONS,u.METHODS.TRACE,u.METHODS.COPY,u.METHODS.LOCK,u.METHODS.MKCOL,u.METHODS.MOVE,u.METHODS.PROPFIND,u.METHODS.PROPPATCH,u.METHODS.SEARCH,u.METHODS.UNLOCK,u.METHODS.BIND,u.METHODS.REBIND,u.METHODS.UNBIND,u.METHODS.ACL,u.METHODS.REPORT,u.METHODS.MKACTIVITY,u.METHODS.CHECKOUT,u.METHODS.MERGE,u.METHODS["M-SEARCH"],u.METHODS.NOTIFY,u.METHODS.SUBSCRIBE,u.METHODS.UNSUBSCRIBE,u.METHODS.PATCH,u.METHODS.PURGE,u.METHODS.MKCALENDAR,u.METHODS.LINK,u.METHODS.UNLINK,u.METHODS.PRI,u.METHODS.SOURCE,u.METHODS.QUERY];u.METHODS_ICE=[u.METHODS.SOURCE];u.METHODS_RTSP=[u.METHODS.OPTIONS,u.METHODS.DESCRIBE,u.METHODS.ANNOUNCE,u.METHODS.SETUP,u.METHODS.PLAY,u.METHODS.PAUSE,u.METHODS.TEARDOWN,u.METHODS.GET_PARAMETER,u.METHODS.SET_PARAMETER,u.METHODS.REDIRECT,u.METHODS.RECORD,u.METHODS.FLUSH,u.METHODS.GET,u.METHODS.POST];u.METHOD_MAP=(0,$0.enumToMap)(u.METHODS);u.H_METHOD_MAP=Object.fromEntries(Object.entries(u.METHODS).filter(([A])=>A.startsWith("H")));u.STATUSES_HTTP=[u.STATUSES.CONTINUE,u.STATUSES.SWITCHING_PROTOCOLS,u.STATUSES.PROCESSING,u.STATUSES.EARLY_HINTS,u.STATUSES.RESPONSE_IS_STALE,u.STATUSES.REVALIDATION_FAILED,u.STATUSES.DISCONNECTED_OPERATION,u.STATUSES.HEURISTIC_EXPIRATION,u.STATUSES.MISCELLANEOUS_WARNING,u.STATUSES.OK,u.STATUSES.CREATED,u.STATUSES.ACCEPTED,u.STATUSES.NON_AUTHORITATIVE_INFORMATION,u.STATUSES.NO_CONTENT,u.STATUSES.RESET_CONTENT,u.STATUSES.PARTIAL_CONTENT,u.STATUSES.MULTI_STATUS,u.STATUSES.ALREADY_REPORTED,u.STATUSES.TRANSFORMATION_APPLIED,u.STATUSES.IM_USED,u.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,u.STATUSES.MULTIPLE_CHOICES,u.STATUSES.MOVED_PERMANENTLY,u.STATUSES.FOUND,u.STATUSES.SEE_OTHER,u.STATUSES.NOT_MODIFIED,u.STATUSES.USE_PROXY,u.STATUSES.SWITCH_PROXY,u.STATUSES.TEMPORARY_REDIRECT,u.STATUSES.PERMANENT_REDIRECT,u.STATUSES.BAD_REQUEST,u.STATUSES.UNAUTHORIZED,u.STATUSES.PAYMENT_REQUIRED,u.STATUSES.FORBIDDEN,u.STATUSES.NOT_FOUND,u.STATUSES.METHOD_NOT_ALLOWED,u.STATUSES.NOT_ACCEPTABLE,u.STATUSES.PROXY_AUTHENTICATION_REQUIRED,u.STATUSES.REQUEST_TIMEOUT,u.STATUSES.CONFLICT,u.STATUSES.GONE,u.STATUSES.LENGTH_REQUIRED,u.STATUSES.PRECONDITION_FAILED,u.STATUSES.PAYLOAD_TOO_LARGE,u.STATUSES.URI_TOO_LONG,u.STATUSES.UNSUPPORTED_MEDIA_TYPE,u.STATUSES.RANGE_NOT_SATISFIABLE,u.STATUSES.EXPECTATION_FAILED,u.STATUSES.IM_A_TEAPOT,u.STATUSES.PAGE_EXPIRED,u.STATUSES.ENHANCE_YOUR_CALM,u.STATUSES.MISDIRECTED_REQUEST,u.STATUSES.UNPROCESSABLE_ENTITY,u.STATUSES.LOCKED,u.STATUSES.FAILED_DEPENDENCY,u.STATUSES.TOO_EARLY,u.STATUSES.UPGRADE_REQUIRED,u.STATUSES.PRECONDITION_REQUIRED,u.STATUSES.TOO_MANY_REQUESTS,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,u.STATUSES.LOGIN_TIMEOUT,u.STATUSES.NO_RESPONSE,u.STATUSES.RETRY_WITH,u.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,u.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,u.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,u.STATUSES.INVALID_X_FORWARDED_FOR,u.STATUSES.REQUEST_HEADER_TOO_LARGE,u.STATUSES.SSL_CERTIFICATE_ERROR,u.STATUSES.SSL_CERTIFICATE_REQUIRED,u.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,u.STATUSES.INVALID_TOKEN,u.STATUSES.CLIENT_CLOSED_REQUEST,u.STATUSES.INTERNAL_SERVER_ERROR,u.STATUSES.NOT_IMPLEMENTED,u.STATUSES.BAD_GATEWAY,u.STATUSES.SERVICE_UNAVAILABLE,u.STATUSES.GATEWAY_TIMEOUT,u.STATUSES.HTTP_VERSION_NOT_SUPPORTED,u.STATUSES.VARIANT_ALSO_NEGOTIATES,u.STATUSES.INSUFFICIENT_STORAGE,u.STATUSES.LOOP_DETECTED,u.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,u.STATUSES.NOT_EXTENDED,u.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,u.STATUSES.WEB_SERVER_UNKNOWN_ERROR,u.STATUSES.WEB_SERVER_IS_DOWN,u.STATUSES.CONNECTION_TIMEOUT,u.STATUSES.ORIGIN_IS_UNREACHABLE,u.STATUSES.TIMEOUT_OCCURED,u.STATUSES.SSL_HANDSHAKE_FAILED,u.STATUSES.INVALID_SSL_CERTIFICATE,u.STATUSES.RAILGUN_ERROR,u.STATUSES.SITE_IS_OVERLOADED,u.STATUSES.SITE_IS_FROZEN,u.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,u.STATUSES.NETWORK_READ_TIMEOUT,u.STATUSES.NETWORK_CONNECT_TIMEOUT];u.ALPHA=[];for(let A=65;A<=90;A++)u.ALPHA.push(String.fromCharCode(A)),u.ALPHA.push(String.fromCharCode(A+32));u.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};u.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};u.NUM=["0","1","2","3","4","5","6","7","8","9"];u.ALPHANUM=u.ALPHA.concat(u.NUM);u.MARK=["-","_",".","!","~","*","'","(",")"];u.USERINFO_CHARS=u.ALPHANUM.concat(u.MARK).concat(["%",";",":","&","=","+","$",","]);u.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(u.ALPHANUM);u.HEX=u.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);u.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(u.ALPHANUM);u.HEADER_CHARS=[" "];for(let A=32;A<=255;A++)A!==127&&u.HEADER_CHARS.push(A);u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS.filter(A=>A!==44);u.QUOTED_STRING=[" "," "];for(let A=33;A<=255;A++)A!==34&&A!==92&&u.QUOTED_STRING.push(A);u.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let A=33;A<=126;A++)u.HTAB_SP_VCHAR_OBS_TEXT.push(A);for(let A=128;A<=255;A++)u.HTAB_SP_VCHAR_OBS_TEXT.push(A);u.MAJOR=u.NUM_MAP;u.MINOR=u.MAJOR;u.SPECIAL_HEADERS={connection:u.HEADER_STATE.CONNECTION,"content-length":u.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":u.HEADER_STATE.CONNECTION,"transfer-encoding":u.HEADER_STATE.TRANSFER_ENCODING,upgrade:u.HEADER_STATE.UPGRADE};u.default={ERROR:u.ERROR,TYPE:u.TYPE,FLAGS:u.FLAGS,LENIENT_FLAGS:u.LENIENT_FLAGS,METHODS:u.METHODS,STATUSES:u.STATUSES,FINISH:u.FINISH,HEADER_STATE:u.HEADER_STATE,ALPHA:u.ALPHA,NUM_MAP:u.NUM_MAP,HEX_MAP:u.HEX_MAP,NUM:u.NUM,ALPHANUM:u.ALPHANUM,MARK:u.MARK,USERINFO_CHARS:u.USERINFO_CHARS,URL_CHAR:u.URL_CHAR,HEX:u.HEX,TOKEN:u.TOKEN,HEADER_CHARS:u.HEADER_CHARS,CONNECTION_TOKEN_CHARS:u.CONNECTION_TOKEN_CHARS,QUOTED_STRING:u.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:u.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:u.MAJOR,MINOR:u.MINOR,SPECIAL_HEADERS:u.SPECIAL_HEADERS,METHODS_HTTP:u.METHODS_HTTP,METHODS_ICE:u.METHODS_ICE,METHODS_RTSP:u.METHODS_RTSP,METHOD_MAP:u.METHOD_MAP,H_METHOD_MAP:u.H_METHOD_MAP,STATUSES_HTTP:u.STATUSES_HTTP}});var dc=p((NV,Dh)=>{"use strict";var{Buffer:eR}=require("node:buffer"),AR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",Cc;Object.defineProperty(Dh,"exports",{get:()=>Cc||(Cc=eR.from(AR,"base64"))})});var wh=p((FV,mh)=>{"use strict";var{Buffer:tR}=require("node:buffer"),rR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",fc;Object.defineProperty(mh,"exports",{get:()=>fc||(fc=tR.from(rR,"base64"))})});var Rs=p((bV,Th)=>{"use strict";var Rh=["GET","HEAD","POST"],sR=new Set(Rh),nR=[101,204,205,304],Sh=[301,302,303,307,308],oR=new Set(Sh),Nh=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],iR=new Set(Nh),Fh=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],aR=["",...Fh],cR=new Set(Fh),gR=["follow","manual","error"],bh=["GET","HEAD","OPTIONS","TRACE"],lR=new Set(bh),ER=["navigate","same-origin","no-cors","cors"],QR=["omit","same-origin","include"],uR=["default","no-store","reload","no-cache","force-cache","only-if-cached"],hR=["content-encoding","content-language","content-location","content-type","content-length"],IR=["half"],Uh=["CONNECT","TRACE","TRACK"],BR=new Set(Uh),Mh=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],CR=new Set(Mh);Th.exports={subresource:Mh,forbiddenMethods:Uh,requestBodyHeader:hR,referrerPolicy:aR,requestRedirect:gR,requestMode:ER,requestCredentials:QR,requestCache:uR,redirectStatus:Sh,corsSafeListedMethods:Rh,nullBodyStatus:nR,safeMethods:bh,badPorts:Nh,requestDuplex:IR,subresourceSet:CR,badPortsSet:iR,redirectStatusSet:oR,corsSafeListedMethodsSet:sR,safeMethodsSet:lR,forbiddenMethodsSet:BR,referrerPolicyTokens:cR}});var yc=p((UV,kh)=>{"use strict";var pc=Symbol.for("undici.globalOrigin.1");function dR(){return globalThis[pc]}function fR(A){if(A===void 0){Object.defineProperty(globalThis,pc,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(A);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,pc,{value:e,writable:!0,enumerable:!1,configurable:!1})}kh.exports={getGlobalOrigin:dR,setGlobalOrigin:fR}});var ro=p((MV,Lh)=>{"use strict";var pR=new TextDecoder;function yR(A){return A.length===0?"":(A[0]===239&&A[1]===187&&A[2]===191&&(A=A.subarray(3)),pR.decode(A))}Lh.exports={utf8DecodeBytes:yR}});var vA=p((TV,Gh)=>{"use strict";var Hh=require("node:assert"),{utf8DecodeBytes:DR}=ro();function mR(A,e,t){let r="";for(;t.position<e.length&&A(e[t.position]);)r+=e[t.position],t.position++;return r}function wR(A,e,t){let r=e.indexOf(A,t.position),s=t.position;return r===-1?(t.position=e.length,e.slice(s)):(t.position=r,e.slice(s,t.position))}var RR=/[\u0009\u000A\u000C\u000D\u0020]/g;function SR(A){A=A.replace(RR,"");let e=A.length;if(e%4===0&&A.charCodeAt(e-1)===61&&(--e,A.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(A.length===e?A:A.substring(0,e)))return"failure";let t=Buffer.from(A,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function xh(A){return A===9||A===10||A===12||A===13||A===32}function NR(A){let e=A.length;if(65535>e)return String.fromCharCode.apply(null,A);let t="",r=0,s=65535;for(;r<e;)r+s>e&&(s=e-r),t+=String.fromCharCode.apply(null,A.subarray(r,r+=s));return t}var FR=/[^\x00-\xFF]/;function bR(A){return Hh(!FR.test(A)),A}function UR(A){return JSON.parse(DR(A))}function MR(A,e=!0,t=!0){return Yh(A,e,t,xh)}function Yh(A,e,t,r){let s=0,n=A.length-1;if(e)for(;s<A.length&&r(A.charCodeAt(s));)s++;if(t)for(;n>0&&r(A.charCodeAt(n));)n--;return s===0&&n===A.length-1?A:A.slice(s,n+1)}function TR(A){let e=JSON.stringify(A);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Hh(typeof e=="string"),e}Gh.exports={collectASequenceOfCodePoints:mR,collectASequenceOfCodePointsFast:wR,forgivingBase64:SR,isASCIIWhitespace:xh,isomorphicDecode:NR,isomorphicEncode:bR,parseJSONFromBytes:UR,removeASCIIWhitespace:MR,removeChars:Yh,serializeJavascriptValueToJSONString:TR}});var tA=p((kV,qh)=>{"use strict";var no=require("node:assert"),{forgivingBase64:kR,collectASequenceOfCodePoints:Dc,collectASequenceOfCodePointsFast:Ss,isomorphicDecode:LR,removeASCIIWhitespace:HR,removeChars:xR}=vA(),YR=new TextEncoder,Ns=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,GR=/[\u000A\u000D\u0009\u0020]/u,OR=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function VR(A){no(A.protocol==="data:");let e=vh(A,!0);e=e.slice(5);let t={position:0},r=Ss(",",e,t),s=r.length;if(r=HR(r,!0,!0),t.position>=e.length)return"failure";t.position++;let n=e.slice(s+1),o=Jh(n);if(/;(?:\u0020*)base64$/ui.test(r)){let a=LR(o);if(o=kR(a),o==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020+)$/u,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let i=mc(r);return i==="failure"&&(i=mc("text/plain;charset=US-ASCII")),{mimeType:i,body:o}}function vh(A,e=!1){if(!e)return A.href;let t=A.href,r=A.hash.length,s=r===0?t:t.substring(0,t.length-r);return!r&&t.endsWith("#")?s.slice(0,-1):s}function Jh(A){let e=YR.encode(A);return vR(e)}function Oh(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function Vh(A){return A>=48&&A<=57?A-48:(A&223)-55}function vR(A){let e=A.length,t=new Uint8Array(e),r=0,s=0;for(;s<e;){let n=A[s];n!==37?t[r++]=n:n===37&&!(Oh(A[s+1])&&Oh(A[s+2]))?t[r++]=37:(t[r++]=Vh(A[s+1])<<4|Vh(A[s+2]),s+=2),++s}return e===r?t:t.subarray(0,r)}function mc(A){A=so(A,!0,!0);let e={position:0},t=Ss("/",A,e);if(t.length===0||!Ns.test(t)||e.position>=A.length)return"failure";e.position++;let r=Ss(";",A,e);if(r=so(r,!1,!0),r.length===0||!Ns.test(r))return"failure";let s=t.toLowerCase(),n=r.toLowerCase(),o={type:s,subtype:n,parameters:new Map,essence:`${s}/${n}`};for(;e.position<A.length;){e.position++,Dc(c=>GR.test(c),A,e);let i=Dc(c=>c!==";"&&c!=="=",A,e);if(i=i.toLowerCase(),e.position<A.length){if(A[e.position]===";")continue;e.position++}if(e.position>=A.length)break;let a=null;if(A[e.position]==='"')a=Ph(A,e,!0),Ss(";",A,e);else if(a=Ss(";",A,e),a=so(a,!1,!0),a.length===0)continue;i.length!==0&&Ns.test(i)&&(a.length===0||OR.test(a))&&!o.parameters.has(i)&&o.parameters.set(i,a)}return o}function Ph(A,e,t=!1){let r=e.position,s="";for(no(A[e.position]==='"'),e.position++;s+=Dc(o=>o!=='"'&&o!=="\\",A,e),!(e.position>=A.length);){let n=A[e.position];if(e.position++,n==="\\"){if(e.position>=A.length){s+="\\";break}s+=A[e.position],e.position++}else{no(n==='"');break}}return t?s:A.slice(r,e.position)}function JR(A){no(A!=="failure");let{parameters:e,essence:t}=A,r=t;for(let[s,n]of e.entries())r+=";",r+=s,r+="=",Ns.test(n)||(n=n.replace(/[\\"]/ug,"\\$&"),n='"'+n,n+='"'),r+=n;return r}function PR(A){return A===13||A===10||A===9||A===32}function so(A,e=!0,t=!0){return xR(A,e,t,PR)}function qR(A){switch(A.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return A.subtype.endsWith("+json")?"application/json":A.subtype.endsWith("+xml")?"application/xml":""}qh.exports={dataURLProcessor:VR,URLSerializer:vh,stringPercentDecode:Jh,parseMIMEType:mc,collectAnHTTPQuotedString:Ph,serializeAMimeType:JR,removeHTTPWhitespace:so,minimizeSupportedMimeType:qR,HTTP_TOKEN_CODEPOINTS:Ns}});var JA=p((LV,Rc)=>{"use strict";var Wh={__proto__:null,"node:crypto":()=>require("node:crypto"),"node:sqlite":()=>require("node:sqlite"),"node:worker_threads":()=>require("node:worker_threads"),"node:zlib":()=>require("node:zlib")};function WR(A){try{return Wh[A](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function _R(A,e){return typeof Wh[A]()[e]<"u"}var _h=["markAsUncloneable","zstd"],ZR={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},Zh=["crypto","sqlite"],jR=[...Zh,..._h];function XR(A){if(Zh.includes(A))return WR(`node:${A}`);if(_h.includes(A)){let[e,t]=ZR[A];return _R(e,t)}throw new TypeError(`unknown feature: ${A}`)}var wc=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#A(e)}set(e,t){if(jR.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#A(e){let t=XR(e);return this.#e.set(e,t),t}},jh=new wc;Rc.exports.runtimeFeatures=jh;Rc.exports.default=jh});var pe=p((HV,Kh)=>{"use strict";var KR=require("node:assert"),{types:se,inspect:zR}=require("node:util"),{runtimeFeatures:$R}=JA(),Sc=1,Nc=2,oo=3,io=4,Fc=5,ao=6,bc=7,Ve=8,Xh=Function.call.bind(Function.prototype[Symbol.hasInstance]),I={converters:{},util:{},errors:{},is:{}};I.errors.exception=function(A){return new TypeError(`${A.header}: ${A.message}`)};I.errors.conversionFailed=function(A){let e=A.types.length===1?"":" one of",t=`${A.argument} could not be converted to${e}: ${A.types.join(", ")}.`;return I.errors.exception({header:A.prefix,message:t})};I.errors.invalidArgument=function(A){return I.errors.exception({header:A.prefix,message:`"${A.value}" is an invalid ${A.type}.`})};I.brandCheck=function(A,e){if(!Xh(e,A)){let t=new TypeError("Illegal invocation");throw t.code="ERR_INVALID_THIS",t}};I.brandCheckMultiple=function(A){let e=A.map(t=>I.util.MakeTypeAssertion(t));return t=>{if(e.every(r=>!r(t))){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}};I.argumentLengthCheck=function({length:A},e,t){if(A<e)throw I.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${A?" only":""} ${A} found.`,header:t})};I.illegalConstructor=function(){throw I.errors.exception({header:"TypeError",message:"Illegal constructor"})};I.util.MakeTypeAssertion=function(A){return e=>Xh(A,e)};I.util.Type=function(A){switch(typeof A){case"undefined":return Sc;case"boolean":return Nc;case"string":return oo;case"symbol":return io;case"number":return Fc;case"bigint":return ao;case"function":case"object":return A===null?bc:Ve}};I.util.Types={UNDEFINED:Sc,BOOLEAN:Nc,STRING:oo,SYMBOL:io,NUMBER:Fc,BIGINT:ao,NULL:bc,OBJECT:Ve};I.util.TypeValueToString=function(A){switch(I.util.Type(A)){case Sc:return"Undefined";case Nc:return"Boolean";case oo:return"String";case io:return"Symbol";case Fc:return"Number";case ao:return"BigInt";case bc:return"Null";case Ve:return"Object"}};I.util.markAsUncloneable=$R.has("markAsUncloneable")?require("node:worker_threads").markAsUncloneable:()=>{};I.util.ConvertToInt=function(A,e,t,r){let s,n;e===64?(s=Math.pow(2,53)-1,t==="unsigned"?n=0:n=Math.pow(-2,53)+1):t==="unsigned"?(n=0,s=Math.pow(2,e)-1):(n=Math.pow(-2,e)-1,s=Math.pow(2,e-1)-1);let o=Number(A);if(o===0&&(o=0),I.util.HasFlag(r,I.attributes.EnforceRange)){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY)throw I.errors.exception({header:"Integer conversion",message:`Could not convert ${I.util.Stringify(A)} to an integer.`});if(o=I.util.IntegerPart(o),o<n||o>s)throw I.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${s}, got ${o}.`});return o}return!Number.isNaN(o)&&I.util.HasFlag(r,I.attributes.Clamp)?(o=Math.min(Math.max(o,n),s),Math.floor(o)%2===0?o=Math.floor(o):o=Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY?0:(o=I.util.IntegerPart(o),o=o%Math.pow(2,e),t==="signed"&&o>=Math.pow(2,e)-1?o-Math.pow(2,e):o)};I.util.IntegerPart=function(A){let e=Math.floor(Math.abs(A));return A<0?-1*e:e};I.util.Stringify=function(A){switch(I.util.Type(A)){case io:return`Symbol(${A.description})`;case Ve:return zR(A);case oo:return`"${A}"`;case ao:return`${A}n`;default:return`${A}`}};I.util.IsResizableArrayBuffer=function(A){if(se.isArrayBuffer(A))return A.resizable;if(se.isSharedArrayBuffer(A))return A.growable;throw I.errors.exception({header:"IsResizableArrayBuffer",message:`"${I.util.Stringify(A)}" is not an array buffer.`})};I.util.HasFlag=function(A,e){return typeof A=="number"&&(A&e)===e};I.sequenceConverter=function(A){return(e,t,r,s)=>{if(I.util.Type(e)!==Ve)throw I.errors.exception({header:t,message:`${r} (${I.util.Stringify(e)}) is not iterable.`});let n=typeof s=="function"?s():e?.[Symbol.iterator]?.(),o=[],i=0;if(n===void 0||typeof n.next!="function")throw I.errors.exception({header:t,message:`${r} is not iterable.`});for(;;){let{done:a,value:c}=n.next();if(a)break;o.push(A(c,t,`${r}[${i++}]`))}return o}};I.recordConverter=function(A,e){return(t,r,s)=>{if(I.util.Type(t)!==Ve)throw I.errors.exception({header:r,message:`${s} ("${I.util.TypeValueToString(t)}") is not an Object.`});let n={};if(!se.isProxy(t)){let i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let a of i){let c=I.util.Stringify(a),g=A(a,r,`Key ${c} in ${s}`),h=e(t[a],r,`${s}[${c}]`);n[g]=h}return n}let o=Reflect.ownKeys(t);for(let i of o)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let c=A(i,r,s),g=e(t[i],r,s);n[c]=g}return n}};I.interfaceConverter=function(A,e){return(t,r,s)=>{if(!A(t))throw I.errors.exception({header:r,message:`Expected ${s} ("${I.util.Stringify(t)}") to be an instance of ${e}.`});return t}};I.dictionaryConverter=function(A){return A.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(e,t,r)=>{let s={};if(e!=null&&I.util.Type(e)!==Ve)throw I.errors.exception({header:t,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let n of A){let{key:o,defaultValue:i,required:a,converter:c}=n;if(a===!0&&(e==null||!Object.hasOwn(e,o)))throw I.errors.exception({header:t,message:`Missing required key "${o}".`});let g=e?.[o],h=i!==void 0;if(h&&g===void 0&&(g=i()),a||h||g!==void 0){if(g=c(g,t,`${r}.${o}`),n.allowedValues&&!n.allowedValues.includes(g))throw I.errors.exception({header:t,message:`${g} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});s[o]=g}}return s}};I.nullableConverter=function(A){return(e,t,r)=>e===null?e:A(e,t,r)};I.is.USVString=function(A){return typeof A=="string"&&A.isWellFormed()};I.is.ReadableStream=I.util.MakeTypeAssertion(ReadableStream);I.is.Blob=I.util.MakeTypeAssertion(Blob);I.is.URLSearchParams=I.util.MakeTypeAssertion(URLSearchParams);I.is.File=I.util.MakeTypeAssertion(File);I.is.URL=I.util.MakeTypeAssertion(URL);I.is.AbortSignal=I.util.MakeTypeAssertion(AbortSignal);I.is.MessagePort=I.util.MakeTypeAssertion(MessagePort);I.is.BufferSource=function(A){return se.isArrayBuffer(A)||ArrayBuffer.isView(A)&&se.isArrayBuffer(A.buffer)};I.util.getCopyOfBytesHeldByBufferSource=function(A){let e=A,t=e,r=0,s=0;if(se.isTypedArray(e)||se.isDataView(e)?(t=e.buffer,r=e.byteOffset,s=e.byteLength):(KR(se.isAnyArrayBuffer(e)),s=e.byteLength),t.detached)return new Uint8Array(0);let n=new Uint8Array(s),o=new Uint8Array(t,r,s);return n.set(o),n};I.converters.DOMString=function(A,e,t,r){if(A===null&&I.util.HasFlag(r,I.attributes.LegacyNullToEmptyString))return"";if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a DOMString.`});return String(A)};I.converters.ByteString=function(A,e,t){if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a ByteString.`});let r=String(A);for(let s=0;s<r.length;s++)if(r.charCodeAt(s)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${s} has a value of ${r.charCodeAt(s)} which is greater than 255.`);return r};I.converters.USVString=function(A){return typeof A=="string"?A.toWellFormed():`${A}`.toWellFormed()};I.converters.boolean=function(A){return!!A};I.converters.any=function(A){return A};I.converters["long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"signed",0,e,t)};I.converters["unsigned long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"unsigned",0,e,t)};I.converters["unsigned long"]=function(A,e,t){return I.util.ConvertToInt(A,32,"unsigned",0,e,t)};I.converters["unsigned short"]=function(A,e,t,r){return I.util.ConvertToInt(A,16,"unsigned",r,e,t)};I.converters.ArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable ArrayBuffer.`});return A};I.converters.SharedArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isSharedArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["SharedArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable SharedArrayBuffer.`});return A};I.converters.TypedArray=function(A,e,t,r,s){if(I.util.Type(A)!==Ve||!se.isTypedArray(A)||A.constructor.name!==e.name)throw I.errors.conversionFailed({prefix:t,argument:`${r} ("${I.util.Stringify(A)}")`,types:[e.name]});if(!I.util.HasFlag(s,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(s,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a resizable array buffer.`});return A};I.converters.DataView=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isDataView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["DataView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.ArrayBufferView=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isArrayBufferView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBufferView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.BufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r&=~I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw se.isSharedArrayBuffer(A)?I.errors.exception({header:e,message:`${t} cannot be a SharedArrayBuffer.`}):I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","ArrayBufferView"]})};I.converters.AllowSharedBufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isSharedArrayBuffer(A))return I.converters.SharedArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r|=I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};I.converters["sequence<ByteString>"]=I.sequenceConverter(I.converters.ByteString);I.converters["sequence<sequence<ByteString>>"]=I.sequenceConverter(I.converters["sequence<ByteString>"]);I.converters["record<ByteString, ByteString>"]=I.recordConverter(I.converters.ByteString,I.converters.ByteString);I.converters.Blob=I.interfaceConverter(I.is.Blob,"Blob");I.converters.AbortSignal=I.interfaceConverter(I.is.AbortSignal,"AbortSignal");I.converters.EventHandlerNonNull=function(A){return I.util.Type(A)!==Ve?null:typeof A=="function"?A:()=>{}};I.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};Kh.exports={webidl:I}});var ve=p((xV,lI)=>{"use strict";var{Transform:eS}=require("node:stream"),zh=require("node:zlib"),{redirectStatusSet:AS,referrerPolicyTokens:tS,badPortsSet:rS}=Rs(),{getGlobalOrigin:$h}=yc(),{collectAnHTTPQuotedString:sS,parseMIMEType:nS}=tA(),{performance:oS}=require("node:perf_hooks"),{ReadableStreamFrom:iS,isValidHTTPToken:eI,normalizedMethodRecordsBase:aS}=G(),bs=require("node:assert"),{isUint8Array:cS}=require("node:util/types"),{webidl:ct}=pe(),{isomorphicEncode:Uc,collectASequenceOfCodePoints:vt,removeChars:gS}=vA();function AI(A){let e=A.urlList,t=e.length;return t===0?null:e[t-1].toString()}function lS(A,e){if(!AS.has(A.status))return null;let t=A.headersList.get("location",!0);return t!==null&&rI(t)&&(tI(t)||(t=ES(t)),t=new URL(t,AI(A))),t&&!t.hash&&(t.hash=e),t}function tI(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>126||t<32)return!1}return!0}function ES(A){return Buffer.from(A,"binary").toString("utf8")}function Pt(A){return A.urlList[A.urlList.length-1]}function QS(A){let e=Pt(A);return cI(e)&&rS.has(e.port)?"blocked":"allowed"}function uS(A){return A instanceof Error||A?.constructor?.name==="Error"||A?.constructor?.name==="DOMException"}function hS(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}var IS=eI;function rI(A){return(A[0]===" "||A[0]===" "||A[A.length-1]===" "||A[A.length-1]===" "||A.includes(`
2
+ `)||A.includes("\r")||A.includes("\0"))===!1}function BS(A){let e=(A.headersList.get("referrer-policy",!0)??"").split(","),t="";if(e.length)for(let r=e.length;r!==0;r--){let s=e[r-1].trim();if(tS.has(s)){t=s;break}}return t}function CS(A,e){let t=BS(e);t!==""&&(A.referrerPolicy=t)}function dS(){return"allowed"}function fS(){return"success"}function pS(){return"success"}function yS(A){let e=null;e=A.mode,A.headersList.set("sec-fetch-mode",e,!0)}function DS(A){let e=A.origin;if(!(e==="client"||e===void 0)){if(A.responseTainting==="cors"||A.mode==="websocket")A.headersList.append("origin",e,!0);else if(A.method!=="GET"&&A.method!=="HEAD"){switch(A.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":A.origin&&Tc(A.origin)&&!Tc(Pt(A))&&(e=null);break;case"same-origin":Fs(A,Pt(A))||(e=null);break;default:}A.headersList.append("origin",e,!0)}}}function Fr(A,e){return A}function mS(A,e,t){return!A?.startTime||A.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:A?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Fr(A.domainLookupStartTime,t),domainLookupEndTime:Fr(A.domainLookupEndTime,t),connectionStartTime:Fr(A.connectionStartTime,t),connectionEndTime:Fr(A.connectionEndTime,t),secureConnectionStartTime:Fr(A.secureConnectionStartTime,t),ALPNNegotiatedProtocol:A.ALPNNegotiatedProtocol}}function wS(A){return Fr(oS.now(),A)}function RS(A){return{startTime:A.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:A.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function sI(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function SS(A){return{referrerPolicy:A.referrerPolicy}}function NS(A){let e=A.referrerPolicy;bs(e);let t=null;if(A.referrer==="client"){let n=$h();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else ct.is.URL(A.referrer)&&(t=A.referrer);let r=Mc(t),s=Mc(t,!0);switch(r.toString().length>4096&&(r=s),e){case"no-referrer":return"no-referrer";case"origin":return s??Mc(t,!0);case"unsafe-url":return r;case"strict-origin":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":s}case"strict-origin-when-cross-origin":{let n=Pt(A);return Fs(r,n)?r:Jt(r)&&!Jt(n)?"no-referrer":s}case"same-origin":return Fs(A,r)?r:"no-referrer";case"origin-when-cross-origin":return Fs(A,r)?r:s;case"no-referrer-when-downgrade":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":r}}}function Mc(A,e=!1){return bs(ct.is.URL(A)),A=new URL(A),aI(A)?"no-referrer":(A.username="",A.password="",A.hash="",e===!0&&(A.pathname="",A.search=""),A)}var FS=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),bS=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function nI(A){return A.includes(":")?(A[0]==="["&&A[A.length-1]==="]"&&(A=A.slice(1,-1)),bS(A)):FS(A)}function US(A){return A==null||A==="null"?!1:(A=new URL(A),!!(A.protocol==="https:"||A.protocol==="wss:"||nI(A.hostname)||A.hostname==="localhost"||A.hostname==="localhost."||A.hostname.endsWith(".localhost")||A.hostname.endsWith(".localhost.")||A.protocol==="file:"))}function Jt(A){return ct.is.URL(A)?A.href==="about:blank"||A.href==="about:srcdoc"||A.protocol==="data:"||A.protocol==="blob:"?!0:US(A.origin):!1}function MS(A){}function Fs(A,e){return A.origin===e.origin&&A.origin==="null"||A.protocol===e.protocol&&A.hostname===e.hostname&&A.port===e.port}function TS(A){return A.controller.state==="aborted"}function kS(A){return A.controller.state==="aborted"||A.controller.state==="terminated"}function LS(A){return aS[A.toLowerCase()]??A}var HS=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function oI(A,e,t=0,r=1){class s{#e;#A;#t;constructor(o,i){this.#e=o,this.#A=i,this.#t=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let o=this.#t,i=e(this.#e),a=i.length;if(o>=a)return{value:void 0,done:!0};let{[t]:c,[r]:g}=i[o];this.#t=o+1;let h;switch(this.#A){case"key":h=c;break;case"value":h=g;break;case"key+value":h=[c,g];break}return{value:h,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,HS),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${A} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(n,o){return new s(n,o)}}function xS(A,e,t,r=0,s=1){let n=oI(A,t,r,s),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(a,c=globalThis){if(ct.brandCheck(this,e),ct.argumentLengthCheck(arguments,1,`${A}.forEach`),typeof a!="function")throw new TypeError(`Failed to execute 'forEach' on '${A}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:h}of n(this,"key+value"))a.call(c,h,g,this)}}};return Object.defineProperties(e.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function YS(A,e,t){let r=e,s=t;try{let n=A.stream.getReader();iI(n,r,s)}catch(n){s(n)}}function GS(A){try{A.close(),A.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function iI(A,e,t){try{let r=[],s=0;do{let{done:n,value:o}=await A.read();if(n){e(Buffer.concat(r,s));return}if(!cS(o)){t(new TypeError("Received non-Uint8Array chunk"));return}r.push(o),s+=o.length}while(!0)}catch(r){t(r)}}function aI(A){bs("protocol"in A);let e=A.protocol;return e==="about:"||e==="blob:"||e==="data:"}function Tc(A){return typeof A=="string"&&A[5]===":"&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&A[4]==="s"||A.protocol==="https:"}function cI(A){bs("protocol"in A);let e=A.protocol;return e==="http:"||e==="https:"}function OS(A,e){let t=A;if(!t.startsWith("bytes"))return"failure";let r={position:5};if(e&&vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==61)return"failure";r.position++,e&&vt(a=>a===" "||a===" ",t,r);let s=vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),n=s.length?Number(s):null;if(e&&vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==45)return"failure";r.position++,e&&vt(a=>a===" "||a===" ",t,r);let o=vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),i=o.length?Number(o):null;return r.position<t.length||i===null&&n===null||n>i?"failure":{rangeStartValue:n,rangeEndValue:i}}function VS(A,e,t){let r="bytes ";return r+=Uc(`${A}`),r+="-",r+=Uc(`${e}`),r+="/",r+=Uc(`${t}`),r}var kc=class extends eS{#e;constructor(e){super(),this.#e=e}_transform(e,t,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?zh.createInflate(this.#e):zh.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",s=>this.destroy(s))}this._inflateStream.write(e,t,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function vS(A){return new kc(A)}function JS(A){let e=null,t=null,r=null,s=gI("content-type",A);if(s===null)return"failure";for(let n of s){let o=nS(n);o==="failure"||o.essence==="*/*"||(r=o,r.essence!==t?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),t=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}function PS(A){let e=A,t={position:0},r=[],s="";for(;t.position<e.length;){if(s+=vt(n=>n!=='"'&&n!==",",e,t),t.position<e.length)if(e.charCodeAt(t.position)===34){if(s+=sS(e,t),t.position<e.length)continue}else bs(e.charCodeAt(t.position)===44),t.position++;s=gS(s,!0,!0,n=>n===9||n===32),r.push(s),s=""}return r}function gI(A,e){let t=e.get(A,!0);return t===null?null:PS(t)}function qS(A){return!1}function WS(A){return!!(A.username||A.password)}function _S(A){return!0}var Lc=class{get baseUrl(){return $h()}get origin(){return this.baseUrl?.origin}policyContainer=sI()},Hc=class{settingsObject=new Lc},ZS=new Hc;lI.exports={isAborted:TS,isCancelled:kS,isValidEncodedURL:tI,ReadableStreamFrom:iS,tryUpgradeRequestToAPotentiallyTrustworthyURL:MS,clampAndCoarsenConnectionTimingInfo:mS,coarsenedSharedCurrentTime:wS,determineRequestsReferrer:NS,makePolicyContainer:sI,clonePolicyContainer:SS,appendFetchMetadata:yS,appendRequestOriginHeader:DS,TAOCheck:pS,corsCheck:fS,crossOriginResourcePolicyCheck:dS,createOpaqueTimingInfo:RS,setRequestReferrerPolicyOnRedirect:CS,isValidHTTPToken:eI,requestBadPort:QS,requestCurrentURL:Pt,responseURL:AI,responseLocationURL:lS,isURLPotentiallyTrustworthy:Jt,isValidReasonPhrase:hS,sameOrigin:Fs,normalizeMethod:LS,iteratorMixin:xS,createIterator:oI,isValidHeaderName:IS,isValidHeaderValue:rI,isErrorLike:uS,fullyReadBody:YS,readableStreamClose:GS,urlIsLocal:aI,urlHasHttpsScheme:Tc,urlIsHttpHttpsScheme:cI,readAllBytes:iI,simpleRangeHeaderValue:OS,buildContentRange:VS,createInflate:vS,extractMimeType:JS,getDecodeSplit:gI,environmentSettingsObject:ZS,isOriginIPPotentiallyTrustworthy:nI,hasAuthenticationEntry:qS,includesCredentials:WS,isTraversableNavigable:_S}});var co=p((YV,QI)=>{"use strict";var{iteratorMixin:jS}=ve(),{kEnumerableProperty:br}=G(),{webidl:q}=pe(),EI=require("node:util"),PA=class A{#e=[];constructor(e=void 0){if(q.util.markAsUncloneable(this),e!==void 0)throw q.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,t,r=void 0){q.brandCheck(this,A);let s="FormData.append";q.argumentLengthCheck(arguments,2,s),e=q.converters.USVString(e),arguments.length===3||q.is.Blob(t)?(t=q.converters.Blob(t,s,"value"),r!==void 0&&(r=q.converters.USVString(r))):t=q.converters.USVString(t);let n=xc(e,t,r);this.#e.push(n)}delete(e){q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.delete"),e=q.converters.USVString(e),this.#e=this.#e.filter(r=>r.name!==e)}get(e){q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.get"),e=q.converters.USVString(e);let r=this.#e.findIndex(s=>s.name===e);return r===-1?null:this.#e[r].value}getAll(e){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.getAll"),e=q.converters.USVString(e),this.#e.filter(r=>r.name===e).map(r=>r.value)}has(e){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.has"),e=q.converters.USVString(e),this.#e.findIndex(r=>r.name===e)!==-1}set(e,t,r=void 0){q.brandCheck(this,A);let s="FormData.set";q.argumentLengthCheck(arguments,2,s),e=q.converters.USVString(e),arguments.length===3||q.is.Blob(t)?(t=q.converters.Blob(t,s,"value"),r!==void 0&&(r=q.converters.USVString(r))):t=q.converters.USVString(t);let n=xc(e,t,r),o=this.#e.findIndex(i=>i.name===e);o!==-1?this.#e=[...this.#e.slice(0,o),n,...this.#e.slice(o+1).filter(i=>i.name!==e)]:this.#e.push(n)}[EI.inspect.custom](e,t){let r=this.#e.reduce((n,o)=>(n[o.name]?Array.isArray(n[o.name])?n[o.name].push(o.value):n[o.name]=[n[o.name],o.value]:n[o.name]=o.value,n),{__proto__:null});t.depth??=e,t.colors??=!0;let s=EI.formatWithOptions(t,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}},{getFormDataState:XS,setFormDataState:KS}=PA;Reflect.deleteProperty(PA,"getFormDataState");Reflect.deleteProperty(PA,"setFormDataState");jS("FormData",PA,XS,"name","value");Object.defineProperties(PA.prototype,{append:br,delete:br,get:br,getAll:br,has:br,set:br,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function xc(A,e,t){if(typeof e!="string"){if(q.is.File(e)||(e=new File([e],"blob",{type:e.type})),t!==void 0){let r={type:e.type,lastModified:e.lastModified};e=new File([e],t,r)}}return{name:A,value:e}}q.is.FormData=q.util.MakeTypeAssertion(PA);QI.exports={FormData:PA,makeEntry:xc,setFormDataState:KS}});var II=p((GV,hI)=>{"use strict";var{bufferToLowerCasedHeaderName:zS}=G(),{HTTP_TOKEN_CODEPOINTS:$S}=tA(),{makeEntry:eN}=co(),{webidl:Yc}=pe(),Gc=require("node:assert"),{isomorphicDecode:uI}=vA(),AN=Buffer.from("--"),Oc=new TextDecoder,tN=new TextDecoder("utf-8",{ignoreBOM:!0});function rN(A){for(let e=0;e<A.length;++e)if((A.charCodeAt(e)&-128)!==0)return!1;return!0}function sN(A){let e=A.length;if(e<27||e>70)return!1;for(let t=0;t<e;++t){let r=A.charCodeAt(t);if(!(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function nN(A,e){Gc(e!=="failure"&&e.essence==="multipart/form-data");let t=e.parameters.get("boundary");if(t===void 0)throw Ue("missing boundary in content-type header");let r=Buffer.from(`--${t}`,"utf8"),s=[],n={position:0},o=A.indexOf(r);if(o===-1)throw Ue("no boundary found in multipart body");for(n.position=o;;){if(A.subarray(n.position,n.position+r.length).equals(r))n.position+=r.length;else throw Ue("expected a value starting with -- and the boundary");if(aN(A,AN,n))return s;if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let i=iN(A,n),{name:a,filename:c,contentType:g,encoding:h}=i;n.position+=2;let Q;{let E=A.indexOf(r.subarray(2),n.position);if(E===-1)throw Ue("expected boundary after body");Q=A.subarray(n.position,E-4),n.position+=Q.length,h==="base64"&&(Q=Buffer.from(Q.toString(),"base64"))}if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let l;c!==null?(g??="text/plain",rN(g)||(g=""),l=new File([Q],c,{type:g})):l=tN.decode(Buffer.from(Q)),Gc(Yc.is.USVString(a)),Gc(typeof l=="string"&&Yc.is.USVString(l)||Yc.is.File(l)),s.push(eN(a,l,c))}}function oN(A,e){A[e.position]===59&&e.position++,rA(o=>o===32||o===9,A,e);let t=rA(o=>vc(o)&&o!==61&&o!==42,A,e);if(t.length===0)return null;let r=t.toString("ascii").toLowerCase(),s=A[e.position]===42;if(s&&e.position++,A[e.position]!==61)return null;e.position++,rA(o=>o===32||o===9,A,e);let n;if(s){let o=rA(i=>i!==32&&i!==13&&i!==10&&i!==59,A,e);if(o[0]!==117&&o[0]!==85||o[1]!==116&&o[1]!==84||o[2]!==102&&o[2]!==70||o[3]!==45||o[4]!==56)throw Ue("unknown encoding, expected utf-8''");n=decodeURIComponent(Oc.decode(o.subarray(7)))}else if(A[e.position]===34){e.position++;let o=rA(i=>i!==10&&i!==13&&i!==34,A,e);if(A[e.position]!==34)throw Ue("Closing quote not found");e.position++,n=Oc.decode(o).replace(/%0A/ig,`
3
+ `).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let o=rA(i=>vc(i)&&i!==59,A,e);n=Oc.decode(o)}return{name:r,value:n}}function iN(A,e){let t=null,r=null,s=null,n=null;for(;;){if(A[e.position]===13&&A[e.position+1]===10){if(t===null)throw Ue("header name is null");return{name:t,filename:r,contentType:s,encoding:n}}let o=rA(i=>i!==10&&i!==13&&i!==58,A,e);if(o=Vc(o,!0,!0,i=>i===9||i===32),!$S.test(o.toString()))throw Ue("header name does not match the field-name token production");if(A[e.position]!==58)throw Ue("expected :");switch(e.position++,rA(i=>i===32||i===9,A,e),zS(o)){case"content-disposition":{if(t=r=null,rA(a=>vc(a),A,e).toString("ascii").toLowerCase()!=="form-data")throw Ue("expected form-data for content-disposition header");for(;e.position<A.length&&A[e.position]!==13&&A[e.position+1]!==10;){let a=oN(A,e);if(!a)break;a.name==="name"?t=a.value:a.name==="filename"&&(r=a.value)}if(t===null)throw Ue("name attribute is required in content-disposition header");break}case"content-type":{let i=rA(a=>a!==10&&a!==13,A,e);i=Vc(i,!1,!0,a=>a===9||a===32),s=uI(i);break}case"content-transfer-encoding":{let i=rA(a=>a!==10&&a!==13,A,e);i=Vc(i,!1,!0,a=>a===9||a===32),n=uI(i);break}default:rA(i=>i!==10&&i!==13,A,e)}if(A[e.position]!==13&&A[e.position+1]!==10)throw Ue("expected CRLF");e.position+=2}}function rA(A,e,t){let r=t.position;for(;r<e.length&&A(e[r]);)++r;return e.subarray(t.position,t.position=r)}function Vc(A,e,t,r){let s=0,n=A.length-1;if(e)for(;s<A.length&&r(A[s]);)s++;if(t)for(;n>0&&r(A[n]);)n--;return s===0&&n===A.length-1?A:A.subarray(s,n+1)}function aN(A,e,t){if(A.length<e.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==A[t.position+r])return!1;return!0}function Ue(A){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(A)})}function cN(A){return A<=31||A===127}function gN(A){return A===40||A===41||A===60||A===62||A===64||A===44||A===59||A===58||A===92||A===34||A===47||A===91||A===93||A===63||A===61}function vc(A){return A<=127&&A!==32&&A!==9&&!cN(A)&&!gN(A)}hI.exports={multipartFormDataParser:nN,validateBoundary:sN}});var Us=p((OV,BI)=>{"use strict";function lN(){let A,e;return{promise:new Promise((r,s)=>{A=r,e=s}),resolve:A,reject:e}}BI.exports={createDeferredPromise:lN}});var Mr=p((VV,yI)=>{"use strict";var qc=G(),{ReadableStreamFrom:EN,readableStreamClose:QN,fullyReadBody:uN,extractMimeType:hN}=ve(),{FormData:CI,setFormDataState:IN}=co(),{webidl:EA}=pe(),Jc=require("node:assert"),{isErrored:Pc,isDisturbed:BN}=require("node:stream"),{isUint8Array:CN}=require("node:util/types"),{serializeAMimeType:dN}=tA(),{multipartFormDataParser:fN}=II(),{createDeferredPromise:pN}=Us(),{parseJSONFromBytes:yN}=vA(),{utf8DecodeBytes:DN}=ro(),{runtimeFeatures:mN}=JA(),wN=mN.has("crypto")?require("node:crypto").randomInt:A=>Math.floor(Math.random()*A),go=new TextEncoder;function RN(){}var SN=new FinalizationRegistry(A=>{let e=A.deref();e&&!e.locked&&!BN(e)&&!Pc(e)&&e.cancel("Response object has been garbage collected").catch(RN)});function fI(A,e=!1){let t=null,r=null;EA.is.ReadableStream(A)?t=A:EA.is.Blob(A)?t=A.stream():t=new ReadableStream({pull(){},start(c){r=c},cancel(){},type:"bytes"}),Jc(EA.is.ReadableStream(t));let s=null,n=null,o=null,i=null;if(typeof A=="string")n=A,i="text/plain;charset=UTF-8";else if(EA.is.URLSearchParams(A))n=A.toString(),i="application/x-www-form-urlencoded;charset=UTF-8";else if(EA.is.BufferSource(A))n=EA.util.getCopyOfBytesHeldByBufferSource(A);else if(EA.is.FormData(A)){let c=`----formdata-undici-0${`${wN(1e11)}`.padStart(11,"0")}`,g=`--${c}\r
4
+ Content-Disposition: form-data`;let h=C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Q=C=>C.replace(/\r?\n|\r/g,`\r
5
+ `),l=[],E=new Uint8Array([13,10]);o=0;let B=!1;for(let[C,f]of A)if(typeof f=="string"){let y=go.encode(g+`; name="${h(Q(C))}"\r
6
+ \r
7
+ ${Q(f)}\r
8
+ `);l.push(y),o+=y.byteLength}else{let y=go.encode(`${g}; name="${h(Q(C))}"`+(f.name?`; filename="${h(f.name)}"`:"")+`\r
9
+ Content-Type: ${f.type||"application/octet-stream"}\r
10
+ \r
11
+ `);l.push(y,f,E),typeof f.size=="number"?o+=y.byteLength+f.size+E.byteLength:B=!0}let D=go.encode(`--${c}--\r
12
+ `);l.push(D),o+=D.byteLength,B&&(o=null),n=A,s=async function*(){for(let C of l)C.stream?yield*C.stream():yield C},i=`multipart/form-data; boundary=${c}`}else if(EA.is.Blob(A))n=A,o=A.size,A.type&&(i=A.type);else if(typeof A[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(qc.isDisturbed(A)||A.locked)throw new TypeError("Response body object should not be disturbed or locked");t=EA.is.ReadableStream(A)?A:EN(A)}return(typeof n=="string"||CN(n))&&(s=()=>(o=typeof n=="string"?Buffer.byteLength(n):n.length,n)),s!=null&&(async()=>{let c=s(),g=c?.[Symbol.asyncIterator]?.();if(g)for await(let h of g){if(Pc(t))break;h.length&&r.enqueue(new Uint8Array(h))}else c?.length&&!Pc(t)&&r.enqueue(typeof c=="string"?go.encode(c):new Uint8Array(c));queueMicrotask(()=>QN(r))})(),[{stream:t,source:n,length:o},i]}function NN(A,e=!1){return EA.is.ReadableStream(A)&&(Jc(!qc.isDisturbed(A),"The body has already been consumed."),Jc(!A.locked,"The stream is locked.")),fI(A,e)}function FN(A){let{0:e,1:t}=A.stream.tee();return A.stream=e,{stream:t,length:A.length,source:A.source}}function bN(A,e){return{blob(){return Ur(this,r=>{let s=dI(e(this));return s===null?s="":s&&(s=dN(s)),new Blob([r],{type:s})},A,e)},arrayBuffer(){return Ur(this,r=>new Uint8Array(r).buffer,A,e)},text(){return Ur(this,DN,A,e)},json(){return Ur(this,yN,A,e)},formData(){return Ur(this,r=>{let s=dI(e(this));if(s!==null)switch(s.essence){case"multipart/form-data":{let n=fN(r,s),o=new CI;return IN(o,n),o}case"application/x-www-form-urlencoded":{let n=new URLSearchParams(r.toString()),o=new CI;for(let[i,a]of n)o.append(i,a);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},A,e)},bytes(){return Ur(this,r=>new Uint8Array(r),A,e)}}}function UN(A,e){Object.assign(A.prototype,bN(A,e))}function Ur(A,e,t,r){try{EA.brandCheck(A,t)}catch(i){return Promise.reject(i)}if(A=r(A),pI(A))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let s=pN(),n=s.reject,o=i=>{try{s.resolve(e(i))}catch(a){n(a)}};return A.body==null?(o(Buffer.allocUnsafe(0)),s.promise):(uN(A.body,o,n),s.promise)}function pI(A){let e=A.body;return e!=null&&(e.stream.locked||qc.isDisturbed(e.stream))}function dI(A){let e=A.headersList,t=hN(e);return t==="failure"?null:t}yI.exports={extractBody:fI,safelyExtractBody:NN,cloneBody:FN,mixinBody:UN,streamRegistry:SN,bodyUnusable:pI}});var TI=p((vV,MI)=>{"use strict";var H=require("node:assert"),x=G(),{channels:DI}=it(),Wc=Ra(),{RequestContentLengthMismatchError:qt,ResponseContentLengthMismatchError:MN,RequestAbortedError:FI,HeadersTimeoutError:TN,HeadersOverflowError:kN,SocketError:ks,InformationalError:Tr,BodyTimeoutError:LN,HTTPParserError:HN,ResponseExceededMaxSizeError:xN}=Y(),{kUrl:bI,kReset:Me,kClient:$c,kParser:ne,kBlocking:Ls,kRunning:De,kPending:YN,kSize:mI,kWriting:lt,kQueue:QA,kNoRef:Ms,kKeepAliveDefaultTimeout:GN,kHostHeader:ON,kPendingIdx:VN,kRunningIdx:sA,kError:nA,kPipelining:Qo,kSocket:kr,kKeepAliveTimeoutValue:ho,kMaxHeadersSize:vN,kKeepAliveMaxTimeout:JN,kKeepAliveTimeoutThreshold:PN,kHeadersTimeout:qN,kBodyTimeout:WN,kStrictContentLength:jc,kMaxRequests:wI,kCounter:_N,kMaxResponseSize:ZN,kOnError:jN,kResume:gt,kHTTPContext:UI,kClosed:Xc}=Z(),wA=yh(),XN=Buffer.alloc(0),lo=Buffer[Symbol.species],KN=x.removeAllListeners,_c;function zN(){let A=process.env.JEST_WORKER_ID?dc():void 0,e,t=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?t=!0:process.env.UNDICI_NO_WASM_SIMD==="0"&&(t=!1),t)try{e=new WebAssembly.Module(wh())}catch{}return e||(e=new WebAssembly.Module(A||dc())),new WebAssembly.Instance(e,{env:{wasm_on_url:(r,s,n)=>0,wasm_on_status:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onStatus(new lo(RA.buffer,o,n))},wasm_on_message_begin:r=>(H(Ee.ptr===r),Ee.onMessageBegin()),wasm_on_header_field:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onHeaderField(new lo(RA.buffer,o,n))},wasm_on_header_value:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onHeaderValue(new lo(RA.buffer,o,n))},wasm_on_headers_complete:(r,s,n,o)=>(H(Ee.ptr===r),Ee.onHeadersComplete(s,n===1,o===1)),wasm_on_body:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onBody(new lo(RA.buffer,o,n))},wasm_on_message_complete:r=>(H(Ee.ptr===r),Ee.onMessageComplete())}})}var Zc=null,Ee=null,RA=null,Eo=0,SA=null,$N=0,Ts=1,Lr=2|Ts,uo=4|Ts,Kc=8|$N,zc=class{constructor(e,t,{exports:r}){this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(wA.TYPE.RESPONSE),this.client=e,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[vN],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[ZN]}setTimeout(e,t){e!==this.timeoutValue||t&Ts^this.timeoutType&Ts?(this.timeout&&(Wc.clearTimeout(this.timeout),this.timeout=null),e&&(t&Ts?this.timeout=Wc.setFastTimeout(RI,e,new WeakRef(this)):(this.timeout=setTimeout(RI,e,new WeakRef(this)),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){this.socket.destroyed||!this.paused||(H(this.ptr!=null),H(Ee===null),this.llhttp.llhttp_resume(this.ptr),H(this.timeoutType===uo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||XN),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){H(Ee===null),H(this.ptr!=null),H(!this.paused);let{socket:t,llhttp:r}=this;e.length>Eo&&(SA&&r.free(SA),Eo=Math.ceil(e.length/4096)*4096,SA=r.malloc(Eo)),new Uint8Array(r.memory.buffer,SA,Eo).set(e);try{let s;try{RA=e,Ee=this,s=r.llhttp_execute(this.ptr,SA,e.length)}finally{Ee=null,RA=null}if(s!==wA.ERROR.OK){let n=e.subarray(r.llhttp_get_error_pos(this.ptr)-SA);if(s===wA.ERROR.PAUSED_UPGRADE)this.onUpgrade(n);else if(s===wA.ERROR.PAUSED)this.paused=!0,t.unshift(n);else{let o=r.llhttp_get_error_reason(this.ptr),i="";if(o){let a=new Uint8Array(r.memory.buffer,o).indexOf(0);i="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,o,a).toString()+")"}throw new HN(i,wA.ERROR[s],n)}}}catch(s){x.destroy(t,s)}}destroy(){H(Ee===null),H(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Wc.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:t}=this;if(e.destroyed)return-1;let r=t[QA][t[sA]];return r?(r.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return(t&1)===0?this.headers.push(e):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]),this.trackHeader(e.length),0}onHeaderValue(e){let t=this.headers.length;(t&1)===1?(this.headers.push(e),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]);let r=this.headers[t-2];if(r.length===10){let s=x.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&x.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&x.destroy(this.socket,new kN)}onUpgrade(e){let{upgrade:t,client:r,socket:s,headers:n,statusCode:o}=this;H(t),H(r[kr]===s),H(!s.destroyed),H(!this.paused),H((n.length&1)===0);let i=r[QA][r[sA]];H(i),H(i.upgrade||i.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,s.unshift(e),s[ne].destroy(),s[ne]=null,s[$c]=null,s[nA]=null,KN(s),r[kr]=null,r[UI]=null,r[QA][r[sA]++]=null,r.emit("disconnect",r[bI],[r],new Tr("upgrade"));try{i.onUpgrade(o,n,s)}catch(a){x.destroy(s,a)}r[gt]()}onHeadersComplete(e,t,r){let{client:s,socket:n,headers:o,statusText:i}=this;if(n.destroyed)return-1;let a=s[QA][s[sA]];if(!a)return-1;if(H(!this.upgrade),H(this.statusCode<200),e===100)return x.destroy(n,new ks("bad response",x.getSocketInfo(n))),-1;if(t&&!a.upgrade)return x.destroy(n,new ks("bad upgrade",x.getSocketInfo(n))),-1;if(H(this.timeoutType===Lr),this.statusCode=e,this.shouldKeepAlive=r||a.method==="HEAD"&&!n[Me]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=a.bodyTimeout!=null?a.bodyTimeout:s[WN];this.setTimeout(g,uo)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(a.method==="CONNECT")return H(s[De]===1),this.upgrade=!0,2;if(t)return H(s[De]===1),this.upgrade=!0,2;if(H((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[Qo]){let g=this.keepAlive?x.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let h=Math.min(g-s[PN],s[JN]);h<=0?n[Me]=!0:s[ho]=h}else s[ho]=s[GN]}else n[Me]=!0;let c=a.onHeaders(e,o,this.resume,i)===!1;return a.aborted?-1:a.method==="HEAD"||e<200?1:(n[Ls]&&(n[Ls]=!1,s[gt]()),c?wA.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:r,statusCode:s,maxResponseSize:n}=this;if(r.destroyed)return-1;let o=t[QA][t[sA]];return H(o),H(this.timeoutType===uo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),H(s>=200),n>-1&&this.bytesRead+e.length>n?(x.destroy(r,new xN),-1):(this.bytesRead+=e.length,o.onData(e)===!1?wA.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:r,upgrade:s,headers:n,contentLength:o,bytesRead:i,shouldKeepAlive:a}=this;if(t.destroyed&&(!r||a))return-1;if(s)return 0;H(r>=100),H((this.headers.length&1)===0);let c=e[QA][e[sA]];if(H(c),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,r<200)return 0;if(c.method!=="HEAD"&&o&&i!==parseInt(o,10))return x.destroy(t,new MN),-1;if(c.onComplete(n),e[QA][e[sA]++]=null,t[lt])return H(e[De]===0),x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;if(a){if(t[Me]&&e[De]===0)return x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;e[Qo]==null||e[Qo]===1?setImmediate(e[gt]):e[gt]()}else return x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;return 0}};function RI(A){let e=A.deref();if(!e)return;let{socket:t,timeoutType:r,client:s,paused:n}=e;r===Lr?(!t[lt]||t.writableNeedDrain||s[De]>1)&&(H(!n,"cannot be paused while waiting for headers"),x.destroy(t,new TN)):r===uo?n||x.destroy(t,new LN):r===Kc&&(H(s[De]===0&&s[ho]),x.destroy(t,new Tr("socket idle timeout")))}function eF(A,e){if(A[kr]=e,Zc||(Zc=zN()),e.errored)throw e.errored;if(e.destroyed)throw new ks("destroyed");return e[Ms]=!1,e[lt]=!1,e[Me]=!1,e[Ls]=!1,e[ne]=new zc(A,e,Zc),x.addListener(e,"error",AF),x.addListener(e,"readable",tF),x.addListener(e,"end",rF),x.addListener(e,"close",sF),e[Xc]=!1,e.on("close",nF),{version:"h1",defaultPipelining:1,write(t){return aF(A,t)},resume(){oF(A)},destroy(t,r){e[Xc]?queueMicrotask(r):(e.on("close",r),e.destroy(t))},get destroyed(){return e.destroyed},busy(t){return!!(e[lt]||e[Me]||e[Ls]||t&&(A[De]>0&&!t.idempotent||A[De]>0&&(t.upgrade||t.method==="CONNECT")||A[De]>0&&x.bodyLength(t.body)!==0&&(x.isStream(t.body)||x.isAsyncIterable(t.body)||x.isFormDataLike(t.body))))}}}function AF(A){H(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let e=this[ne];if(A.code==="ECONNRESET"&&e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}this[nA]=A,this[$c][jN](A)}function tF(){this[ne]?.readMore()}function rF(){let A=this[ne];if(A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}x.destroy(this,new ks("other side closed",x.getSocketInfo(this)))}function sF(){let A=this[ne];A&&(!this[nA]&&A.statusCode&&!A.shouldKeepAlive&&A.onMessageComplete(),this[ne].destroy(),this[ne]=null);let e=this[nA]||new ks("closed",x.getSocketInfo(this)),t=this[$c];if(t[kr]=null,t[UI]=null,t.destroyed){H(t[YN]===0);let r=t[QA].splice(t[sA]);for(let s=0;s<r.length;s++){let n=r[s];x.errorRequest(t,n,e)}}else if(t[De]>0&&e.code!=="UND_ERR_INFO"){let r=t[QA][t[sA]];t[QA][t[sA]++]=null,x.errorRequest(t,r,e)}t[VN]=t[sA],H(t[De]===0),t.emit("disconnect",t[bI],[t],e),t[gt]()}function nF(){this[Xc]=!0}function oF(A){let e=A[kr];if(e&&!e.destroyed){if(A[mI]===0?!e[Ms]&&e.unref&&(e.unref(),e[Ms]=!0):e[Ms]&&e.ref&&(e.ref(),e[Ms]=!1),A[mI]===0)e[ne].timeoutType!==Kc&&e[ne].setTimeout(A[ho],Kc);else if(A[De]>0&&e[ne].statusCode<200&&e[ne].timeoutType!==Lr){let t=A[QA][A[sA]],r=t.headersTimeout!=null?t.headersTimeout:A[qN];e[ne].setTimeout(r,Lr)}}}function iF(A){return A!=="GET"&&A!=="HEAD"&&A!=="OPTIONS"&&A!=="TRACE"&&A!=="CONNECT"}function aF(A,e){let{method:t,path:r,host:s,upgrade:n,blocking:o,reset:i}=e,{body:a,headers:c,contentLength:g}=e,h=t==="PUT"||t==="POST"||t==="PATCH"||t==="QUERY"||t==="PROPFIND"||t==="PROPPATCH";if(x.isFormDataLike(a)){_c||(_c=Mr().extractBody);let[D,C]=_c(a);e.contentType==null&&c.push("content-type",C),a=D.stream,g=D.length}else x.isBlobLike(a)&&e.contentType==null&&a.type&&c.push("content-type",a.type);a&&typeof a.read=="function"&&a.read(0);let Q=x.bodyLength(a);if(g=Q??g,g===null&&(g=e.contentLength),g===0&&!h&&(g=null),iF(t)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(A[jc])return x.errorRequest(A,e,new qt),!1;process.emitWarning(new qt)}let l=A[kr],E=D=>{e.aborted||e.completed||(x.errorRequest(A,e,D||new FI),x.destroy(a),x.destroy(l,new Tr("aborted")))};try{e.onConnect(E)}catch(D){x.errorRequest(A,e,D)}if(e.aborted)return!1;t==="HEAD"&&(l[Me]=!0),(n||t==="CONNECT")&&(l[Me]=!0),i!=null&&(l[Me]=i),A[wI]&&l[_N]++>=A[wI]&&(l[Me]=!0),o&&(l[Ls]=!0),l.setTypeOfService&&l.setTypeOfService(e.typeOfService);let B=`${t} ${r} HTTP/1.1\r
13
+ `;if(typeof s=="string"?B+=`host: ${s}\r
14
+ `:B+=A[ON],n?B+=`connection: upgrade\r
15
+ upgrade: ${n}\r
16
+ `:A[Qo]&&!l[Me]?B+=`connection: keep-alive\r
17
+ `:B+=`connection: close\r
18
+ `,Array.isArray(c))for(let D=0;D<c.length;D+=2){let C=c[D+0],f=c[D+1];if(Array.isArray(f))for(let y=0;y<f.length;y++)B+=`${C}: ${f[y]}\r
19
+ `;else B+=`${C}: ${f}\r
20
+ `}return DI.sendHeaders.hasSubscribers&&DI.sendHeaders.publish({request:e,headers:B,socket:l}),!a||Q===0?SI(E,null,A,e,l,g,B,h):x.isBuffer(a)?SI(E,a,A,e,l,g,B,h):x.isBlobLike(a)?typeof a.stream=="function"?NI(E,a.stream(),A,e,l,g,B,h):gF(E,a,A,e,l,g,B,h):x.isStream(a)?cF(E,a,A,e,l,g,B,h):x.isIterable(a)?NI(E,a,A,e,l,g,B,h):H(!1),!0}function cF(A,e,t,r,s,n,o,i){H(n!==0||t[De]===0,"stream body cannot be pipelined");let a=!1,c=new Io({abort:A,socket:s,request:r,contentLength:n,client:t,expectsPayload:i,header:o}),g=function(E){if(!a)try{!c.write(E)&&this.pause&&this.pause()}catch(B){x.destroy(this,B)}},h=function(){a||e.resume&&e.resume()},Q=function(){if(queueMicrotask(()=>{e.removeListener("error",l)}),!a){let E=new FI;queueMicrotask(()=>l(E))}},l=function(E){if(!a){if(a=!0,H(s.destroyed||s[lt]&&t[De]<=1),s.off("drain",h).off("error",l),e.removeListener("data",g).removeListener("end",l).removeListener("close",Q),!E)try{c.end()}catch(B){E=B}c.destroy(E),E&&(E.code!=="UND_ERR_INFO"||E.message!=="reset")?x.destroy(e,E):x.destroy(e)}};e.on("data",g).on("end",l).on("error",l).on("close",Q),e.resume&&e.resume(),s.on("drain",h).on("error",l),e.errorEmitted??e.errored?setImmediate(l,e.errored):(e.endEmitted??e.readableEnded)&&setImmediate(l,null),(e.closeEmitted??e.closed)&&setImmediate(Q)}function SI(A,e,t,r,s,n,o,i){try{e?x.isBuffer(e)&&(H(n===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${o}content-length: ${n}\r
21
+ \r
22
+ `,"latin1"),s.write(e),s.uncork(),r.onBodySent(e),!i&&r.reset!==!1&&(s[Me]=!0)):n===0?s.write(`${o}content-length: 0\r
23
+ \r
24
+ `,"latin1"):(H(n===null,"no body must not have content length"),s.write(`${o}\r
25
+ `,"latin1")),r.onRequestSent(),t[gt]()}catch(a){A(a)}}async function gF(A,e,t,r,s,n,o,i){H(n===e.size,"blob body must have content length");try{if(n!=null&&n!==e.size)throw new qt;let a=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${o}content-length: ${n}\r
26
+ \r
27
+ `,"latin1"),s.write(a),s.uncork(),r.onBodySent(a),r.onRequestSent(),!i&&r.reset!==!1&&(s[Me]=!0),t[gt]()}catch(a){A(a)}}async function NI(A,e,t,r,s,n,o,i){H(n!==0||t[De]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let Q=a;a=null,Q()}}let g=()=>new Promise((Q,l)=>{H(a===null),s[nA]?l(s[nA]):a=Q});s.on("close",c).on("drain",c);let h=new Io({abort:A,socket:s,request:r,contentLength:n,client:t,expectsPayload:i,header:o});try{for await(let Q of e){if(s[nA])throw s[nA];h.write(Q)||await g()}h.end()}catch(Q){h.destroy(Q)}finally{s.off("close",c).off("drain",c)}}var Io=class{constructor({abort:e,socket:t,request:r,contentLength:s,client:n,expectsPayload:o,header:i}){this.socket=t,this.request=r,this.contentLength=s,this.client=n,this.bytesWritten=0,this.expectsPayload=o,this.header=i,this.abort=e,t[lt]=!0}write(e){let{socket:t,request:r,contentLength:s,client:n,bytesWritten:o,expectsPayload:i,header:a}=this;if(t[nA])throw t[nA];if(t.destroyed)return!1;let c=Buffer.byteLength(e);if(!c)return!0;if(s!==null&&o+c>s){if(n[jc])throw new qt;process.emitWarning(new qt)}t.cork(),o===0&&(!i&&r.reset!==!1&&(t[Me]=!0),s===null?t.write(`${a}transfer-encoding: chunked\r
28
+ `,"latin1"):t.write(`${a}content-length: ${s}\r
29
+ \r
30
+ `,"latin1")),s===null&&t.write(`\r
31
+ ${c.toString(16)}\r
32
+ `,"latin1"),this.bytesWritten+=c;let g=t.write(e);return t.uncork(),r.onBodySent(e),g||t[ne].timeout&&t[ne].timeoutType===Lr&&t[ne].timeout.refresh&&t[ne].timeout.refresh(),g}end(){let{socket:e,contentLength:t,client:r,bytesWritten:s,expectsPayload:n,header:o,request:i}=this;if(i.onRequestSent(),e[lt]=!1,e[nA])throw e[nA];if(!e.destroyed){if(s===0?n?e.write(`${o}content-length: 0\r
33
+ \r
34
+ `,"latin1"):e.write(`${o}\r
35
+ `,"latin1"):t===null&&e.write(`\r
36
+ 0\r
37
+ \r
38
+ `,"latin1"),t!==null&&s!==t){if(r[jc])throw new qt;process.emitWarning(new qt)}e[ne].timeout&&e[ne].timeoutType===Lr&&e[ne].timeout.refresh&&e[ne].timeout.refresh(),r[gt]()}}destroy(e){let{socket:t,client:r,abort:s}=this;t[lt]=!1,e&&(H(r[De]<=1,"pipeline should only contain this request"),s(e))}};MI.exports=eF});var vI=p((JV,VI)=>{"use strict";var iA=require("node:assert"),{pipeline:lF}=require("node:stream"),O=G(),{RequestContentLengthMismatchError:rg,RequestAbortedError:EF,SocketError:Gs,InformationalError:Et,InvalidArgumentError:QF}=Y(),{kUrl:Ys,kReset:po,kClient:Je,kRunning:Os,kPending:uF,kQueue:Qt,kPendingIdx:ng,kRunningIdx:uA,kError:Pe,kSocket:re,kStrictContentLength:hF,kOnError:Hr,kMaxConcurrentStreams:Co,kPingInterval:kI,kHTTP2Session:qA,kHTTP2InitialWindowSize:IF,kHTTP2ConnectionWindowSize:BF,kResume:NA,kSize:CF,kHTTPContext:og,kClosed:sg,kBodyTimeout:dF,kEnableConnectProtocol:Hs,kRemoteSettings:xs,kHTTP2Stream:Bo,kHTTP2SessionState:ig}=Z(),{channels:LI}=it(),oA=Symbol("open streams"),HI,fo;try{fo=require("node:http2")}catch{fo={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:fF,HTTP2_HEADER_METHOD:xI,HTTP2_HEADER_PATH:YI,HTTP2_HEADER_SCHEME:eg,HTTP2_HEADER_CONTENT_LENGTH:pF,HTTP2_HEADER_EXPECT:yF,HTTP2_HEADER_STATUS:Ag,HTTP2_HEADER_PROTOCOL:DF,NGHTTP2_REFUSED_STREAM:mF,NGHTTP2_CANCEL:wF}}=fo;function tg(A){let e=[];for(let[t,r]of Object.entries(A))if(Array.isArray(r))for(let s of r)e.push(Buffer.from(t),Buffer.from(s));else e.push(Buffer.from(t),Buffer.from(r));return e}function RF(A,e){A[re]=e;let t=A[IF],r=A[BF],s=fo.connect(A[Ys],{createConnection:()=>e,peerMaxConcurrentStreams:A[Co],settings:{enablePush:!1,...t!=null?{initialWindowSize:t}:null}});return A[re]=e,s[oA]=0,s[Je]=A,s[re]=e,s[ig]={ping:{interval:A[kI]===0?null:setInterval(bF,A[kI],s).unref()}},s[Hs]=!1,s[xs]=!1,r&&O.addListener(s,"connect",NF.bind(s,r)),O.addListener(s,"error",UF),O.addListener(s,"frameError",MF),O.addListener(s,"end",TF),O.addListener(s,"goaway",kF),O.addListener(s,"close",LF),O.addListener(s,"remoteSettings",FF),s.unref(),A[qA]=s,e[qA]=s,O.addListener(e,"error",xF),O.addListener(e,"end",YF),O.addListener(e,"close",HF),e[sg]=!1,e.on("close",GF),{version:"h2",defaultPipelining:1/0,write(n){return VF(A,n)},resume(){SF(A)},destroy(n,o){e[sg]?queueMicrotask(o):e.destroy(n).on("close",o)},get destroyed(){return e.destroyed},busy(n){if(n!=null)if(A[Os]>0){if(n.idempotent===!1||(n.upgrade==="websocket"||n.method==="CONNECT")&&s[xs]===!1||O.bodyLength(n.body)!==0&&(O.isStream(n.body)||O.isAsyncIterable(n.body)||O.isFormDataLike(n.body)))return!0}else return(n.upgrade==="websocket"||n.method==="CONNECT")&&s[xs]===!1;return!1}}}function SF(A){let e=A[re];e?.destroyed===!1&&(A[CF]===0||A[Co]===0?(e.unref(),A[qA].unref()):(e.ref(),A[qA].ref()))}function NF(A){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(A)}catch{}}function FF(A){if(this[Je][Co]=A.maxConcurrentStreams??this[Je][Co],this[xs]===!0&&this[Hs]===!0&&A.enableConnectProtocol===!1){let e=new Et("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[re][Pe]=e,this[Je][Hr](e);return}this[Hs]=A.enableConnectProtocol??this[Hs],this[xs]=!0,this[Je][NA]()}function bF(A){let e=A[ig];if((A.closed||A.destroyed)&&e.ping.interval!=null){clearInterval(e.ping.interval),e.ping.interval=null;return}A.ping(t.bind(A));function t(r,s){let n=this[Je],o=this[Je];if(r!=null){let i=new Et(`HTTP/2: "PING" errored - type ${r.message}`);o[Pe]=i,n[Hr](i)}else n.emit("ping",s)}}function UF(A){iA(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[re][Pe]=A,this[Je][Hr](A)}function MF(A,e,t){if(t===0){let r=new Et(`HTTP/2: "frameError" received - type ${A}, code ${e}`);this[re][Pe]=r,this[Je][Hr](r)}}function TF(){let A=new Gs("other side closed",O.getSocketInfo(this[re]));this.destroy(A),O.destroy(this[re],A)}function kF(A){let e=this[Pe]||new Gs(`HTTP/2: "GOAWAY" frame received with code ${A}`,O.getSocketInfo(this[re])),t=this[Je];if(t[re]=null,t[og]=null,this.close(),this[qA]=null,O.destroy(this[re],e),t[uA]<t[Qt].length){let r=t[Qt][t[uA]];t[Qt][t[uA]++]=null,O.errorRequest(t,r,e),t[ng]=t[uA]}iA(t[Os]===0),t.emit("disconnect",t[Ys],[t],e),t.emit("connectionError",t[Ys],[t],e),t[NA]()}function LF(){let{[Je]:A,[ig]:e}=this,{[re]:t}=A,r=this[re][Pe]||this[Pe]||new Gs("closed",O.getSocketInfo(t));if(A[re]=null,A[og]=null,e.ping.interval!=null&&(clearInterval(e.ping.interval),e.ping.interval=null),A.destroyed){iA(A[uF]===0);let s=A[Qt].splice(A[uA]);for(let n=0;n<s.length;n++){let o=s[n];O.errorRequest(A,o,r)}}}function HF(){let A=this[Pe]||new Gs("closed",O.getSocketInfo(this)),e=this[qA][Je];e[re]=null,e[og]=null,this[qA]!==null&&this[qA].destroy(A),e[ng]=e[uA],iA(e[Os]===0),e.emit("disconnect",e[Ys],[e],A),e[NA]()}function xF(A){iA(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Pe]=A,this[Je][Hr](A)}function YF(){O.destroy(this,new Gs("other side closed",O.getSocketInfo(this)))}function GF(){this[sg]=!0}function OF(A){return A!=="GET"&&A!=="HEAD"&&A!=="OPTIONS"&&A!=="TRACE"&&A!=="CONNECT"}function VF(A,e){let t=e.bodyTimeout??A[dF],r=A[qA],{method:s,path:n,host:o,upgrade:i,expectContinue:a,signal:c,protocol:g,headers:h}=e,{body:Q}=e;if(i!=null&&i!=="websocket")return O.errorRequest(A,e,new QF(`Custom upgrade "${i}" not supported over HTTP/2`)),!1;let l={};for(let w=0;w<h.length;w+=2){let F=h[w+0],L=h[w+1];if(F==="cookie"){l[F]!=null?l[F]=Array.isArray(l[F])?(l[F].push(L),l[F]):[l[F],L]:l[F]=L;continue}if(Array.isArray(L))for(let z=0;z<L.length;z++)l[F]?l[F]+=`, ${L[z]}`:l[F]=L[z];else l[F]?l[F]+=`, ${L}`:l[F]=L}let E=null,{hostname:B,port:D}=A[Ys];l[fF]=o||`${B}${D?`:${D}`:""}`,l[xI]=s;let C=w=>{e.aborted||e.completed||(w=w||new EF,O.errorRequest(A,e,w),E!=null&&(E.removeAllListeners("data"),E.close(),A[Hr](w),A[NA]()),O.destroy(Q,w))};try{e.onConnect(C)}catch(w){O.errorRequest(A,e,w)}if(e.aborted)return!1;if(i||s==="CONNECT")return r.ref(),i==="websocket"?r[Hs]===!1?(O.errorRequest(A,e,new Et("HTTP/2: Extended CONNECT protocol not supported by server")),r.unref(),!1):(l[xI]="CONNECT",l[DF]="websocket",l[YI]=n,g==="ws:"||g==="wss:"?l[eg]=g==="ws:"?"http":"https":l[eg]=g==="http:"?"http":"https",E=r.request(l,{endStream:!1,signal:c}),E[Bo]=!0,E.once("response",(w,F)=>{let{[Ag]:L,...z}=w;e.onUpgrade(L,tg(z),E),++r[oA],A[Qt][A[uA]++]=null}),E.on("error",()=>{(E.rstCode===mF||E.rstCode===wF)&&C(new Et(`HTTP/2: "stream error" received - code ${E.rstCode}`))}),E.once("close",()=>{r[oA]-=1,r[oA]===0&&r.unref()}),E.setTimeout(t),!0):(E=r.request(l,{endStream:!1,signal:c}),E[Bo]=!0,E.on("response",w=>{let{[Ag]:F,...L}=w;e.onUpgrade(F,tg(L),E),++r[oA],A[Qt][A[uA]++]=null}),E.once("close",()=>{r[oA]-=1,r[oA]===0&&r.unref()}),E.setTimeout(t),!0);l[YI]=n,l[eg]=g==="http:"?"http":"https";let f=s==="PUT"||s==="POST"||s==="PATCH";Q&&typeof Q.read=="function"&&Q.read(0);let y=O.bodyLength(Q);if(O.isFormDataLike(Q)){HI??=Mr().extractBody;let[w,F]=HI(Q);l["content-type"]=F,Q=w.stream,y=w.length}if(y==null&&(y=e.contentLength),f||(y=null),OF(s)&&y>0&&e.contentLength!=null&&e.contentLength!==y){if(A[hF])return O.errorRequest(A,e,new rg),!1;process.emitWarning(new rg)}if(y!=null&&(iA(Q||y===0,"no body must not have content length"),l[pF]=`${y}`),r.ref(),LI.sendHeaders.hasSubscribers){let w="";for(let F in l)w+=`${F}: ${l[F]}\r
39
+ `;LI.sendHeaders.publish({request:e,headers:w,socket:r[re]})}let T=s==="GET"||s==="HEAD"||Q===null;a?(l[yF]="100-continue",E=r.request(l,{endStream:T,signal:c}),E[Bo]=!0,E.once("continue",k)):(E=r.request(l,{endStream:T,signal:c}),E[Bo]=!0,k()),++r[oA],E.setTimeout(t);let U=!1;return E.once("response",w=>{let{[Ag]:F,...L}=w;if(e.onResponseStarted(),U=!0,e.aborted){E.removeAllListeners("data");return}e.onHeaders(Number(F),tg(L),E.resume.bind(E),"")===!1&&E.pause(),E.on("data",z=>{e.aborted||e.completed||e.onData(z)===!1&&E.pause()})}),E.once("end",()=>{E.removeAllListeners("data"),U?(!e.aborted&&!e.completed&&e.onComplete({}),A[Qt][A[uA]++]=null,A[NA]()):(C(new Et("HTTP/2: stream half-closed (remote)")),A[Qt][A[uA]++]=null,A[ng]=A[uA],A[NA]())}),E.once("close",()=>{E.removeAllListeners("data"),r[oA]-=1,r[oA]===0&&r.unref()}),E.once("error",function(w){E.removeAllListeners("data"),C(w)}),E.once("frameError",(w,F)=>{E.removeAllListeners("data"),C(new Et(`HTTP/2: "frameError" received - type ${w}, code ${F}`))}),E.on("aborted",()=>{E.removeAllListeners("data")}),E.on("timeout",()=>{let w=new Et(`HTTP/2: "stream timeout after ${t}"`);E.removeAllListeners("data"),r[oA]-=1,r[oA]===0&&r.unref(),C(w)}),E.once("trailers",w=>{e.aborted||e.completed||(E.removeAllListeners("data"),e.onComplete(w))}),!0;function k(){!Q||y===0?GI(C,E,null,A,e,A[re],y,f):O.isBuffer(Q)?GI(C,E,Q,A,e,A[re],y,f):O.isBlobLike(Q)?typeof Q.stream=="function"?OI(C,E,Q.stream(),A,e,A[re],y,f):JF(C,E,Q,A,e,A[re],y,f):O.isStream(Q)?vF(C,A[re],f,E,Q,A,e,y):O.isIterable(Q)?OI(C,E,Q,A,e,A[re],y,f):iA(!1)}}function GI(A,e,t,r,s,n,o,i){try{t!=null&&O.isBuffer(t)&&(iA(o===t.byteLength,"buffer body must have content length"),e.cork(),e.write(t),e.uncork(),e.end(),s.onBodySent(t)),i||(n[po]=!0),s.onRequestSent(),r[NA]()}catch(a){A(a)}}function vF(A,e,t,r,s,n,o,i){iA(i!==0||n[Os]===0,"stream body cannot be pipelined");let a=lF(s,r,g=>{g?(O.destroy(a,g),A(g)):(O.removeAllListeners(a),o.onRequestSent(),t||(e[po]=!0),n[NA]())});O.addListener(a,"data",c);function c(g){o.onBodySent(g)}}async function JF(A,e,t,r,s,n,o,i){iA(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size)throw new rg;let a=Buffer.from(await t.arrayBuffer());e.cork(),e.write(a),e.uncork(),e.end(),s.onBodySent(a),s.onRequestSent(),i||(n[po]=!0),r[NA]()}catch(a){A(a)}}async function OI(A,e,t,r,s,n,o,i){iA(o!==0||r[Os]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let h=a;a=null,h()}}let g=()=>new Promise((h,Q)=>{iA(a===null),n[Pe]?Q(n[Pe]):a=h});e.on("close",c).on("drain",c);try{for await(let h of t){if(n[Pe])throw n[Pe];let Q=e.write(h);s.onBodySent(h),Q||await g()}e.end(),s.onRequestSent(),i||(n[po]=!0),r[NA]()}catch(h){A(h)}finally{e.off("close",c).off("drain",c)}}VI.exports=RF});var Bt=p((PV,XI)=>{"use strict";var WA=require("node:assert"),WI=require("node:net"),Vs=require("node:http"),Wt=G(),{ClientStats:PF}=Ac(),{channels:xr}=it(),qF=gh(),WF=Ot(),{InvalidArgumentError:te,InformationalError:_F,ClientDestroyedError:ZF}=Y(),jF=Vt(),{kUrl:FA,kServerName:It,kClient:XF,kBusy:cg,kConnect:KF,kResuming:_t,kRunning:qs,kPending:Ws,kSize:vs,kQueue:hA,kConnected:zF,kConnecting:Yr,kNeedDrain:ht,kKeepAliveDefaultTimeout:JI,kHostHeader:$F,kPendingIdx:IA,kRunningIdx:ZA,kError:eb,kPipelining:yo,kKeepAliveTimeoutValue:Ab,kMaxHeadersSize:tb,kKeepAliveMaxTimeout:rb,kKeepAliveTimeoutThreshold:sb,kHeadersTimeout:nb,kBodyTimeout:ob,kStrictContentLength:ib,kConnector:Js,kMaxRequests:gg,kCounter:ab,kClose:cb,kDestroy:gb,kDispatch:lb,kLocalAddress:Ps,kMaxResponseSize:Eb,kOnError:Qb,kHTTPContext:ae,kMaxConcurrentStreams:ub,kHTTP2InitialWindowSize:hb,kHTTP2ConnectionWindowSize:Ib,kResume:_A,kPingInterval:Bb}=Z(),Cb=TI(),db=vI(),ut=Symbol("kClosedResolve"),fb=Vs&&Vs.maxHeaderSize&&Number.isInteger(Vs.maxHeaderSize)&&Vs.maxHeaderSize>0?()=>Vs.maxHeaderSize:()=>{throw new te("http module not available or http.maxHeaderSize invalid")},PI=()=>{};function _I(A){return A[yo]??A[ae]?.defaultPipelining??1}var lg=class extends WF{constructor(e,{maxHeaderSize:t,headersTimeout:r,socketTimeout:s,requestTimeout:n,connectTimeout:o,bodyTimeout:i,idleTimeout:a,keepAlive:c,keepAliveTimeout:g,maxKeepAliveTimeout:h,keepAliveMaxTimeout:Q,keepAliveTimeoutThreshold:l,socketPath:E,pipelining:B,tls:D,strictContentLength:C,maxCachedSessions:f,connect:y,maxRequestsPerClient:T,localAddress:U,maxResponseSize:k,autoSelectFamily:w,autoSelectFamilyAttemptTimeout:F,maxConcurrentStreams:L,allowH2:z,useH2c:fe,initialWindowSize:ce,connectionWindowSize:Ge,pingInterval:ie}={}){if(c!==void 0)throw new te("unsupported keepAlive, use pipelining=0 instead");if(s!==void 0)throw new te("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(n!==void 0)throw new te("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(a!==void 0)throw new te("unsupported idleTimeout, use keepAliveTimeout instead");if(h!==void 0)throw new te("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(t!=null){if(!Number.isInteger(t)||t<1)throw new te("invalid maxHeaderSize")}else t=fb();if(E!=null&&typeof E!="string")throw new te("invalid socketPath");if(o!=null&&(!Number.isFinite(o)||o<0))throw new te("invalid connectTimeout");if(g!=null&&(!Number.isFinite(g)||g<=0))throw new te("invalid keepAliveTimeout");if(Q!=null&&(!Number.isFinite(Q)||Q<=0))throw new te("invalid keepAliveMaxTimeout");if(l!=null&&!Number.isFinite(l))throw new te("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new te("headersTimeout must be a positive integer or zero");if(i!=null&&(!Number.isInteger(i)||i<0))throw new te("bodyTimeout must be a positive integer or zero");if(y!=null&&typeof y!="function"&&typeof y!="object")throw new te("connect must be a function or an object");if(T!=null&&(!Number.isInteger(T)||T<0))throw new te("maxRequestsPerClient must be a positive number");if(U!=null&&(typeof U!="string"||WI.isIP(U)===0))throw new te("localAddress must be valid string IP address");if(k!=null&&(!Number.isInteger(k)||k<-1))throw new te("maxResponseSize must be a positive number");if(F!=null&&(!Number.isInteger(F)||F<-1))throw new te("autoSelectFamilyAttemptTimeout must be a positive number");if(z!=null&&typeof z!="boolean")throw new te("allowH2 must be a valid boolean value");if(L!=null&&(typeof L!="number"||L<1))throw new te("maxConcurrentStreams must be a positive integer, greater than 0");if(fe!=null&&typeof fe!="boolean")throw new te("useH2c must be a valid boolean value");if(ce!=null&&(!Number.isInteger(ce)||ce<1))throw new te("initialWindowSize must be a positive integer, greater than 0");if(Ge!=null&&(!Number.isInteger(Ge)||Ge<1))throw new te("connectionWindowSize must be a positive integer, greater than 0");if(ie!=null&&(typeof ie!="number"||!Number.isInteger(ie)||ie<0))throw new te("pingInterval must be a positive integer, greater or equal to 0");if(super(),typeof y!="function")y=jF({...D,maxCachedSessions:f,allowH2:z,useH2c:fe,socketPath:E,timeout:o,...typeof w=="boolean"?{autoSelectFamily:w,autoSelectFamilyAttemptTimeout:F}:void 0,...y});else if(E!=null){let $e=y;y=(dr,Tt)=>$e({...dr,socketPath:E},Tt)}this[FA]=Wt.parseOrigin(e),this[Js]=y,this[yo]=B??1,this[tb]=t,this[JI]=g??4e3,this[rb]=Q??6e5,this[sb]=l??2e3,this[Ab]=this[JI],this[It]=null,this[Ps]=U??null,this[_t]=0,this[ht]=0,this[$F]=`host: ${this[FA].hostname}${this[FA].port?`:${this[FA].port}`:""}\r
40
+ `,this[ob]=i??3e5,this[nb]=r??3e5,this[ib]=C??!0,this[gg]=T,this[ut]=null,this[Eb]=k>-1?k:-1,this[ae]=null,this[ub]=L??100,this[hb]=ce??262144,this[Ib]=Ge??524288,this[Bb]=ie??6e4,this[hA]=[],this[ZA]=0,this[IA]=0,this[_A]=$e=>Eg(this,$e),this[Qb]=$e=>ZI(this,$e)}get pipelining(){return this[yo]}set pipelining(e){this[yo]=e,this[_A](!0)}get stats(){return new PF(this)}get[Ws](){return this[hA].length-this[IA]}get[qs](){return this[IA]-this[ZA]}get[vs](){return this[hA].length-this[ZA]}get[zF](){return!!this[ae]&&!this[Yr]&&!this[ae].destroyed}get[cg](){return!!(this[ae]?.busy(null)||this[vs]>=(_I(this)||1)||this[Ws]>0)}[KF](e){jI(this),this.once("connect",e)}[lb](e,t){let r=new qF(this[FA].origin,e,t);return this[hA].push(r),this[_t]||(Wt.bodyLength(r.body)==null&&Wt.isIterable(r.body)?(this[_t]=1,queueMicrotask(()=>Eg(this))):this[_A](!0)),this[_t]&&this[ht]!==2&&this[cg]&&(this[ht]=2),this[ht]<2}[cb](){return new Promise(e=>{this[vs]?this[ut]=e:e(null)})}[gb](e){return new Promise(t=>{let r=this[hA].splice(this[IA]);for(let n=0;n<r.length;n++){let o=r[n];Wt.errorRequest(this,o,e)}let s=()=>{this[ut]&&(this[ut](),this[ut]=null),t(null)};this[ae]?(this[ae].destroy(e,s),this[ae]=null):queueMicrotask(s),this[_A]()})}};function ZI(A,e){if(A[qs]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){WA(A[IA]===A[ZA]);let t=A[hA].splice(A[ZA]);for(let r=0;r<t.length;r++){let s=t[r];Wt.errorRequest(A,s,e)}WA(A[vs]===0)}}function jI(A){WA(!A[Yr]),WA(!A[ae]);let{host:e,hostname:t,protocol:r,port:s}=A[FA];if(t[0]==="["){let n=t.indexOf("]");WA(n!==-1);let o=t.substring(1,n);WA(WI.isIPv6(o)),t=o}A[Yr]=!0,xr.beforeConnect.hasSubscribers&&xr.beforeConnect.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js]});try{A[Js]({host:e,hostname:t,protocol:r,port:s,servername:A[It],localAddress:A[Ps]},(n,o)=>{if(n){ag(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}if(A.destroyed){Wt.destroy(o.on("error",PI),new ZF),A[_A]();return}WA(o);try{A[ae]=o.alpnProtocol==="h2"?db(A,o):Cb(A,o)}catch(i){o.destroy().on("error",PI),ag(A,i,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}A[Yr]=!1,o[ab]=0,o[gg]=A[gg],o[XF]=A,o[eb]=null,xr.connected.hasSubscribers&&xr.connected.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js],socket:o}),A.emit("connect",A[FA],[A]),A[_A]()})}catch(n){ag(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]()}}function ag(A,e,{host:t,hostname:r,protocol:s,port:n}){if(!A.destroyed){if(A[Yr]=!1,xr.connectError.hasSubscribers&&xr.connectError.publish({connectParams:{host:t,hostname:r,protocol:s,port:n,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js],error:e}),e.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(WA(A[qs]===0);A[Ws]>0&&A[hA][A[IA]].servername===A[It];){let o=A[hA][A[IA]++];Wt.errorRequest(A,o,e)}else ZI(A,e);A.emit("connectionError",A[FA],[A],e)}}function qI(A){A[ht]=0,A.emit("drain",A[FA],[A])}function Eg(A,e){A[_t]!==2&&(A[_t]=2,pb(A,e),A[_t]=0,A[ZA]>256&&(A[hA].splice(0,A[ZA]),A[IA]-=A[ZA],A[ZA]=0))}function pb(A,e){for(;;){if(A.destroyed){WA(A[Ws]===0);return}if(A[ut]&&!A[vs]){A[ut](),A[ut]=null;return}if(A[ae]&&A[ae].resume(),A[cg])A[ht]=2;else if(A[ht]===2){e?(A[ht]=1,queueMicrotask(()=>qI(A))):qI(A);continue}if(A[Ws]===0||A[qs]>=(_I(A)||1))return;let t=A[hA][A[IA]];if(t===null)return;if(A[FA].protocol==="https:"&&A[It]!==t.servername){if(A[qs]>0)return;A[It]=t.servername,A[ae]?.destroy(new _F("servername changed"),()=>{A[ae]=null,Eg(A)})}if(A[Yr])return;if(!A[ae]){jI(A);return}if(A[ae].destroyed||A[ae].busy(t))return;!t.aborted&&A[ae].write(t)?A[IA]++:A[hA].splice(A[IA],1)}}XI.exports=lg});var Qg=p((WV,KI)=>{"use strict";var Do=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};KI.exports=class{constructor(){this.head=this.tail=new Do}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new Do),this.head.push(e)}shift(){let e=this.tail,t=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),t}}});var mo=p((_V,oB)=>{"use strict";var{PoolStats:yb}=Ac(),Db=Ot(),mb=Qg(),{kConnected:ug,kSize:zI,kRunning:$I,kPending:eB,kQueued:_s,kBusy:wb,kFree:Rb,kUrl:Sb,kClose:Nb,kDestroy:Fb,kDispatch:bb}=Z(),Ce=Symbol("clients"),Se=Symbol("needDrain"),Zs=Symbol("queue"),hg=Symbol("closed resolve"),Ig=Symbol("onDrain"),AB=Symbol("onConnect"),tB=Symbol("onDisconnect"),rB=Symbol("onConnectionError"),Bg=Symbol("get dispatcher"),sB=Symbol("add client"),nB=Symbol("remove client"),Cg=class extends Db{[Zs]=new mb;[_s]=0;[Ce]=[];[Se]=!1;[Ig](e,t,r){let s=this[Zs],n=!1;for(;!n;){let o=s.shift();if(!o)break;this[_s]--,n=!e.dispatch(o.opts,o.handler)}if(e[Se]=n,!n&&this[Se]&&(this[Se]=!1,this.emit("drain",t,[this,...r])),this[hg]&&s.isEmpty()){let o=[];for(let i=0;i<this[Ce].length;i++){let a=this[Ce][i];a.destroyed||o.push(a.close())}return Promise.all(o).then(this[hg])}}[AB]=(e,t)=>{this.emit("connect",e,[this,...t])};[tB]=(e,t,r)=>{this.emit("disconnect",e,[this,...t],r)};[rB]=(e,t,r)=>{this.emit("connectionError",e,[this,...t],r)};get[wb](){return this[Se]}get[ug](){let e=0;for(let{[ug]:t}of this[Ce])e+=t;return e}get[Rb](){let e=0;for(let{[ug]:t,[Se]:r}of this[Ce])e+=t&&!r;return e}get[eB](){let e=this[_s];for(let{[eB]:t}of this[Ce])e+=t;return e}get[$I](){let e=0;for(let{[$I]:t}of this[Ce])e+=t;return e}get[zI](){let e=this[_s];for(let{[zI]:t}of this[Ce])e+=t;return e}get stats(){return new yb(this)}[Nb](){if(this[Zs].isEmpty()){let e=[];for(let t=0;t<this[Ce].length;t++){let r=this[Ce][t];r.destroyed||e.push(r.close())}return Promise.all(e)}else return new Promise(e=>{this[hg]=e})}[Fb](e){for(;;){let r=this[Zs].shift();if(!r)break;r.handler.onError(e)}let t=new Array(this[Ce].length);for(let r=0;r<this[Ce].length;r++)t[r]=this[Ce][r].destroy(e);return Promise.all(t)}[bb](e,t){let r=this[Bg]();return r?r.dispatch(e,t)||(r[Se]=!0,this[Se]=!this[Bg]()):(this[Se]=!0,this[Zs].push({opts:e,handler:t}),this[_s]++),!this[Se]}[sB](e){return e.on("drain",this[Ig].bind(this,e)).on("connect",this[AB]).on("disconnect",this[tB]).on("connectionError",this[rB]),this[Ce].push(e),this[Se]&&queueMicrotask(()=>{this[Se]&&this[Ig](e,e[Sb],[e,this])}),this}[nB](e){e.close(()=>{let t=this[Ce].indexOf(e);t!==-1&&this[Ce].splice(t,1)}),this[Se]=this[Ce].some(t=>!t[Se]&&t.closed!==!0&&t.destroyed!==!0)}};oB.exports={PoolBase:Cg,kClients:Ce,kNeedDrain:Se,kAddClient:sB,kRemoveClient:nB,kGetDispatcher:Bg}});var Zt=p((ZV,gB)=>{"use strict";var{PoolBase:Ub,kClients:wo,kNeedDrain:Mb,kAddClient:Tb,kGetDispatcher:kb,kRemoveClient:Lb}=mo(),Hb=Bt(),{InvalidArgumentError:dg}=Y(),iB=G(),{kUrl:aB}=Z(),xb=Vt(),Ro=Symbol("options"),fg=Symbol("connections"),cB=Symbol("factory");function Yb(A,e){return new Hb(A,e)}var pg=class extends Ub{constructor(e,{connections:t,factory:r=Yb,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:h,clientTtl:Q,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new dg("invalid connections");if(typeof r!="function")throw new dg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new dg("connect must be a function or an object");typeof s!="function"&&(s=xb({...o,maxCachedSessions:i,allowH2:h,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[fg]=t||null,this[aB]=iB.parseOrigin(e),this[Ro]={...iB.deepClone(l),connect:s,allowH2:h,clientTtl:Q,socketPath:a},this[Ro].interceptors=l.interceptors?{...l.interceptors}:void 0,this[cB]=r,this.on("connect",(E,B)=>{if(Q!=null&&Q>0)for(let D of B)Object.assign(D,{ttl:Date.now()})}),this.on("connectionError",(E,B,D)=>{for(let C of B){let f=this[wo].indexOf(C);f!==-1&&this[wo].splice(f,1)}})}[kb](){let e=this[Ro].clientTtl;for(let t of this[wo])if(e!=null&&e>0&&t.ttl&&Date.now()-t.ttl>e)this[Lb](t);else if(!t[Mb])return t;if(!this[fg]||this[wo].length<this[fg]){let t=this[cB](this[aB],this[Ro]);return this[Tb](t),t}}};gB.exports=pg});var uB=p((jV,QB)=>{"use strict";var{BalancedPoolMissingUpstreamError:Gb,InvalidArgumentError:Ob}=Y(),{PoolBase:Vb,kClients:ye,kNeedDrain:js,kAddClient:vb,kRemoveClient:Jb,kGetDispatcher:Pb}=mo(),qb=Zt(),{kUrl:So}=Z(),No=G(),lB=Symbol("factory"),Xs=Symbol("options"),EB=Symbol("kGreatestCommonDivisor"),jt=Symbol("kCurrentWeight"),Xt=Symbol("kIndex"),aA=Symbol("kWeight"),Fo=Symbol("kMaxWeightPerServer"),bo=Symbol("kErrorPenalty");function Wb(A,e){if(A===0)return e;for(;e!==0;){let t=e;e=A%e,A=t}return A}function _b(A,e){return new qb(A,e)}var yg=class extends Vb{constructor(e=[],{factory:t=_b,...r}={}){if(typeof t!="function")throw new Ob("factory must be a function.");super(),this[Xs]={...No.deepClone(r)},this[Xs].interceptors=r.interceptors?{...r.interceptors}:void 0,this[Xt]=-1,this[jt]=0,this[Fo]=this[Xs].maxWeightPerServer||100,this[bo]=this[Xs].errorPenalty||15,Array.isArray(e)||(e=[e]),this[lB]=t;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let t=No.parseOrigin(e).origin;if(this[ye].find(s=>s[So].origin===t&&s.closed!==!0&&s.destroyed!==!0))return this;let r=this[lB](t,this[Xs]);this[vb](r),r.on("connect",()=>{r[aA]=Math.min(this[Fo],r[aA]+this[bo])}),r.on("connectionError",()=>{r[aA]=Math.max(1,r[aA]-this[bo]),this._updateBalancedPoolStats()}),r.on("disconnect",(...s)=>{let n=s[2];n&&n.code==="UND_ERR_SOCKET"&&(r[aA]=Math.max(1,r[aA]-this[bo]),this._updateBalancedPoolStats())});for(let s of this[ye])s[aA]=this[Fo];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[ye].length;t++)e=Wb(this[ye][t][aA],e);this[EB]=e}removeUpstream(e){let t=No.parseOrigin(e).origin,r=this[ye].find(s=>s[So].origin===t&&s.closed!==!0&&s.destroyed!==!0);return r&&this[Jb](r),this}getUpstream(e){let t=No.parseOrigin(e).origin;return this[ye].find(r=>r[So].origin===t&&r.closed!==!0&&r.destroyed!==!0)}get upstreams(){return this[ye].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[So].origin)}[Pb](){if(this[ye].length===0)throw new Gb;if(!this[ye].find(n=>!n[js]&&n.closed!==!0&&n.destroyed!==!0)||this[ye].map(n=>n[js]).reduce((n,o)=>n&&o,!0))return;let r=0,s=this[ye].findIndex(n=>!n[js]);for(;r++<this[ye].length;){this[Xt]=(this[Xt]+1)%this[ye].length;let n=this[ye][this[Xt]];if(n[aA]>this[ye][s][aA]&&!n[js]&&(s=this[Xt]),this[Xt]===0&&(this[jt]=this[jt]-this[EB],this[jt]<=0&&(this[jt]=this[Fo])),n[aA]>=this[jt]&&!n[js])return n}return this[jt]=this[ye][s][aA],this[Xt]=s,this[ye][s]}};QB.exports=yg});var CB=p((XV,BB)=>{"use strict";var{PoolBase:Zb,kClients:Uo,kNeedDrain:jb,kAddClient:hB,kGetDispatcher:Xb,kRemoveClient:Kb}=mo(),zb=Bt(),{InvalidArgumentError:Dg}=Y(),IB=G(),{kUrl:mg}=Z(),$b=Vt(),Ks=Symbol("options"),wg=Symbol("connections"),Rg=Symbol("factory"),Mo=Symbol("index");function eU(A,e){return new zb(A,e)}var Sg=class extends Zb{constructor(e,{connections:t,factory:r=eU,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:h,clientTtl:Q,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Dg("invalid connections");if(typeof r!="function")throw new Dg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Dg("connect must be a function or an object");typeof s!="function"&&(s=$b({...o,maxCachedSessions:i,allowH2:h,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[wg]=t||null,this[mg]=IB.parseOrigin(e),this[Ks]={...IB.deepClone(l),connect:s,allowH2:h,clientTtl:Q,socketPath:a},this[Ks].interceptors=l.interceptors?{...l.interceptors}:void 0,this[Rg]=r,this[Mo]=-1,this.on("connect",(E,B)=>{if(Q!=null&&Q>0)for(let D of B)Object.assign(D,{ttl:Date.now()})}),this.on("connectionError",(E,B,D)=>{for(let C of B){let f=this[Uo].indexOf(C);f!==-1&&this[Uo].splice(f,1)}})}[Xb](){let e=this[Ks].clientTtl,t=this[Uo].length;if(t===0){let s=this[Rg](this[mg],this[Ks]);return this[hB](s),s}let r=0;for(;r<t;){this[Mo]=(this[Mo]+1)%t;let s=this[Uo][this[Mo]];if(e!=null&&e>0&&s.ttl&&Date.now()-s.ttl>e){this[Kb](s),r++;continue}if(!s[jb])return s;r++}if(!this[wg]||t<this[wg]){let s=this[Rg](this[mg],this[Ks]);return this[hB](s),s}}};BB.exports=Sg});var Kt=p((KV,wB)=>{"use strict";var{InvalidArgumentError:To,MaxOriginsReachedError:AU}=Y(),{kClients:cA,kRunning:dB,kClose:tU,kDestroy:rU,kDispatch:sU,kUrl:nU}=Z(),oU=Ot(),iU=Zt(),aU=Bt(),cU=G(),fB=Symbol("onConnect"),pB=Symbol("onDisconnect"),yB=Symbol("onConnectionError"),DB=Symbol("onDrain"),mB=Symbol("factory"),Ng=Symbol("options"),zs=Symbol("origins");function gU(A,e){return e&&e.connections===1?new aU(A,e):new iU(A,e)}var Fg=class extends oU{constructor({factory:e=gU,maxOrigins:t=1/0,connect:r,...s}={}){if(typeof e!="function")throw new To("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new To("connect must be a function or an object");if(typeof t!="number"||Number.isNaN(t)||t<=0)throw new To("maxOrigins must be a number greater than 0");super(),r&&typeof r!="function"&&(r={...r}),this[Ng]={...cU.deepClone(s),maxOrigins:t,connect:r},this[mB]=e,this[cA]=new Map,this[zs]=new Set,this[DB]=(n,o)=>{this.emit("drain",n,[this,...o])},this[fB]=(n,o)=>{this.emit("connect",n,[this,...o])},this[pB]=(n,o,i)=>{this.emit("disconnect",n,[this,...o],i)},this[yB]=(n,o,i)=>{this.emit("connectionError",n,[this,...o],i)}}get[dB](){let e=0;for(let{dispatcher:t}of this[cA].values())e+=t[dB];return e}[sU](e,t){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new To("opts.origin must be a non-empty string or URL.");if(this[zs].size>=this[Ng].maxOrigins&&!this[zs].has(r))throw new AU;let s=this[cA].get(r),n=s&&s.dispatcher;if(!n){let o=i=>{let a=this[cA].get(r);a&&(i&&(a.count-=1),a.count<=0&&(this[cA].delete(r),a.dispatcher.destroyed||a.dispatcher.close()),this[zs].delete(r))};n=this[mB](e.origin,this[Ng]).on("drain",this[DB]).on("connect",(i,a)=>{let c=this[cA].get(r);c&&(c.count+=1),this[fB](i,a)}).on("disconnect",(i,a,c)=>{o(!0),this[pB](i,a,c)}).on("connectionError",(i,a,c)=>{o(!1),this[yB](i,a,c)}),this[cA].set(r,{count:0,dispatcher:n}),this[zs].add(r)}return n.dispatch(e,t)}[tU](){let e=[];for(let{dispatcher:t}of this[cA].values())e.push(t.close());return this[cA].clear(),Promise.all(e)}[rU](e){let t=[];for(let{dispatcher:r}of this[cA].values())t.push(r.destroy(e));return this[cA].clear(),Promise.all(t)}get stats(){let e={};for(let{dispatcher:t}of this[cA].values())t.stats&&(e[t[nU].origin]=t.stats);return e}};wB.exports=Fg});var FB=p((zV,NB)=>{"use strict";var{Buffer:dt}=require("node:buffer"),RB=require("node:net"),{InvalidArgumentError:Ct}=Y();function lU(A){if(RB.isIPv4(A)){let t=A.split(".").map(Number);return{type:1,buffer:dt.from(t)}}if(RB.isIPv6(A))return{type:4,buffer:SB(A)};let e=dt.from(A,"utf8");if(e.length>255)throw new Ct("Domain name too long (max 255 bytes)");return{type:3,buffer:dt.concat([dt.from([e.length]),e])}}function SB(A){let e=dt.alloc(16),t=A.split(":"),r=0,s=0,n=A.indexOf("::");if(n!==-1){let i=8-t.filter(a=>a.length>0).length;for(let a=0;a<t.length;a++)if(t[a]===""&&a===n/3)s+=i*2;else if(t[a]!==""){let c=parseInt(t[a],16);e.writeUInt16BE(c,s),s+=2}}else for(let o of t){if(o==="")continue;let i=parseInt(o,16);e.writeUInt16BE(i,r*2),r++}return e}function EU(A,e,t){let r=dt.allocUnsafe(2);return r.writeUInt16BE(t,0),dt.concat([dt.from([A]),e,r])}function QU(A,e=0){if(A.length<e+1)throw new Ct("Buffer too small to contain address type");let t=A[e],r,s=e+1;switch(t){case 1:{if(A.length<s+6)throw new Ct("Buffer too small for IPv4 address");r=Array.from(A.subarray(s,s+4)).join("."),s+=4;break}case 3:{if(A.length<s+1)throw new Ct("Buffer too small for domain length");let o=A[s];if(s+=1,A.length<s+o+2)throw new Ct("Buffer too small for domain address");r=A.subarray(s,s+o).toString("utf8"),s+=o;break}case 4:{if(A.length<s+18)throw new Ct("Buffer too small for IPv6 address");let o=[];for(let i=0;i<8;i++){let a=A.readUInt16BE(s+i*2);o.push(a.toString(16))}r=o.join(":"),s+=16;break}default:throw new Ct(`Invalid address type: ${t}`)}if(A.length<s+2)throw new Ct("Buffer too small for port");let n=A.readUInt16BE(s);return s+=2,{address:r,port:n,bytesRead:s-e}}function uU(A){let t={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[A]||`Unknown SOCKS5 error code: ${A}`,r=new Error(t);return r.code=`SOCKS5_${A}`,r}NB.exports={parseAddress:lU,parseIPv6:SB,buildAddressBuffer:EU,parseResponseAddress:QU,createReplyError:uU}});var MB=p(($V,UB)=>{"use strict";var{EventEmitter:hU}=require("node:events"),{Buffer:zt}=require("node:buffer"),{InvalidArgumentError:$s,Socks5ProxyError:ft}=Y(),{debuglog:IU}=require("node:util"),{parseAddress:BU}=FB(),jA=IU("undici:socks5"),ko=5,Gr={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},bB={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},$t={IPV4:1,DOMAIN:3,IPV6:4},bA={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},qe={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"},bg=class extends hU{constructor(e,t={}){if(super(),!e)throw new $s("socket is required");this.socket=e,this.options=t,this.state=qe.INITIAL,this.buffer=zt.alloc(0),this.authMethods=[],t.username&&t.password&&this.authMethods.push(Gr.USERNAME_PASSWORD),this.authMethods.push(Gr.NO_AUTH),this.socket.on("data",this.onData.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this))}onData(e){jA("received data",e.length,"bytes in state",this.state),this.buffer=zt.concat([this.buffer,e]);try{switch(this.state){case qe.HANDSHAKING:this.handleHandshakeResponse();break;case qe.AUTHENTICATING:this.handleAuthResponse();break;case qe.CONNECTING:this.handleConnectResponse();break}}catch(t){this.onError(t)}}onError(e){jA("socket error",e),this.state=qe.ERROR,this.emit("error",e),this.destroy()}onClose(){jA("socket closed"),this.state=qe.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}handshake(){if(this.state!==qe.INITIAL)throw new $s("Handshake already started");jA("starting handshake with",this.authMethods.length,"auth methods"),this.state=qe.HANDSHAKING;let e=zt.alloc(2+this.authMethods.length);e[0]=ko,e[1]=this.authMethods.length,this.authMethods.forEach((t,r)=>{e[2+r]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==ko)throw new ft(`Invalid SOCKS version: ${e}`,"UND_ERR_SOCKS5_VERSION");if(t===Gr.NO_ACCEPTABLE)throw new ft("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),jA("server selected auth method",t),t===Gr.NO_AUTH)this.emit("authenticated");else if(t===Gr.USERNAME_PASSWORD)this.state=qe.AUTHENTICATING,this.sendAuthRequest();else throw new ft(`Unsupported authentication method: ${t}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new $s("Username and password required for authentication");jA("sending username/password auth");let r=zt.from(e),s=zt.from(t);if(r.length>255||s.length>255)throw new $s("Username or password too long");let n=zt.alloc(3+r.length+s.length);n[0]=1,n[1]=r.length,r.copy(n,2),n[2+r.length]=s.length,s.copy(n,3+r.length),this.socket.write(n)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new ft(`Invalid auth sub-negotiation version: ${e}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(t!==0)throw new ft("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),jA("authentication successful"),this.emit("authenticated")}connect(e,t){if(this.state===qe.CONNECTED)throw new $s("Already connected");jA("connecting to",e,t),this.state=qe.CONNECTING;let r=this.buildConnectRequest(bB.CONNECT,e,t);this.socket.write(r)}buildConnectRequest(e,t,r){let{type:s,buffer:n}=BU(t),o=zt.alloc(4+n.length+2);return o[0]=ko,o[1]=e,o[2]=0,o[3]=s,n.copy(o,4),o.writeUInt16BE(r,4+n.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],r=this.buffer[3];if(e!==ko)throw new ft(`Invalid SOCKS version in reply: ${e}`,"UND_ERR_SOCKS5_REPLY_VERSION");let s=4;if(r===$t.IPV4)s+=6;else if(r===$t.DOMAIN){if(this.buffer.length<5)return;s+=1+this.buffer[4]+2}else if(r===$t.IPV6)s+=18;else throw new ft(`Invalid address type in reply: ${r}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<s)return;if(t!==bA.SUCCEEDED){let a=this.getReplyErrorMessage(t);throw new ft(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${t}`)}let n,o=4;if(r===$t.IPV4)n=Array.from(this.buffer.subarray(o,o+4)).join("."),o+=4;else if(r===$t.DOMAIN){let a=this.buffer[o];o+=1,n=this.buffer.subarray(o,o+a).toString(),o+=a}else if(r===$t.IPV6){let a=[];for(let c=0;c<8;c++){let g=this.buffer.readUInt16BE(o+c*2);a.push(g.toString(16))}n=a.join(":"),o+=16}let i=this.buffer.readUInt16BE(o);this.buffer=this.buffer.subarray(s),this.state=qe.CONNECTED,jA("connected, bound address:",n,"port:",i),this.emit("connected",{address:n,port:i})}getReplyErrorMessage(e){switch(e){case bA.GENERAL_FAILURE:return"General SOCKS server failure";case bA.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case bA.NETWORK_UNREACHABLE:return"Network unreachable";case bA.HOST_UNREACHABLE:return"Host unreachable";case bA.CONNECTION_REFUSED:return"Connection refused";case bA.TTL_EXPIRED:return"TTL expired";case bA.COMMAND_NOT_SUPPORTED:return"Command not supported";case bA.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${e}`}}};UB.exports={Socks5Client:bg,AUTH_METHODS:Gr,COMMANDS:bB,ADDRESS_TYPES:$t,REPLY_CODES:bA,STATES:qe}});var kg=p((ev,YB)=>{"use strict";var CU=require("node:net"),{URL:TB}=require("node:url"),Ug,dU=Ot(),{InvalidArgumentError:kB}=Y(),{Socks5Client:fU}=MB(),{kDispatch:LB,kClose:pU,kDestroy:yU}=Z(),DU=Zt(),mU=Vt(),{debuglog:wU}=require("node:util"),pt=wU("undici:socks5-proxy"),Mg=Symbol("proxy url"),RU=Symbol("proxy headers"),HB=Symbol("proxy auth"),UA=Symbol("pool"),SU=Symbol("connector"),xB=!1,Tg=class extends dU{constructor(e,t={}){if(super(),xB||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),xB=!0),!e)throw new kB("Proxy URL is mandatory");let r=typeof e=="string"?new TB(e):e;if(r.protocol!=="socks5:"&&r.protocol!=="socks:")throw new kB("Proxy URL must use socks5:// or socks:// protocol");this[Mg]=r,this[RU]=t.headers||{},this[HB]={username:t.username||(r.username?decodeURIComponent(r.username):null),password:t.password||(r.password?decodeURIComponent(r.password):null)},this[SU]=t.connect||mU({...t.proxyTls,servername:t.proxyTls?.servername||r.hostname}),this[UA]=null}async createSocks5Connection(e,t){let r=this[Mg].hostname,s=parseInt(this[Mg].port)||1080;pt("creating SOCKS5 connection to",r,s);let n=await new Promise((i,a)=>{let c=()=>{h.removeListener("error",g),i(h)},g=Q=>{h.removeListener("connect",c),a(Q)},h=CU.connect({host:r,port:s});h.once("connect",c),h.once("error",g)}),o=new fU(n,this[HB]);return o.on("error",i=>{pt("SOCKS5 error:",i),n.destroy()}),await o.handshake(),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 authentication timeout"))},5e3),g=()=>{clearTimeout(c),o.removeListener("error",h),i()},h=Q=>{clearTimeout(c),o.removeListener("authenticated",g),a(Q)};o.state==="authenticated"?(clearTimeout(c),i()):(o.once("authenticated",g),o.once("error",h))}),await o.connect(e,t),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 connection timeout"))},5e3),g=Q=>{pt("SOCKS5 tunnel established to",e,t,"via",Q),clearTimeout(c),o.removeListener("error",h),i()},h=Q=>{clearTimeout(c),o.removeListener("connected",g),a(Q)};o.once("connected",g),o.once("error",h)}),n}async[LB](e,t){let{origin:r}=e;pt("dispatching request to",r,"via SOCKS5");try{return(!this[UA]||this[UA].destroyed||this[UA].closed)&&(this[UA]=new DU(r,{pipelining:e.pipelining,connections:e.connections,connect:async(s,n)=>{try{let o=new TB(r),i=o.hostname,a=parseInt(o.port)||(o.protocol==="https:"?443:80);pt("establishing SOCKS5 connection to",i,a);let c=await this.createSocks5Connection(i,a),g=c;o.protocol==="https:"&&(Ug||(Ug=require("node:tls")),pt("upgrading to TLS"),g=Ug.connect({socket:c,servername:i,...s.tls||{}}),await new Promise((h,Q)=>{g.once("secureConnect",h),g.once("error",Q)})),n(null,g)}catch(o){pt("SOCKS5 connection error:",o),n(o)}}})),this[UA][LB](e,t)}catch(s){if(pt("dispatch error:",s),typeof t.onError=="function")t.onError(s);else throw s}}async[pU](){this[UA]&&await this[UA].close()}async[yU](e){this[UA]&&await this[UA].destroy(e)}};YB.exports=Tg});var Yg=p((Av,XB)=>{"use strict";var{kProxy:Or,kClose:qB,kDestroy:WB,kDispatch:GB}=Z(),NU=Kt(),_B=Zt(),ZB=Ot(),{InvalidArgumentError:er,RequestAbortedError:FU,SecureProxyConnectionError:bU}=Y(),OB=Vt(),jB=Bt(),{channels:VB}=it(),UU=kg(),Lo=Symbol("proxy agent"),yt=Symbol("proxy client"),XA=Symbol("proxy headers"),Lg=Symbol("request tls settings"),vB=Symbol("proxy tls settings"),JB=Symbol("connect endpoint function"),PB=Symbol("tunnel proxy");function MU(A){return A==="https:"?443:80}function TU(A,e){return new _B(A,e)}var kU=()=>{};function LU(A,e){return e.connections===1?new jB(A,e):new _B(A,e)}var Hg=class extends ZB{#e;constructor(e,{headers:t={},connect:r,factory:s}){if(!e)throw new er("Proxy URL is mandatory");super(),this[XA]=t,s?this.#e=s(e,{connect:r}):this.#e=new jB(e,{connect:r})}[GB](e,t){let r=t.onHeaders;t.onHeaders=function(i,a,c){if(i===407){typeof t.onError=="function"&&t.onError(new er("Proxy Authentication Required (407)"));return}r&&r.call(this,i,a,c)};let{origin:s,path:n="/",headers:o={}}=e;if(e.path=s+n,!("host"in o)&&!("Host"in o)){let{host:i}=new URL(s);o.host=i}return e.headers={...this[XA],...o},this.#e[GB](e,t)}[qB](){return this.#e.close()}[WB](e){return this.#e.destroy(e)}},xg=class extends ZB{constructor(e){if(!e||typeof e=="object"&&!(e instanceof URL)&&!e.uri)throw new er("Proxy uri is mandatory");let{clientFactory:t=TU}=e;if(typeof t!="function")throw new er("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=e;super();let s=this.#e(e),{href:n,origin:o,port:i,protocol:a,username:c,password:g,hostname:h}=s;if(this[Or]={uri:n,protocol:a},this[Lg]=e.requestTls,this[vB]=e.proxyTls,this[XA]=e.headers||{},this[PB]=r,e.auth&&e.token)throw new er("opts.auth cannot be used in combination with opts.token");e.auth?this[XA]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[XA]["proxy-authorization"]=e.token:c&&g&&(this[XA]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(g)}`).toString("base64")}`);let Q=OB({...e.proxyTls});this[JB]=OB({...e.requestTls});let l=e.factory||LU,E=(B,D)=>{let{protocol:C}=new URL(B);return this[Or].protocol==="socks5:"||this[Or].protocol==="socks:"?new UU(this[Or].uri,{headers:this[XA],connect:Q,factory:l,username:e.username||c,password:e.password||g,proxyTls:e.proxyTls}):!this[PB]&&C==="http:"&&this[Or].protocol==="http:"?new Hg(this[Or].uri,{headers:this[XA],connect:Q,factory:l}):l(B,D)};a==="socks5:"||a==="socks:"?this[yt]=null:this[yt]=t(s,{connect:Q}),this[Lo]=new NU({...e,factory:E,connect:async(B,D)=>{if(!this[yt]){D(new er("Cannot establish tunnel connection without a proxy client"));return}let C=B.host;B.port||(C+=`:${MU(B.protocol)}`);try{let f={origin:o,port:i,path:C,signal:B.signal,headers:{...this[XA],host:B.host,...B.connections==null||B.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[vB]?.servername||h},{socket:y,statusCode:T}=await this[yt].connect(f);if(T!==200){y.on("error",kU).destroy(),D(new FU(`Proxy response (${T}) !== 200 when HTTP Tunneling`));return}if(VB.proxyConnected.hasSubscribers&&VB.proxyConnected.publish({socket:y,connectParams:f}),B.protocol!=="https:"){D(null,y);return}let U;this[Lg]?U=this[Lg].servername:U=B.servername,this[JB]({...B,servername:U,httpSocket:y},D)}catch(f){f.code==="ERR_TLS_CERT_ALTNAME_INVALID"?D(new bU(f)):D(f)}}})}dispatch(e,t){let r=HU(e.headers);if(xU(r),r&&!("host"in r)&&!("Host"in r)){let{host:s}=new URL(e.origin);r.host=s}return this[Lo].dispatch({...e,headers:r},t)}#e(e){return typeof e=="string"?new URL(e):e instanceof URL?e:new URL(e.uri)}[qB](){let e=[this[Lo].close()];return this[yt]&&e.push(this[yt].close()),Promise.all(e)}[WB](){let e=[this[Lo].destroy()];return this[yt]&&e.push(this[yt].destroy()),Promise.all(e)}};function HU(A){if(Array.isArray(A)){let e={};for(let t=0;t<A.length;t+=2)e[A[t]]=A[t+1];return e}return A}function xU(A){if(A&&Object.keys(A).find(t=>t.toLowerCase()==="proxy-authorization"))throw new er("Proxy-Authorization should be sent in ProxyAgent constructor")}XB.exports=xg});var AC=p((tv,eC)=>{"use strict";var YU=Ot(),{kClose:GU,kDestroy:OU,kClosed:KB,kDestroyed:zB,kDispatch:VU,kNoProxyAgent:en,kHttpProxyAgent:Dt,kHttpsProxyAgent:Ar}=Z(),$B=Yg(),vU=Kt(),JU={"http:":80,"https:":443},Gg=class extends YU{#e=null;#A=null;#t=null;constructor(e={}){super(),this.#t=e;let{httpProxy:t,httpsProxy:r,noProxy:s,...n}=e;this[en]=new vU(n);let o=t??process.env.http_proxy??process.env.HTTP_PROXY;o?this[Dt]=new $B({...n,uri:o}):this[Dt]=this[en];let i=r??process.env.https_proxy??process.env.HTTPS_PROXY;i?this[Ar]=new $B({...n,uri:i}):this[Ar]=this[Dt],this.#s()}[VU](e,t){let r=new URL(e.origin);return this.#r(r).dispatch(e,t)}[GU](){return Promise.all([this[en].close(),!this[Dt][KB]&&this[Dt].close(),!this[Ar][KB]&&this[Ar].close()])}[OU](e){return Promise.all([this[en].destroy(e),!this[Dt][zB]&&this[Dt].destroy(e),!this[Ar][zB]&&this[Ar].destroy(e)])}#r(e){let{protocol:t,host:r,port:s}=e;return r=r.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||JU[t]||0,this.#n(r,s)?t==="https:"?this[Ar]:this[Dt]:this[en]}#n(e,t){if(this.#a&&this.#s(),this.#A.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#A.length;r++){let s=this.#A[r];if(!(s.port&&s.port!==t)&&(e===s.hostname||e.slice(-(s.hostname.length+1))===`.${s.hostname}`))return!1}return!0}#s(){let e=this.#t.noProxy??this.#o,t=e.split(/[,\s]/),r=[];for(let s=0;s<t.length;s++){let n=t[s];if(!n)continue;let o=n.match(/^(.+):(\d+)$/);r.push({hostname:(o?o[1]:n).replace(/^\*?\./,"").toLowerCase(),port:o?Number.parseInt(o[2],10):0})}this.#e=e,this.#A=r}get#a(){return this.#t.noProxy!==void 0?!1:this.#e!==this.#o}get#o(){return process.env.no_proxy??process.env.NO_PROXY??""}};eC.exports=Gg});var Ho=p((rv,nC)=>{"use strict";var Vr=require("node:assert"),{kRetryHandlerDefaultRetry:tC}=Z(),{RequestRetryError:An}=Y(),PU=Ds(),{isDisturbed:rC,parseRangeHeader:sC,wrapRequestBody:qU}=G();function WU(A){let e=new Date(A).getTime();return isNaN(e)?0:e-Date.now()}var Og=class A{constructor(e,{dispatch:t,handler:r}){let{retryOptions:s,...n}=e,{retry:o,maxRetries:i,maxTimeout:a,minTimeout:c,timeoutFactor:g,methods:h,errorCodes:Q,retryAfter:l,statusCodes:E,throwOnError:B}=s??{};this.error=null,this.dispatch=t,this.handler=PU.wrap(r),this.opts={...n,body:qU(e.body)},this.retryOpts={throwOnError:B??!0,retry:o??A[tC],retryAfter:l??!0,maxTimeout:a??30*1e3,minTimeout:c??500,timeoutFactor:g??2,maxRetries:i??5,methods:h??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:E??[500,502,503,504,429],errorCodes:Q??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onResponseStartWithRetry(e,t,r,s,n){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)):this.error=n;return}if(rC(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}function o(i){if(i){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s),e.resume();return}this.error=n,e.resume()}e.pause(),this.retryOpts.retry(n,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},o.bind(this))}onRequestStart(e,t){this.headersSent||this.handler.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}static[tC](e,{state:t,opts:r},s){let{statusCode:n,code:o,headers:i}=e,{method:a,retryOptions:c}=r,{maxRetries:g,minTimeout:h,maxTimeout:Q,timeoutFactor:l,statusCodes:E,errorCodes:B,methods:D}=c,{counter:C}=t;if(o&&o!=="UND_ERR_REQ_RETRY"&&!B.includes(o)){s(e);return}if(Array.isArray(D)&&!D.includes(a)){s(e);return}if(n!=null&&Array.isArray(E)&&!E.includes(n)){s(e);return}if(C>g){s(e);return}let f=i?.["retry-after"];f&&(f=Number(f),f=Number.isNaN(f)?WU(i["retry-after"]):f*1e3);let y=f>0?Math.min(f,Q):Math.min(h*l**(C-1),Q);setTimeout(()=>s(null),y)}onResponseStart(e,t,r,s){if(this.error=null,this.retryCount+=1,t>=300){let n=new An("Request failed",t,{headers:r,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,r,s,n);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new An("server does not support the range header and the payload was partially consumed",t,{headers:r,data:{count:this.retryCount}});let n=sC(r["content-range"]);if(!n)throw new An("Content-Range mismatch",t,{headers:r,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==r.etag)throw new An("ETag mismatch",t,{headers:r,data:{count:this.retryCount}});let{start:o,size:i,end:a=i?i-1:null}=n;Vr(this.start===o,"content-range mismatch"),Vr(this.end==null||this.end===a,"content-range mismatch");return}if(this.end==null){if(t===206){let n=sC(r["content-range"]);if(n==null){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}let{start:o,size:i,end:a=i?i-1:null}=n;Vr(o!=null&&Number.isFinite(o),"content-range mismatch"),Vr(a!=null&&Number.isFinite(a),"invalid content-length"),this.start=o,this.end=a}if(this.end==null){let n=r["content-length"];this.end=n!=null?Number(n)-1:null}Vr(Number.isFinite(this.start)),Vr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=r.etag!=null?r.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)}else throw new An("Request failed",t,{headers:r,data:{count:this.retryCount}})}onResponseData(e,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(e,t))}onResponseEnd(e,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error)return this.retryCount=0,this.handler.onResponseEnd?.(e,t);this.retry(e)}retry(e){if(this.start!==0){let t={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(t["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...t}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(t){this.handler.onResponseError?.(e,t)}}onResponseError(e,t){if(e?.aborted||rC(this.opts.body)){this.handler.onResponseError?.(e,t);return}function r(s){if(!s){this.retry(e);return}this.handler?.onResponseError?.(e,s)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},r.bind(this))}};nC.exports=Og});var iC=p((sv,oC)=>{"use strict";var _U=ms(),ZU=Ho(),Vg=class extends _U{#e=null;#A=null;constructor(e,t={}){super(t),this.#e=e,this.#A=t}dispatch(e,t){let r=new ZU({...e,retryOptions:this.#A},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};oC.exports=Vg});var gC=p((nv,cC)=>{"use strict";var{InvalidArgumentError:aC}=Y(),jU=Bt(),vg=class extends jU{constructor(e,t){if(typeof e=="string"&&(e=new URL(e)),e.protocol!=="http:")throw new aC("h2c-client: Only h2c protocol is supported");let{connect:r,maxConcurrentStreams:s,pipelining:n,...o}=t??{},i=100,a=100;if(s!=null&&Number.isInteger(s)&&s>0&&(i=s),n!=null&&Number.isInteger(n)&&n>0&&(a=n),a>i)throw new aC("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(e,{...o,maxConcurrentStreams:i,pipelining:a,allowH2:!0,useH2c:!0})}};cC.exports=vg});var dC=p((ov,CC)=>{"use strict";var uC=require("node:assert"),{Readable:XU}=require("node:stream"),{RequestAbortedError:hC,NotSupportedError:KU,InvalidArgumentError:zU,AbortError:xo}=Y(),IC=G(),{ReadableStreamFrom:$U}=G(),We=Symbol("kConsume"),Yo=Symbol("kReading"),tr=Symbol("kBody"),lC=Symbol("kAbort"),BC=Symbol("kContentType"),Jg=Symbol("kContentLength"),Pg=Symbol("kUsed"),Go=Symbol("kBytesRead"),eM=()=>{},qg=class extends XU{constructor({resume:e,abort:t,contentType:r="",contentLength:s,highWaterMark:n=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:n}),this._readableState.dataEmitted=!1,this[lC]=t,this[We]=null,this[Go]=0,this[tr]=null,this[Pg]=!1,this[BC]=r,this[Jg]=Number.isFinite(s)?s:null,this[Yo]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new hC),e&&this[lC](),this[Pg]?t(e):setImmediate(t,e)}on(e,t){return(e==="data"||e==="readable")&&(this[Yo]=!0,this[Pg]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let r=super.off(e,t);return(e==="data"||e==="readable")&&(this[Yo]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[Go]+=e.length,this[We])?(_g(this[We],e),this[Yo]?super.push(e):!0):super.push(e)}text(){return tn(this,"text")}json(){return tn(this,"json")}blob(){return tn(this,"blob")}bytes(){return tn(this,"bytes")}arrayBuffer(){return tn(this,"arrayBuffer")}async formData(){throw new KU}get bodyUsed(){return IC.isDisturbed(this)}get body(){return this[tr]||(this[tr]=$U(this),this[We]&&(this[tr].getReader(),uC(this[tr].locked))),this[tr]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!="object"||!("aborted"in t)))return Promise.reject(new zU("signal must be an AbortSignal"));let r=e?.limit&&Number.isFinite(e.limit)?e.limit:128*1024;return t?.aborted?Promise.reject(t.reason??new xo):this._readableState.closeEmitted?Promise.resolve(null):new Promise((s,n)=>{if((this[Jg]&&this[Jg]>r||this[Go]>r)&&this.destroy(new xo),t){let o=()=>{this.destroy(t.reason??new xo)};t.addEventListener("abort",o),this.on("close",function(){t.removeEventListener("abort",o),t.aborted?n(t.reason??new xo):s(null)})}else this.on("close",s);this.on("error",eM).on("data",()=>{this[Go]>r&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&(this._readableState.encoding=e),this}};function AM(A){return A[tr]?.locked===!0||A[We]!==null}function tM(A){return IC.isDisturbed(A)||AM(A)}function tn(A,e){return uC(!A[We]),new Promise((t,r)=>{if(tM(A)){let s=A._readableState;s.destroyed&&s.closeEmitted===!1?A.on("error",r).on("close",()=>{r(new TypeError("unusable"))}):r(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{A[We]={type:e,stream:A,resolve:t,reject:r,length:0,body:[]},A.on("error",function(s){Zg(this[We],s)}).on("close",function(){this[We].body!==null&&Zg(this[We],new hC)}),rM(A[We])})})}function rM(A){if(A.body===null)return;let{_readableState:e}=A.stream;if(e.bufferIndex){let t=e.bufferIndex,r=e.buffer.length;for(let s=t;s<r;s++)_g(A,e.buffer[s])}else for(let t of e.buffer)_g(A,t);for(e.endEmitted?QC(this[We],this._readableState.encoding):A.stream.on("end",function(){QC(this[We],this._readableState.encoding)}),A.stream.resume();A.stream.read()!=null;);}function Wg(A,e,t){if(A.length===0||e===0)return"";let r=A.length===1?A[0]:Buffer.concat(A,e),s=r.length,n=s>2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return!t||t==="utf8"||t==="utf-8"?r.utf8Slice(n,s):r.subarray(n,s).toString(t)}function EC(A,e){if(A.length===0||e===0)return new Uint8Array(0);if(A.length===1)return new Uint8Array(A[0]);let t=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),r=0;for(let s=0;s<A.length;++s){let n=A[s];t.set(n,r),r+=n.length}return t}function QC(A,e){let{type:t,body:r,resolve:s,stream:n,length:o}=A;try{t==="text"?s(Wg(r,o,e)):t==="json"?s(JSON.parse(Wg(r,o,e))):t==="arrayBuffer"?s(EC(r,o).buffer):t==="blob"?s(new Blob(r,{type:n[BC]})):t==="bytes"&&s(EC(r,o)),Zg(A)}catch(i){n.destroy(i)}}function _g(A,e){A.length+=e.length,A.body.push(e)}function Zg(A,e){A.body!==null&&(e?A.reject(e):A.resolve(),A.type=null,A.stream=null,A.resolve=null,A.reject=null,A.length=0,A.body=null)}CC.exports={Readable:qg,chunksDecode:Wg}});var yC=p((iv,jg)=>{"use strict";var sM=require("node:assert"),{AsyncResource:nM}=require("node:async_hooks"),{Readable:oM}=dC(),{InvalidArgumentError:vr,RequestAbortedError:fC}=Y(),gA=G();function rn(){}var Oo=class extends nM{constructor(e,t){if(!e||typeof e!="object")throw new vr("invalid opts");let{signal:r,method:s,opaque:n,body:o,onInfo:i,responseHeaders:a,highWaterMark:c}=e;try{if(typeof t!="function")throw new vr("invalid callback");if(c&&(typeof c!="number"||c<0))throw new vr("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new vr("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new vr("invalid method");if(i&&typeof i!="function")throw new vr("invalid onInfo callback");super("UNDICI_REQUEST")}catch(g){throw gA.isStream(o)&&gA.destroy(o.on("error",rn),g),g}this.method=s,this.responseHeaders=a||null,this.opaque=n||null,this.callback=t,this.res=null,this.abort=null,this.body=o,this.trailers={},this.context=null,this.onInfo=i||null,this.highWaterMark=c,this.reason=null,this.removeAbortListener=null,r?.aborted?this.reason=r.reason??new fC:r&&(this.removeAbortListener=gA.addAbortListener(r,()=>{this.reason=r.reason??new fC,this.res?gA.destroy(this.res.on("error",rn),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(e,t){if(this.reason){e(this.reason);return}sM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{callback:n,opaque:o,abort:i,context:a,responseHeaders:c,highWaterMark:g}=this,h=c==="raw"?gA.parseRawHeaders(t):gA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:h});return}let Q=c==="raw"?gA.parseHeaders(t):h,l=Q["content-type"],E=Q["content-length"],B=new oM({resume:r,abort:i,contentType:l,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:g});if(this.removeAbortListener&&(B.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=B,n!==null)try{this.runInAsyncScope(n,null,null,{statusCode:e,statusText:s,headers:h,trailers:this.trailers,opaque:o,body:B,context:a})}catch(D){this.res=null,gA.destroy(B.on("error",rn),D),queueMicrotask(()=>{throw D})}}onData(e){return this.res.push(e)}onComplete(e){gA.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:t,callback:r,body:s,opaque:n}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:n})})),t&&(this.res=null,queueMicrotask(()=>{gA.destroy(t.on("error",rn),e)})),s&&(this.body=null,gA.isStream(s)&&(s.on("error",rn),gA.destroy(s,e))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function pC(A,e){if(e===void 0)return new Promise((t,r)=>{pC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new Oo(A,e);this.dispatch(A,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}jg.exports=pC;jg.exports.RequestHandler=Oo});var sn=p((av,wC)=>{"use strict";var{addAbortListener:iM}=G(),{RequestAbortedError:aM}=Y(),Jr=Symbol("kListener"),MA=Symbol("kSignal");function DC(A){A.abort?A.abort(A[MA]?.reason):A.reason=A[MA]?.reason??new aM,mC(A)}function cM(A,e){if(A.reason=null,A[MA]=null,A[Jr]=null,!!e){if(e.aborted){DC(A);return}A[MA]=e,A[Jr]=()=>{DC(A)},iM(A[MA],A[Jr])}}function mC(A){A[MA]&&("removeEventListener"in A[MA]?A[MA].removeEventListener("abort",A[Jr]):A[MA].removeListener("abort",A[Jr]),A[MA]=null,A[Jr]=null)}wC.exports={addSignal:cM,removeSignal:mC}});var FC=p((cv,NC)=>{"use strict";var gM=require("node:assert"),{finished:lM}=require("node:stream"),{AsyncResource:EM}=require("node:async_hooks"),{InvalidArgumentError:Pr,InvalidReturnValueError:QM}=Y(),KA=G(),{addSignal:uM,removeSignal:RC}=sn();function hM(){}var Xg=class extends EM{constructor(e,t,r){if(!e||typeof e!="object")throw new Pr("invalid opts");let{signal:s,method:n,opaque:o,body:i,onInfo:a,responseHeaders:c}=e;try{if(typeof r!="function")throw new Pr("invalid callback");if(typeof t!="function")throw new Pr("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new Pr("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new Pr("invalid method");if(a&&typeof a!="function")throw new Pr("invalid onInfo callback");super("UNDICI_STREAM")}catch(g){throw KA.isStream(i)&&KA.destroy(i.on("error",hM),g),g}this.responseHeaders=c||null,this.opaque=o||null,this.factory=t,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=i,this.onInfo=a||null,KA.isStream(i)&&i.on("error",g=>{this.onError(g)}),uM(this,s)}onConnect(e,t){if(this.reason){e(this.reason);return}gM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{factory:n,opaque:o,context:i,responseHeaders:a}=this,c=a==="raw"?KA.parseRawHeaders(t):KA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:c});return}if(this.factory=null,n===null)return;let g=this.runInAsyncScope(n,null,{statusCode:e,headers:c,opaque:o,context:i});if(!g||typeof g.write!="function"||typeof g.end!="function"||typeof g.on!="function")throw new QM("expected Writable");return lM(g,{readable:!1},Q=>{let{callback:l,res:E,opaque:B,trailers:D,abort:C}=this;this.res=null,(Q||!E?.readable)&&KA.destroy(E,Q),this.callback=null,this.runInAsyncScope(l,null,Q||null,{opaque:B,trailers:D}),Q&&C()}),g.on("drain",r),this.res=g,(g.writableNeedDrain!==void 0?g.writableNeedDrain:g._writableState?.needDrain)!==!0}onData(e){let{res:t}=this;return t?t.write(e):!0}onComplete(e){let{res:t}=this;RC(this),t&&(this.trailers=KA.parseHeaders(e),t.end())}onError(e){let{res:t,callback:r,opaque:s,body:n}=this;RC(this),this.factory=null,t?(this.res=null,KA.destroy(t,e)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})),n&&(this.body=null,KA.destroy(n,e))}};function SC(A,e,t){if(t===void 0)return new Promise((r,s)=>{SC.call(this,A,e,(n,o)=>n?s(n):r(o))});try{let r=new Xg(A,e,t);this.dispatch(A,r)}catch(r){if(typeof t!="function")throw r;let s=A?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}NC.exports=SC});var TC=p((gv,MC)=>{"use strict";var{Readable:UC,Duplex:IM,PassThrough:BM}=require("node:stream"),CM=require("node:assert"),{AsyncResource:dM}=require("node:async_hooks"),{InvalidArgumentError:nn,InvalidReturnValueError:fM,RequestAbortedError:Kg}=Y(),TA=G(),{addSignal:pM,removeSignal:yM}=sn();function bC(){}var qr=Symbol("resume"),zg=class extends UC{constructor(){super({autoDestroy:!0}),this[qr]=null}_read(){let{[qr]:e}=this;e&&(this[qr]=null,e())}_destroy(e,t){this._read(),t(e)}},$g=class extends UC{constructor(e){super({autoDestroy:!0}),this[qr]=e}_read(){this[qr]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new Kg),t(e)}},el=class extends dM{constructor(e,t){if(!e||typeof e!="object")throw new nn("invalid opts");if(typeof t!="function")throw new nn("invalid handler");let{signal:r,method:s,opaque:n,onInfo:o,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new nn("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new nn("invalid method");if(o&&typeof o!="function")throw new nn("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=n||null,this.responseHeaders=i||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new zg().on("error",bC),this.ret=new IM({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,c,g)=>{let{req:h}=this;h.push(a,c)||h._readableState.destroyed?g():h[qr]=g},destroy:(a,c)=>{let{body:g,req:h,res:Q,ret:l,abort:E}=this;!a&&!l._readableState.endEmitted&&(a=new Kg),E&&a&&E(),TA.destroy(g,a),TA.destroy(h,a),TA.destroy(Q,a),yM(this),c(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,pM(this,r)}onConnect(e,t){let{res:r}=this;if(this.reason){e(this.reason);return}CM(!r,"pipeline cannot be retried"),this.abort=e,this.context=t}onHeaders(e,t,r){let{opaque:s,handler:n,context:o}=this;if(e<200){if(this.onInfo){let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);this.onInfo({statusCode:e,headers:a})}return}this.res=new $g(r);let i;try{this.handler=null;let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);i=this.runInAsyncScope(n,null,{statusCode:e,headers:a,opaque:s,body:this.res,context:o})}catch(a){throw this.res.on("error",bC),a}if(!i||typeof i.on!="function")throw new fM("expected Readable");i.on("data",a=>{let{ret:c,body:g}=this;!c.push(a)&&g.pause&&g.pause()}).on("error",a=>{let{ret:c}=this;TA.destroy(c,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||TA.destroy(a,new Kg)}),this.body=i}onData(e){let{res:t}=this;return t.push(e)}onComplete(e){let{res:t}=this;t.push(null)}onError(e){let{ret:t}=this;this.handler=null,TA.destroy(t,e)}};function DM(A,e){try{let t=new el(A,e);return this.dispatch({...A,body:t.req},t),t.ret}catch(t){return new BM().destroy(t)}}MC.exports=DM});var GC=p((lv,YC)=>{"use strict";var{InvalidArgumentError:Al,SocketError:mM}=Y(),{AsyncResource:wM}=require("node:async_hooks"),kC=require("node:assert"),LC=G(),{kHTTP2Stream:RM}=Z(),{addSignal:SM,removeSignal:HC}=sn(),tl=class extends wM{constructor(e,t){if(!e||typeof e!="object")throw new Al("invalid opts");if(typeof t!="function")throw new Al("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Al("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=n||null,this.opaque=s||null,this.callback=t,this.abort=null,this.context=null,SM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}kC(this.callback),this.abort=e,this.context=null}onHeaders(){throw new mM("bad upgrade",null)}onUpgrade(e,t,r){kC(r[RM]===!0?e===200:e===101);let{callback:s,opaque:n,context:o}=this;HC(this),this.callback=null;let i=this.responseHeaders==="raw"?LC.parseRawHeaders(t):LC.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;HC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function xC(A,e){if(e===void 0)return new Promise((t,r)=>{xC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new tl(A,e),r={...A,method:A.method||"GET",upgrade:A.protocol||"Websocket"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}YC.exports=xC});var PC=p((Ev,JC)=>{"use strict";var NM=require("node:assert"),{AsyncResource:FM}=require("node:async_hooks"),{InvalidArgumentError:rl,SocketError:bM}=Y(),OC=G(),{addSignal:UM,removeSignal:VC}=sn(),sl=class extends FM{constructor(e,t){if(!e||typeof e!="object")throw new rl("invalid opts");if(typeof t!="function")throw new rl("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new rl("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=n||null,this.callback=t,this.abort=null,UM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}NM(this.callback),this.abort=e,this.context=t}onHeaders(){throw new bM("bad connect",null)}onUpgrade(e,t,r){let{callback:s,opaque:n,context:o}=this;VC(this),this.callback=null;let i=t;i!=null&&(i=this.responseHeaders==="raw"?OC.parseRawHeaders(t):OC.parseHeaders(t)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;VC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function vC(A,e){if(e===void 0)return new Promise((t,r)=>{vC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new sl(A,e),r={...A,method:"CONNECT"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}JC.exports=vC});var qC=p((Qv,Wr)=>{"use strict";Wr.exports.request=yC();Wr.exports.stream=FC();Wr.exports.pipeline=TC();Wr.exports.upgrade=GC();Wr.exports.connect=PC()});var ol=p((uv,_C)=>{"use strict";var{UndiciError:MM}=Y(),WC=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),nl=class extends MM{constructor(e){super(e),this.name="MockNotMatchedError",this.message=e||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](e){return e&&e[WC]===!0}get[WC](){return!0}};_C.exports={MockNotMatchedError:nl}});var rr=p((hv,ZC)=>{"use strict";ZC.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}});var on=p((Iv,nd)=>{"use strict";var{MockNotMatchedError:_r}=ol(),{kDispatches:sr,kMockAgent:TM,kOriginalDispatch:kM,kOrigin:LM,kGetNetConnect:HM,kTotalDispatchCount:cl}=rr(),{serializePathWithQuery:xM}=G(),{STATUS_CODES:YM}=require("node:http"),{types:{isPromise:GM}}=require("node:util"),{InvalidArgumentError:il}=Y();function kA(A,e){return typeof A=="string"?A===e:A instanceof RegExp?A.test(e):typeof A=="function"?A(e)===!0:!1}function XC(A){return Object.fromEntries(Object.entries(A).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function KC(A,e){if(Array.isArray(A)){for(let t=0;t<A.length;t+=2)if(A[t].toLocaleLowerCase()===e.toLocaleLowerCase())return A[t+1];return}else return typeof A.get=="function"?A.get(e):XC(A)[e.toLocaleLowerCase()]}function El(A){let e=A.slice(),t=[];for(let r=0;r<e.length;r+=2)t.push([e[r],e[r+1]]);return Object.fromEntries(t)}function zC(A,e){if(typeof A.headers=="function")return Array.isArray(e)&&(e=El(e)),A.headers(e?XC(e):{});if(typeof A.headers>"u")return!0;if(typeof e!="object"||typeof A.headers!="object")return!1;for(let[t,r]of Object.entries(A.headers)){let s=KC(e,t);if(!kA(r,s))return!1}return!0}function OM(A){if(typeof A!="string")return A;let e=new URLSearchParams(A),t=new URLSearchParams;for(let[r,s]of e.entries()){if(r=r.replace("[]",""),/^(['"]).*\1$/.test(s)){t.append(r,s);continue}if(s.includes(",")){let o=s.split(",");for(let i of o)t.append(r,i);continue}t.append(r,s)}return t}function al(A){if(typeof A!="string")return A;let e=A.split("?",3);if(e.length!==2)return A;let t=new URLSearchParams(e.pop());return t.sort(),[...e,t.toString()].join("?")}function VM(A,{path:e,method:t,body:r,headers:s}){let n=kA(A.path,e),o=kA(A.method,t),i=typeof A.body<"u"?kA(A.body,r):!0,a=zC(A,s);return n&&o&&i&&a}function $C(A){return Buffer.isBuffer(A)||A instanceof Uint8Array||A instanceof ArrayBuffer?A:typeof A=="object"?JSON.stringify(A):A?A.toString():""}function ed(A,e){let t=e.query?xM(e.path,e.query):e.path,r=typeof t=="string"?al(t):t,s=jC(r),n=A.filter(({consumed:o})=>!o).filter(({path:o,ignoreTrailingSlash:i})=>i?kA(jC(al(o)),s):kA(al(o),r));if(n.length===0)throw new _r(`Mock dispatch not matched for path '${r}'`);if(n=n.filter(({method:o})=>kA(o,e.method)),n.length===0)throw new _r(`Mock dispatch not matched for method '${e.method}' on path '${r}'`);if(n=n.filter(({body:o})=>typeof o<"u"?kA(o,e.body):!0),n.length===0)throw new _r(`Mock dispatch not matched for body '${e.body}' on path '${r}'`);if(n=n.filter(o=>zC(o,e.headers)),n.length===0){let o=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new _r(`Mock dispatch not matched for headers '${o}' on path '${r}'`)}return n[0]}function vM(A,e,t,r){let s={timesInvoked:0,times:1,persist:!1,consumed:!1,...r},n=typeof t=="function"?{callback:t}:{...t},o={...s,...e,pending:!0,data:{error:null,...n}};return A.push(o),A[cl]=(A[cl]||0)+1,o}function gl(A,e){let t=A.findIndex(r=>r.consumed?VM(r,e):!1);t!==-1&&A.splice(t,1)}function jC(A){for(;A.endsWith("/");)A=A.slice(0,-1);return A.length===0&&(A="/"),A}function Ad(A){let{path:e,method:t,body:r,headers:s,query:n}=A;return{path:e,method:t,body:r,headers:s,query:n}}function ll(A){let e=Object.keys(A),t=[];for(let r=0;r<e.length;++r){let s=e[r],n=A[s],o=Buffer.from(`${s}`);if(Array.isArray(n))for(let i=0;i<n.length;++i)t.push(o,Buffer.from(`${n[i]}`));else t.push(o,Buffer.from(`${n}`))}return t}function td(A){return YM[A]||"unknown"}async function JM(A){let e=[];for await(let t of A)e.push(t);return Buffer.concat(e).toString("utf8")}function rd(A,e){let t=Ad(A),r=ed(this[sr],t);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(A)});let{data:{statusCode:s,data:n,headers:o,trailers:i,error:a},delay:c,persist:g}=r,{timesInvoked:h,times:Q}=r;if(r.consumed=!g&&h>=Q,r.pending=h<Q,a!==null)return gl(this[sr],t),e.onError(a),!0;let l=!1,E=null;function B(f){l||(l=!0,E!==null&&(clearTimeout(E),E=null),e.onError(f))}e.onConnect?.(B,null),typeof c=="number"&&c>0?E=setTimeout(()=>{E=null,D(this[sr])},c):D(this[sr]);function D(f,y=n){if(l)return;let T=Array.isArray(A.headers)?El(A.headers):A.headers,U=typeof y=="function"?y({...A,headers:T}):y;if(GM(U))return U.then(L=>D(f,L));if(l)return;let k=$C(U),w=ll(o),F=ll(i);e.onHeaders?.(s,w,C,td(s)),e.onData?.(Buffer.from(k)),e.onComplete?.(F),gl(f,t)}function C(){}return!0}function PM(){let A=this[TM],e=this[LM],t=this[kM];return function(s,n){if(A.isMockActive)try{rd.call(this,s,n)}catch(o){if(o.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){let i=A[HM](),a=this[sr][cl]||this[sr].length,g=`, ${this[sr].filter(({consumed:h})=>!h).length} interceptor(s) remaining out of ${a} defined`;if(i===!1)throw new _r(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)${g}`);if(sd(i,e))t.call(this,s,n);else throw new _r(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)${g}`)}else throw o}else t.call(this,s,n)}}function sd(A,e){let t=new URL(e);return A===!0?!0:!!(Array.isArray(A)&&A.some(r=>kA(r,t.host)))}function qM(A){return typeof A!="string"&&!(A instanceof URL)?A:A instanceof URL?A.origin:A.toLowerCase()}function WM(A){let{agent:e,...t}=A;if("enableCallHistory"in t&&typeof t.enableCallHistory!="boolean")throw new il("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in t&&typeof t.acceptNonStandardSearchParameters!="boolean")throw new il("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in t&&typeof t.ignoreTrailingSlash!="boolean")throw new il("options.ignoreTrailingSlash must to be a boolean");return t}nd.exports={getResponseData:$C,getMockDispatch:ed,addMockDispatch:vM,deleteMockDispatch:gl,buildKey:Ad,generateKeyValues:ll,matchValue:kA,getResponse:JM,getStatusText:td,mockDispatch:rd,buildMockDispatch:PM,checkNetConnect:sd,buildAndValidateMockOptions:WM,getHeaderByName:KC,buildHeadersFromArray:El,normalizeSearchParams:OM,normalizeOrigin:qM}});var dl=p((Bv,Cl)=>{"use strict";var{getResponseData:_M,buildKey:ZM,addMockDispatch:Ql}=on(),{kDispatches:Vo,kDispatchKey:vo,kDefaultHeaders:ul,kDefaultTrailers:hl,kContentLength:Il,kMockDispatch:Jo,kIgnoreTrailingSlash:Po}=rr(),{InvalidArgumentError:LA}=Y(),{serializePathWithQuery:jM}=G(),Zr=class{constructor(e){this[Jo]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("waitInMs must be a valid integer > 0");return this[Jo].delay=e,this}persist(){return this[Jo].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("repeatTimes must be a valid integer > 0");return this[Jo].times=e,this}},Bl=class{constructor(e,t){if(typeof e!="object")throw new LA("opts must be an object");if(typeof e.path>"u")throw new LA("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=jM(e.path,e.query);else{let r=new URL(e.path,"data://");e.path=r.pathname+r.search}typeof e.method=="string"&&(e.method=e.method.toUpperCase()),this[vo]=ZM(e),this[Vo]=t,this[Po]=e.ignoreTrailingSlash??!1,this[ul]={},this[hl]={},this[Il]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){let s=_M(t),n=this[Il]?{"content-length":s.length}:{},o={...this[ul],...n,...r.headers},i={...this[hl],...r.trailers};return{statusCode:e,data:t,headers:o,trailers:i}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new LA("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new LA("responseOptions must be an object")}reply(e){if(typeof e=="function"){let n=i=>{let a=e(i);if(typeof a!="object"||a===null)throw new LA("reply options callback must return an object");let c={data:"",responseOptions:{},...a};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},o=Ql(this[Vo],this[vo],n,{ignoreTrailingSlash:this[Po]});return new Zr(o)}let t={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let r=this.createMockScopeDispatchData(t),s=Ql(this[Vo],this[vo],r,{ignoreTrailingSlash:this[Po]});return new Zr(s)}replyWithError(e){if(typeof e>"u")throw new LA("error must be defined");let t=Ql(this[Vo],this[vo],{error:e},{ignoreTrailingSlash:this[Po]});return new Zr(t)}defaultReplyHeaders(e){if(typeof e>"u")throw new LA("headers must be defined");return this[ul]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new LA("trailers must be defined");return this[hl]=e,this}replyContentLength(){return this[Il]=!0,this}};Cl.exports.MockInterceptor=Bl;Cl.exports.MockScope=Zr});var Dl=p((Cv,Ed)=>{"use strict";var{promisify:XM}=require("node:util"),KM=Bt(),{buildMockDispatch:zM}=on(),{kDispatches:fl,kMockAgent:od,kClose:id,kOriginalClose:ad,kOrigin:cd,kOriginalDispatch:$M,kConnected:pl,kIgnoreTrailingSlash:gd}=rr(),{MockInterceptor:eT}=dl(),ld=Z(),{InvalidArgumentError:AT}=Y(),yl=class extends KM{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new AT("Argument opts.agent must implement Agent");super(e,t),this[od]=t.agent,this[cd]=e,this[gd]=t.ignoreTrailingSlash??!1,this[fl]=[],this[pl]=1,this[$M]=this.dispatch,this[ad]=this.close.bind(this),this.dispatch=zM.call(this),this.close=this[id]}get[ld.kConnected](){return this[pl]}intercept(e){return new eT(e&&{ignoreTrailingSlash:this[gd],...e},this[fl])}cleanMocks(){this[fl]=[]}async[id](){await XM(this[ad])(),this[pl]=0,this[od][ld.kClients].delete(this[cd])}};Ed.exports=yl});var Rl=p((dv,wl)=>{"use strict";var{kMockCallHistoryAddLog:tT}=rr(),{InvalidArgumentError:Rt}=Y();function mt(A,e,t,r){switch(e.operator){case"OR":return r.push(...t(A)),r;case"AND":return t.call({logs:r},A);default:throw new Rt("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function rT(A={}){let e={};if("operator"in A){if(typeof A.operator!="string"||A.operator.toUpperCase()!=="OR"&&A.operator.toUpperCase()!=="AND")throw new Rt("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...e,operator:A.operator.toUpperCase()}}return e}function wt(A){return e=>{if(typeof e=="string"||e==null)return this.logs.filter(t=>t[A]===e);if(e instanceof RegExp)return this.logs.filter(t=>e.test(t[A]));throw new Rt(`${A} parameter should be one of string, regexp, undefined or null`)}}function sT(A){try{let e=new URL(A.path,A.origin);return e.search.length!==0||(e.search=new URLSearchParams(A.query).toString()),e}catch(e){throw new Rt("An error occurred when computing MockCallHistoryLog.url",{cause:e})}}var qo=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=sT(e);this.fullUrl=t.toString(),this.origin=t.origin,this.path=t.pathname,this.searchParams=Object.fromEntries(t.searchParams),this.protocol=t.protocol,this.host=t.host,this.port=t.port,this.hash=t.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let e={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"},t="";return this.toMap().forEach((r,s)=>{(typeof r=="string"||r===void 0||r===null)&&(t=`${t}${s}${e.betweenKeyValueSeparator}${r}${e.betweenPairSeparator}`),(typeof r=="object"&&r!==null||Array.isArray(r))&&(t=`${t}${s}${e.betweenKeyValueSeparator}${JSON.stringify(r)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},ml=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(e){if(typeof e!="number")throw new Rt("nthCall must be called with a number");if(!Number.isInteger(e))throw new Rt("nthCall must be called with an integer");if(Math.sign(e)!==1)throw new Rt("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(e-1)}filterCalls(e,t){if(this.logs.length===0)return this.logs;if(typeof e=="function")return this.logs.filter(e);if(e instanceof RegExp)return this.logs.filter(r=>e.test(r.toString()));if(typeof e=="object"&&e!==null){if(Object.keys(e).length===0)return this.logs;let r={operator:"OR",...rT(t)},s=[];return"protocol"in e&&(s=mt(e.protocol,r,this.filterCallsByProtocol,s)),"host"in e&&(s=mt(e.host,r,this.filterCallsByHost,s)),"port"in e&&(s=mt(e.port,r,this.filterCallsByPort,s)),"origin"in e&&(s=mt(e.origin,r,this.filterCallsByOrigin,s)),"path"in e&&(s=mt(e.path,r,this.filterCallsByPath,s)),"hash"in e&&(s=mt(e.hash,r,this.filterCallsByHash,s)),"fullUrl"in e&&(s=mt(e.fullUrl,r,this.filterCallsByFullUrl,s)),"method"in e&&(s=mt(e.method,r,this.filterCallsByMethod,s)),[...new Set(s)]}throw new Rt("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=wt.call(this,"protocol");filterCallsByHost=wt.call(this,"host");filterCallsByPort=wt.call(this,"port");filterCallsByOrigin=wt.call(this,"origin");filterCallsByPath=wt.call(this,"path");filterCallsByHash=wt.call(this,"hash");filterCallsByFullUrl=wt.call(this,"fullUrl");filterCallsByMethod=wt.call(this,"method");clear(){this.logs=[]}[tT](e){let t=new qo(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};wl.exports.MockCallHistory=ml;wl.exports.MockCallHistoryLog=qo});var bl=p((fv,dd)=>{"use strict";var{promisify:nT}=require("node:util"),oT=Zt(),{buildMockDispatch:iT}=on(),{kDispatches:Sl,kMockAgent:Qd,kClose:ud,kOriginalClose:hd,kOrigin:Id,kOriginalDispatch:aT,kConnected:Nl,kIgnoreTrailingSlash:Bd}=rr(),{MockInterceptor:cT}=dl(),Cd=Z(),{InvalidArgumentError:gT}=Y(),Fl=class extends oT{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new gT("Argument opts.agent must implement Agent");super(e,t),this[Qd]=t.agent,this[Id]=e,this[Bd]=t.ignoreTrailingSlash??!1,this[Sl]=[],this[Nl]=1,this[aT]=this.dispatch,this[hd]=this.close.bind(this),this.dispatch=iT.call(this),this.close=this[ud]}get[Cd.kConnected](){return this[Nl]}intercept(e){return new cT(e&&{ignoreTrailingSlash:this[Bd],...e},this[Sl])}cleanMocks(){this[Sl]=[]}async[ud](){await nT(this[hd])(),this[Nl]=0,this[Qd][Cd.kClients].delete(this[Id])}};dd.exports=Fl});var pd=p((yv,fd)=>{"use strict";var{Transform:lT}=require("node:stream"),{Console:ET}=require("node:console"),QT=process.versions.icu?"\u2705":"Y ",uT=process.versions.icu?"\u274C":"N ";fd.exports=class{constructor({disableColors:e}={}){this.transform=new lT({transform(t,r,s){s(null,t)}}),this.logger=new ET({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:r,path:s,data:{statusCode:n},persist:o,times:i,timesInvoked:a,origin:c})=>({Method:r,Origin:c,Path:s,"Status code":n,Persistent:o?QT:uT,Invocations:a,Remaining:o?1/0:i-a}));return this.logger.table(t),this.transform.read().toString()}}});var Ll=p((Dv,Nd)=>{"use strict";var{kClients:nr}=Z(),hT=Kt(),{kAgent:Ul,kMockAgentSet:Wo,kMockAgentGet:yd,kDispatches:Ml,kIsMockActive:_o,kNetConnect:or,kGetNetConnect:IT,kOptions:Zo,kFactory:jo,kMockAgentRegisterCallHistory:Tl,kMockAgentIsCallHistoryEnabled:an,kMockAgentAddCallHistoryLog:Dd,kMockAgentMockCallHistoryInstance:jr,kMockAgentAcceptsNonStandardSearchParameters:md,kMockCallHistoryAddLog:BT,kIgnoreTrailingSlash:wd}=rr(),CT=Dl(),dT=bl(),{matchValue:fT,normalizeSearchParams:pT,buildAndValidateMockOptions:yT,normalizeOrigin:Rd}=on(),{InvalidArgumentError:Sd,UndiciError:DT}=Y(),mT=ms(),wT=pd(),{MockCallHistory:RT}=Rl(),kl=class extends mT{constructor(e={}){super(e);let t=yT(e);if(this[or]=!0,this[_o]=!0,this[an]=t.enableCallHistory??!1,this[md]=t.acceptNonStandardSearchParameters??!1,this[wd]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!="function")throw new Sd("Argument opts.agent must implement Agent");let r=e?.agent?e.agent:new hT(e);this[Ul]=r,this[nr]=r[nr],this[Zo]=t,this[an]&&this[Tl]()}get(e){let t=Rd(e),r=this[wd]?t.replace(/\/$/,""):t,s=this[yd](r);return s||(s=this[jo](r),this[Wo](r,s)),s}dispatch(e,t){e.origin=Rd(e.origin),this.get(e.origin),this[Dd](e);let r=this[md],s={...e};if(r&&s.path){let[n,o]=s.path.split("?"),i=pT(o,r);s.path=`${n}?${i}`}return this[Ul].dispatch(s,t)}async close(){this.clearCallHistory(),await this[Ul].close(),this[nr].clear()}deactivate(){this[_o]=!1}activate(){this[_o]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[or])?this[or].push(e):this[or]=[e];else if(typeof e>"u")this[or]=!0;else throw new Sd("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[or]=!1}enableCallHistory(){return this[an]=!0,this}disableCallHistory(){return this[an]=!1,this}getCallHistory(){return this[jr]}clearCallHistory(){this[jr]!==void 0&&this[jr].clear()}get isMockActive(){return this[_o]}[Tl](){this[jr]===void 0&&(this[jr]=new RT)}[Dd](e){this[an]&&(this[Tl](),this[jr][BT](e))}[Wo](e,t){this[nr].set(e,{count:0,dispatcher:t})}[jo](e){let t=Object.assign({agent:this},this[Zo]);return this[Zo]&&this[Zo].connections===1?new CT(e,t):new dT(e,t)}[yd](e){let t=this[nr].get(e);if(t?.dispatcher)return t.dispatcher;if(typeof e!="string"){let r=this[jo]("http://localhost:9999");return this[Wo](e,r),r}for(let[r,s]of Array.from(this[nr]))if(s&&typeof r!="string"&&fT(r,e)){let n=this[jo](e);return this[Wo](e,n),n[Ml]=s.dispatcher[Ml],n}}[IT](){return this[or]}pendingInterceptors(){let e=this[nr];return Array.from(e.entries()).flatMap(([t,r])=>r.dispatcher[Ml].map(s=>({...s,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new wT}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new DT(t.length===1?`1 interceptor is pending:
41
+
42
+ ${e.format(t)}`.trim():`${t.length} interceptors are pending:
43
+
44
+ ${e.format(t)}`.trim())}};Nd.exports=kl});var Hl=p((mv,Md)=>{"use strict";var{InvalidArgumentError:ST}=Y(),{runtimeFeatures:NT}=JA();function FT(A={}){let{ignoreHeaders:e=[],excludeHeaders:t=[],matchHeaders:r=[],caseSensitive:s=!1}=A;return{ignore:new Set(e.map(n=>s?n:n.toLowerCase())),exclude:new Set(t.map(n=>s?n:n.toLowerCase())),match:new Set(r.map(n=>s?n:n.toLowerCase()))}}var Fd=NT.has("crypto")?require("node:crypto"):null,bT=Fd?.hash?A=>Fd.hash("sha256",A,"base64url"):A=>Buffer.from(A).toString("base64url");function Ud(A){return Array.isArray(A)&&(A.length&1)===0}function UT(A=[]){return A.length===0?()=>!1:function(t){let r;for(let s of A)if(typeof s=="string"){if(r||(r=t.toLowerCase()),r.includes(s.toLowerCase()))return!0}else if(s instanceof RegExp&&s.test(t))return!0;return!1}}function MT(A){let e={};if(!A)return e;if(Ud(A)){for(let t=0;t<A.length;t+=2){let r=A[t],s=A[t+1];if(r&&s!==void 0){let n=Buffer.isBuffer(r)?r.toString():r,o=Buffer.isBuffer(s)?s.toString():s;e[n.toLowerCase()]=o}}return e}if(A&&typeof A=="object")for(let[t,r]of Object.entries(A))t&&typeof t=="string"&&(e[t.toLowerCase()]=Array.isArray(r)?r.join(", "):String(r));return e}var bd=["record","playback","update"];function TT(A){if(!bd.includes(A))throw new ST(`Invalid snapshot mode: ${A}. Must be one of: ${bd.join(", ")}`)}Md.exports={createHeaderFilters:FT,hashId:bT,isUndiciHeaders:Ud,normalizeHeaders:MT,isUrlExcludedFactory:UT,validateSnapshotMode:TT}});var Vd=p((wv,Od)=>{"use strict";var{writeFile:kT,readFile:LT,mkdir:HT}=require("node:fs/promises"),{dirname:xT,resolve:Td}=require("node:path"),{setTimeout:YT,clearTimeout:kd}=require("node:timers"),{InvalidArgumentError:Ld,UndiciError:GT}=Y(),{hashId:OT,isUrlExcludedFactory:VT,normalizeHeaders:Hd,createHeaderFilters:xd}=Hl();function cn(A,e,t={}){let r=new URL(A.path,A.origin),s=A._normalizedHeaders||Hd(A.headers);return A._normalizedHeaders||(A._normalizedHeaders=s),{method:A.method||"GET",url:t.matchQuery!==!1?r.toString():`${r.origin}${r.pathname}`,headers:Yd(s,e,t),body:t.matchBody!==!1&&A.body?String(A.body):""}}function Yd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{ignore:n,exclude:o,match:i}=e;for(let[a,c]of Object.entries(A)){let g=r?a:a.toLowerCase();o.has(g)||n.has(g)||i.size!==0&&!i.has(g)||(s[g]=c)}return s}function Gd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{exclude:n}=e;for(let[o,i]of Object.entries(A)){let a=r?o:o.toLowerCase();n.has(a)||(s[a]=i)}return s}function gn(A){let e=[A.method,A.url];if(A.headers&&typeof A.headers=="object"){let r=Object.keys(A.headers).sort();for(let s of r){let n=Array.isArray(A.headers[s])?A.headers[s]:[A.headers[s]];e.push(s);for(let o of n.sort())e.push(String(o))}}e.push(A.body);let t=e.join("|");return OT(t)}var xl=class{#e;#A;#t=new Map;#r;#n=1/0;#s=!1;#a;constructor(e={}){this.#r=e.snapshotPath,this.#n=e.maxSnapshots||1/0,this.#s=e.autoFlush||!1,this.flushInterval=e.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:e.matchHeaders||[],ignoreHeaders:e.ignoreHeaders||[],excludeHeaders:e.excludeHeaders||[],matchBody:e.matchBody!==!1,matchQuery:e.matchQuery!==!1,caseSensitive:e.caseSensitive||!1},this.#a=xd(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#A=VT(e.excludeUrls),this.#s&&this.#r&&this.#o()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let r=cn(e,this.#a,this.matchOptions),s=gn(r),n=Hd(t.headers),o={statusCode:t.statusCode,headers:Gd(n,this.#a,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString("base64"):Buffer.from(String(t.body||"")).toString("base64"),trailers:t.trailers};if(this.#t.size>=this.#n&&!this.#t.has(s)){let a=this.#t.keys().next().value;this.#t.delete(a)}let i=this.#t.get(s);i&&i.responses?(i.responses.push(o),i.timestamp=new Date().toISOString()):this.#t.set(s,{request:r,responses:[o],callCount:0,timestamp:new Date().toISOString()}),this.#s&&this.#r&&this.#c()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#A(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=cn(e,this.#a,this.matchOptions),r=gn(t),s=this.#t.get(r);if(!s)return;let n=s.callCount||0,o=Math.min(n,s.responses.length-1);return s.callCount=n+1,{...s,response:s.responses[o]}}async loadSnapshots(e){let t=e||this.#r;if(!t)throw new Ld("Snapshot path is required");try{let r=await LT(Td(t),"utf8"),s=JSON.parse(r);if(Array.isArray(s)){this.#t.clear();for(let{hash:n,snapshot:o}of s)this.#t.set(n,o)}else this.#t=new Map(Object.entries(s))}catch(r){if(r.code==="ENOENT")this.#t.clear();else throw new GT(`Failed to load snapshots from ${t}`,{cause:r})}}async saveSnapshots(e){let t=e||this.#r;if(!t)throw new Ld("Snapshot path is required");let r=Td(t);await HT(xT(r),{recursive:!0});let s=Array.from(this.#t.entries()).map(([n,o])=>({hash:n,snapshot:o}));await kT(r,JSON.stringify(s,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(let e of this.#t.values())e.callCount=0}deleteSnapshot(e){let t=cn(e,this.#a,this.matchOptions),r=gn(t);return this.#t.delete(r)}getSnapshotInfo(e){let t=cn(e,this.#a,this.matchOptions),r=gn(t),s=this.#t.get(r);return s?{hash:r,request:s.request,responseCount:s.responses?s.responses.length:s.response?1:0,callCount:s.callCount||0,timestamp:s.timestamp}:null}replaceSnapshots(e){if(this.#t.clear(),Array.isArray(e))for(let{hash:t,snapshot:r}of e)this.#t.set(t,r);else e&&typeof e=="object"&&(this.#t=new Map(Object.entries(e)))}#o(){return this.#c()}#i(){this.#e&&(kd(this.#e),this.saveSnapshots().catch(()=>{}),this.#e=null)}#c(){this.#e=YT(()=>{this.saveSnapshots().catch(()=>{}),this.#s?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#i(),this.#e&&(kd(this.#e),this.#e=null)}async close(){this.#r&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}};Od.exports={SnapshotRecorder:xl,formatRequestKey:cn,createRequestHash:gn,filterHeadersForMatching:Yd,filterHeadersForStorage:Gd,createHeaderFilters:xd}});var Pd=p((Rv,Jd)=>{"use strict";var vT=Kt(),JT=Ll(),{SnapshotRecorder:PT}=Vd(),qT=Ds(),{InvalidArgumentError:WT,UndiciError:_T}=Y(),{validateSnapshotMode:ZT}=Hl(),Te=Symbol("kSnapshotRecorder"),HA=Symbol("kSnapshotMode"),ln=Symbol("kSnapshotPath"),Yl=Symbol("kSnapshotLoaded"),Xo=Symbol("kRealAgent"),vd=!1,Gl=class extends JT{constructor(e={}){vd||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),vd=!0);let{mode:t="record",snapshotPath:r=null,...s}=e;if(super(s),ZT(t),(t==="playback"||t==="update")&&!r)throw new WT(`snapshotPath is required when mode is '${t}'`);this[HA]=t,this[ln]=r,this[Te]=new PT({snapshotPath:this[ln],mode:this[HA],maxSnapshots:e.maxSnapshots,autoFlush:e.autoFlush,flushInterval:e.flushInterval,matchHeaders:e.matchHeaders,ignoreHeaders:e.ignoreHeaders,excludeHeaders:e.excludeHeaders,matchBody:e.matchBody,matchQuery:e.matchQuery,caseSensitive:e.caseSensitive,shouldRecord:e.shouldRecord,shouldPlayback:e.shouldPlayback,excludeUrls:e.excludeUrls}),this[Yl]=!1,(this[HA]==="record"||this[HA]==="update"||this[HA]==="playback"&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[Xo]=new vT(e)),(this[HA]==="playback"||this[HA]==="update")&&this[ln]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){t=qT.wrap(t);let r=this[HA];if(this[Te].isUrlExcluded(e))return this[Xo].dispatch(e,t);if(r==="playback"||r==="update"){if(!this[Yl])return this.#e(e,t);let s=this[Te].findSnapshot(e);if(s)return this.#t(s,t);if(r==="update")return this.#A(e,t);{let n=new _T(`No snapshot found for ${e.method||"GET"} ${e.path}`);if(t.onError){t.onError(n);return}throw n}}else if(r==="record")return this.#A(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#A(e,t){let r={statusCode:null,headers:{},trailers:{},body:[]},s=this,n={onRequestStart(i,a){return t.onRequestStart(i,{...a,history:this.history})},onRequestUpgrade(i,a,c,g){return t.onRequestUpgrade(i,a,c,g)},onResponseStart(i,a,c,g){return r.statusCode=a,r.headers=c,t.onResponseStart(i,a,c,g)},onResponseData(i,a){return r.body.push(a),t.onResponseData(i,a)},onResponseEnd(i,a){r.trailers=a;let c=Buffer.concat(r.body);s[Te].record(e,{statusCode:r.statusCode,headers:r.headers,body:c,trailers:r.trailers}).then(()=>t.onResponseEnd(i,a)).catch(g=>t.onResponseError(i,g))}};return this[Xo].dispatch(e,n)}#t(e,t){try{let{response:r}=e,s={pause(){},resume(){},abort(o){this.aborted=!0,this.reason=o},aborted:!1,paused:!1};t.onRequestStart(s),t.onResponseStart(s,r.statusCode,r.headers);let n=Buffer.from(r.body,"base64");t.onResponseData(s,n),t.onResponseEnd(s,r.trailers)}catch(r){t.onError?.(r)}}async loadSnapshots(e){await this[Te].loadSnapshots(e||this[ln]),this[Yl]=!0,this[HA]==="playback"&&this.#r()}async saveSnapshots(e){return this[Te].saveSnapshots(e||this[ln])}#r(){for(let e of this[Te].getSnapshots()){let{request:t,responses:r,response:s}=e,n=new URL(t.url),o=this.get(n.origin),i=r?r[0]:s;i&&o.intercept({path:n.pathname+n.search,method:t.method,headers:t.headers,body:t.body}).reply(i.statusCode,i.body,{headers:i.headers,trailers:i.trailers}).persist()}}getRecorder(){return this[Te]}getMode(){return this[HA]}clearSnapshots(){this[Te].clear()}resetCallCounts(){this[Te].resetCallCounts()}deleteSnapshot(e){return this[Te].deleteSnapshot(e)}getSnapshotInfo(e){return this[Te].getSnapshotInfo(e)}replaceSnapshots(e){this[Te].replaceSnapshots(e)}async close(){await this[Te].close(),await this[Xo]?.close(),await super.close()}};Jd.exports=Gl});var Ko=p((Sv,Zd)=>{"use strict";var qd=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:jT}=Y(),XT=Kt();_d()===void 0&&Wd(new XT);function Wd(A){if(!A||typeof A.dispatch!="function")throw new jT("Argument agent must implement Agent");Object.defineProperty(globalThis,qd,{value:A,writable:!0,enumerable:!1,configurable:!1})}function _d(){return globalThis[qd]}var KT=["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"];Zd.exports={setGlobalDispatcher:Wd,getGlobalDispatcher:_d,installedExports:KT}});var Xr=p((Fv,jd)=>{"use strict";var zA=require("node:assert"),zT=Ds();jd.exports=class{#e;#A=!1;#t=!1;#r=!1;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=zT.wrap(e)}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return zA(!this.#A),zA(!this.#t),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return zA(!this.#A),zA(!this.#t),zA(!this.#r),this.#r=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return zA(!this.#A),zA(!this.#t),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return zA(!this.#A),zA(!this.#t),this.#A=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#t=!0,this.#e.onResponseError?.(...e)}onBodySent(){}}});var Jl=p((bv,$d)=>{"use strict";var ke=G(),{kBodyUsed:En}=Z(),vl=require("node:assert"),{InvalidArgumentError:Ol}=Y(),$T=require("node:events"),ek=[300,301,302,303,307,308],Xd=Symbol("body"),Kd=()=>{},zo=class{constructor(e){this[Xd]=e,this[En]=!1}async*[Symbol.asyncIterator](){vl(!this[En],"disturbed"),this[En]=!0,yield*this[Xd]}},Vl=class A{static buildDispatch(e,t){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Ol("maxRedirections must be a positive number");let r=e.dispatch.bind(e);return(s,n)=>r(s,new A(r,t,s,n))}constructor(e,t,r,s){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Ol("maxRedirections must be a positive number");this.dispatch=e,this.location=null;let{maxRedirections:n,...o}=r;this.opts=o,this.maxRedirections=t,this.handler=s,this.history=[],ke.isStream(this.opts.body)?(ke.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){vl(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[En]=!1,$T.prototype.on.call(this.opts.body,"data",function(){this[En]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new zo(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&ke.isIterable(this.opts.body)&&!ke.isFormDataLike(this.opts.body)&&(this.opts.body=new zo(this.opts.body))}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((t===301||t===302)&&this.opts.method==="POST"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",Kd)),this.opts.body=null),t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",Kd)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||ke.isDisturbed(this.opts.body)||ek.indexOf(t)===-1?null:r.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(e,t,r,s);return}let{origin:n,pathname:o,search:i}=ke.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),a=i?`${o}${i}`:o,c=`${n}${a}`;for(let g of this.history)if(g.toString()===c)throw new Ol(`Redirect loop detected. Cannot redirect to ${n}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=Ak(this.opts.headers,t===303,this.opts.origin!==n),this.opts.path=a,this.opts.origin=n,this.opts.query=null}onResponseData(e,t){this.location||this.handler.onResponseData?.(e,t)}onResponseEnd(e,t){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(e,t)}onResponseError(e,t){this.handler.onResponseError?.(e,t)}};function zd(A,e,t){if(A.length===4)return ke.headerNameToString(A)==="host";if(e&&ke.headerNameToString(A).startsWith("content-"))return!0;if(t&&(A.length===13||A.length===6||A.length===19)){let r=ke.headerNameToString(A);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}function Ak(A,e,t){let r=[];if(Array.isArray(A))for(let s=0;s<A.length;s+=2)zd(A[s],e,t)||r.push(A[s],A[s+1]);else if(A&&typeof A=="object"){let s=ke.hasSafeIterator(A)?A:Object.entries(A);for(let[n,o]of s)zd(n,e,t)||r.push(n,o)}else vl(A==null,"headers must be an object or an array");return r}$d.exports=Vl});var Af=p((Uv,ef)=>{"use strict";var tk=Jl();function rk({maxRedirections:A}={}){return e=>function(r,s){let{maxRedirections:n=A,...o}=r;if(n==null||n===0)return e(r,s);let i={...o},a=new tk(e,n,i,s);return e(i,a)}}ef.exports=rk});var rf=p((Mv,tf)=>{"use strict";var sk=Xr(),{ResponseError:nk}=Y(),Pl=class extends sk{#e;#A;#t;#r;#n;constructor(e,{handler:t}){super(t)}#s(e){return(this.#A??"").indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#A=null,this.#t=null,this.#r=null,this.#n="",super.onRequestStart(e,t)}onResponseStart(e,t,r,s){if(this.#e=t,this.#r=r,this.#A=r["content-type"],this.#e<400)return super.onResponseStart(e,t,r,s);(this.#s("application/json")||this.#s("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#n+=this.#t?.decode(t,{stream:!0})??""}onResponseEnd(e,t){if(this.#e>=400){if(this.#n+=this.#t?.decode(void 0,{stream:!1})??"",this.#s("application/json"))try{this.#n=JSON.parse(this.#n)}catch{}let r,s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{r=new nk("Response Error",this.#e,{body:this.#n,headers:this.#r})}finally{Error.stackTraceLimit=s}super.onResponseError(e,r)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};tf.exports=()=>A=>function(t,r){return A(t,new Pl(t,{handler:r}))}});var nf=p((Tv,sf)=>{"use strict";var ok=Ho();sf.exports=A=>e=>function(r,s){return e(r,new ok({...r,retryOptions:{...A,...r.retryOptions}},{handler:s,dispatch:e}))}});var af=p((kv,of)=>{"use strict";var{InvalidArgumentError:ik,RequestAbortedError:ak}=Y(),ck=Xr(),ql=class extends ck{#e=1024*1024;#A=!1;#t=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},r){if(e!=null&&(!Number.isFinite(e)||e<1))throw new ik("maxSize must be a number greater than 0");super(r),this.#e=e??this.#e}#n(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#n.bind(this),this.#r=e,super.onRequestStart(e,t)}onResponseStart(e,t,r,s){let n=r["content-length"];if(n!=null&&n>this.#e)throw new ak(`Response size (${n}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(e,t,r,s)}onResponseError(e,t){this.#A||(t=this.#r?.reason??t,super.onResponseError(e,t))}onResponseData(e,t){return this.#t=this.#t+t.length,this.#t>=this.#e&&(this.#A=!0,this.aborted===!0?super.onResponseError(e,this.reason):super.onResponseEnd(e,{})),!0}onResponseEnd(e,t){if(!this.#A){if(this.#r.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,t)}}};function gk({maxSize:A}={maxSize:1024*1024}){return e=>function(r,s){let{dumpMaxSize:n=A}=r,o=new ql({maxSize:n,signal:r.signal},s);return e(r,o)}}of.exports=gk});var Ef=p((Lv,lf)=>{"use strict";var{isIP:lk}=require("node:net"),{lookup:Ek}=require("node:dns"),Qk=Xr(),{InvalidArgumentError:ir,InformationalError:uk}=Y(),Wl=Math.pow(2,31)-1;function hk(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function cf(A){return typeof A=="string"&&A.toLowerCase()==="host"}function Ik(A){if(A==null)return null;if(Array.isArray(A)){if(A.length===0||!Array.isArray(A[0]))return A;let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}if(typeof A=="object"&&hk(A)){let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}return A}function Bk(A){if(A==null)return!1;if(Array.isArray(A)){if(A.length===0)return!1;for(let e=0;e<A.length;e+=2)if(cf(A[e]))return!0;return!1}if(typeof A=="object"){for(let e in A)if(cf(e))return!0}return!1}function gf(A,e){let t=Ik(e);return Bk(t)?t:Array.isArray(t)?["host",A,...t]:t&&typeof t=="object"?{host:A,...t}:{host:A}}var _l=class{#e=0;#A=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#A.size}get(e){return this.#A.get(e)??null}set(e,t){this.#A.set(e,t)}delete(e){this.#A.delete(e)}full(){return this.size>=this.#e}},Zl=class{#e=0;#A=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#A=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#t,this.pick=e.pick??this.#r,this.storage=e.storage??new _l(e)}runLookup(e,t,r){let s=this.storage.get(e.hostname);if(s==null&&this.storage.full()){r(null,e);return}let n={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#A};if(s==null)this.lookup(e,n,(o,i)=>{if(o||i==null||i.length===0){r(o??new uk("No DNS entries found"));return}this.setRecords(e,i);let a=this.storage.get(e.hostname),c=this.pick(e,a,n.affinity),g;typeof c.port=="number"?g=`:${c.port}`:e.port!==""?g=`:${e.port}`:g="",r(null,new URL(`${e.protocol}//${c.family===6?`[${c.address}]`:c.address}${g}`))});else{let o=this.pick(e,s,n.affinity);if(o==null){this.storage.delete(e.hostname),this.runLookup(e,t,r);return}let i;typeof o.port=="number"?i=`:${o.port}`:e.port!==""?i=`:${e.port}`:i="",r(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${i}`))}}#t(e,t,r){Ek(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,n)=>{if(s)return r(s);let o=new Map;for(let i of n)o.set(`${i.address}:${i.family}`,i);r(null,o.values())})}#r(e,t,r){let s=null,{records:n,offset:o}=t,i;if(this.dualStack?(r==null&&(o==null||o===Wl?(t.offset=0,r=4):(t.offset++,r=(t.offset&1)===1?6:4)),n[r]!=null&&n[r].ips.length>0?i=n[r]:i=n[r===4?6:4]):i=n[r],i==null||i.ips.length===0)return s;i.offset==null||i.offset===Wl?i.offset=0:i.offset++;let a=i.offset%i.ips.length;return s=i.ips[a]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(i.ips.splice(a,1),this.pick(e,t,r)):s}pickFamily(e,t){let r=this.storage.get(e.hostname)?.records;if(!r)return null;let s=r[t];if(!s)return null;s.offset==null||s.offset===Wl?s.offset=0:s.offset++;let n=s.offset%s.ips.length,o=s.ips[n]??null;return o==null||Date.now()-o.timestamp>o.ttl&&s.ips.splice(n,1),o}setRecords(e,t){let r=Date.now(),s={records:{4:null,6:null}},n=this.#e;for(let o of t){o.timestamp=r,typeof o.ttl=="number"?(o.ttl=Math.min(o.ttl,this.#e),n=Math.min(n,o.ttl)):o.ttl=this.#e;let i=s.records[o.family]??{ips:[]};i.ips.push(o),s.records[o.family]=i}this.storage.set(e.hostname,s,{ttl:n})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new jl(this,e,t)}},jl=class extends Qk{#e=null;#A=null;#t=null;#r=null;#n=null;#s=null;#a=!0;constructor(e,{origin:t,handler:r,dispatch:s,newOrigin:n},o){super(r),this.#r=t,this.#s=n,this.#A={...o},this.#e=e,this.#t=s}onResponseError(e,t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){if(!this.#a){super.onResponseError(e,t);return}this.#a=!1;let r=this.#s.hostname[0]==="["?4:6,s=this.#e.pickFamily(this.#r,r);if(s==null){super.onResponseError(e,t);return}let n;typeof s.port=="number"?n=`:${s.port}`:this.#r.port!==""?n=`:${this.#r.port}`:n="";let o={...this.#A,origin:`${this.#r.protocol}//${s.family===6?`[${s.address}]`:s.address}${n}`,headers:gf(this.#r.host,this.#A.headers)};this.#t(o,this);return}super.onResponseError(e,t);break}case"ENOTFOUND":this.#e.deleteRecords(this.#r),super.onResponseError(e,t);break;default:super.onResponseError(e,t);break}}};lf.exports=A=>{if(A?.maxTTL!=null&&(typeof A?.maxTTL!="number"||A?.maxTTL<0))throw new ir("Invalid maxTTL. Must be a positive number");if(A?.maxItems!=null&&(typeof A?.maxItems!="number"||A?.maxItems<1))throw new ir("Invalid maxItems. Must be a positive number and greater than zero");if(A?.affinity!=null&&A?.affinity!==4&&A?.affinity!==6)throw new ir("Invalid affinity. Must be either 4 or 6");if(A?.dualStack!=null&&typeof A?.dualStack!="boolean")throw new ir("Invalid dualStack. Must be a boolean");if(A?.lookup!=null&&typeof A?.lookup!="function")throw new ir("Invalid lookup. Must be a function");if(A?.pick!=null&&typeof A?.pick!="function")throw new ir("Invalid pick. Must be a function");if(A?.storage!=null&&(typeof A?.storage?.get!="function"||typeof A?.storage?.set!="function"||typeof A?.storage?.full!="function"||typeof A?.storage?.delete!="function"))throw new ir("Invalid storage. Must be a object with methods: { get, set, full, delete }");let e=A?.dualStack??!0,t;e?t=A?.affinity??null:t=A?.affinity??4;let r={maxTTL:A?.maxTTL??1e4,lookup:A?.lookup??null,pick:A?.pick??null,dualStack:e,affinity:t,maxItems:A?.maxItems??1/0,storage:A?.storage},s=new Zl(r);return n=>function(i,a){let c=i.origin.constructor===URL?i.origin:new URL(i.origin);return lk(c.hostname)!==0?n(i,a):(s.runLookup(c,i,(g,h)=>{if(g)return a.onResponseError(null,g);let Q={...i,servername:c.hostname,origin:h.origin,headers:gf(c.host,i.headers)};n(Q,s.getHandler({origin:c,dispatch:n,handler:a,newOrigin:h},i))}),!0)}}});var Kr=p((Hv,uf)=>{"use strict";var{safeHTTPMethods:Qf,pathHasQueryOrFragment:Ck,hasSafeIterator:dk}=G(),{serializePathWithQuery:fk}=G();function pk(A){if(!A.origin)throw new Error("opts.origin is undefined");let e=A.path||"/";return A.query&&!Ck(A.path)&&(e=fk(e,A.query)),{origin:A.origin.toString(),method:A.method,path:e,headers:A.headers}}function yk(A){let e;if(A.headers==null)e={};else if(typeof A.headers=="object")if(e={},dk(A.headers))for(let t of A.headers){if(!Array.isArray(t))throw new Error("opts.headers is not a valid header map");let[r,s]=t;if(typeof r!="string"||typeof s!="string")throw new Error("opts.headers is not a valid header map");e[r.toLowerCase()]=s}else for(let t of Object.keys(A.headers))e[t.toLowerCase()]=A.headers[t];else throw new Error("opts.headers is not an object");return e}function Dk(A){if(typeof A!="object")throw new TypeError(`expected key to be object, got ${typeof A}`);for(let e of["origin","method","path"])if(typeof A[e]!="string")throw new TypeError(`expected key.${e} to be string, got ${typeof A[e]}`);if(A.headers!==void 0&&typeof A.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof A}`)}function mk(A){if(typeof A!="object")throw new TypeError(`expected value to be object, got ${typeof A}`);for(let e of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof A[e]!="number")throw new TypeError(`expected value.${e} to be number, got ${typeof A[e]}`);if(typeof A.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof A.statusMessage}`);if(A.headers!=null&&typeof A.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof A.headers}`);if(A.vary!==void 0&&typeof A.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof A.vary}`);if(A.etag!==void 0&&typeof A.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof A.etag}`)}function wk(A){let e={},t;if(Array.isArray(A)){t=[];for(let r of A)t.push(...r.split(","))}else t=A.split(",");for(let r=0;r<t.length;r++){let s=t[r].toLowerCase(),n=s.indexOf("="),o,i;switch(n!==-1?(o=s.substring(0,n).trimStart(),i=s.substring(n+1)):o=s.trim(),o){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(i===void 0||i[0]===" ")continue;i.length>=2&&i[0]==='"'&&i[i.length-1]==='"'&&(i=i.substring(1,i.length-1));let a=parseInt(i,10);if(a!==a||o==="max-age"&&o in e&&e[o]>=a)continue;e[o]=a;break}case"private":case"no-cache":if(i){if(i[0]==='"'){let a=[i.substring(1)],c=i[i.length-1]==='"';if(!c)for(let g=r+1;g<t.length;g++){let h=t[g],Q=h.length;if(a.push(h.trim()),Q!==0&&h[Q-1]==='"'){c=!0;break}}if(c){let g=a[a.length-1];g[g.length-1]==='"'&&(g=g.substring(0,g.length-1),a[a.length-1]=g),o in e?e[o]=e[o].concat(a):e[o]=a}}else o in e?e[o]=e[o].concat(i):e[o]=[i];break}case"public":case"no-store":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(i)continue;e[o]=!0;break;default:continue}}return e}function Rk(A,e){if(typeof A=="string"&&A.includes("*"))return e;let t={},r=typeof A=="string"?A.split(","):A;for(let s of r){let n=s.trim().toLowerCase();t[n]=e[n]??null}return t}function Sk(A){return A.length<=2?!1:A[0]==='"'&&A[A.length-1]==='"'?!(A[1]==='"'||A.startsWith('"W/')):A.startsWith('W/"')&&A[A.length-1]==='"'?A.length!==4:!1}function Nk(A,e="CacheStore"){if(typeof A!="object"||A===null)throw new TypeError(`expected type of ${e} to be a CacheStore, got ${A===null?"null":typeof A}`);for(let t of["get","createWriteStream","delete"])if(typeof A[t]!="function")throw new TypeError(`${e} needs to have a \`${t}()\` function`)}function Fk(A,e="CacheMethods"){if(!Array.isArray(A))throw new TypeError(`expected type of ${e} needs to be an array, got ${A===null?"null":typeof A}`);if(A.length===0)throw new TypeError(`${e} needs to have at least one method`);for(let t of A)if(!Qf.includes(t))throw new TypeError(`element of ${e}-array needs to be one of following values: ${Qf.join(", ")}, got ${t}`)}function bk(A,e){let t=`${A.origin}:${A.method}:${A.path}`;if(A.headers){let r=Object.keys(A.headers).sort();for(let s of r){if(e?.has(s.toLowerCase()))continue;let n=A.headers[s];t+=`:${s}=${Array.isArray(n)?n.join(","):n}`}}return t}uf.exports={makeCacheKey:pk,normalizeHeaders:yk,assertCacheKey:Dk,assertCacheValue:mk,parseCacheControlHeader:wk,parseVaryHeader:Rk,isEtagUsable:Sk,assertCacheMethods:Fk,assertCacheStore:Nk,makeDeduplicationKey:bk}});var If=p((xv,hf)=>{"use strict";function Uk(A){switch(A[3]){case",":return Mk(A);case" ":return Tk(A);default:return kk(A)}}function Mk(A){if(A.length!==29||A[4]!==" "||A[7]!==" "||A[11]!==" "||A[16]!==" "||A[19]!==":"||A[22]!==":"||A[25]!==" "||A[26]!=="G"||A[27]!=="M"||A[28]!=="T")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=0;if(A[5]==="0"){let l=A.charCodeAt(6);if(l<49||l>57)return;t=l-48}else{let l=A.charCodeAt(5);if(l<49||l>51)return;let E=A.charCodeAt(6);if(E<48||E>57)return;t=(l-48)*10+(E-48)}let r=-1;if(A[8]==="J"&&A[9]==="a"&&A[10]==="n")r=0;else if(A[8]==="F"&&A[9]==="e"&&A[10]==="b")r=1;else if(A[8]==="M"&&A[9]==="a")if(A[10]==="r")r=2;else if(A[10]==="y")r=4;else return;else if(A[8]==="J")if(A[9]==="a"&&A[10]==="n")r=0;else if(A[9]==="u")if(A[10]==="n")r=5;else if(A[10]==="l")r=6;else return;else return;else if(A[8]==="A")if(A[9]==="p"&&A[10]==="r")r=3;else if(A[9]==="u"&&A[10]==="g")r=7;else return;else if(A[8]==="S"&&A[9]==="e"&&A[10]==="p")r=8;else if(A[8]==="O"&&A[9]==="c"&&A[10]==="t")r=9;else if(A[8]==="N"&&A[9]==="o"&&A[10]==="v")r=10;else if(A[8]==="D"&&A[9]==="e"&&A[10]==="c")r=11;else return;let s=A.charCodeAt(12);if(s<48||s>57)return;let n=A.charCodeAt(13);if(n<48||n>57)return;let o=A.charCodeAt(14);if(o<48||o>57)return;let i=A.charCodeAt(15);if(i<48||i>57)return;let a=(s-48)*1e3+(n-48)*100+(o-48)*10+(i-48),c=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;c=l-48}else{let l=A.charCodeAt(17);if(l<48||l>50)return;let E=A.charCodeAt(18);if(E<48||E>57||l===50&&E>51)return;c=(l-48)*10+(E-48)}let g=0;if(A[20]==="0"){let l=A.charCodeAt(21);if(l<48||l>57)return;g=l-48}else{let l=A.charCodeAt(20);if(l<48||l>53)return;let E=A.charCodeAt(21);if(E<48||E>57)return;g=(l-48)*10+(E-48)}let h=0;if(A[23]==="0"){let l=A.charCodeAt(24);if(l<48||l>57)return;h=l-48}else{let l=A.charCodeAt(23);if(l<48||l>53)return;let E=A.charCodeAt(24);if(E<48||E>57)return;h=(l-48)*10+(E-48)}let Q=new Date(Date.UTC(a,r,t,c,g,h));return Q.getUTCDay()===e?Q:void 0}function Tk(A){if(A.length!==24||A[7]!==" "||A[10]!==" "||A[19]!==" ")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=-1;if(A[4]==="J"&&A[5]==="a"&&A[6]==="n")t=0;else if(A[4]==="F"&&A[5]==="e"&&A[6]==="b")t=1;else if(A[4]==="M"&&A[5]==="a")if(A[6]==="r")t=2;else if(A[6]==="y")t=4;else return;else if(A[4]==="J")if(A[5]==="a"&&A[6]==="n")t=0;else if(A[5]==="u")if(A[6]==="n")t=5;else if(A[6]==="l")t=6;else return;else return;else if(A[4]==="A")if(A[5]==="p"&&A[6]==="r")t=3;else if(A[5]==="u"&&A[6]==="g")t=7;else return;else if(A[4]==="S"&&A[5]==="e"&&A[6]==="p")t=8;else if(A[4]==="O"&&A[5]==="c"&&A[6]==="t")t=9;else if(A[4]==="N"&&A[5]==="o"&&A[6]==="v")t=10;else if(A[4]==="D"&&A[5]==="e"&&A[6]==="c")t=11;else return;let r=0;if(A[8]===" "){let l=A.charCodeAt(9);if(l<49||l>57)return;r=l-48}else{let l=A.charCodeAt(8);if(l<49||l>51)return;let E=A.charCodeAt(9);if(E<48||E>57)return;r=(l-48)*10+(E-48)}let s=0;if(A[11]==="0"){let l=A.charCodeAt(12);if(l<48||l>57)return;s=l-48}else{let l=A.charCodeAt(11);if(l<48||l>50)return;let E=A.charCodeAt(12);if(E<48||E>57||l===50&&E>51)return;s=(l-48)*10+(E-48)}let n=0;if(A[14]==="0"){let l=A.charCodeAt(15);if(l<48||l>57)return;n=l-48}else{let l=A.charCodeAt(14);if(l<48||l>53)return;let E=A.charCodeAt(15);if(E<48||E>57)return;n=(l-48)*10+(E-48)}let o=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;o=l-48}else{let l=A.charCodeAt(17);if(l<48||l>53)return;let E=A.charCodeAt(18);if(E<48||E>57)return;o=(l-48)*10+(E-48)}let i=A.charCodeAt(20);if(i<48||i>57)return;let a=A.charCodeAt(21);if(a<48||a>57)return;let c=A.charCodeAt(22);if(c<48||c>57)return;let g=A.charCodeAt(23);if(g<48||g>57)return;let h=(i-48)*1e3+(a-48)*100+(c-48)*10+(g-48),Q=new Date(Date.UTC(h,t,r,s,n,o));return Q.getUTCDay()===e?Q:void 0}function kk(A){let e=-1,t=-1;if(A[0]==="S")A[1]==="u"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y"?(t=0,e=6):A[1]==="a"&&A[2]==="t"&&A[3]==="u"&&A[4]==="r"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=6,e=8);else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=1,e=6;else if(A[0]==="T")A[1]==="u"&&A[2]==="e"&&A[3]==="s"&&A[4]==="d"&&A[5]==="a"&&A[6]==="y"?(t=2,e=7):A[1]==="h"&&A[2]==="u"&&A[3]==="r"&&A[4]==="s"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=4,e=8);else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d"&&A[3]==="n"&&A[4]==="e"&&A[5]==="s"&&A[6]==="d"&&A[7]==="a"&&A[8]==="y")t=3,e=9;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=5,e=6;else return;if(A[e]!==","||A.length-e-1!==23||A[e+1]!==" "||A[e+4]!=="-"||A[e+8]!=="-"||A[e+11]!==" "||A[e+14]!==":"||A[e+17]!==":"||A[e+20]!==" "||A[e+21]!=="G"||A[e+22]!=="M"||A[e+23]!=="T")return;let r=0;if(A[e+2]==="0"){let Q=A.charCodeAt(e+3);if(Q<49||Q>57)return;r=Q-48}else{let Q=A.charCodeAt(e+2);if(Q<49||Q>51)return;let l=A.charCodeAt(e+3);if(l<48||l>57)return;r=(Q-48)*10+(l-48)}let s=-1;if(A[e+5]==="J"&&A[e+6]==="a"&&A[e+7]==="n")s=0;else if(A[e+5]==="F"&&A[e+6]==="e"&&A[e+7]==="b")s=1;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="r")s=2;else if(A[e+5]==="A"&&A[e+6]==="p"&&A[e+7]==="r")s=3;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="y")s=4;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="n")s=5;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="l")s=6;else if(A[e+5]==="A"&&A[e+6]==="u"&&A[e+7]==="g")s=7;else if(A[e+5]==="S"&&A[e+6]==="e"&&A[e+7]==="p")s=8;else if(A[e+5]==="O"&&A[e+6]==="c"&&A[e+7]==="t")s=9;else if(A[e+5]==="N"&&A[e+6]==="o"&&A[e+7]==="v")s=10;else if(A[e+5]==="D"&&A[e+6]==="e"&&A[e+7]==="c")s=11;else return;let n=A.charCodeAt(e+9);if(n<48||n>57)return;let o=A.charCodeAt(e+10);if(o<48||o>57)return;let i=(n-48)*10+(o-48);i+=i<70?2e3:1900;let a=0;if(A[e+12]==="0"){let Q=A.charCodeAt(e+13);if(Q<48||Q>57)return;a=Q-48}else{let Q=A.charCodeAt(e+12);if(Q<48||Q>50)return;let l=A.charCodeAt(e+13);if(l<48||l>57||Q===50&&l>51)return;a=(Q-48)*10+(l-48)}let c=0;if(A[e+15]==="0"){let Q=A.charCodeAt(e+16);if(Q<48||Q>57)return;c=Q-48}else{let Q=A.charCodeAt(e+15);if(Q<48||Q>53)return;let l=A.charCodeAt(e+16);if(l<48||l>57)return;c=(Q-48)*10+(l-48)}let g=0;if(A[e+18]==="0"){let Q=A.charCodeAt(e+19);if(Q<48||Q>57)return;g=Q-48}else{let Q=A.charCodeAt(e+18);if(Q<48||Q>53)return;let l=A.charCodeAt(e+19);if(l<48||l>57)return;g=(Q-48)*10+(l-48)}let h=new Date(Date.UTC(i,s,r,a,c,g));return h.getUTCDay()===t?h:void 0}hf.exports={parseHttpDate:Uk}});var ff=p((Yv,df)=>{"use strict";var Lk=G(),{parseCacheControlHeader:Hk,parseVaryHeader:xk,isEtagUsable:Yk}=Kr(),{parseHttpDate:Bf}=If();function Gk(){}var Cf=[200,203,204,206,300,301,308,404,405,410,414,501],Ok=[206],Vk=2147483647e3,Xl=class{#e;#A;#t;#r;#n;#s;constructor({store:e,type:t,cacheByDefault:r},s,n){this.#r=e,this.#A=t,this.#t=r,this.#e=s,this.#n=n}onRequestStart(e,t){this.#s?.destroy(),this.#s=void 0,this.#n.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#n.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){let n=()=>this.#n.onResponseStart?.(e,t,r,s),o=this;if(!Lk.safeHTTPMethods.includes(this.#e.method)&&t>=200&&t<=399){try{this.#r.delete(this.#e)?.catch?.(Gk)}catch{}return n()}let i=r["cache-control"],a=r["last-modified"]&&Cf.includes(t);if(!i&&!r.expires&&!a&&!this.#t)return n();let c=i?Hk(i):{};if(!vk(this.#A,t,r,c,this.#e.headers))return n();let g=Date.now(),h=r.age?Jk(r.age):void 0;if(h&&h>=Vk)return n();let Q=typeof r.date=="string"?Bf(r.date):void 0,l=Pk(this.#A,g,h,r,Q,c)??this.#t;if(l===void 0||h&&h>l)return n();let E=Q?Q.getTime():g,B=l+E;if(g>=B)return n();let D;if(this.#e.headers&&r.vary&&(D=xk(r.vary,this.#e.headers),!D))return n();let C=qk(E,c,B),f=Wk(r,c),y={statusCode:t,statusMessage:s,headers:f,vary:D,cacheControlDirectives:c,cachedAt:h?g-h:g,staleAt:B,deleteAt:C};if(t===304){let T=k=>{if(!k)return n();if(y.statusCode=k.statusCode,y.statusMessage=k.statusMessage,y.etag=k.etag,y.headers={...k.headers,...f},n(),this.#s=this.#r.createWriteStream(this.#e,y),!(!this.#s||!k?.body))if(typeof k.body.values=="function"){let w=k.body.values(),F=()=>{for(let L of w){let z=this.#s.write(L)===!1;if(this.#n.onResponseData?.(e,L),z)break}};this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("drain",()=>{F()}).on("close",function(){o.#s===this&&(o.#s=void 0)}),F()}else typeof k.body.on=="function"&&(k.body.on("data",w=>{this.#s.write(w),this.#n.onResponseData?.(e,w)}).on("end",()=>{this.#s.end()}).on("error",()=>{this.#s=void 0,this.#r.delete(this.#e)}),this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0)}))},U=this.#r.get(this.#e);U&&typeof U.then=="function"?U.then(T):T(U)}else{if(typeof r.etag=="string"&&Yk(r.etag)&&(y.etag=r.etag),this.#s=this.#r.createWriteStream(this.#e,y),!this.#s)return n();this.#s.on("drain",()=>e.resume()).on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0),e.resume()}),n()}}onResponseData(e,t){this.#s?.write(t)===!1&&e.pause(),this.#n.onResponseData?.(e,t)}onResponseEnd(e,t){this.#s?.end(),this.#n.onResponseEnd?.(e,t)}onResponseError(e,t){this.#s?.destroy(t),this.#s=void 0,this.#n.onResponseError?.(e,t)}};function vk(A,e,t,r,s){return!(e<200||Ok.includes(e)||!Cf.includes(e)&&!t.expires&&!r.public&&r["max-age"]===void 0&&!(r.private&&A==="private")&&!(r["s-maxage"]!==void 0&&A==="shared")||r["no-store"]||A==="shared"&&r.private===!0||t.vary?.includes("*")||s?.authorization&&(!r.public&&!r["s-maxage"]&&!r["must-revalidate"]||typeof s.authorization!="string"||Array.isArray(r["no-cache"])&&r["no-cache"].includes("authorization")||Array.isArray(r.private)&&r.private.includes("authorization")))}function Jk(A){let e=parseInt(Array.isArray(A)?A[0]:A);return isNaN(e)?void 0:e*1e3}function Pk(A,e,t,r,s,n){if(A==="shared"){let i=n["s-maxage"];if(i!==void 0)return i>0?i*1e3:void 0}let o=n["max-age"];if(o!==void 0)return o>0?o*1e3:void 0;if(typeof r.expires=="string"){let i=Bf(r.expires);if(i)return e>=i.getTime()||s&&(s>=i||t!==void 0&&t>i-s)?void 0:i.getTime()-e}if(typeof r["last-modified"]=="string"){let i=new Date(r["last-modified"]);if(_k(i))return i.getTime()>=e?void 0:(e-i.getTime())*.1}if(n.immutable)return 31536e3}function qk(A,e,t){let r=-1/0,s=-1/0,n=-1/0;if(e["stale-while-revalidate"]&&(r=t+e["stale-while-revalidate"]*1e3),e["stale-if-error"]&&(s=t+e["stale-if-error"]*1e3),e.immutable&&r===-1/0&&s===-1/0&&(n=A+31536e6),r===-1/0&&s===-1/0&&n===-1/0){let o=t-A;return t+o}return Math.max(t,r,s,n)}function Wk(A,e){let t=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];A.connection&&(Array.isArray(A.connection)?t.push(...A.connection.map(s=>s.trim())):t.push(...A.connection.split(",").map(s=>s.trim()))),Array.isArray(e["no-cache"])&&t.push(...e["no-cache"]),Array.isArray(e.private)&&t.push(...e.private);let r;for(let s of t)A[s]&&(r??={...A},delete r[s]);return r??A}function _k(A){return A instanceof Date&&Number.isFinite(A.valueOf())}df.exports=Xl});var zl=p((Gv,Df)=>{"use strict";var{Writable:Zk}=require("node:stream"),{EventEmitter:jk}=require("node:events"),{assertCacheKey:pf,assertCacheValue:Xk}=Kr(),Kl=class extends jk{#e=1024;#A=104857600;#t=5242880;#r=0;#n=0;#s=new Map;#a=!1;constructor(e){if(super(),e){if(typeof e!="object")throw new TypeError("MemoryCacheStore options must be an object");if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#e=e.maxCount}if(e.maxSize!==void 0){if(typeof e.maxSize!="number"||!Number.isInteger(e.maxSize)||e.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#A=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=e.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#A||this.#n>=this.#e}get(e){pf(e);let t=`${e.origin}:${e.path}`,r=Date.now(),s=this.#s.get(t),n=s?yf(e,s,r):null;return n==null?void 0:{statusMessage:n.statusMessage,statusCode:n.statusCode,headers:n.headers,body:n.body,vary:n.vary?n.vary:void 0,etag:n.etag,cacheControlDirectives:n.cacheControlDirectives,cachedAt:n.cachedAt,staleAt:n.staleAt,deleteAt:n.deleteAt}}createWriteStream(e,t){pf(e),Xk(t);let r=`${e.origin}:${e.path}`,s=this,n={...e,...t,body:[],size:0};return new Zk({write(o,i,a){typeof o=="string"&&(o=Buffer.from(o,i)),n.size+=o.byteLength,n.size>=s.#t?this.destroy():n.body.push(o),a(null)},final(o){let i=s.#s.get(r);i||(i=[],s.#s.set(r,i));let a=yf(e,i,Date.now());if(a){let c=i.indexOf(a);i.splice(c,1,n),s.#r-=a.size}else i.push(n),s.#n+=1;if(s.#r+=n.size,s.#r>s.#A||s.#n>s.#e){s.#a||(s.emit("maxSizeExceeded",{size:s.#r,maxSize:s.#A,count:s.#n,maxCount:s.#e}),s.#a=!0);for(let[c,g]of s.#s){for(let h of g.splice(0,g.length/2))s.#r-=h.size,s.#n-=1;g.length===0&&s.#s.delete(c)}s.#r<s.#A&&s.#n<s.#e&&(s.#a=!1)}o(null)}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let r of this.#s.get(t)??[])this.#r-=r.size,this.#n-=1;this.#s.delete(t)}};function yf(A,e,t){return e.find(r=>r.deleteAt>t&&r.method===A.method&&(r.vary==null||Object.keys(r.vary).every(s=>r.vary[s]===null?A.headers[s]===void 0:r.vary[s]===A.headers[s])))}Df.exports=Kl});var wf=p((Ov,mf)=>{"use strict";var Kk=require("node:assert"),$l=class{#e=!1;#A;#t;#r;#n;constructor(e,t,r){if(typeof e!="function")throw new TypeError("callback must be a function");this.#A=e,this.#t=t,this.#n=r}onRequestStart(e,t){this.#e=!1,this.#r=t}onRequestUpgrade(e,t,r,s){this.#t.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(Kk(this.#A!=null),this.#e=t===304||this.#n&&t>=500&&t<=504,this.#A(this.#e,this.#r),this.#A=null,this.#e)return!0;this.#t.onRequestStart?.(e,this.#r),this.#t.onResponseStart?.(e,t,r,s)}onResponseData(e,t){if(!this.#e)return this.#t.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#t.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e)if(this.#A&&(this.#A(!1),this.#A=null),typeof this.#t.onResponseError=="function")this.#t.onResponseError(e,t);else throw t}};mf.exports=$l});var Ff=p((Vv,Nf)=>{"use strict";var Rf=require("node:assert"),{Readable:zk}=require("node:stream"),zr=G(),Qn=ff(),$k=zl(),eL=wf(),{assertCacheStore:AL,assertCacheMethods:tL,makeCacheKey:rL,normalizeHeaders:sL,parseCacheControlHeader:nL}=Kr(),{AbortError:oL}=Y();function iL(A,e){if(A!==void 0){if(!Array.isArray(A))throw new TypeError(`expected ${e} to be an array or undefined, got ${typeof A}`);for(let t=0;t<A.length;t++){let r=A[t];if(typeof r!="string"&&!(r instanceof RegExp))throw new TypeError(`expected ${e}[${t}] to be a string or RegExp, got ${typeof r}`)}}}var AE=()=>{};function aL(A,e,{headers:t={}}){return!!(e?.["no-cache"]||A.cacheControlDirectives?.["no-cache"]&&!Array.isArray(A.cacheControlDirectives["no-cache"])||t["if-modified-since"]||t["if-none-match"])}function cL(A,e){let t=Date.now();if(t>A.staleAt){if(e?.["max-stale"]){let r=A.staleAt+e["max-stale"]*1e3;return t>r}return!0}if(e?.["min-fresh"]){let r=A.staleAt-t,s=e["min-fresh"]*1e3;return r<=s}return!1}function gL(A){let e=A.cacheControlDirectives?.["stale-while-revalidate"];if(!e)return!1;let t=Date.now(),r=A.staleAt+e*1e3;return t<=r}function lL(A,e,t,r,s,n){if(n?.["only-if-cached"]){let o=!1;try{if(typeof r.onConnect=="function"&&(r.onConnect(()=>{o=!0}),o)||typeof r.onHeaders=="function"&&(r.onHeaders(504,[],AE,"Gateway Timeout"),o))return;typeof r.onComplete=="function"&&r.onComplete([])}catch(i){typeof r.onError=="function"&&r.onError(i)}return!0}return A(s,new Qn(e,t,r))}function eE(A,e,t,r,s,n){let o=zr.isStream(t.body)?t.body:zk.from(t.body??[]);Rf(!o.destroyed,"stream should not be destroyed"),Rf(!o.readableDidRead,"stream should not be readableDidRead");let i={resume(){o.resume()},pause(){o.pause()},get paused(){return o.isPaused()},get aborted(){return o.destroyed},get reason(){return o.errored},abort(c){o.destroy(c??new oL)}};if(o.on("error",function(c){if(!this.readableEnded)if(typeof A.onResponseError=="function")A.onResponseError(i,c);else throw c}).on("close",function(){this.errored||A.onResponseEnd?.(i,{})}),A.onRequestStart?.(i,s),o.destroyed)return;let a={...t.headers,age:String(r)};n&&(a.warning='110 - "response is stale"'),A.onResponseStart?.(i,t.statusCode,a,t.statusMessage),e.method==="HEAD"?o.destroy():o.on("data",function(c){A.onResponseData?.(i,c)})}function Sf(A,e,t,r,s,n,o){if(!o)return lL(A,e,t,r,s,n);let i=Date.now();if(i>o.deleteAt)return A(s,new Qn(e,t,r));let a=Math.round((i-o.cachedAt)/1e3);if(n?.["max-age"]&&a>=n["max-age"])return A(s,r);let c=cL(o,n),g=aL(o,n,s);if(c||g){if(zr.isStream(s.body)&&zr.bodyLength(s.body)!==0)return A(s,new Qn(e,t,r));if(!g&&gL(o))return eE(r,s,o,a,null,!0),queueMicrotask(()=>{let E={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(E["if-none-match"]=o.etag),o.vary)for(let B in o.vary)o.vary[B]!=null&&(E[B]=o.vary[B]);A({...s,headers:E},new Qn(e,t,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let h=!1,Q=o.cacheControlDirectives["stale-if-error"]??n?.["stale-if-error"];Q&&(h=i<o.staleAt+Q*1e3);let l={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(l["if-none-match"]=o.etag),o.vary)for(let E in o.vary)o.vary[E]!=null&&(l[E]=o.vary[E]);return A({...s,headers:l},new eL((E,B)=>{E?eE(r,s,o,a,B,c):zr.isStream(o.body)&&o.body.on("error",AE).destroy()},new Qn(e,t,r),h))}zr.isStream(s.body)&&s.body.on("error",AE).destroy(),eE(r,s,o,a,null,!1)}Nf.exports=(A={})=>{let{store:e=new $k,methods:t=["GET"],cacheByDefault:r=void 0,type:s="shared",origins:n=void 0}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(AL(e,"opts.store"),tL(t,"opts.methods"),iL(n,"opts.origins"),typeof r<"u"&&typeof r!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof r}`);if(typeof s<"u"&&s!=="shared"&&s!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof s}`);let o={store:e,methods:t,cacheByDefault:r,type:s},i=zr.safeHTTPMethods.filter(a=>t.includes(a)===!1);return a=>(c,g)=>{if(!c.origin||i.includes(c.method))return a(c,g);if(n!==void 0){let E=c.origin.toString().toLowerCase(),B=!1;for(let D=0;D<n.length;D++){let C=n[D];if(typeof C=="string"){if(C.toLowerCase()===E){B=!0;break}}else if(C.test(E)){B=!0;break}}if(!B)return a(c,g)}c={...c,headers:sL(c)};let h=c.headers?.["cache-control"]?nL(c.headers["cache-control"]):void 0;if(h?.["no-store"])return a(c,g);let Q=rL(c),l=e.get(Q);return l&&typeof l.then=="function"?l.then(E=>Sf(a,o,Q,g,c,h,E)):Sf(a,o,Q,g,c,h,l)}}});var kf=p((vv,Tf)=>{"use strict";var{createInflate:tE,createGunzip:bf,createBrotliDecompress:EL,createZstdDecompress:QL}=require("node:zlib"),{pipeline:uL}=require("node:stream"),hL=Xr(),{runtimeFeatures:IL}=JA(),Uf={gzip:bf,"x-gzip":bf,br:EL,deflate:tE,compress:tE,"x-compress":tE,...IL.has("zstd")?{zstd:QL}:{}},BL=[204,304],Mf=!1,rE=class extends hL{#e=[];#A;#t;constructor(e,{skipStatusCodes:t=BL,skipErrorResponses:r=!0}={}){super(e),this.#A=t,this.#t=r}#r(e,t){return!!(!e||t<200||this.#A.includes(t)||this.#t&&t>=400)}#n(e){let t=e.split(","),r=5;if(t.length>r)throw new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${r}`);let s=[];for(let n=t.length-1;n>=0;n--){let o=t[n].trim();if(o){if(!Uf[o])return s.length=0,s;s.push(Uf[o]())}}return s}#s(e,t){e.on("readable",()=>{let r;for(;(r=e.read())!==null&&super.onResponseData(t,r)!==!1;);}),e.on("error",r=>{super.onResponseError(t,r)})}#a(e){let t=this.#e[0];this.#s(t,e),t.on("end",()=>{super.onResponseEnd(e,{})})}#o(e){let t=this.#e[this.#e.length-1];this.#s(t,e),uL(this.#e,r=>{if(r){super.onResponseError(e,r);return}super.onResponseEnd(e,{})})}#i(){this.#e.length=0}onResponseStart(e,t,r,s){let n=r["content-encoding"];if(this.#r(n,t))return super.onResponseStart(e,t,r,s);let o=this.#n(n.toLowerCase());if(o.length===0)return this.#i(),super.onResponseStart(e,t,r,s);this.#e=o;let{"content-encoding":i,"content-length":a,...c}=r;return this.#e.length===1?this.#a(e):this.#o(e),super.onResponseStart(e,t,c,s)}onResponseData(e,t){if(this.#e.length>0){this.#e[0].write(t);return}super.onResponseData(e,t)}onResponseEnd(e,t){if(this.#e.length>0){this.#e[0].end(),this.#i();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(this.#e.length>0){for(let r of this.#e)r.destroy(t);this.#i()}super.onResponseError(e,t)}};function CL(A={}){return Mf||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),Mf=!0),e=>(t,r)=>{let s=new rE(r,A);return e(t,s)}}Tf.exports=CL});var xf=p((Jv,Hf)=>{"use strict";var{RequestAbortedError:dL}=Y(),Lf=5*1024*1024,sE=class{#e;#A=[];#t=Lf;#r=0;#n={};#s="";#a=!1;#o=!1;#i=!1;#c=!1;#E=null;#g=null;constructor(e,t,r=Lf){this.#e=e,this.#g=t,this.#t=r}addWaitingHandler(e){if(this.#c||this.#i)return!1;let t=this.#l(e),r=t.controller;try{if(e.onRequestStart?.(r,null),r.aborted)return t.done=!0,!0;this.#o&&e.onResponseStart?.(r,this.#r,this.#n,this.#s)}catch{return t.done=!0,!0}return r.aborted||this.#A.push(t),!0}onRequestStart(e,t){this.#E=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#e.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){this.#o=!0,this.#r=t,this.#n=r,this.#s=s,this.#e.onResponseStart?.(e,t,r,s);for(let n of this.#A){let{handler:o,controller:i}=n;if(n.done||i.aborted){n.done=!0;continue}try{o.onResponseStart?.(i,t,r,s)}catch{}i.aborted&&(n.done=!0)}this.#h()}onResponseData(e,t){if(!(this.#a||this.#c)){this.#i=!0,this.#e.onResponseData?.(e,t);for(let r of this.#A){let{handler:s,controller:n}=r;if(r.done||n.aborted){r.done=!0;continue}if(n.paused){this.#Q(r,t);continue}try{s.onResponseData?.(n,t)}catch{}n.aborted&&(r.done=!0,r.bufferedChunks=[],r.bufferedBytes=0)}this.#h()}}onResponseEnd(e,t){if(!(this.#a||this.#c)){this.#c=!0,this.#e.onResponseEnd?.(e,t);for(let r of this.#A){if(r.done||r.controller.aborted){r.done=!0;continue}if(this.#u(r),r.done||r.controller.aborted){r.done=!0;continue}if(r.controller.paused&&r.bufferedChunks.length>0){r.pendingTrailers=t;continue}try{r.handler.onResponseEnd?.(r.controller,t)}catch{}r.done=!0}this.#h(),this.#g?.()}}onResponseError(e,t){if(!this.#c){this.#a=!0,this.#c=!0,this.#e.onResponseError?.(e,t);for(let r of this.#A)this.#I(r,t);this.#A=[],this.#g?.()}}#l(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},r={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!r.aborted){if(r.paused=!1,this.#u(t),this.#c&&t.pendingTrailers&&t.bufferedChunks.length===0&&!r.paused&&!r.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#h()}},pause:()=>{r.aborted||(r.paused=!0)},get paused(){return r.paused},get aborted(){return r.aborted},get reason(){return r.reason},abort:s=>{r.aborted=!0,r.reason=s??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0}},t}#Q(e,t){if(e.done||e.controller.aborted){e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0;return}let r=Buffer.from(t);if(e.bufferedChunks.push(r),e.bufferedBytes+=r.length,e.bufferedBytes>this.#t){let s=new dL(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#I(e,s)}}#u(e){let{handler:t,controller:r}=e;for(;!e.done&&!r.aborted&&!r.paused&&e.bufferedChunks.length>0;){let s=e.bufferedChunks.shift();e.bufferedBytes-=s.length;try{t.onResponseData?.(r,s)}catch{}if(r.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#I(e,t){if(!e.done){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;try{e.controller.abort(t),e.handler.onResponseError?.(e.controller,t)}catch{}}}#h(){this.#A=this.#A.filter(e=>e.done===!1)}};Hf.exports=sE});var Gf=p((Pv,Yf)=>{"use strict";var fL=require("node:diagnostics_channel"),pL=G(),yL=xf(),{normalizeHeaders:DL,makeCacheKey:mL,makeDeduplicationKey:wL}=Kr(),$o=fL.channel("undici:request:pending-requests");Yf.exports=(A={})=>{let{methods:e=["GET"],skipHeaderNames:t=[],excludeHeaderNames:r=[],maxBufferSize:s=5*1024*1024}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(!Array.isArray(e))throw new TypeError(`expected opts.methods to be an array, got ${typeof e}`);for(let a of e)if(!pL.safeHTTPMethods.includes(a))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(t))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof t}`);if(!Array.isArray(r))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof r}`);if(!Number.isFinite(s)||s<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${s}`);let n=new Set(t.map(a=>a.toLowerCase())),o=new Set(r.map(a=>a.toLowerCase())),i=new Map;return a=>(c,g)=>{if(!c.origin||e.includes(c.method)===!1)return a(c,g);if(c={...c,headers:DL(c)},n.size>0){for(let B of Object.keys(c.headers))if(n.has(B.toLowerCase()))return a(c,g)}let h=mL(c),Q=wL(h,o),l=i.get(Q);if(l)return l.addWaitingHandler(g)?!0:a(c,g);let E=new yL(g,()=>{i.delete(Q),$o.hasSubscribers&&$o.publish({size:i.size,key:Q,type:"removed"})},s);return i.set(Q,E),$o.hasSubscribers&&$o.publish({size:i.size,key:Q,type:"added"}),a(c,E)}}});var vf=p((Wv,Vf)=>{"use strict";var{Writable:RL}=require("node:stream"),{assertCacheKey:nE,assertCacheValue:SL}=Kr(),oE,_e=3,Of=2*1e3*1e3*1e3;Vf.exports=class{#e=Of;#A=1/0;#t;#r;#n;#s;#a;#o;#i;#c;constructor(e){if(e){if(typeof e!="object")throw new TypeError("SqliteCacheStore options must be an object");if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(e.maxEntrySize>Of)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#e=e.maxEntrySize}if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#A=e.maxCount}}oE||(oE=require("node:sqlite").DatabaseSync),this.#t=new oE(e?.location??":memory:"),this.#t.exec(`
45
+ PRAGMA journal_mode = WAL;
46
+ PRAGMA synchronous = NORMAL;
47
+ PRAGMA temp_store = memory;
48
+ PRAGMA optimize;
49
+
50
+ CREATE TABLE IF NOT EXISTS cacheInterceptorV${_e} (
51
+ -- Data specific to us
52
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
53
+ url TEXT NOT NULL,
54
+ method TEXT NOT NULL,
55
+
56
+ -- Data returned to the interceptor
57
+ body BUF NULL,
58
+ deleteAt INTEGER NOT NULL,
59
+ statusCode INTEGER NOT NULL,
60
+ statusMessage TEXT NOT NULL,
61
+ headers TEXT NULL,
62
+ cacheControlDirectives TEXT NULL,
63
+ etag TEXT NULL,
64
+ vary TEXT NULL,
65
+ cachedAt INTEGER NOT NULL,
66
+ staleAt INTEGER NOT NULL
67
+ );
68
+
69
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${_e}_getValuesQuery ON cacheInterceptorV${_e}(url, method, deleteAt);
70
+ CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${_e}_deleteByUrlQuery ON cacheInterceptorV${_e}(deleteAt);
71
+ `),this.#r=this.#t.prepare(`
72
+ SELECT
73
+ id,
74
+ body,
75
+ deleteAt,
76
+ statusCode,
77
+ statusMessage,
78
+ headers,
79
+ etag,
80
+ cacheControlDirectives,
81
+ vary,
82
+ cachedAt,
83
+ staleAt
84
+ FROM cacheInterceptorV${_e}
85
+ WHERE
86
+ url = ?
87
+ AND method = ?
88
+ ORDER BY
89
+ deleteAt ASC
90
+ `),this.#n=this.#t.prepare(`
91
+ UPDATE cacheInterceptorV${_e} SET
92
+ body = ?,
93
+ deleteAt = ?,
94
+ statusCode = ?,
95
+ statusMessage = ?,
96
+ headers = ?,
97
+ etag = ?,
98
+ cacheControlDirectives = ?,
99
+ cachedAt = ?,
100
+ staleAt = ?
101
+ WHERE
102
+ id = ?
103
+ `),this.#s=this.#t.prepare(`
104
+ INSERT INTO cacheInterceptorV${_e} (
105
+ url,
106
+ method,
107
+ body,
108
+ deleteAt,
109
+ statusCode,
110
+ statusMessage,
111
+ headers,
112
+ etag,
113
+ cacheControlDirectives,
114
+ vary,
115
+ cachedAt,
116
+ staleAt
117
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
118
+ `),this.#o=this.#t.prepare(`DELETE FROM cacheInterceptorV${_e} WHERE url = ?`),this.#i=this.#t.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${_e}`),this.#a=this.#t.prepare(`DELETE FROM cacheInterceptorV${_e} WHERE deleteAt <= ?`),this.#c=this.#A===1/0?null:this.#t.prepare(`
119
+ DELETE FROM cacheInterceptorV${_e}
120
+ WHERE id IN (
121
+ SELECT
122
+ id
123
+ FROM cacheInterceptorV${_e}
124
+ ORDER BY cachedAt DESC
125
+ LIMIT ?
126
+ )
127
+ `)}close(){this.#t.close()}get(e){nE(e);let t=this.#l(e);return t?{body:t.body?Buffer.from(t.body.buffer,t.body.byteOffset,t.body.byteLength):void 0,statusCode:t.statusCode,statusMessage:t.statusMessage,headers:t.headers?JSON.parse(t.headers):void 0,etag:t.etag?t.etag:void 0,vary:t.vary?JSON.parse(t.vary):void 0,cacheControlDirectives:t.cacheControlDirectives?JSON.parse(t.cacheControlDirectives):void 0,cachedAt:t.cachedAt,staleAt:t.staleAt,deleteAt:t.deleteAt}:void 0}set(e,t){nE(e);let r=this.#g(e),s=Array.isArray(t.body)?Buffer.concat(t.body):t.body,n=s?.byteLength;if(n&&n>this.#e)return;let o=this.#l(e,!0);o?this.#n.run(s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.cachedAt,t.staleAt,o.id):(this.#E(),this.#s.run(r,e.method,s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt))}createWriteStream(e,t){nE(e),SL(t);let r=0,s=[],n=this;return new RL({decodeStrings:!0,write(o,i,a){r+=o.byteLength,r<n.#e?s.push(o):this.destroy(),a()},final(o){n.set(e,{...t,body:s}),o()}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);this.#o.run(this.#g(e))}#E(){if(Number.isFinite(this.#A)&&this.size<=this.#A)return 0;{let e=this.#a.run(Date.now()).changes;if(e)return e}{let e=this.#c?.run(Math.max(Math.floor(this.#A*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#i.get();return e}#g(e){return`${e.origin}/${e.path}`}#l(e,t=!1){let r=this.#g(e),{headers:s,method:n}=e,o=this.#r.all(r,n);if(o.length===0)return;let i=Date.now();for(let a of o){if(i>=a.deleteAt&&!t)return;let c=!0;if(a.vary){let g=JSON.parse(a.vary);for(let h in g)if(!NL(s[h],g[h])){c=!1;break}}if(c)return a}}};function NL(A,e){return A==null&&e==null?!0:A==null&&e!=null||A!=null&&e==null?!1:Array.isArray(A)&&Array.isArray(e)?A.length!==e.length?!1:A.every((t,r)=>t===e[r]):A===e}});var ar=p((_v,jf)=>{"use strict";var{kConstruct:FL}=Z(),{kEnumerableProperty:$r}=G(),{iteratorMixin:bL,isValidHeaderName:un,isValidHeaderValue:Pf}=ve(),{webidl:J}=pe(),iE=require("node:assert"),ei=require("node:util");function Jf(A){return A===10||A===13||A===9||A===32}function qf(A){let e=0,t=A.length;for(;t>e&&Jf(A.charCodeAt(t-1));)--t;for(;t>e&&Jf(A.charCodeAt(e));)++e;return e===0&&t===A.length?A:A.substring(e,t)}function Wf(A,e){if(Array.isArray(e))for(let t=0;t<e.length;++t){let r=e[t];if(r.length!==2)throw J.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});aE(A,r[0],r[1])}else if(typeof e=="object"&&e!==null){let t=Object.keys(e);for(let r=0;r<t.length;++r)aE(A,t[r],e[t[r]])}else throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function aE(A,e,t){if(t=qf(t),un(e)){if(!Pf(t))throw J.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(Zf(A)==="immutable")throw new TypeError("immutable");return ti(A).append(e,t,!1)}function UL(A){let e=ti(A);if(!e)return[];if(e.sortedMap)return e.sortedMap;let t=[],r=e.toSortedArray(),s=e.cookies;if(s===null||s.length===1)return e.sortedMap=r;for(let n=0;n<r.length;++n){let{0:o,1:i}=r[n];if(o==="set-cookie")for(let a=0;a<s.length;++a)t.push([o,s[a]]);else t.push([o,i])}return e.sortedMap=t}function _f(A,e){return A[0]<e[0]?-1:1}var Ai=class A{cookies=null;sortedMap;headersMap;constructor(e){e instanceof A?(this.headersMap=new Map(e.headersMap),this.sortedMap=e.sortedMap,this.cookies=e.cookies===null?null:[...e.cookies]):(this.headersMap=new Map(e),this.sortedMap=null)}contains(e,t){return this.headersMap.has(t?e:e.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase(),n=this.headersMap.get(s);if(n){let o=s==="cookie"?"; ":", ";this.headersMap.set(s,{name:n.name,value:`${n.value}${o}${t}`})}else this.headersMap.set(s,{name:e,value:t});s==="set-cookie"&&(this.cookies??=[]).push(t)}set(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[t]),this.headersMap.set(s,{name:e,value:t})}delete(e,t){this.sortedMap=null,t||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this.headersMap.delete(e)}get(e,t){return this.headersMap.get(t?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:t}}of this.headersMap)yield[e,t]}get entries(){let e={};if(this.headersMap.size!==0)for(let{name:t,value:r}of this.headersMap.values())e[t]=r;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:r,value:s}}of this.headersMap)if(t==="set-cookie")for(let n of this.cookies)e.push([r,n]);else e.push([r,s]);return e}toSortedArray(){let e=this.headersMap.size,t=new Array(e);if(e<=32){if(e===0)return t;let r=this.headersMap[Symbol.iterator](),s=r.next().value;t[0]=[s[0],s[1].value],iE(s[1].value!==null);for(let n=1,o=0,i=0,a=0,c=0,g,h;n<e;++n){for(h=r.next().value,g=t[n]=[h[0],h[1].value],iE(g[1]!==null),a=0,i=n;a<i;)c=a+(i-a>>1),t[c][0]<=g[0]?a=c+1:i=c;if(n!==c){for(o=n;o>a;)t[o]=t[--o];t[a]=g}}if(!r.next().done)throw new TypeError("Unreachable");return t}else{let r=0;for(let{0:s,1:{value:n}}of this.headersMap)t[r++]=[s,n],iE(n!==null);return t.sort(_f)}}},BA=class A{#e;#A;constructor(e=void 0){J.util.markAsUncloneable(this),e!==FL&&(this.#A=new Ai,this.#e="none",e!==void 0&&(e=J.converters.HeadersInit(e,"Headers constructor","init"),Wf(this,e)))}append(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),aE(this,e,t)}delete(e){if(J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.delete"),e=J.converters.ByteString(e,"Headers.delete","name"),!un(e))throw J.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.contains(e,!1)&&this.#A.delete(e,!1)}get(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(e=J.converters.ByteString(e,t,"name"),!un(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.get(e,!1)}has(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(e=J.converters.ByteString(e,t,"name"),!un(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.contains(e,!1)}set(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),t=qf(t),un(e)){if(!Pf(t))throw J.errors.invalidArgument({prefix:r,value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:r,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.set(e,t,!1)}getSetCookie(){J.brandCheck(this,A);let e=this.#A.cookies;return e?[...e]:[]}[ei.inspect.custom](e,t){return t.depth??=e,`Headers ${ei.formatWithOptions(t,this.#A.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#A}static setHeadersList(e,t){e.#A=t}},{getHeadersGuard:Zf,setHeadersGuard:ML,getHeadersList:ti,setHeadersList:TL}=BA;Reflect.deleteProperty(BA,"getHeadersGuard");Reflect.deleteProperty(BA,"setHeadersGuard");Reflect.deleteProperty(BA,"getHeadersList");Reflect.deleteProperty(BA,"setHeadersList");bL("Headers",BA,UL,0,1);Object.defineProperties(BA.prototype,{append:$r,delete:$r,get:$r,has:$r,set:$r,getSetCookie:$r,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[ei.inspect.custom]:{enumerable:!1}});J.converters.HeadersInit=function(A,e,t){if(J.util.Type(A)===J.util.Types.OBJECT){let r=Reflect.get(A,Symbol.iterator);if(!ei.types.isProxy(A)&&r===BA.prototype.entries)try{return ti(A).entriesList}catch{}return typeof r=="function"?J.converters["sequence<sequence<ByteString>>"](A,e,t,r.bind(A)):J.converters["record<ByteString, ByteString>"](A,e,t)}throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};jf.exports={fill:Wf,compareHeaderName:_f,Headers:BA,HeadersList:Ai,getHeadersGuard:Zf,setHeadersGuard:ML,setHeadersList:TL,getHeadersList:ti}});var In=p((Zv,ip)=>{"use strict";var{Headers:Ap,HeadersList:Xf,fill:kL,getHeadersGuard:LL,setHeadersGuard:tp,setHeadersList:rp}=ar(),{extractBody:Kf,cloneBody:HL,mixinBody:xL,streamRegistry:sp,bodyUnusable:YL}=Mr(),np=G(),zf=require("node:util"),{kEnumerableProperty:Ze}=np,{isValidReasonPhrase:GL,isCancelled:OL,isAborted:VL,isErrorLike:vL,environmentSettingsObject:JL}=ve(),{redirectStatusSet:PL,nullBodyStatus:qL}=Rs(),{webidl:v}=pe(),{URLSerializer:$f}=tA(),{kConstruct:si}=Z(),cE=require("node:assert"),{isomorphicEncode:WL,serializeJavascriptValueToJSONString:_L}=vA(),ZL=new TextEncoder("utf-8"),je=class A{#e;#A;static error(){return hn(ni(),"immutable")}static json(e,t=void 0){v.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=v.converters.ResponseInit(t));let r=ZL.encode(_L(e)),s=Kf(r),n=hn(es({}),"response");return ep(n,t,{body:s[0],type:"application/json"}),n}static redirect(e,t=302){v.argumentLengthCheck(arguments,1,"Response.redirect"),e=v.converters.USVString(e),t=v.converters["unsigned short"](t);let r;try{r=new URL(e,JL.settingsObject.baseUrl)}catch(o){throw new TypeError(`Failed to parse URL from ${e}`,{cause:o})}if(!PL.has(t))throw new RangeError(`Invalid status code ${t}`);let s=hn(es({}),"immutable");s.#A.status=t;let n=WL($f(r));return s.#A.headersList.append("location",n,!0),s}constructor(e=null,t=void 0){if(v.util.markAsUncloneable(this),e===si)return;e!==null&&(e=v.converters.BodyInit(e,"Response","body")),t=v.converters.ResponseInit(t),this.#A=es({}),this.#e=new Ap(si),tp(this.#e,"response"),rp(this.#e,this.#A.headersList);let r=null;if(e!=null){let[s,n]=Kf(e);r={body:s,type:n}}ep(this,t,r)}get type(){return v.brandCheck(this,A),this.#A.type}get url(){v.brandCheck(this,A);let e=this.#A.urlList,t=e[e.length-1]??null;return t===null?"":$f(t,!0)}get redirected(){return v.brandCheck(this,A),this.#A.urlList.length>1}get status(){return v.brandCheck(this,A),this.#A.status}get ok(){return v.brandCheck(this,A),this.#A.status>=200&&this.#A.status<=299}get statusText(){return v.brandCheck(this,A),this.#A.statusText}get headers(){return v.brandCheck(this,A),this.#e}get body(){return v.brandCheck(this,A),this.#A.body?this.#A.body.stream:null}get bodyUsed(){return v.brandCheck(this,A),!!this.#A.body&&np.isDisturbed(this.#A.body.stream)}clone(){if(v.brandCheck(this,A),YL(this.#A))throw v.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=gE(this.#A);return this.#A.urlList.length!==0&&this.#A.body?.stream&&sp.register(this,new WeakRef(this.#A.body.stream)),hn(e,LL(this.#e))}[zf.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${zf.formatWithOptions(t,r)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#A}static setResponseState(e,t){e.#A=t}},{getResponseHeaders:jL,setResponseHeaders:XL,getResponseState:cr,setResponseState:KL}=je;Reflect.deleteProperty(je,"getResponseHeaders");Reflect.deleteProperty(je,"setResponseHeaders");Reflect.deleteProperty(je,"getResponseState");Reflect.deleteProperty(je,"setResponseState");xL(je,cr);Object.defineProperties(je.prototype,{type:Ze,url:Ze,status:Ze,ok:Ze,redirected:Ze,statusText:Ze,headers:Ze,clone:Ze,body:Ze,bodyUsed:Ze,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(je,{json:Ze,redirect:Ze,error:Ze});function gE(A){if(A.internalResponse)return op(gE(A.internalResponse),A.type);let e=es({...A,body:null});return A.body!=null&&(e.body=HL(A.body)),e}function es(A){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...A,headersList:A?.headersList?new Xf(A?.headersList):new Xf,urlList:A?.urlList?[...A.urlList]:[]}}function ni(A){let e=vL(A);return es({type:"error",status:0,error:e?A:new Error(A&&String(A)),aborted:A&&A.name==="AbortError"})}function zL(A){return A.type==="error"&&A.status===0}function ri(A,e){return e={internalResponse:A,...e},new Proxy(A,{get(t,r){return r in e?e[r]:t[r]},set(t,r,s){return cE(!(r in e)),t[r]=s,!0}})}function op(A,e){if(e==="basic")return ri(A,{type:"basic",headersList:A.headersList});if(e==="cors")return ri(A,{type:"cors",headersList:A.headersList});if(e==="opaque")return ri(A,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(e==="opaqueredirect")return ri(A,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});cE(!1)}function $L(A,e=null){return cE(OL(A)),VL(A)?ni(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):ni(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}function ep(A,e,t){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!GL(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(cr(A).status=e.status),"statusText"in e&&e.statusText!=null&&(cr(A).statusText=e.statusText),"headers"in e&&e.headers!=null&&kL(jL(A),e.headers),t){if(qL.includes(A.status))throw v.errors.exception({header:"Response constructor",message:`Invalid response status code ${A.status}`});cr(A).body=t.body,t.type!=null&&!cr(A).headersList.contains("content-type",!0)&&cr(A).headersList.append("content-type",t.type,!0)}}function hn(A,e){let t=new je(si);KL(t,A);let r=new Ap(si);return XL(t,r),rp(r,A.headersList),tp(r,e),A.urlList.length!==0&&A.body?.stream&&sp.register(t,new WeakRef(A.body.stream)),t}v.converters.XMLHttpRequestBodyInit=function(A,e,t){return typeof A=="string"?v.converters.USVString(A,e,t):v.is.Blob(A)||v.is.BufferSource(A)||v.is.FormData(A)||v.is.URLSearchParams(A)?A:v.converters.DOMString(A,e,t)};v.converters.BodyInit=function(A,e,t){return v.is.ReadableStream(A)||A?.[Symbol.asyncIterator]?A:v.converters.XMLHttpRequestBodyInit(A,e,t)};v.converters.ResponseInit=v.dictionaryConverter([{key:"status",converter:v.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:v.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:v.converters.HeadersInit}]);v.is.Response=v.util.MakeTypeAssertion(je);ip.exports={isNetworkError:zL,makeNetworkError:ni,makeResponse:es,makeAppropriateNetworkError:$L,filterResponse:op,Response:je,cloneResponse:gE,fromInnerResponse:hn,getResponseState:cr}});var As=p((jv,pp)=>{"use strict";var{extractBody:eH,mixinBody:AH,cloneBody:tH,bodyUnusable:ap}=Mr(),{Headers:up,fill:rH,HeadersList:ai,setHeadersGuard:lE,getHeadersGuard:sH,setHeadersList:hp,getHeadersList:cp}=ar(),ii=G(),gp=require("node:util"),{isValidHTTPToken:nH,sameOrigin:lp,environmentSettingsObject:oi}=ve(),{forbiddenMethodsSet:oH,corsSafeListedMethodsSet:iH,referrerPolicy:aH,requestRedirect:cH,requestMode:gH,requestCredentials:lH,requestCache:EH,requestDuplex:QH}=Rs(),{kEnumerableProperty:ge,normalizedMethodRecordsBase:uH,normalizedMethodRecords:hH}=ii,{webidl:M}=pe(),{URLSerializer:IH}=tA(),{kConstruct:ci}=Z(),BH=require("node:assert"),{getMaxListeners:Ip,setMaxListeners:CH,defaultMaxListeners:dH}=require("node:events"),fH=Symbol("abortController"),Bp=new FinalizationRegistry(({signal:A,abort:e})=>{A.removeEventListener("abort",e)}),gi=new WeakMap,EE;try{EE=Ip(new AbortController().signal)>0}catch{EE=!1}function Ep(A){return e;function e(){let t=A.deref();if(t!==void 0){Bp.unregister(e),this.removeEventListener("abort",e),t.abort(this.reason);let r=gi.get(t.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let n=s.deref();n!==void 0&&n.abort(this.reason)}r.clear()}gi.delete(t.signal)}}}}var Qp=!1,Le=class A{#e;#A;#t;#r;constructor(e,t=void 0){if(M.util.markAsUncloneable(this),e===ci)return;M.argumentLengthCheck(arguments,1,"Request constructor"),e=M.converters.RequestInfo(e),t=M.converters.RequestInit(t);let s=null,n=null,o=oi.settingsObject.baseUrl,i=null;if(typeof e=="string"){this.#A=t.dispatcher;let C;try{C=new URL(e,o)}catch(f){throw new TypeError("Failed to parse URL from "+e,{cause:f})}if(C.username||C.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=li({urlList:[C]}),n="cors"}else BH(M.is.Request(e)),s=e.#r,i=e.#e,this.#A=t.dispatcher||e.#A;let a=oi.settingsObject.origin,c="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&lp(s.window,a)&&(c=s.window),t.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in t&&(c="no-window"),s=li({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:oi.settingsObject,window:c,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});let g=Object.keys(t).length!==0;if(g&&(s.mode==="navigate"&&(s.mode="same-origin"),s.reloadNavigation=!1,s.historyNavigation=!1,s.origin="client",s.referrer="client",s.referrerPolicy="",s.url=s.urlList[s.urlList.length-1],s.urlList=[s.url]),t.referrer!==void 0){let C=t.referrer;if(C==="")s.referrer="no-referrer";else{let f;try{f=new URL(C,o)}catch(y){throw new TypeError(`Referrer "${C}" is not a valid URL.`,{cause:y})}f.protocol==="about:"&&f.hostname==="client"||a&&!lp(f,oi.settingsObject.baseUrl)?s.referrer="client":s.referrer=f}}t.referrerPolicy!==void 0&&(s.referrerPolicy=t.referrerPolicy);let h;if(t.mode!==void 0?h=t.mode:h=n,h==="navigate")throw M.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(h!=null&&(s.mode=h),t.credentials!==void 0&&(s.credentials=t.credentials),t.cache!==void 0&&(s.cache=t.cache),s.cache==="only-if-cached"&&s.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(s.redirect=t.redirect),t.integrity!=null&&(s.integrity=String(t.integrity)),t.keepalive!==void 0&&(s.keepalive=!!t.keepalive),t.method!==void 0){let C=t.method,f=hH[C];if(f!==void 0)s.method=f;else{if(!nH(C))throw new TypeError(`'${C}' is not a valid HTTP method.`);let y=C.toUpperCase();if(oH.has(y))throw new TypeError(`'${C}' HTTP method is unsupported.`);C=uH[y]??C,s.method=C}!Qp&&s.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),Qp=!0)}t.signal!==void 0&&(i=t.signal),this.#r=s;let Q=new AbortController;if(this.#e=Q.signal,i!=null)if(i.aborted)Q.abort(i.reason);else{this[fH]=Q;let C=new WeakRef(Q),f=Ep(C);EE&&Ip(i)===dH&&CH(1500,i),ii.addAbortListener(i,f),Bp.register(Q,{signal:i,abort:f},f)}if(this.#t=new up(ci),hp(this.#t,s.headersList),lE(this.#t,"request"),h==="no-cors"){if(!iH.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);lE(this.#t,"request-no-cors")}if(g){let C=cp(this.#t),f=t.headers!==void 0?t.headers:new ai(C);if(C.clear(),f instanceof ai){for(let{name:y,value:T}of f.rawValues())C.append(y,T,!1);C.cookies=f.cookies}else rH(this.#t,f)}let l=M.is.Request(e)?e.#r.body:null;if((t.body!=null||l!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let E=null;if(t.body!=null){let[C,f]=eH(t.body,s.keepalive);E=C,f&&!cp(this.#t).contains("content-type",!0)&&this.#t.append("content-type",f,!0)}let B=E??l;if(B!=null&&B.source==null){if(E!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(s.mode!=="same-origin"&&s.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');s.useCORSPreflightFlag=!0}let D=B;if(E==null&&l!=null){if(ap(e.#r))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let C=new TransformStream;l.stream.pipeThrough(C),D={source:l.source,length:l.length,stream:C.readable}}this.#r.body=D}get method(){return M.brandCheck(this,A),this.#r.method}get url(){return M.brandCheck(this,A),IH(this.#r.url)}get headers(){return M.brandCheck(this,A),this.#t}get destination(){return M.brandCheck(this,A),this.#r.destination}get referrer(){return M.brandCheck(this,A),this.#r.referrer==="no-referrer"?"":this.#r.referrer==="client"?"about:client":this.#r.referrer.toString()}get referrerPolicy(){return M.brandCheck(this,A),this.#r.referrerPolicy}get mode(){return M.brandCheck(this,A),this.#r.mode}get credentials(){return M.brandCheck(this,A),this.#r.credentials}get cache(){return M.brandCheck(this,A),this.#r.cache}get redirect(){return M.brandCheck(this,A),this.#r.redirect}get integrity(){return M.brandCheck(this,A),this.#r.integrity}get keepalive(){return M.brandCheck(this,A),this.#r.keepalive}get isReloadNavigation(){return M.brandCheck(this,A),this.#r.reloadNavigation}get isHistoryNavigation(){return M.brandCheck(this,A),this.#r.historyNavigation}get signal(){return M.brandCheck(this,A),this.#e}get body(){return M.brandCheck(this,A),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return M.brandCheck(this,A),!!this.#r.body&&ii.isDisturbed(this.#r.body.stream)}get duplex(){return M.brandCheck(this,A),"half"}clone(){if(M.brandCheck(this,A),ap(this.#r))throw new TypeError("unusable");let e=dp(this.#r),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let r=gi.get(this.signal);r===void 0&&(r=new Set,gi.set(this.signal,r));let s=new WeakRef(t);r.add(s),ii.addAbortListener(t.signal,Ep(s))}return fp(e,this.#A,t.signal,sH(this.#t))}[gp.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${gp.formatWithOptions(t,r)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#A}static setRequestDispatcher(e,t){e.#A=t}static setRequestHeaders(e,t){e.#t=t}static getRequestState(e){return e.#r}static setRequestState(e,t){e.#r=t}},{setRequestSignal:pH,getRequestDispatcher:yH,setRequestDispatcher:DH,setRequestHeaders:mH,getRequestState:Cp,setRequestState:wH}=Le;Reflect.deleteProperty(Le,"setRequestSignal");Reflect.deleteProperty(Le,"getRequestDispatcher");Reflect.deleteProperty(Le,"setRequestDispatcher");Reflect.deleteProperty(Le,"setRequestHeaders");Reflect.deleteProperty(Le,"getRequestState");Reflect.deleteProperty(Le,"setRequestState");AH(Le,Cp);function li(A){return{method:A.method??"GET",localURLsOnly:A.localURLsOnly??!1,unsafeRequest:A.unsafeRequest??!1,body:A.body??null,client:A.client??null,reservedClient:A.reservedClient??null,replacesClientId:A.replacesClientId??"",window:A.window??"client",keepalive:A.keepalive??!1,serviceWorkers:A.serviceWorkers??"all",initiator:A.initiator??"",destination:A.destination??"",priority:A.priority??null,origin:A.origin??"client",policyContainer:A.policyContainer??"client",referrer:A.referrer??"client",referrerPolicy:A.referrerPolicy??"",mode:A.mode??"no-cors",useCORSPreflightFlag:A.useCORSPreflightFlag??!1,credentials:A.credentials??"same-origin",useCredentials:A.useCredentials??!1,cache:A.cache??"default",redirect:A.redirect??"follow",integrity:A.integrity??"",cryptoGraphicsNonceMetadata:A.cryptoGraphicsNonceMetadata??"",parserMetadata:A.parserMetadata??"",reloadNavigation:A.reloadNavigation??!1,historyNavigation:A.historyNavigation??!1,userActivation:A.userActivation??!1,taintedOrigin:A.taintedOrigin??!1,redirectCount:A.redirectCount??0,responseTainting:A.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:A.preventNoCacheCacheControlHeaderModification??!1,done:A.done??!1,timingAllowFailed:A.timingAllowFailed??!1,useURLCredentials:A.useURLCredentials??void 0,traversableForUserPrompts:A.traversableForUserPrompts??"client",urlList:A.urlList,url:A.urlList[0],headersList:A.headersList?new ai(A.headersList):new ai}}function dp(A){let e=li({...A,body:null});return A.body!=null&&(e.body=tH(A.body)),e}function fp(A,e,t,r){let s=new Le(ci);wH(s,A),DH(s,e),pH(s,t);let n=new up(ci);return mH(s,n),hp(n,A.headersList),lE(n,r),s}Object.defineProperties(Le.prototype,{method:ge,url:ge,headers:ge,redirect:ge,clone:ge,signal:ge,duplex:ge,destination:ge,body:ge,bodyUsed:ge,isHistoryNavigation:ge,isReloadNavigation:ge,keepalive:ge,integrity:ge,cache:ge,credentials:ge,attribute:ge,referrerPolicy:ge,referrer:ge,mode:ge,[Symbol.toStringTag]:{value:"Request",configurable:!0}});M.is.Request=M.util.MakeTypeAssertion(Le);M.converters.RequestInfo=function(A){return typeof A=="string"?M.converters.USVString(A):M.is.Request(A)?A:M.converters.USVString(A)};M.converters.RequestInit=M.dictionaryConverter([{key:"method",converter:M.converters.ByteString},{key:"headers",converter:M.converters.HeadersInit},{key:"body",converter:M.nullableConverter(M.converters.BodyInit)},{key:"referrer",converter:M.converters.USVString},{key:"referrerPolicy",converter:M.converters.DOMString,allowedValues:aH},{key:"mode",converter:M.converters.DOMString,allowedValues:gH},{key:"credentials",converter:M.converters.DOMString,allowedValues:lH},{key:"cache",converter:M.converters.DOMString,allowedValues:EH},{key:"redirect",converter:M.converters.DOMString,allowedValues:cH},{key:"integrity",converter:M.converters.DOMString},{key:"keepalive",converter:M.converters.boolean},{key:"signal",converter:M.nullableConverter(A=>M.converters.AbortSignal(A,"RequestInit","signal"))},{key:"window",converter:M.converters.any},{key:"duplex",converter:M.converters.DOMString,allowedValues:QH},{key:"dispatcher",converter:M.converters.any},{key:"priority",converter:M.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]);pp.exports={Request:Le,makeRequest:li,fromInnerRequest:fp,cloneRequest:dp,getRequestDispatcher:yH,getRequestState:Cp}});var Fp=p((Xv,Np)=>{"use strict";var RH=require("node:assert"),{runtimeFeatures:Dp}=JA(),gr=new Map([["sha256",0],["sha384",1],["sha512",2]]),QE;if(Dp.has("crypto")){QE=require("node:crypto");let A=QE.getHashes();A.length===0&&gr.clear();for(let e of gr.keys())A.includes(e)===!1&&gr.delete(e)}else gr.clear();var yp=Map.prototype.get.bind(gr),uE=Map.prototype.has.bind(gr),SH=Dp.has("crypto")===!1||gr.size===0?()=>!0:(A,e)=>{let t=wp(e);if(t.length===0)return!0;let r=mp(t);for(let s of r){let n=s.alg,o=s.val,i=Rp(n,A);if(Sp(i,o))return!0}return!1};function mp(A){let e=[],t=null;for(let r of A){if(RH(uE(r.alg),"Invalid SRI hash algorithm token"),e.length===0){e.push(r),t=r;continue}let s=t.alg,n=yp(s),o=r.alg,i=yp(o);i<n||(i>n?(t=r,e[0]=r,e.length=1):e.push(r))}return e}function wp(A){let e=[];for(let t of A.split(" ")){let s=t.split("?",1)[0],n="",o=[s.slice(0,6),s.slice(7)],i=o[0];if(!uE(i))continue;o[1]&&(n=o[1]);let a={alg:i,val:n};e.push(a)}return e}var Rp=(A,e)=>QE.hash(A,e,"base64");function Sp(A,e){let t=A.length;t!==0&&A[t-1]==="="&&(t-=1),t!==0&&A[t-1]==="="&&(t-=1);let r=e.length;if(r!==0&&e[r-1]==="="&&(r-=1),r!==0&&e[r-1]==="="&&(r-=1),t!==r)return!1;for(let s=0;s<t;++s)if(!(A[s]===e[s]||A[s]==="+"&&e[s]==="-"||A[s]==="/"&&e[s]==="_"))return!1;return!0}Np.exports={applyAlgorithmToBytes:Rp,bytesMatch:SH,caseSensitiveMatch:Sp,isValidSRIHashAlgorithm:uE,getStrongestMetadata:mp,parseMetadata:wp}});var dn=p((Kv,Jp)=>{"use strict";var{makeNetworkError:_,makeAppropriateNetworkError:Bn,filterResponse:hE,makeResponse:Ei,fromInnerResponse:NH,getResponseState:FH}=In(),{HeadersList:IE}=ar(),{Request:bH,cloneRequest:UH,getRequestDispatcher:MH,getRequestState:TH}=As(),CA=require("node:zlib"),{makePolicyContainer:kH,clonePolicyContainer:LH,requestBadPort:HH,TAOCheck:xH,appendRequestOriginHeader:YH,responseLocationURL:GH,requestCurrentURL:Xe,setRequestReferrerPolicyOnRedirect:OH,tryUpgradeRequestToAPotentiallyTrustworthyURL:VH,createOpaqueTimingInfo:yE,appendFetchMetadata:vH,corsCheck:JH,crossOriginResourcePolicyCheck:PH,determineRequestsReferrer:qH,coarsenedSharedCurrentTime:Cn,sameOrigin:fE,isCancelled:St,isAborted:bp,isErrorLike:WH,fullyReadBody:_H,readableStreamClose:ZH,urlIsLocal:jH,urlIsHttpHttpsScheme:Ii,urlHasHttpsScheme:XH,clampAndCoarsenConnectionTimingInfo:KH,simpleRangeHeaderValue:zH,buildContentRange:$H,createInflate:ex,extractMimeType:Ax,hasAuthenticationEntry:tx,includesCredentials:Up,isTraversableNavigable:rx}=ve(),lr=require("node:assert"),{safelyExtractBody:Bi,extractBody:Mp}=Mr(),{redirectStatusSet:Hp,nullBodyStatus:xp,safeMethodsSet:sx,requestBodyHeader:nx,subresourceSet:ox}=Rs(),ix=require("node:events"),{Readable:ax,pipeline:cx,finished:gx,isErrored:lx,isReadable:Qi}=require("node:stream"),{addAbortListener:Ex,bufferToLowerCasedHeaderName:Tp}=G(),{dataURLProcessor:Qx,serializeAMimeType:ux,minimizeSupportedMimeType:hx}=tA(),{getGlobalDispatcher:Ix}=Ko(),{webidl:DE}=pe(),{STATUS_CODES:kp}=require("node:http"),{bytesMatch:Bx}=Fp(),{createDeferredPromise:Cx}=Us(),{isomorphicEncode:ui}=vA(),{runtimeFeatures:dx}=JA(),fx=dx.has("zstd"),px=["GET","HEAD"],yx=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",BE,hi=class extends ix{constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function Dx(A){Yp(A,"fetch")}function mx(A,e=void 0){DE.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=Cx(),r;try{r=new bH(A,e)}catch(g){return t.reject(g),t.promise}let s=TH(r);if(r.signal.aborted)return CE(t,s,null,r.signal.reason,null),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let o=null,i=!1,a=null;return Ex(r.signal,()=>{i=!0,lr(a!=null),a.abort(r.signal.reason);let g=o?.deref();CE(t,s,g,r.signal.reason,a.controller)}),a=Op({request:s,processResponseEndOfBody:Dx,processResponse:g=>{if(!i){if(g.aborted){CE(t,s,o,a.serializedAbortReason,a.controller);return}if(g.type==="error"){t.reject(new TypeError("fetch failed",{cause:g.error}));return}o=new WeakRef(NH(g,"immutable")),t.resolve(o.deref()),t=null}},dispatcher:MH(r),requestObject:r}),t.promise}function Yp(A,e="other"){if(A.type==="error"&&A.aborted||!A.urlList?.length)return;let t=A.urlList[0],r=A.timingInfo,s=A.cacheState;Ii(t)&&r!==null&&(A.timingAllowPassed||(r=yE({startTime:r.startTime}),s=""),r.endTime=Cn(),A.timingInfo=r,Gp(r,t.href,e,globalThis,s,"",A.status))}var Gp=performance.markResourceTiming;function CE(A,e,t,r,s){if(A&&A.reject(r),e.body?.stream!=null&&Qi(e.body.stream)&&e.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),t==null)return;let n=FH(t);n.body?.stream!=null&&Qi(n.body.stream)&&s.error(r)}function Op({request:A,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:n,useParallelQueue:o=!1,dispatcher:i=Ix(),requestObject:a=null}){lr(i);let c=null,g=!1;A.client!=null&&(c=A.client.globalObject,g=A.client.crossOriginIsolatedCapability);let h=Cn(g),Q=yE({startTime:h}),l={controller:new hi(i),request:A,timingInfo:Q,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:n,processResponseEndOfBody:s,taskDestination:c,crossOriginIsolatedCapability:g,requestObject:a};return lr(!A.body||A.body.stream),A.window==="client"&&(A.window=A.client?.globalObject?.constructor?.name==="Window"?A.client:"no-window"),A.origin==="client"&&(A.origin=A.client.origin),A.policyContainer==="client"&&(A.client!=null?A.policyContainer=LH(A.client.policyContainer):A.policyContainer=kH()),A.headersList.contains("accept",!0)||A.headersList.append("accept","*/*",!0),A.headersList.contains("accept-language",!0)||A.headersList.append("accept-language","*",!0),A.priority,ox.has(A.destination),Vp(l,!1),l.controller}async function Vp(A,e){try{let t=A.request,r=null;if(t.localURLsOnly&&!jH(Xe(t))&&(r=_("local URLs only")),VH(t),HH(t)==="blocked"&&(r=_("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=qH(t)),r===null){let n=Xe(t);fE(n,t.url)&&t.responseTainting==="basic"||n.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",r=await Lp(A)):t.mode==="same-origin"?r=_('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?r=_('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",r=await Lp(A)):Ii(Xe(t))?(t.responseTainting="cors",r=await vp(A)):r=_("URL scheme must be a HTTP(S) scheme")}if(e)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=hE(r,"basic"):t.responseTainting==="cors"?r=hE(r,"cors"):t.responseTainting==="opaque"?r=hE(r,"opaque"):lr(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range",!0)&&(r=s=_()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||xp.includes(s.status))&&(s.body=null,A.controller.dump=!0),t.integrity){let n=i=>dE(A,_(i));if(t.responseTainting==="opaque"||r.body==null){n(r.error);return}let o=i=>{if(!Bx(i,t.integrity)){n("integrity mismatch");return}r.body=Bi(i)[0],dE(A,r)};_H(r.body,o,n)}else dE(A,r)}catch(t){A.controller.terminate(t)}}function Lp(A){if(St(A)&&A.request.redirectCount===0)return Promise.resolve(Bn(A));let{request:e}=A,{protocol:t}=Xe(e);switch(t){case"about:":return Promise.resolve(_("about scheme is not supported"));case"blob:":{BE||(BE=require("node:buffer").resolveObjectURL);let r=Xe(e);if(r.search.length!==0)return Promise.resolve(_("NetworkError when attempting to fetch resource."));let s=BE(r.toString());if(e.method!=="GET"||!DE.is.Blob(s))return Promise.resolve(_("invalid method"));let n=Ei(),o=s.size,i=ui(`${o}`),a=s.type;if(e.headersList.contains("range",!0)){n.rangeRequested=!0;let c=e.headersList.get("range",!0),g=zH(c,!0);if(g==="failure")return Promise.resolve(_("failed to fetch the data URL"));let{rangeStartValue:h,rangeEndValue:Q}=g;if(h===null)h=o-Q,Q=h+Q-1;else{if(h>=o)return Promise.resolve(_("Range start is greater than the blob's size."));(Q===null||Q>=o)&&(Q=o-1)}let l=s.slice(h,Q+1,a),E=Mp(l);n.body=E[0];let B=ui(`${l.size}`),D=$H(h,Q,o);n.status=206,n.statusText="Partial Content",n.headersList.set("content-length",B,!0),n.headersList.set("content-type",a,!0),n.headersList.set("content-range",D,!0)}else{let c=Mp(s);n.statusText="OK",n.body=c[0],n.headersList.set("content-length",i,!0),n.headersList.set("content-type",a,!0)}return Promise.resolve(n)}case"data:":{let r=Xe(e),s=Qx(r);if(s==="failure")return Promise.resolve(_("failed to fetch the data URL"));let n=ux(s.mimeType);return Promise.resolve(Ei({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:Bi(s.body)[0]}))}case"file:":return Promise.resolve(_("not implemented... yet..."));case"http:":case"https:":return vp(A).catch(r=>_(r));default:return Promise.resolve(_("unknown scheme"))}}function wx(A,e){A.request.done=!0,A.processResponseDone!=null&&queueMicrotask(()=>A.processResponseDone(e))}function dE(A,e){let t=A.timingInfo,r=()=>{let n=Date.now();A.request.destination==="document"&&(A.controller.fullTimingInfo=t),A.controller.reportTimingSteps=()=>{if(!Ii(A.request.url))return;t.endTime=n;let i=e.cacheState,a=e.bodyInfo;e.timingAllowPassed||(t=yE(t),i="");let c=0;if(A.request.mode!=="navigator"||!e.hasCrossOriginRedirects){c=e.status;let g=Ax(e.headersList);g!=="failure"&&(a.contentType=hx(g))}A.request.initiatorType!=null&&Gp(t,A.request.url.href,A.request.initiatorType,globalThis,i,a,c)};let o=()=>{A.request.done=!0,A.processResponseEndOfBody!=null&&queueMicrotask(()=>A.processResponseEndOfBody(e)),A.request.initiatorType!=null&&A.controller.reportTimingSteps()};queueMicrotask(()=>o())};A.processResponse!=null&&queueMicrotask(()=>{A.processResponse(e),A.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?r():gx(s.body.stream,()=>{r()})}async function vp(A){let e=A.request,t=null,r=null,s=A.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=t=await pE(A),e.responseTainting==="cors"&&JH(e,t)==="failure")return _("cors failure");xH(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&PH(e.origin,e.client,e.destination,r)==="blocked"?_("blocked"):(Hp.has(r.status)&&(e.redirect!=="manual"&&A.controller.connection.destroy(void 0,!1),e.redirect==="error"?t=_("unexpected redirect"):e.redirect==="manual"?t=r:e.redirect==="follow"?t=await Rx(A,t):lr(!1)),t.timingInfo=s,t)}function Rx(A,e){let t=A.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=GH(r,Xe(t).hash),s==null)return e}catch(o){return Promise.resolve(_(o))}if(!Ii(s))return Promise.resolve(_("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(_("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!fE(t,s))return Promise.resolve(_('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(_('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(_());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!px.includes(t.method)){t.method="GET",t.body=null;for(let o of nx)t.headersList.delete(o)}fE(Xe(t),s)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(lr(t.body.source!=null),t.body=Bi(t.body.source)[0]);let n=A.timingInfo;return n.redirectEndTime=n.postRedirectStartTime=Cn(A.crossOriginIsolatedCapability),n.redirectStartTime===0&&(n.redirectStartTime=n.startTime),t.urlList.push(s),OH(t,r),Vp(A,!0)}async function pE(A,e=!1,t=!1){let r=A.request,s=null,n=null,o=null,i=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=A,n=r):(n=UH(r),s={...A},s.request=n);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=n.body?n.body.length:null,h=null;if(n.body==null&&["POST","PUT"].includes(n.method)&&(h="0"),g!=null&&(h=ui(`${g}`)),h!=null&&n.headersList.append("content-length",h,!0),g!=null&&n.keepalive,DE.is.URL(n.referrer)&&n.headersList.append("referer",ui(n.referrer.href),!0),YH(n),vH(n),n.headersList.contains("user-agent",!0)||n.headersList.append("user-agent",yx,!0),n.cache==="default"&&(n.headersList.contains("if-modified-since",!0)||n.headersList.contains("if-none-match",!0)||n.headersList.contains("if-unmodified-since",!0)||n.headersList.contains("if-match",!0)||n.headersList.contains("if-range",!0))&&(n.cache="no-store"),n.cache==="no-cache"&&!n.preventNoCacheCacheControlHeaderModification&&!n.headersList.contains("cache-control",!0)&&n.headersList.append("cache-control","max-age=0",!0),(n.cache==="no-store"||n.cache==="reload")&&(n.headersList.contains("pragma",!0)||n.headersList.append("pragma","no-cache",!0),n.headersList.contains("cache-control",!0)||n.headersList.append("cache-control","no-cache",!0)),n.headersList.contains("range",!0)&&n.headersList.append("accept-encoding","identity",!0),n.headersList.contains("accept-encoding",!0)||(XH(Xe(n))?n.headersList.append("accept-encoding","br, gzip, deflate",!0):n.headersList.append("accept-encoding","gzip, deflate",!0)),n.headersList.delete("host",!0),c&&!n.headersList.contains("authorization",!0)){let Q=null;if(!(tx(n)&&(n.useURLCredentials===void 0||!Up(Xe(n))))){if(Up(Xe(n))&&e){let{username:l,password:E}=Xe(n);Q=`Basic ${Buffer.from(`${l}:${E}`).toString("base64")}`}}Q!==null&&n.headersList.append("Authorization",Q,!1)}if(i==null&&(n.cache="no-store"),n.cache!=="no-store"&&n.cache,o==null){if(n.cache==="only-if-cached")return _("only if cached");let Q=await Sx(s,c,t);!sx.has(n.method)&&Q.status>=200&&Q.status<=399,a&&Q.status,o==null&&(o=Q)}if(o.urlList=[...n.urlList],n.headersList.contains("range",!0)&&(o.rangeRequested=!0),o.requestIncludesCredentials=c,o.status===401&&n.responseTainting!=="cors"&&c&&rx(r.traversableForUserPrompts)){if(r.body!=null){if(r.body.source==null)return _("expected non-null body source");r.body=Bi(r.body.source)[0]}if(r.useURLCredentials===void 0||e)return St(A)?Bn(A):o;A.controller.connection.destroy(),o=await pE(A,!0)}if(o.status===407)return r.window==="no-window"?_():St(A)?Bn(A):_("proxy authentication required");if(o.status===421&&!t&&(r.body==null||r.body.source!=null)){if(St(A))return Bn(A);A.controller.connection.destroy(),o=await pE(A,e,!0)}return o}async function Sx(A,e=!1,t=!1){lr(!A.controller.connection||A.controller.connection.destroyed),A.controller.connection={abort:null,destroyed:!1,destroy(E,B=!0){this.destroyed||(this.destroyed=!0,B&&this.abort?.(E??new DOMException("The operation was aborted.","AbortError")))}};let r=A.request,s=null,n=A.timingInfo;null==null&&(r.cache="no-store");let i=t?"yes":"no";r.mode;let a=null;if(r.body==null&&A.processRequestEndOfBody)queueMicrotask(()=>A.processRequestEndOfBody());else if(r.body!=null){let E=async function*(C){St(A)||(yield C,A.processRequestBodyChunkLength?.(C.byteLength))},B=()=>{St(A)||A.processRequestEndOfBody&&A.processRequestEndOfBody()},D=C=>{St(A)||(C.name==="AbortError"?A.controller.abort():A.controller.terminate(C))};a=(async function*(){try{for await(let C of r.body.stream)yield*E(C);B()}catch(C){D(C)}})()}try{let{body:E,status:B,statusText:D,headersList:C,socket:f}=await l({body:a});if(f)s=Ei({status:B,statusText:D,headersList:C,socket:f});else{let y=E[Symbol.asyncIterator]();A.controller.next=()=>y.next(),s=Ei({status:B,statusText:D,headersList:C})}}catch(E){return E.name==="AbortError"?(A.controller.connection.destroy(),Bn(A,E)):_(E)}let c=()=>A.controller.resume(),g=E=>{St(A)||A.controller.abort(E)},h=new ReadableStream({start(E){A.controller.controller=E},pull:c,cancel:g,type:"bytes"});s.body={stream:h,source:null,length:null},A.controller.resume||A.controller.on("terminated",Q),A.controller.resume=async()=>{for(;;){let E,B;try{let{done:C,value:f}=await A.controller.next();if(bp(A))break;E=C?void 0:f}catch(C){A.controller.ended&&!n.encodedBodySize?E=void 0:(E=C,B=!0)}if(E===void 0){ZH(A.controller.controller),wx(A,s);return}if(n.decodedBodySize+=E?.byteLength??0,B){A.controller.terminate(E);return}let D=new Uint8Array(E);if(D.byteLength&&A.controller.controller.enqueue(D),lx(h)){A.controller.terminate();return}if(A.controller.controller.desiredSize<=0)return}};function Q(E){bp(A)?(s.aborted=!0,Qi(h)&&A.controller.controller.error(A.controller.serializedAbortReason)):Qi(h)&&A.controller.controller.error(new TypeError("terminated",{cause:WH(E)?E:void 0})),A.controller.connection.destroy()}return s;function l({body:E}){let B=Xe(r),D=A.controller.dispatcher,C=B.pathname+B.search,f=B.search.length===0&&B.href[B.href.length-B.hash.length-1]==="?";return new Promise((y,T)=>D.dispatch({path:f?`${C}?`:C,origin:B.origin,method:r.method,body:D.isMockActive?r.body&&(r.body.source||r.body.stream):E,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(U){let{connection:k}=A.controller;n.finalConnectionTimingInfo=KH(void 0,n.postRedirectStartTime,A.crossOriginIsolatedCapability),k.destroyed?U(new DOMException("The operation was aborted.","AbortError")):(A.controller.on("terminated",U),this.abort=k.abort=U),n.finalNetworkRequestStartTime=Cn(A.crossOriginIsolatedCapability)},onResponseStarted(){n.finalNetworkResponseStartTime=Cn(A.crossOriginIsolatedCapability)},onHeaders(U,k,w,F){if(U<200)return!1;let L=new IE;for(let ie=0;ie<k.length;ie+=2)L.append(Tp(k[ie]),k[ie+1].toString("latin1"),!0);let z=L.get("location",!0);this.body=new ax({read:w});let fe=z&&r.redirect==="follow"&&Hp.has(U),ce=[];if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!xp.includes(U)&&!fe){let ie=L.get("content-encoding",!0),$e=ie?ie.toLowerCase().split(","):[],dr=5;if($e.length>dr)return T(new Error(`too many content-encodings in response: ${$e.length}, maximum allowed is ${dr}`)),!0;for(let Tt=$e.length-1;Tt>=0;--Tt){let kt=$e[Tt].trim();if(kt==="x-gzip"||kt==="gzip")ce.push(CA.createGunzip({flush:CA.constants.Z_SYNC_FLUSH,finishFlush:CA.constants.Z_SYNC_FLUSH}));else if(kt==="deflate")ce.push(ex({flush:CA.constants.Z_SYNC_FLUSH,finishFlush:CA.constants.Z_SYNC_FLUSH}));else if(kt==="br")ce.push(CA.createBrotliDecompress({flush:CA.constants.BROTLI_OPERATION_FLUSH,finishFlush:CA.constants.BROTLI_OPERATION_FLUSH}));else if(kt==="zstd"&&fx)ce.push(CA.createZstdDecompress({flush:CA.constants.ZSTD_e_continue,finishFlush:CA.constants.ZSTD_e_end}));else{ce.length=0;break}}}let Ge=this.onError.bind(this);return y({status:U,statusText:F,headersList:L,body:ce.length?cx(this.body,...ce,ie=>{ie&&this.onError(ie)}).on("error",Ge):this.body.on("error",Ge)}),!0},onData(U){if(A.controller.dump)return;let k=U;return n.encodedBodySize+=k.byteLength,this.body.push(k)},onComplete(){this.abort&&A.controller.off("terminated",this.abort),A.controller.ended=!0,this.body.push(null)},onError(U){this.abort&&A.controller.off("terminated",this.abort),this.body?.destroy(U),A.controller.terminate(U),T(U)},onRequestUpgrade(U,k,w,F){if(F.session!=null&&k!==200||F.session==null&&k!==101)return!1;let L=new IE;for(let[z,fe]of Object.entries(w)){if(fe==null)continue;let ce=z.toLowerCase();if(Array.isArray(fe))for(let Ge of fe)L.append(ce,String(Ge),!0);else L.append(ce,String(fe),!0)}return y({status:k,statusText:kp[k],headersList:L,socket:F}),!0},onUpgrade(U,k,w){if(w.session!=null&&U!==200||w.session==null&&U!==101)return!1;let F=new IE;for(let L=0;L<k.length;L+=2)F.append(Tp(k[L]),k[L+1].toString("latin1"),!0);return y({status:U,statusText:kp[U],headersList:F,socket:w}),!0}}))}}Jp.exports={fetch:mx,Fetch:hi,fetching:Op,finalizeAndReportTiming:Yp}});var Wp=p((zv,qp)=>{"use strict";var Nx=require("node:assert"),{URLSerializer:Pp}=tA(),{isValidHeaderName:Fx}=ve();function bx(A,e,t=!1){let r=Pp(A,t),s=Pp(e,t);return r===s}function Ux(A){Nx(A!==null);let e=[];for(let t of A.split(","))t=t.trim(),Fx(t)&&e.push(t);return e}qp.exports={urlEquals:bx,getFieldValues:Ux}});var Xp=p(($v,jp)=>{"use strict";var mE=require("node:assert"),{kConstruct:Mx}=Z(),{urlEquals:Tx,getFieldValues:wE}=Wp(),{kEnumerableProperty:Er,isDisturbed:kx}=G(),{webidl:R}=pe(),{cloneResponse:_p,fromInnerResponse:Lx,getResponseState:Hx}=In(),{Request:fn,fromInnerRequest:xx,getRequestState:xA}=As(),{fetching:Yx}=dn(),{urlIsHttpHttpsScheme:Ci,readAllBytes:Gx}=ve(),{createDeferredPromise:ts}=Us(),di=class A{#e;constructor(){arguments[0]!==Mx&&R.illegalConstructor(),R.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,t={}){R.brandCheck(this,A);let r="Cache.match";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=this.#n(e,t,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.matchAll";return e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options"),this.#n(e,t)}async add(e){R.brandCheck(this,A),R.argumentLengthCheck(arguments,1,"Cache.add"),e=R.converters.RequestInfo(e);let r=[e];return await this.addAll(r)}async addAll(e){R.brandCheck(this,A);let t="Cache.addAll";R.argumentLengthCheck(arguments,1,t);let r=[],s=[];for(let Q of e){if(Q===void 0)throw R.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(Q=R.converters.RequestInfo(Q),typeof Q=="string")continue;let l=xA(Q);if(!Ci(l.url)||l.method!=="GET")throw R.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let n=[];for(let Q of e){let l=xA(new fn(Q));if(!Ci(l.url))throw R.errors.exception({header:t,message:"Expected http/s scheme."});l.initiator="fetch",l.destination="subresource",s.push(l);let E=ts();n.push(Yx({request:l,processResponse(B){if(B.type==="error"||B.status===206||B.status<200||B.status>299)E.reject(R.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(B.headersList.contains("vary")){let D=wE(B.headersList.get("vary"));for(let C of D)if(C==="*"){E.reject(R.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let f of n)f.abort();return}}},processResponseEndOfBody(B){if(B.aborted){E.reject(new DOMException("aborted","AbortError"));return}E.resolve(B)}})),r.push(E.promise)}let i=await Promise.all(r),a=[],c=0;for(let Q of i){let l={type:"put",request:s[c],response:Q};a.push(l),c++}let g=ts(),h=null;try{this.#A(a)}catch(Q){h=Q}return queueMicrotask(()=>{h===null?g.resolve(void 0):g.reject(h)}),g.promise}async put(e,t){R.brandCheck(this,A);let r="Cache.put";R.argumentLengthCheck(arguments,2,r),e=R.converters.RequestInfo(e),t=R.converters.Response(t,r,"response");let s=null;if(R.is.Request(e)?s=xA(e):s=xA(new fn(e)),!Ci(s.url)||s.method!=="GET")throw R.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let n=Hx(t);if(n.status===206)throw R.errors.exception({header:r,message:"Got 206 status"});if(n.headersList.contains("vary")){let l=wE(n.headersList.get("vary"));for(let E of l)if(E==="*")throw R.errors.exception({header:r,message:"Got * vary field value"})}if(n.body&&(kx(n.body.stream)||n.body.stream.locked))throw R.errors.exception({header:r,message:"Response body is locked or disturbed"});let o=_p(n),i=ts();if(n.body!=null){let E=n.body.stream.getReader();Gx(E,i.resolve,i.reject)}else i.resolve(void 0);let a=[],c={type:"put",request:s,response:o};a.push(c);let g=await i.promise;o.body!=null&&(o.body.source=g);let h=ts(),Q=null;try{this.#A(a)}catch(l){Q=l}return queueMicrotask(()=>{Q===null?h.resolve():h.reject(Q)}),h.promise}async delete(e,t={}){R.brandCheck(this,A);let r="Cache.delete";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return!1}else mE(typeof e=="string"),s=xA(new fn(e));let n=[],o={type:"delete",request:s,options:t};n.push(o);let i=ts(),a=null,c;try{c=this.#A(n)}catch(g){a=g}return queueMicrotask(()=>{a===null?i.resolve(!!c?.length):i.reject(a)}),i.promise}async keys(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.keys";e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=xA(new fn(e)));let n=ts(),o=[];if(e===void 0)for(let i of this.#e)o.push(i[0]);else{let i=this.#t(s,t);for(let a of i)o.push(a[0])}return queueMicrotask(()=>{let i=[];for(let a of o){let c=xx(a,void 0,new AbortController().signal,"immutable");i.push(c)}n.resolve(Object.freeze(i))}),n.promise}#A(e){let t=this.#e,r=[...t],s=[],n=[];try{for(let o of e){if(o.type!=="delete"&&o.type!=="put")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(o.type==="delete"&&o.response!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(o.request,o.options,s).length)throw new DOMException("???","InvalidStateError");let i;if(o.type==="delete"){if(i=this.#t(o.request,o.options),i.length===0)return[];for(let a of i){let c=t.indexOf(a);mE(c!==-1),t.splice(c,1)}}else if(o.type==="put"){if(o.response==null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=o.request;if(!Ci(a.url))throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(o.options!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});i=this.#t(o.request);for(let c of i){let g=t.indexOf(c);mE(g!==-1),t.splice(g,1)}t.push([o.request,o.response]),s.push([o.request,o.response])}n.push([o.request,o.response])}return n}catch(o){throw this.#e.length=0,this.#e=r,o}}#t(e,t,r){let s=[],n=r??this.#e;for(let o of n){let[i,a]=o;this.#r(e,i,a,t)&&s.push(o)}return s}#r(e,t,r=null,s){let n=new URL(e.url),o=new URL(t.url);if(s?.ignoreSearch&&(o.search="",n.search=""),!Tx(n,o,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let i=wE(r.headersList.get("vary"));for(let a of i){if(a==="*")return!1;let c=t.headersList.get(a),g=e.headersList.get(a);if(c!==g)return!1}return!0}#n(e,t,r=1/0){let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=xA(new fn(e)));let n=[];if(e===void 0)for(let i of this.#e)n.push(i[1]);else{let i=this.#t(s,t);for(let a of i)n.push(a[1])}let o=[];for(let i of n){let a=Lx(_p(i),"immutable");if(o.push(a),o.length>=r)break}return Object.freeze(o)}};Object.defineProperties(di.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Er,matchAll:Er,add:Er,addAll:Er,put:Er,delete:Er,keys:Er});var Zp=[{key:"ignoreSearch",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:R.converters.boolean,defaultValue:()=>!1}];R.converters.CacheQueryOptions=R.dictionaryConverter(Zp);R.converters.MultiCacheQueryOptions=R.dictionaryConverter([...Zp,{key:"cacheName",converter:R.converters.DOMString}]);R.converters.Response=R.interfaceConverter(R.is.Response,"Response");R.converters["sequence<RequestInfo>"]=R.sequenceConverter(R.converters.RequestInfo);jp.exports={Cache:di}});var zp=p((eJ,Kp)=>{"use strict";var{Cache:fi}=Xp(),{webidl:me}=pe(),{kEnumerableProperty:pn}=G(),{kConstruct:yn}=Z(),pi=class A{#e=new Map;constructor(){arguments[0]!==yn&&me.illegalConstructor(),me.util.markAsUncloneable(this)}async match(e,t={}){if(me.brandCheck(this,A),me.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=me.converters.RequestInfo(e),t=me.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let r=this.#e.get(t.cacheName);return await new fi(yn,r).match(e,t)}}else for(let r of this.#e.values()){let n=await new fi(yn,r).match(e,t);if(n!==void 0)return n}}async has(e){me.brandCheck(this,A);let t="CacheStorage.has";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)}async open(e){me.brandCheck(this,A);let t="CacheStorage.open";if(me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new fi(yn,s)}let r=[];return this.#e.set(e,r),new fi(yn,r)}async delete(e){me.brandCheck(this,A);let t="CacheStorage.delete";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.delete(e)}async keys(){return me.brandCheck(this,A),[...this.#e.keys()]}};Object.defineProperties(pi.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:pn,has:pn,open:pn,delete:pn,keys:pn});Kp.exports={CacheStorage:pi}});var ey=p((AJ,$p)=>{"use strict";$p.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var RE=p((tJ,ny)=>{"use strict";function Ox(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function Ay(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===60||t===62||t===64||t===44||t===59||t===58||t===92||t===47||t===91||t===93||t===63||t===61||t===123||t===125)throw new Error("Invalid cookie name")}}function ty(A){let e=A.length,t=0;if(A[0]==='"'){if(e===1||A[e-1]!=='"')throw new Error("Invalid cookie value");--e,++t}for(;t<e;){let r=A.charCodeAt(t++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function ry(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<32||t===127||t===59)throw new Error("Invalid cookie path")}}function Vx(A){if(A.startsWith("-")||A.endsWith(".")||A.endsWith("-"))throw new Error("Invalid cookie domain")}var vx=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Jx=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],yi=Array(61).fill(0).map((A,e)=>e.toString().padStart(2,"0"));function sy(A){return typeof A=="number"&&(A=new Date(A)),`${vx[A.getUTCDay()]}, ${yi[A.getUTCDate()]} ${Jx[A.getUTCMonth()]} ${A.getUTCFullYear()} ${yi[A.getUTCHours()]}:${yi[A.getUTCMinutes()]}:${yi[A.getUTCSeconds()]} GMT`}function Px(A){if(A<0)throw new Error("Invalid cookie max-age")}function qx(A){if(A.name.length===0)return null;Ay(A.name),ty(A.value);let e=[`${A.name}=${A.value}`];A.name.startsWith("__Secure-")&&(A.secure=!0),A.name.startsWith("__Host-")&&(A.secure=!0,A.domain=null,A.path="/"),A.secure&&e.push("Secure"),A.httpOnly&&e.push("HttpOnly"),typeof A.maxAge=="number"&&(Px(A.maxAge),e.push(`Max-Age=${A.maxAge}`)),A.domain&&(Vx(A.domain),e.push(`Domain=${A.domain}`)),A.path&&(ry(A.path),e.push(`Path=${A.path}`)),A.expires&&A.expires.toString()!=="Invalid Date"&&e.push(`Expires=${sy(A.expires)}`),A.sameSite&&e.push(`SameSite=${A.sameSite}`);for(let t of A.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");e.push(`${r.trim()}=${s.join("=")}`)}return e.join("; ")}ny.exports={isCTLExcludingHtab:Ox,validateCookieName:Ay,validateCookiePath:ry,validateCookieValue:ty,toIMFDate:sy,stringify:qx}});var iy=p((rJ,oy)=>{"use strict";var{collectASequenceOfCodePointsFast:Di}=vA(),{maxNameValuePairSize:Wx,maxAttributeValueSize:_x}=ey(),{isCTLExcludingHtab:Zx}=RE(),jx=require("node:assert"),{unescape:Xx}=require("node:querystring");function Kx(A){if(Zx(A))return null;let e="",t="",r="",s="";if(A.includes(";")){let n={position:0};e=Di(";",A,n),t=A.slice(n.position)}else e=A;if(!e.includes("="))s=e;else{let n={position:0};r=Di("=",e,n),s=e.slice(n.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>Wx?null:{name:r,value:Xx(s),...rs(t)}}function rs(A,e={}){if(A.length===0)return e;jx(A[0]===";"),A=A.slice(1);let t="";A.includes(";")?(t=Di(";",A,{position:0}),A=A.slice(t.length)):(t=A,A="");let r="",s="";if(t.includes("=")){let o={position:0};r=Di("=",t,o),s=t.slice(o.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>_x)return rs(A,e);let n=r.toLowerCase();if(n==="expires"){let o=new Date(s);e.expires=o}else if(n==="max-age"){let o=s.charCodeAt(0);if((o<48||o>57)&&s[0]!=="-"||!/^\d+$/.test(s))return rs(A,e);let i=Number(s);e.maxAge=i}else if(n==="domain"){let o=s;o[0]==="."&&(o=o.slice(1)),o=o.toLowerCase(),e.domain=o}else if(n==="path"){let o="";s.length===0||s[0]!=="/"?o="/":o=s,e.path=o}else if(n==="secure")e.secure=!0;else if(n==="httponly")e.httpOnly=!0;else if(n==="samesite"){let o="Default",i=s.toLowerCase();i.includes("none")&&(o="None"),i.includes("strict")&&(o="Strict"),i.includes("lax")&&(o="Lax"),e.sameSite=o}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return rs(A,e)}oy.exports={parseSetCookie:Kx,parseUnparsedAttributes:rs}});var ly=p((sJ,gy)=>{"use strict";var{parseSetCookie:ay}=iy(),{stringify:zx}=RE(),{webidl:P}=pe(),{Headers:$x}=ar(),mi=P.brandCheckMultiple([$x,globalThis.Headers].filter(Boolean));function eY(A){P.argumentLengthCheck(arguments,1,"getCookies"),mi(A);let e=A.get("cookie"),t={};if(!e)return t;for(let r of e.split(";")){let[s,...n]=r.split("=");t[s.trim()]=n.join("=")}return t}function AY(A,e,t){mi(A);let r="deleteCookie";P.argumentLengthCheck(arguments,2,r),e=P.converters.DOMString(e,r,"name"),t=P.converters.DeleteCookieAttributes(t),cy(A,{name:e,value:"",expires:new Date(0),...t})}function tY(A){P.argumentLengthCheck(arguments,1,"getSetCookies"),mi(A);let e=A.getSetCookie();return e?e.map(t=>ay(t)):[]}function rY(A){return A=P.converters.DOMString(A),ay(A)}function cy(A,e){P.argumentLengthCheck(arguments,2,"setCookie"),mi(A),e=P.converters.Cookie(e);let t=zx(e);t&&A.append("set-cookie",t,!0)}P.converters.DeleteCookieAttributes=P.dictionaryConverter([{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null}]);P.converters.Cookie=P.dictionaryConverter([{converter:P.converters.DOMString,key:"name"},{converter:P.converters.DOMString,key:"value"},{converter:P.nullableConverter(A=>typeof A=="number"?P.converters["unsigned long long"](A):new Date(A)),key:"expires",defaultValue:()=>null},{converter:P.nullableConverter(P.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"secure",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:P.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:P.sequenceConverter(P.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]);gy.exports={getCookies:eY,deleteCookie:AY,getSetCookies:tY,setCookie:cy,parseCookie:rY}});var Si=p((nJ,Qy)=>{"use strict";var{webidl:S}=pe(),{kEnumerableProperty:He}=G(),{kConstruct:Ey}=Z(),ss=class A extends Event{#e;constructor(e,t={}){if(e===Ey){super(arguments[1],arguments[2]),S.util.markAsUncloneable(this);return}let r="MessageEvent constructor";S.argumentLengthCheck(arguments,1,r),e=S.converters.DOMString(e,r,"type"),t=S.converters.MessageEventInit(t,r,"eventInitDict"),super(e,t),this.#e=t,S.util.markAsUncloneable(this)}get data(){return S.brandCheck(this,A),this.#e.data}get origin(){return S.brandCheck(this,A),this.#e.origin}get lastEventId(){return S.brandCheck(this,A),this.#e.lastEventId}get source(){return S.brandCheck(this,A),this.#e.source}get ports(){return S.brandCheck(this,A),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,t=!1,r=!1,s=null,n="",o="",i=null,a=[]){return S.brandCheck(this,A),S.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new A(e,{bubbles:t,cancelable:r,data:s,origin:n,lastEventId:o,source:i,ports:a})}static createFastMessageEvent(e,t){let r=new A(Ey,e,t);return r.#e=t,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:sY}=ss;delete ss.createFastMessageEvent;var wi=class A extends Event{#e;constructor(e,t={}){let r="CloseEvent constructor";S.argumentLengthCheck(arguments,1,r),e=S.converters.DOMString(e,r,"type"),t=S.converters.CloseEventInit(t),super(e,t),this.#e=t,S.util.markAsUncloneable(this)}get wasClean(){return S.brandCheck(this,A),this.#e.wasClean}get code(){return S.brandCheck(this,A),this.#e.code}get reason(){return S.brandCheck(this,A),this.#e.reason}},Ri=class A extends Event{#e;constructor(e,t){let r="ErrorEvent constructor";S.argumentLengthCheck(arguments,1,r),super(e,t),S.util.markAsUncloneable(this),e=S.converters.DOMString(e,r,"type"),t=S.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return S.brandCheck(this,A),this.#e.message}get filename(){return S.brandCheck(this,A),this.#e.filename}get lineno(){return S.brandCheck(this,A),this.#e.lineno}get colno(){return S.brandCheck(this,A),this.#e.colno}get error(){return S.brandCheck(this,A),this.#e.error}};Object.defineProperties(ss.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:He,origin:He,lastEventId:He,source:He,ports:He,initMessageEvent:He});Object.defineProperties(wi.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:He,code:He,wasClean:He});Object.defineProperties(Ri.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:He,filename:He,lineno:He,colno:He,error:He});S.converters.MessagePort=S.interfaceConverter(S.is.MessagePort,"MessagePort");S.converters["sequence<MessagePort>"]=S.sequenceConverter(S.converters.MessagePort);var SE=[{key:"bubbles",converter:S.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:S.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:S.converters.boolean,defaultValue:()=>!1}];S.converters.MessageEventInit=S.dictionaryConverter([...SE,{key:"data",converter:S.converters.any,defaultValue:()=>null},{key:"origin",converter:S.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:S.converters.DOMString,defaultValue:()=>""},{key:"source",converter:S.nullableConverter(S.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:S.converters["sequence<MessagePort>"],defaultValue:()=>[]}]);S.converters.CloseEventInit=S.dictionaryConverter([...SE,{key:"wasClean",converter:S.converters.boolean,defaultValue:()=>!1},{key:"code",converter:S.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:S.converters.USVString,defaultValue:()=>""}]);S.converters.ErrorEventInit=S.dictionaryConverter([...SE,{key:"message",converter:S.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:S.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:S.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:S.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:S.converters.any}]);Qy.exports={MessageEvent:ss,CloseEvent:wi,ErrorEvent:Ri,createFastMessageEvent:sY}});var Nt=p((oJ,uy)=>{"use strict";var nY="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",oY={enumerable:!0,writable:!1,configurable:!1},iY={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},aY={SENT:1,RECEIVED:2},cY={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},gY=65535,lY={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},EY=Buffer.allocUnsafe(0),QY={text:1,typedArray:2,arrayBuffer:3,blob:4};uy.exports={uid:nY,sentCloseFrameState:aY,staticPropertyDescriptors:oY,states:iY,opcodes:cY,maxUnsigned16Bit:gY,parserStates:lY,emptyBuffer:EY,sendHints:QY}});var Qr=p((iJ,dy)=>{"use strict";var{states:Ni,opcodes:ns}=Nt(),{isUtf8:uY}=require("node:buffer"),{removeHTTPWhitespace:hy}=tA(),{collectASequenceOfCodePointsFast:hY}=vA();function IY(A){return A===Ni.CONNECTING}function BY(A){return A===Ni.OPEN}function CY(A){return A===Ni.CLOSING}function dY(A){return A===Ni.CLOSED}function fY(A,e,t=(s,n)=>new Event(s,n),r={}){let s=t(A,r);e.dispatchEvent(s)}function pY(A,e,t){A.onMessage(e,t)}function yY(A){return A.byteLength===A.buffer.byteLength?A.buffer:new Uint8Array(A).buffer}function DY(A){if(A.length===0)return!1;for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===44||t===47||t===58||t===59||t===60||t===61||t===62||t===63||t===64||t===91||t===92||t===93||t===123||t===125)return!1}return!0}function mY(A){return A>=1e3&&A<1015?A!==1004&&A!==1005&&A!==1006:A>=3e3&&A<=4999}function Iy(A){return A===ns.CLOSE||A===ns.PING||A===ns.PONG}function By(A){return A===ns.CONTINUATION}function Cy(A){return A===ns.TEXT||A===ns.BINARY}function wY(A){return Cy(A)||By(A)||Iy(A)}function RY(A){let e={position:0},t=new Map;for(;e.position<A.length;){let r=hY(";",A,e),[s,n=""]=r.split("=",2);t.set(hy(s,!0,!1),hy(n,!1,!0)),e.position++}return t}function SY(A){if(A.length===0)return!1;for(let t=0;t<A.length;t++){let r=A.charCodeAt(t);if(r<48||r>57)return!1}let e=Number.parseInt(A,10);return e>=8&&e<=15}function NY(A,e){let t;try{t=new URL(A,e)}catch(r){throw new DOMException(r,"SyntaxError")}if(t.protocol==="http:"?t.protocol="ws:":t.protocol==="https:"&&(t.protocol="wss:"),t.protocol!=="ws:"&&t.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(t.hash.length||t.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return t}function FY(A,e){if(A!==null&&A!==1e3&&(A<3e3||A>4999))throw new DOMException("invalid code","InvalidAccessError");if(e!==null){let t=Buffer.byteLength(e);if(t>123)throw new DOMException(`Reason must be less than 123 bytes; received ${t}`,"SyntaxError")}}var bY=(()=>{if(typeof process.versions.icu=="string"){let A=new TextDecoder("utf-8",{fatal:!0});return A.decode.bind(A)}return function(A){if(uY(A))return A.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();dy.exports={isConnecting:IY,isEstablished:BY,isClosing:CY,isClosed:dY,fireEvent:fY,isValidSubprotocol:DY,isValidStatusCode:mY,websocketMessageReceived:pY,utf8Decode:bY,isControlFrame:Iy,isContinuationFrame:By,isTextBinaryFrame:Cy,isValidOpcode:wY,parseExtensions:RY,isValidClientWindowBits:SY,toArrayBuffer:yY,getURLRecord:NY,validateCloseCodeAndReason:FY}});var is=p((aJ,py)=>{"use strict";var{runtimeFeatures:UY}=JA(),{maxUnsigned16Bit:fy,opcodes:MY}=Nt(),Fi=8*1024,Dn=null,os=Fi,TY=UY.has("crypto")?require("node:crypto").randomFillSync:function(e,t,r){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e};function NE(){return os===Fi&&(os=0,TY(Dn??=Buffer.allocUnsafeSlow(Fi),0,Fi)),[Dn[os++],Dn[os++],Dn[os++],Dn[os++]]}var FE=class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,r=NE(),s=t?.byteLength??0,n=s,o=6;s>fy?(o+=8,n=127):s>125&&(o+=2,n=126);let i=Buffer.allocUnsafe(s+o);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+e;i[o-4]=r[0],i[o-3]=r[1],i[o-2]=r[2],i[o-1]=r[3],i[1]=n,n===126?i.writeUInt16BE(s,2):n===127&&(i[2]=i[3]=0,i.writeUIntBE(s,4,6)),i[1]|=128;for(let a=0;a<s;++a)i[o+a]=t[a]^r[a&3];return i}static createFastTextFrame(e){let t=NE(),r=e.length;for(let i=0;i<r;++i)e[i]^=t[i&3];let s=r,n=6;r>fy?(n+=8,s=127):r>125&&(n+=2,s=126);let o=Buffer.allocUnsafeSlow(n);return o[0]=128|MY.TEXT,o[1]=s|128,o[n-4]=t[0],o[n-3]=t[1],o[n-2]=t[2],o[n-1]=t[3],s===126?o.writeUInt16BE(r,2):s===127&&(o[2]=o[3]=0,o.writeUIntBE(r,4,6)),[o,e]}};py.exports={WebsocketFrameSend:FE,generateMask:NE}});var bi=p((cJ,Sy)=>{"use strict";var{uid:kY,states:bE,sentCloseFrameState:UE,emptyBuffer:yy,opcodes:LY}=Nt(),{parseExtensions:HY,isClosed:xY,isClosing:YY,isEstablished:wy,isConnecting:GY,validateCloseCodeAndReason:OY}=Qr(),{makeRequest:VY}=As(),{fetching:vY}=dn(),{Headers:JY,getHeadersList:PY}=ar(),{getDecodeSplit:qY}=ve(),{WebsocketFrameSend:WY}=is(),_Y=require("node:assert"),{runtimeFeatures:ZY}=JA(),Dy=ZY.has("crypto")?require("node:crypto"):null,my=!1;function jY(A,e,t,r,s){let n=A;n.protocol=A.protocol==="ws:"?"http:":"https:";let o=VY({urlList:[n],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(s.headers){let g=PY(new JY(s.headers));o.headersList=g}let i=Dy.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",i,!0),o.headersList.append("sec-websocket-version","13",!0);for(let g of e)o.headersList.append("sec-websocket-protocol",g,!0);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),vY({request:o,useParallelQueue:!0,dispatcher:s.dispatcher,processResponse(g){if(g.type==="error"||g.status!==101){if(g.socket?.session==null){YA(r,1002,"Received network error or non-101 status code.",g.error);return}if(g.status!==200){YA(r,1002,"Received network error or non-200 status code.",g.error);return}}if(my===!1&&g.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),my=!0),e.length!==0&&!g.headersList.get("Sec-WebSocket-Protocol")){YA(r,1002,"Server did not respond with sent protocols.");return}if(g.socket.session==null&&g.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){YA(r,1002,'Server did not set Upgrade header to "websocket".');return}if(g.socket.session==null&&g.headersList.get("Connection")?.toLowerCase()!=="upgrade"){YA(r,1002,'Server did not set Connection header to "upgrade".');return}let h=g.headersList.get("Sec-WebSocket-Accept"),Q=Dy.hash("sha1",i+kY,"base64");if(h!==Q){YA(r,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let l=g.headersList.get("Sec-WebSocket-Extensions"),E;if(l!==null&&(E=HY(l),!E.has("permessage-deflate"))){YA(r,1002,"Sec-WebSocket-Extensions header does not match.");return}let B=g.headersList.get("Sec-WebSocket-Protocol");if(B!==null&&!qY("sec-websocket-protocol",o.headersList).includes(B)){YA(r,1002,"Protocol was not set in the opening handshake.");return}g.socket.on("data",r.onSocketData),g.socket.on("close",r.onSocketClose),g.socket.on("error",r.onSocketError),r.wasEverConnected=!0,r.onConnectionEstablished(g,E)}})}function Ry(A,e,t,r=!1){if(e??=null,t??="",r&&OY(e,t),!(xY(A.readyState)||YY(A.readyState)))if(!wy(A.readyState))YA(A),A.readyState=bE.CLOSING;else if(!A.closeState.has(UE.SENT)&&!A.closeState.has(UE.RECEIVED)){let s=new WY;t.length!==0&&e===null&&(e=1e3),_Y(e===null||Number.isInteger(e)),e===null&&t.length===0?s.frameData=yy:e!==null&&t===null?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==null&&t!==null?(s.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(t)),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=yy,A.socket.write(s.createFrame(LY.CLOSE)),A.closeState.add(UE.SENT),A.readyState=bE.CLOSING}else A.readyState=bE.CLOSING}function YA(A,e,t,r){wy(A.readyState)&&Ry(A,e,t,!1),A.controller.abort(),GY(A.readyState)?A.onSocketClose():A.socket?.destroyed===!1&&A.socket.destroy()}Sy.exports={establishWebSocketConnection:jY,failWebsocketConnection:YA,closeWebSocketConnection:Ry}});var by=p((gJ,Fy)=>{"use strict";var{createInflateRaw:XY,Z_DEFAULT_WINDOWBITS:KY}=require("node:zlib"),{isValidClientWindowBits:zY}=Qr(),{MessageSizeExceededError:Ny}=Y(),$Y=Buffer.from([0,0,255,255]),Ui=Symbol("kBuffer"),mn=Symbol("kLength"),eG=4*1024*1024,ME=class{#e;#A={};#t=!1;#r=null;constructor(e){this.#A.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#A.serverMaxWindowBits=e.get("server_max_window_bits")}decompress(e,t,r){if(this.#t){r(new Ny);return}if(!this.#e){let s=KY;if(this.#A.serverMaxWindowBits){if(!zY(this.#A.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#A.serverMaxWindowBits)}try{this.#e=XY({windowBits:s})}catch(n){r(n);return}this.#e[Ui]=[],this.#e[mn]=0,this.#e.on("data",n=>{if(!this.#t){if(this.#e[mn]+=n.length,this.#e[mn]>eG){if(this.#t=!0,this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null,this.#r){let o=this.#r;this.#r=null,o(new Ny)}return}this.#e[Ui].push(n)}}),this.#e.on("error",n=>{this.#e=null,r(n)})}this.#r=r,this.#e.write(e),t&&this.#e.write($Y),this.#e.flush(()=>{if(this.#t||!this.#e)return;let s=Buffer.concat(this.#e[Ui],this.#e[mn]);this.#e[Ui].length=0,this.#e[mn]=0,this.#r=null,r(null,s)})}};Fy.exports={PerMessageDeflate:ME}});var LE=p((lJ,Ly)=>{"use strict";var{Writable:AG}=require("node:stream"),tG=require("node:assert"),{parserStates:xe,opcodes:as,states:rG,emptyBuffer:Uy,sentCloseFrameState:wn}=Nt(),{isValidStatusCode:sG,isValidOpcode:nG,websocketMessageReceived:My,utf8Decode:oG,isControlFrame:Ty,isTextBinaryFrame:TE,isContinuationFrame:iG}=Qr(),{failWebsocketConnection:Ke}=bi(),{WebsocketFrameSend:ky}=is(),{PerMessageDeflate:aG}=by(),{MessageSizeExceededError:cG}=Y(),kE=class extends AG{#e=[];#A=0;#t=0;#r=!1;#n=xe.INFO;#s={};#a=[];#o;#i;constructor(e,t){super(),this.#i=e,this.#o=t??new Map,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new aG(t))}_write(e,t,r){this.#e.push(e),this.#t+=e.length,this.#r=!0,this.run(r)}run(e){for(;this.#r;)if(this.#n===xe.INFO){if(this.#t<2)return e();let t=this.consume(2),r=(t[0]&128)!==0,s=t[0]&15,n=(t[1]&128)===128,o=!r&&s!==as.CONTINUATION,i=t[1]&127,a=t[0]&64,c=t[0]&32,g=t[0]&16;if(!nG(s))return Ke(this.#i,1002,"Invalid opcode received"),e();if(n)return Ke(this.#i,1002,"Frame cannot be masked"),e();if(a!==0&&!this.#o.has("permessage-deflate")){Ke(this.#i,1002,"Expected RSV1 to be clear.");return}if(c!==0||g!==0){Ke(this.#i,1002,"RSV1, RSV2, RSV3 must be clear");return}if(o&&!TE(s)){Ke(this.#i,1002,"Invalid frame type was fragmented.");return}if(TE(s)&&this.#a.length>0){Ke(this.#i,1002,"Expected continuation frame");return}if(this.#s.fragmented&&o){Ke(this.#i,1002,"Fragmented frame exceeded 125 bytes.");return}if((i>125||o)&&Ty(s)){Ke(this.#i,1002,"Control frame either too large or fragmented");return}if(iG(s)&&this.#a.length===0&&!this.#s.compressed){Ke(this.#i,1002,"Unexpected continuation frame");return}i<=125?(this.#s.payloadLength=i,this.#n=xe.READ_DATA):i===126?this.#n=xe.PAYLOADLENGTH_16:i===127&&(this.#n=xe.PAYLOADLENGTH_64),TE(s)&&(this.#s.binaryType=s,this.#s.compressed=a!==0),this.#s.opcode=s,this.#s.masked=n,this.#s.fin=r,this.#s.fragmented=o}else if(this.#n===xe.PAYLOADLENGTH_16){if(this.#t<2)return e();let t=this.consume(2);this.#s.payloadLength=t.readUInt16BE(0),this.#n=xe.READ_DATA}else if(this.#n===xe.PAYLOADLENGTH_64){if(this.#t<8)return e();let t=this.consume(8),r=t.readUInt32BE(0),s=t.readUInt32BE(4);if(r!==0||s>2**31-1){Ke(this.#i,1009,"Received payload length > 2^31 bytes.");return}this.#s.payloadLength=s,this.#n=xe.READ_DATA}else if(this.#n===xe.READ_DATA){if(this.#t<this.#s.payloadLength)return e();let t=this.consume(this.#s.payloadLength);if(Ty(this.#s.opcode))this.#r=this.parseControlFrame(t),this.#n=xe.INFO;else if(!this.#s.compressed)this.writeFragments(t),!this.#s.fragmented&&this.#s.fin&&My(this.#i,this.#s.binaryType,this.consumeFragments()),this.#n=xe.INFO;else{this.#o.get("permessage-deflate").decompress(t,this.#s.fin,(r,s)=>{if(r){let n=r instanceof cG?1009:1007;Ke(this.#i,n,r.message);return}if(this.writeFragments(s),!this.#s.fin){this.#n=xe.INFO,this.#r=!0,this.run(e);return}My(this.#i,this.#s.binaryType,this.consumeFragments()),this.#r=!0,this.#n=xe.INFO,this.run(e)}),this.#r=!1;break}}}consume(e){if(e>this.#t)throw new Error("Called consume() before buffers satiated.");if(e===0)return Uy;this.#t-=e;let t=this.#e[0];if(t.length>e)return this.#e[0]=t.subarray(e,t.length),t.subarray(0,e);if(t.length===e)return this.#e.shift();{let r=0,s=Buffer.allocUnsafeSlow(e);for(;r!==e;){let n=this.#e[0],o=n.length;if(o+r===e){s.set(this.#e.shift(),r);break}else if(o+r>e){s.set(n.subarray(0,e-r),r),this.#e[0]=n.subarray(e-r);break}else s.set(this.#e.shift(),r),r+=o}return s}}writeFragments(e){this.#A+=e.length,this.#a.push(e)}consumeFragments(){let e=this.#a;if(e.length===1)return this.#A=0,e.shift();let t=0,r=Buffer.allocUnsafeSlow(this.#A);for(let s=0;s<e.length;++s){let n=e[s];r.set(n,t),t+=n.length}return this.#a=[],this.#A=0,r}parseCloseBody(e){tG(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!sG(t))return{code:1002,reason:"Invalid status code",error:!0};let r=e.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=oG(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:r,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:r}=this.#s;if(t===as.CLOSE){if(r===1)return Ke(this.#i,1002,"Received close frame with a 1-byte body."),!1;if(this.#s.closeInfo=this.parseCloseBody(e),this.#s.closeInfo.error){let{code:s,reason:n}=this.#s.closeInfo;return Ke(this.#i,s,n),!1}if(!this.#i.closeState.has(wn.SENT)&&!this.#i.closeState.has(wn.RECEIVED)){let s=Uy;this.#s.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#s.closeInfo.code,0));let n=new ky(s);this.#i.socket.write(n.createFrame(as.CLOSE)),this.#i.closeState.add(wn.SENT)}return this.#i.readyState=rG.CLOSING,this.#i.closeState.add(wn.RECEIVED),!1}else if(t===as.PING){if(!this.#i.closeState.has(wn.RECEIVED)){let s=new ky(e);this.#i.socket.write(s.createFrame(as.PONG)),this.#i.onPing(e)}}else t===as.PONG&&this.#i.onPong(e);return!0}get closingInfo(){return this.#s.closeInfo}};Ly.exports={ByteParser:kE}});var Gy=p((EJ,Yy)=>{"use strict";var{WebsocketFrameSend:xy}=is(),{opcodes:Hy,sendHints:ur}=Nt(),gG=Qg(),xE=class{#e=new gG;#A=!1;#t;constructor(e){this.#t=e}add(e,t,r){if(r!==ur.blob){if(this.#A){let n={promise:null,callback:t,frame:HE(e,r)};this.#e.push(n)}else if(r===ur.text){let{0:n,1:o}=xy.createFastTextFrame(e);this.#t.cork(),this.#t.write(n),this.#t.write(o,t),this.#t.uncork()}else this.#t.write(HE(e,r),t);return}let s={promise:e.arrayBuffer().then(n=>{s.promise=null,s.frame=HE(n,r)}),callback:t,frame:null};this.#e.push(s),this.#A||this.#r()}async#r(){this.#A=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#t.write(t.frame,t.callback),t.callback=t.frame=null}this.#A=!1}};function HE(A,e){return new xy(lG(A,e)).createFrame(e===ur.text?Hy.TEXT:Hy.BINARY)}function lG(A,e){switch(e){case ur.text:case ur.typedArray:return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);case ur.arrayBuffer:case ur.blob:return new Uint8Array(A)}}Yy.exports={SendQueue:xE}});var qy=p((QJ,Py)=>{"use strict";var{isArrayBuffer:EG}=require("node:util/types"),{webidl:N}=pe(),{URLSerializer:QG}=tA(),{environmentSettingsObject:Oy}=ve(),{staticPropertyDescriptors:Ft,states:$A,sentCloseFrameState:YE,sendHints:Mi,opcodes:GE}=Nt(),{isConnecting:uG,isEstablished:Vy,isClosing:vy,isClosed:hG,isValidSubprotocol:IG,fireEvent:Ti,utf8Decode:BG,toArrayBuffer:CG,getURLRecord:dG}=Qr(),{establishWebSocketConnection:fG,closeWebSocketConnection:pG,failWebsocketConnection:Jy}=bi(),{ByteParser:yG}=LE(),{kEnumerableProperty:lA}=G(),{getGlobalDispatcher:DG}=Ko(),{ErrorEvent:mG,CloseEvent:wG,createFastMessageEvent:RG}=Si(),{SendQueue:SG}=Gy(),{WebsocketFrameSend:NG}=is(),{channels:GA}=it();function FG(A){return typeof A?.address=="function"?A.address():typeof A?.session?.socket?.address=="function"?A.session.socket.address():null}var Ne=class A extends EventTarget{#e={open:null,error:null,close:null,message:null};#A=0;#t="";#r="";#n;#s={onConnectionEstablished:(e,t)=>this.#c(e,t),onMessage:(e,t)=>this.#E(e,t),onParserError:e=>Jy(this.#s,null,e.message),onParserDrain:()=>this.#g(),onSocketData:e=>{this.#i.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=$A.CLOSING,GA.socketError.hasSubscribers&&GA.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#l(),onPing:e=>{GA.ping.hasSubscribers&&GA.ping.publish({payload:e,websocket:this})},onPong:e=>{GA.pong.hasSubscribers&&GA.pong.publish({payload:e,websocket:this})},readyState:$A.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;#o;#i;constructor(e,t=[]){super(),N.util.markAsUncloneable(this);let r="WebSocket constructor";N.argumentLengthCheck(arguments,1,r);let s=N.converters["DOMString or sequence<DOMString> or WebSocketInit"](t,r,"options");e=N.converters.USVString(e),t=s.protocols;let n=Oy.settingsObject.baseUrl,o=dG(e,n);if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(a=>a.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(a=>IG(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#a=new URL(o.href);let i=Oy.settingsObject;this.#s.controller=fG(o,t,i,this.#s,s),this.#s.readyState=A.CONNECTING,this.#o="blob"}close(e=void 0,t=void 0){N.brandCheck(this,A),e!==void 0&&(e=N.converters["unsigned short"](e,"WebSocket.close","code",N.attributes.Clamp)),t!==void 0&&(t=N.converters.USVString(t)),e??=null,t??="",pG(this.#s,e,t,!0)}send(e){N.brandCheck(this,A);let t="WebSocket.send";if(N.argumentLengthCheck(arguments,1,t),e=N.converters.WebSocketSendData(e,t,"data"),uG(this.#s.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!Vy(this.#s.readyState)||vy(this.#s.readyState)))if(typeof e=="string"){let r=Buffer.from(e);this.#A+=r.byteLength,this.#n.add(r,()=>{this.#A-=r.byteLength},Mi.text)}else EG(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},Mi.arrayBuffer)):ArrayBuffer.isView(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},Mi.typedArray)):N.is.Blob(e)&&(this.#A+=e.size,this.#n.add(e,()=>{this.#A-=e.size},Mi.blob))}get readyState(){return N.brandCheck(this,A),this.#s.readyState}get bufferedAmount(){return N.brandCheck(this,A),this.#A}get url(){return N.brandCheck(this,A),QG(this.#a)}get extensions(){return N.brandCheck(this,A),this.#r}get protocol(){return N.brandCheck(this,A),this.#t}get onopen(){return N.brandCheck(this,A),this.#e.open}set onopen(e){N.brandCheck(this,A),this.#e.open&&this.removeEventListener("open",this.#e.open);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onerror(){return N.brandCheck(this,A),this.#e.error}set onerror(e){N.brandCheck(this,A),this.#e.error&&this.removeEventListener("error",this.#e.error);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}get onclose(){return N.brandCheck(this,A),this.#e.close}set onclose(e){N.brandCheck(this,A),this.#e.close&&this.removeEventListener("close",this.#e.close);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("close",t),this.#e.close=e):this.#e.close=null}get onmessage(){return N.brandCheck(this,A),this.#e.message}set onmessage(e){N.brandCheck(this,A),this.#e.message&&this.removeEventListener("message",this.#e.message);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get binaryType(){return N.brandCheck(this,A),this.#o}set binaryType(e){N.brandCheck(this,A),e!=="blob"&&e!=="arraybuffer"?this.#o="blob":this.#o=e}#c(e,t){this.#s.socket=e.socket;let r=new yG(this.#s,t);r.on("drain",()=>this.#s.onParserDrain()),r.on("error",o=>this.#s.onParserError(o)),this.#i=r,this.#n=new SG(e.socket),this.#s.readyState=$A.OPEN;let s=e.headersList.get("sec-websocket-extensions");s!==null&&(this.#r=s);let n=e.headersList.get("sec-websocket-protocol");if(n!==null&&(this.#t=n),Ti("open",this),GA.open.hasSubscribers){let o=e.headersList.entries;GA.open.publish({address:FG(e.socket),protocol:this.#t,extensions:this.#r,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:o}})}}#E(e,t){if(this.#s.readyState!==$A.OPEN)return;let r;if(e===GE.TEXT)try{r=BG(t)}catch{Jy(this.#s,1007,"Received invalid UTF-8 in text frame.");return}else e===GE.BINARY&&(this.#o==="blob"?r=new Blob([t]):r=CG(t));Ti("message",this,RG,{origin:this.#a.origin,data:r})}#g(){this.#s.socket.resume()}#l(){let e=this.#s.closeState.has(YE.SENT)&&this.#s.closeState.has(YE.RECEIVED),t=1005,r="",s=this.#i?.closingInfo;s&&!s.error&&(t=s.code??1005,r=s.reason),this.#s.readyState=$A.CLOSED,this.#s.closeState.has(YE.RECEIVED)||(t=1006,Ti("error",this,(n,o)=>new mG(n,o),{error:new TypeError(r)})),Ti("close",this,(n,o)=>new wG(n,o),{wasClean:e,code:t,reason:r}),GA.close.hasSubscribers&&GA.close.publish({websocket:this,code:t,reason:r})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(t!==void 0)throw new TypeError("Expected buffer payload");let r=e.#s.readyState;if(Vy(r)&&!vy(r)&&!hG(r)){let s=new NG(t);e.#s.socket.write(s.createFrame(GE.PING))}}},{ping:bG}=Ne;Reflect.deleteProperty(Ne,"ping");Ne.CONNECTING=Ne.prototype.CONNECTING=$A.CONNECTING;Ne.OPEN=Ne.prototype.OPEN=$A.OPEN;Ne.CLOSING=Ne.prototype.CLOSING=$A.CLOSING;Ne.CLOSED=Ne.prototype.CLOSED=$A.CLOSED;Object.defineProperties(Ne.prototype,{CONNECTING:Ft,OPEN:Ft,CLOSING:Ft,CLOSED:Ft,url:lA,readyState:lA,bufferedAmount:lA,onopen:lA,onerror:lA,onclose:lA,close:lA,onmessage:lA,binaryType:lA,send:lA,extensions:lA,protocol:lA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ne,{CONNECTING:Ft,OPEN:Ft,CLOSING:Ft,CLOSED:Ft});N.converters["sequence<DOMString>"]=N.sequenceConverter(N.converters.DOMString);N.converters["DOMString or sequence<DOMString>"]=function(A,e,t){return N.util.Type(A)===N.util.Types.OBJECT&&Symbol.iterator in A?N.converters["sequence<DOMString>"](A):N.converters.DOMString(A,e,t)};N.converters.WebSocketInit=N.dictionaryConverter([{key:"protocols",converter:N.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:N.converters.any,defaultValue:()=>DG()},{key:"headers",converter:N.nullableConverter(N.converters.HeadersInit)}]);N.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(A){return N.util.Type(A)===N.util.Types.OBJECT&&!(Symbol.iterator in A)?N.converters.WebSocketInit(A):{protocols:N.converters["DOMString or sequence<DOMString>"](A)}};N.converters.WebSocketSendData=function(A){return N.util.Type(A)===N.util.Types.OBJECT&&(N.is.Blob(A)||N.is.BufferSource(A))?A:N.converters.USVString(A)};Py.exports={WebSocket:Ne,ping:bG}});var OE=p((uJ,Zy)=>{"use strict";var{webidl:ki}=pe(),{validateCloseCodeAndReason:UG}=Qr(),{kConstruct:Wy}=Z(),{kEnumerableProperty:_y}=G();function MG(){class A extends DOMException{get reason(){return""}}return new A().reason!==void 0?DOMException:new Proxy(DOMException,{construct(e,t,r){let s=Reflect.construct(e,t,e);return Object.setPrototypeOf(s,r.prototype),s}})}var hr=class A extends MG(){#e;#A;constructor(e="",t=void 0){if(e=ki.converters.DOMString(e,"WebSocketError","message"),super(e,"WebSocketError"),t===Wy)return;t!==null&&(t=ki.converters.WebSocketCloseInfo(t));let r=t.closeCode??null,s=t.reason??"";UG(r,s),s.length!==0&&r===null&&(r=1e3),this.#e=r,this.#A=s}get closeCode(){return this.#e}get reason(){return this.#A}static createUnvalidatedWebSocketError(e,t,r){let s=new A(e,Wy);return s.#e=t,s.#A=r,s}},{createUnvalidatedWebSocketError:TG}=hr;delete hr.createUnvalidatedWebSocketError;Object.defineProperties(hr.prototype,{closeCode:_y,reason:_y,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});ki.is.WebSocketError=ki.util.MakeTypeAssertion(hr);Zy.exports={WebSocketError:hr,createUnvalidatedWebSocketError:TG}});var $y=p((hJ,zy)=>{"use strict";var{createDeferredPromise:VE}=Us(),{environmentSettingsObject:jy}=ve(),{states:cs,opcodes:Li,sentCloseFrameState:gs}=Nt(),{webidl:oe}=pe(),{getURLRecord:kG,isValidSubprotocol:LG,isEstablished:HG,utf8Decode:xG}=Qr(),{establishWebSocketConnection:YG,failWebsocketConnection:vE,closeWebSocketConnection:JE}=bi(),{channels:Xy}=it(),{WebsocketFrameSend:GG}=is(),{ByteParser:OG}=LE(),{WebSocketError:VG,createUnvalidatedWebSocketError:vG}=OE(),{kEnumerableProperty:Hi}=G(),{utf8DecodeBytes:JG}=ro(),Ky=!1,xi=class{#e;#A;#t;#r;#n;#s;#a=!1;#o={onConnectionEstablished:(e,t)=>this.#E(e,t),onMessage:(e,t)=>this.#g(e,t),onParserError:e=>vE(this.#o,null,e.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:e=>{this.#i.write(e)||this.#o.socket.pause()},onSocketError:e=>{this.#o.readyState=cs.CLOSING,Xy.socketError.hasSubscribers&&Xy.socketError.publish(e),this.#o.socket.destroy()},onSocketClose:()=>this.#l(),onPing:()=>{},onPong:()=>{},readyState:cs.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;constructor(e,t=void 0){Ky||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),Ky=!0),oe.argumentLengthCheck(arguments,1,"WebSocket"),e=oe.converters.USVString(e),t!==null&&(t=oe.converters.WebSocketStreamOptions(t));let r=jy.settingsObject.baseUrl,s=kG(e,r),n=t.protocols;if(n.length!==new Set(n.map(i=>i.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(n.length>0&&!n.every(i=>LG(i)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#e=s.toString(),this.#A=VE(),this.#t=VE(),t.signal!=null){let i=t.signal;if(i.aborted){this.#A.reject(i.reason),this.#t.reject(i.reason);return}i.addEventListener("abort",()=>{HG(this.#o.readyState)||(vE(this.#o),this.#o.readyState=cs.CLOSING,this.#A.reject(i.reason),this.#t.reject(i.reason),this.#a=!0)},{once:!0})}let o=jy.settingsObject;this.#o.controller=YG(s,n,o,this.#o,t)}get url(){return this.#e.toString()}get opened(){return this.#A.promise}get closed(){return this.#t.promise}close(e=void 0){e!==null&&(e=oe.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,r=e.reason;JE(this.#o,t,r,!0)}#c(e){e=oe.converters.WebSocketStreamWrite(e);let t=VE(),r=null,s=null;if(oe.is.BufferSource(e))r=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),s=Li.BINARY;else{let n;try{n=oe.converters.DOMString(e)}catch(o){return t.reject(o),t.promise}r=new TextEncoder().encode(n),s=Li.TEXT}if(!this.#o.closeState.has(gs.SENT)&&!this.#o.closeState.has(gs.RECEIVED)){let n=new GG(r);this.#o.socket.write(n.createFrame(s),()=>{t.resolve(void 0)})}return t.promise}#E(e,t){this.#o.socket=e.socket;let r=new OG(this.#o,t);r.on("drain",()=>this.#o.onParserDrain()),r.on("error",a=>this.#o.onParserError(a)),this.#i=r,this.#o.readyState=cs.OPEN;let s=t??"",n=e.headersList.get("sec-websocket-protocol")??"",o=new ReadableStream({start:a=>{this.#n=a},pull(a){let c;for(;a.desiredSize>0&&(c=e.socket.read())!==null;)a.enqueue(c)},cancel:a=>this.#u(a)}),i=new WritableStream({write:a=>this.#c(a),close:()=>JE(this.#o,null,null),abort:a=>this.#Q(a)});this.#r=o,this.#s=i,this.#A.resolve({extensions:s,protocol:n,readable:o,writable:i})}#g(e,t){if(this.#o.readyState!==cs.OPEN)return;let r;if(e===Li.TEXT)try{r=xG(t)}catch{vE(this.#o,"Received invalid UTF-8 in text frame.");return}else e===Li.BINARY&&(r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#n.enqueue(r)}#l(){let e=this.#o.closeState.has(gs.SENT)&&this.#o.closeState.has(gs.RECEIVED);if(this.#o.readyState=cs.CLOSED,this.#a)return;this.#o.wasEverConnected||this.#A.reject(new VG("Socket never opened"));let t=this.#i?.closingInfo,r=t?.code??1005;!this.#o.closeState.has(gs.SENT)&&!this.#o.closeState.has(gs.RECEIVED)&&(r=1006);let s=t?.reason==null?"":JG(Buffer.from(t.reason));if(e)this.#n.close(),this.#s.locked||this.#s.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:r,reason:s});else{let n=vG("unclean close",r,s);this.#n?.error(n),this.#s?.abort(n),this.#t.reject(n)}}#Q(e){let t=null,r="";oe.is.WebSocketError(e)&&(t=e.closeCode,r=e.reason),JE(this.#o,t,r)}#u(e){this.#Q(e)}};Object.defineProperties(xi.prototype,{url:Hi,opened:Hi,closed:Hi,close:Hi,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});oe.converters.WebSocketStreamOptions=oe.dictionaryConverter([{key:"protocols",converter:oe.sequenceConverter(oe.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:oe.nullableConverter(oe.converters.AbortSignal),defaultValue:()=>null}]);oe.converters.WebSocketCloseInfo=oe.dictionaryConverter([{key:"closeCode",converter:A=>oe.converters["unsigned short"](A,oe.attributes.EnforceRange)},{key:"reason",converter:oe.converters.USVString,defaultValue:()=>""}]);oe.converters.WebSocketStreamWrite=function(A){return typeof A=="string"?oe.converters.USVString(A):oe.converters.BufferSource(A)};zy.exports={WebSocketStream:xi}});var AD=p((IJ,eD)=>{"use strict";function PG(A){return A.indexOf("\0")===-1}function qG(A){if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(A.charCodeAt(e)<48||A.charCodeAt(e)>57)return!1;return!0}eD.exports={isValidLastEventId:PG,isASCIINumber:qG}});var nD=p((BJ,sD)=>{"use strict";var{Transform:WG}=require("node:stream"),{isASCIINumber:tD,isValidLastEventId:rD}=AD(),et=[239,187,191],PE=10,Yi=13,_G=58,ZG=32,qE=class extends WG{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},e.push&&(this.push=e.push)}_transform(e,t,r){if(e.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,e]):this.buffer=e,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===et[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos<this.buffer.length;){if(this.eventEndCheck){if(this.crlfCheck){if(this.buffer[this.pos]===PE){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===PE||this.buffer[this.pos]===Yi){this.buffer[this.pos]===Yi&&(this.crlfCheck=!0),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,(this.event.data!==void 0||this.event.event||this.event.id!==void 0||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===PE||this.buffer[this.pos]===Yi){this.buffer[this.pos]===Yi&&(this.crlfCheck=!0),this.parseLine(this.buffer.subarray(0,this.pos),this.event),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.eventEndCheck=!0;continue}this.pos++}r()}parseLine(e,t){if(e.length===0)return;let r=e.indexOf(_G);if(r===0)return;let s="",n="";if(r!==-1){s=e.subarray(0,r).toString("utf8");let o=r+1;e[o]===ZG&&++o,n=e.subarray(o).toString("utf8")}else s=e.toString("utf8"),n="";switch(s){case"data":t[s]===void 0?t[s]=n:t[s]+=`
128
+ ${n}`;break;case"retry":tD(n)&&(t[s]=n);break;case"id":rD(n)&&(t[s]=n);break;case"event":n.length>0&&(t[s]=n);break}}processEvent(e){e.retry&&tD(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id!==void 0&&rD(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};sD.exports={EventSourceStream:qE}});var QD=p((CJ,ED)=>{"use strict";var{pipeline:jG}=require("node:stream"),{fetching:XG}=dn(),{makeRequest:KG}=As(),{webidl:Fe}=pe(),{EventSourceStream:zG}=nD(),{parseMIMEType:$G}=tA(),{createFastMessageEvent:e2}=Si(),{isNetworkError:oD}=In(),{kEnumerableProperty:Ir}=G(),{environmentSettingsObject:iD}=ve(),aD=!1,cD=3e3,Rn=0,gD=1,Sn=2,A2="anonymous",t2="use-credentials",ls=class A extends EventTarget{#e={open:null,error:null,message:null};#A;#t=!1;#r=Rn;#n=null;#s=null;#a;#o;constructor(e,t={}){super(),Fe.util.markAsUncloneable(this);let r="EventSource constructor";Fe.argumentLengthCheck(arguments,1,r),aD||(aD=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=Fe.converters.USVString(e),t=Fe.converters.EventSourceInitDict(t,r,"eventSourceInitDict"),this.#a=t.node.dispatcher||t.dispatcher,this.#o={lastEventId:"",reconnectionTime:t.node.reconnectionTime};let s=iD,n;try{n=new URL(e,s.settingsObject.baseUrl),this.#o.origin=n.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#A=n.href;let o=A2;t.withCredentials===!0&&(o=t2,this.#t=!0);let i={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};i.client=iD.settingsObject,i.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],i.cache="no-store",i.initiator="other",i.urlList=[new URL(this.#A)],this.#n=KG(i),this.#i()}get readyState(){return this.#r}get url(){return this.#A}get withCredentials(){return this.#t}#i(){if(this.#r===Sn)return;this.#r=Rn;let e={request:this.#n,dispatcher:this.#a},t=r=>{if(!oD(r))return this.#c()};e.processResponseEndOfBody=t,e.processResponse=r=>{if(oD(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=r.headersList.get("content-type",!0),n=s!==null?$G(s):"failure",o=n!=="failure"&&n.essence==="text/event-stream";if(r.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=gD,this.dispatchEvent(new Event("open")),this.#o.origin=r.urlList[r.urlList.length-1].origin;let i=new zG({eventSourceSettings:this.#o,push:a=>{this.dispatchEvent(e2(a.type,a.options))}});jG(r.body.stream,i,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=XG(e)}#c(){this.#r!==Sn&&(this.#r=Rn,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#r===Rn&&(this.#o.lastEventId.length&&this.#n.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#i())},this.#o.reconnectionTime)?.unref())}close(){Fe.brandCheck(this,A),this.#r!==Sn&&(this.#r=Sn,this.#s.abort(),this.#n=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}},lD={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Rn,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:gD,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Sn,writable:!1}};Object.defineProperties(ls,lD);Object.defineProperties(ls.prototype,lD);Object.defineProperties(ls.prototype,{close:Ir,onerror:Ir,onmessage:Ir,onopen:Ir,readyState:Ir,url:Ir,withCredentials:Ir});Fe.converters.EventSourceInitDict=Fe.dictionaryConverter([{key:"withCredentials",converter:Fe.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Fe.converters.any},{key:"node",converter:Fe.dictionaryConverter([{key:"reconnectionTime",converter:Fe.converters["unsigned long"],defaultValue:()=>cD},{key:"dispatcher",converter:Fe.converters.any}]),defaultValue:()=>({})}]);ED.exports={EventSource:ls,defaultReconnectionTime:cD}});var dD=p((dJ,m)=>{"use strict";var r2=Bt(),hD=ms(),s2=Zt(),n2=uB(),o2=CB(),i2=Kt(),a2=Yg(),c2=kg(),g2=AC(),l2=iC(),E2=gC(),ID=Y(),Oi=G(),{InvalidArgumentError:Gi}=ID,Es=qC(),Q2=Vt(),u2=Dl(),{MockCallHistory:h2,MockCallHistoryLog:I2}=Rl(),B2=Ll(),C2=bl(),d2=Pd(),f2=ol(),p2=Ho(),{getGlobalDispatcher:BD,setGlobalDispatcher:y2}=Ko(),D2=Xr(),m2=Jl();Object.assign(hD.prototype,Es);m.exports.Dispatcher=hD;m.exports.Client=r2;m.exports.Pool=s2;m.exports.BalancedPool=n2;m.exports.RoundRobinPool=o2;m.exports.Agent=i2;m.exports.ProxyAgent=a2;m.exports.Socks5ProxyAgent=c2;m.exports.EnvHttpProxyAgent=g2;m.exports.RetryAgent=l2;m.exports.H2CClient=E2;m.exports.RetryHandler=p2;m.exports.DecoratorHandler=D2;m.exports.RedirectHandler=m2;m.exports.interceptors={redirect:Af(),responseError:rf(),retry:nf(),dump:af(),dns:Ef(),cache:Ff(),decompress:kf(),deduplicate:Gf()};m.exports.cacheStores={MemoryCacheStore:zl()};var w2=vf();m.exports.cacheStores.SqliteCacheStore=w2;m.exports.buildConnector=Q2;m.exports.errors=ID;m.exports.util={parseHeaders:Oi.parseHeaders,headerNameToString:Oi.headerNameToString};function Nn(A){return(e,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new Gi("invalid url");if(t!=null&&typeof t!="object")throw new Gi("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Gi("invalid opts.path");let o=t.path;t.path.startsWith("/")||(o=`/${o}`),e=new URL(Oi.parseOrigin(e).origin+o)}else t||(t=typeof e=="object"?e:{}),e=Oi.parseURL(e);let{agent:s,dispatcher:n=BD()}=t;if(s)throw new Gi("unsupported opts.agent. Did you mean opts.client?");return A.call(n,{...t,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}m.exports.setGlobalDispatcher=y2;m.exports.getGlobalDispatcher=BD;var R2=dn().fetch,uD=typeof __filename<"u"?__filename:void 0;function CD(A,e){if(!A||typeof A!="object")return;let t=typeof A.stack=="string"?A.stack:"",r=e.replace(/\\/g,"/");if(t&&(t.includes(e)||t.includes(r)))return;let s={};if(Error.captureStackTrace(s,CD),!s.stack)return;let n=s.stack.split(`
129
+ `).slice(1).join(`
130
+ `);A.stack=t?`${t}
131
+ ${n}`:s.stack}m.exports.fetch=function(e,t=void 0){return R2(e,t).catch(r=>{throw uD?CD(r,uD):r&&typeof r=="object"&&Error.captureStackTrace(r,m.exports.fetch),r})};m.exports.Headers=ar().Headers;m.exports.Response=In().Response;m.exports.Request=As().Request;m.exports.FormData=co().FormData;var{setGlobalOrigin:S2,getGlobalOrigin:N2}=yc();m.exports.setGlobalOrigin=S2;m.exports.getGlobalOrigin=N2;var{CacheStorage:F2}=zp(),{kConstruct:b2}=Z();m.exports.caches=new F2(b2);var{deleteCookie:U2,getCookies:M2,getSetCookies:T2,setCookie:k2,parseCookie:L2}=ly();m.exports.deleteCookie=U2;m.exports.getCookies=M2;m.exports.getSetCookies=T2;m.exports.setCookie=k2;m.exports.parseCookie=L2;var{parseMIMEType:H2,serializeAMimeType:x2}=tA();m.exports.parseMIMEType=H2;m.exports.serializeAMimeType=x2;var{CloseEvent:Y2,ErrorEvent:G2,MessageEvent:O2}=Si(),{WebSocket:V2,ping:v2}=qy();m.exports.WebSocket=V2;m.exports.CloseEvent=Y2;m.exports.ErrorEvent=G2;m.exports.MessageEvent=O2;m.exports.ping=v2;m.exports.WebSocketStream=$y().WebSocketStream;m.exports.WebSocketError=OE().WebSocketError;m.exports.request=Nn(Es.request);m.exports.stream=Nn(Es.stream);m.exports.pipeline=Nn(Es.pipeline);m.exports.connect=Nn(Es.connect);m.exports.upgrade=Nn(Es.upgrade);m.exports.MockClient=u2;m.exports.MockCallHistory=h2;m.exports.MockCallHistoryLog=I2;m.exports.MockPool=C2;m.exports.MockAgent=B2;m.exports.SnapshotAgent=d2;m.exports.mockErrors=f2;var{EventSource:J2}=QD();m.exports.EventSource=J2;function P2(){globalThis.fetch=m.exports.fetch,globalThis.Headers=m.exports.Headers,globalThis.Response=m.exports.Response,globalThis.Request=m.exports.Request,globalThis.FormData=m.exports.FormData,globalThis.WebSocket=m.exports.WebSocket,globalThis.CloseEvent=m.exports.CloseEvent,globalThis.ErrorEvent=m.exports.ErrorEvent,globalThis.MessageEvent=m.exports.MessageEvent,globalThis.EventSource=m.exports.EventSource}m.exports.install=P2});var hQ=require("node:util"),Sw=process.env.NO_COLORS||process.env.CI,Nw=["black","red","green","yellow","blue","magenta","cyan","white","gray","bold","dim"],X={};for(let A of Nw)X[A]=e=>Sw?String(e):(0,hQ.styleText)(A,String(e));var he={FROM_SCRATCH:"FROM_SCRATCH",INCREMENTAL:"INCREMENTAL",IDLE:"IDLE",ERROR:"ERROR",COMPLETED:"COMPLETED"};var Ia=b(require("node:fs/promises")),Jn=b(require("node:path"));var fQ=b(require("node:path"));var BQ=b(require("node:fs"));var Ht=b(require("node:path")),CQ=b(require("node:process")),dQ=require("node:url"),IQ=A=>A instanceof URL?(0,dQ.fileURLToPath)(A):A;function Cs(A,e={}){let{cwd:t=CQ.default.cwd(),type:r="file",stopAt:s}=e,n=Ht.default.resolve(IQ(t)??""),{root:o}=Ht.default.parse(n),i=s?Ht.default.resolve(n,IQ(s)):o,a=Ht.default.isAbsolute(A);for(;;){let c=a?A:Ht.default.join(n,A);try{let g=BQ.default.statSync(c,{throwIfNoEntry:!1});if(r==="file"&&g?.isFile()||r==="directory"&&g?.isDirectory())return c}catch{}if(n===i||n===o)break;n=Ht.default.dirname(n)}}function ds(A){let{cwd:e}=A||{},t=Cs("package.json",{cwd:e});return t&&fQ.default.dirname(t)}var{env:V}=process;function DA(A){if(!A)return!1;switch(A.trim().toLowerCase()){case"1":case"true":case"yes":case"y":case"on":return!0;default:return!1}}var Ea=V.GRIDDO_API_URL||V.API_URL,pQ=V.GRIDDO_PUBLIC_API_URL||V.PUBLIC_API_URL,yQ=V.botEmail||V.GRIDDO_BOT_USER,DQ=V.botPassword||V.GRIDDO_BOT_PASSWORD;function st(A,e){let t=Number.parseInt(A);return Number.isNaN(t)?e:t}var HO=DA(V.GRIDDO_AI_EMBEDDINGS),Qa=st(V.GRIDDO_API_CONCURRENCY_COUNT||V.GRIDDO_RENDER_CONCURRENCY_COUNT||"10",10),ua=V.GRIDDO_ASSET_PREFIX||V.ASSET_PREFIX||V.GRIDDO_RENDER_ASSET_PREFIX,yr=DA(V.GRIDDO_BUILD_LOGS||V.GRIDDO_RENDER_BUILD_LOGS),mQ=st(V.GRIDDO_RENDER_BUILD_LOGS_BUFFER_SIZE||"500",500),wQ=V.GRIDDO_REACT_APP_INSTANCE||V.REACT_APP_INSTANCE||V.GRIDDO_APP_INSTANCE||V.GRIDDO_EDITOR_APP_INSTANCIE,RQ=DA(V.GRIDDO_RENDER_DISABLE_LLMS_TXT),xO=DA(V.GRIDDO_SEARCH_FEATURE||V.GRIDDO_RENDER_SEARCH_FEATURE),YO=DA(V.GRIDDO_RENDER_SKIP_BUILD_CHECKS),SQ=DA(V.GRIDDO_RENDER_SSG_BUNDLE_ANALYZER),NQ=DA(V.GRIDDO_RENDER_SSG_VERBOSE_LOGS),GO=DA(V.GRIDDO_RENDER_USE_DIST_BACKUP),FQ=DA(V.GRIDDO_VERBOSE_LOGS||V.GRIDDO_RENDER_VERBOSE_LOGS),vn=DA(V.GRIDDO_RENDER_ENABLED_LLM_MD),bQ=st(V.GRIDDO_RENDER_API_FETCH_RETRY_WAIT_SECONDS||"4",4),ha=st(V.GRIDDO_RENDER_API_FETCH_RETRY_ATTEMPTS||"4",4),UQ=st(V.GRIDDO_RENDER_API_TIMEOUT_MS||"300000",3e5),MQ=st(V.GRIDDO_RENDER_CIRCUIT_BREAKER_FAILURE_THRESHOLD||"10",10),TQ=st(V.GRIDDO_RENDER_CIRCUIT_BREAKER_COOLDOWN_MS||"30000",3e4),kQ=st(V.GRIDDO_RENDER_LIFECYCLE_RETRY_ATTEMPTS||"1",1);var d=class A{constructor(){}static verbose(...e){FQ&&console.log(X.yellow("verbose"),X.dim(e.join(" ")))}static build(...e){yr&&A.log(...e)}static info(...e){console.log(`${X.blue("info")} ${e.join(" ")}`)}static success(...e){console.log(`${X.green("success")} ${e.join(" ")}`)}static error(...e){console.error(`${X.red("error")} ${e.join(" ")}`)}static warn(...e){console.warn(`${X.yellow("warn")} ${e.join(" ")}`)}static log(...e){console.log(...e)}};var Fw=ds({cwd:Jn.default.resolve(__dirname,"../../..")})||"",bw=Jn.default.join(Fw,".griddo/cache"),LQ=Jn.default.join(bw,"db.json");async function ee(A=""){let e=A||LQ;try{return JSON.parse(await Ia.default.readFile(e,"utf-8"))}catch(t){throw d.error(`Failed to read DB file at ${e}:`,t),t}}async function eA(A,e=""){let t=e||LQ;try{await Ia.default.writeFile(t,JSON.stringify(A,null," "))}catch(r){throw d.error(`Failed to write DB file at ${t}:`,r),r}}var da=b(require("node:fs/promises")),nt=b(require("node:path"));var le=b(require("node:fs/promises")),OA=b(require("node:path"));var Dr={error:"ArtifactError",message:"There was a problem with an artifact",expected:"An external process may have has modified or deleted one of the artifacts (files and directories).",hint:"Have there been any recent deployments? These can delete directories from the current render."};var HQ=(A,e)=>({error:"LifecycleExecutionError",message:`Exceeded maximum retry attempts (${A}) for ${e} LifeCycle`}),xQ={error:"LoginError",message:"There was a problem logging in to the API",expected:"This happens if the API is currently not working or the credentials are incorrect."};var YQ={error:"NoJSConfigFileFound",message:"Could not find jsconfig.json or tsconfig.json",expected:"This can happen if the instance is not properly configured with a jsconfig.json or tsconfig.json file."},GQ={error:"ReadFromStoreError",message:"There was an error reading a file to the Store directory",hint:"There may be an issue such as permissions preventing the file from being read."};var OQ={error:"RenderUUIDError",message:`Render sentinel file does not exist.
2
132
  The rendering UUID cannot be read safely.
3
133
  There was probably an instance deployment during the render, and files were deleted.
4
134
 
5
- The files generated in this render will not be published.`},dr={error:"WriteToStoreError",message:"There was an error writing a file to the Store directory",hint:"There may be an issue such as lack of space or permissions preventing the file from being written."};async function gt(e){if(!await D(e))return;let t=(await P.default.readdir(e,{withFileTypes:!0})).filter(r=>r.isDirectory());for(let r of t){let o=q.default.join(e,r.name);await On(o)&&await P.default.rm(o,{recursive:!0})}}async function lr(e,t){for(let r of e)try{await D(r)||(await P.default.mkdir(r,{recursive:!0,...t}),c.verbose(`create directory: ${r}`))}catch(o){I(me,o)}}async function mr(e,t,r,o={withBackup:!1}){let{withBackup:n}=o;for(let s of r){let i=q.default.join(e,s),a=q.default.join(t,s);if(!await D(i)){c.info(`(Maybe first render) Source directory does not exist: ${i}`);continue}n&&(await ur(a),c.verbose(`create backup: ${a}`));try{await D(a)&&(await P.default.rm(a,{recursive:!0,force:!0}),c.verbose(`clean destination: ${a}`)),await P.default.cp(i,a,{recursive:!0,preserveTimestamps:!0}),c.verbose(`copy: ${i} to ${a}`),n&&(await fr(a),c.verbose(`delete backup: ${a}`))}catch(d){n&&(await pr(a),c.verbose("Backup has been restored.")),I(me,d)}}}async function oe(e,t,r,o){let{override:n,withBackup:s}=o||{};for(let i of r){let a=q.default.join(e,i),d=q.default.join(t,i);if(await D(a)){s&&await ur(d);try{n&&await D(d)&&await P.default.rm(d,{recursive:!0,force:!0}),await P.default.rename(a,d),c.verbose(`moved: ${a} to ${d}`),s&&await fr(d)}catch(l){s&&(await pr(d),c.info("Backup has been restored.")),I(me,l)}}}}async function pe(e){for(let t of e)try{await P.default.rm(t,{recursive:!0,force:!0}),c.verbose(`artifact removed: ${t}`)}catch(r){I(me,r)}}async function pr(e,t="-BACKUP"){let r=e+t;try{await P.default.rename(r,e),c.info(`Backup ${r} has been restored`)}catch{throw new Error(`Error while delete ${r} backup`)}}async function fr(e,t="-BACKUP"){let r=e+t;if(await D(r))try{await P.default.rm(r,{recursive:!0,force:!0}),c.verbose(`Backup ${r} has been deleted`)}catch{throw new Error(`Error while delete ${r} backup`)}}async function ur(e,t="-BACKUP"){let r=e+t;if(await D(e)){if(await D(r)){c.warn(`Destination ${r} already exists`);return}try{await P.default.rename(e,r),c.verbose(`Backup of ${e} has been created in ${r}`)}catch(o){c.error(`Error while coping ${e} to ${r} backup`),I(me,o)}}}async function On(e){let t=(await P.default.readdir(e,{withFileTypes:!0,recursive:!0})).filter(o=>o.isFile()&&!q.default.basename(o.name).startsWith(".")),r=t.filter(o=>o.name.endsWith(".xml"));if(t.length===r.length)return!0}async function ht(e){try{if(!(await P.default.stat(e)).isDirectory())return;let r;try{r=await P.default.readdir(e)}catch(n){if(n.code==="ENOENT"){c.warn(`The directory "${e}" does not exist, skipping it.`);return}throw c.error(`Error al leer el directorio "${e}":`,n),n}for(let n of r){let s=q.default.join(e,n);await ht(s)}if((await P.default.readdir(e)).length===0)try{await P.default.rmdir(e),c.verbose(`Remove empty directory: ${e}`)}catch(n){n.code==="ENOENT"?c.warn(`El directorio "${e}" ya no existe. Posiblemente fue borrado por otra operaci\xF3n.`):c.error(`Error al borrar el directorio "${e}":`,n)}}catch(t){if(t.code==="ENOENT")c.warn(`The directory "${e}" does not exist or has already been processed.`);else throw c.error(`General error general while processing "${e}":`,t),t}}async function D(e){try{return await P.default.access(e),!0}catch{return!1}}async function*Se(e,t){let r=await P.default.opendir(e);for await(let o of r){let n=q.default.join(e,o.name);o.isDirectory()?yield*Se(n,t):o.isFile()&&o.name.endsWith(t)&&(yield n)}}async function gr(e){let t=await S(),{exportsDir:r,exportsDirBackup:o}=t.paths;c.info(`Cleaning exports dir for the domain ${e}`),c.verbose(`Deleting ${z.default.join(r,e)}...`),await yt.default.rm(z.default.join(r,e),{recursive:!0,force:!0}),await D(z.default.join(o,e))?(await yt.default.cp(z.default.join(o,e),z.default.join(r,e),{recursive:!0}),c.info(`export-backup dir for the domain ${e} found. Restoring before exit...`),c.verbose(`Copying ${z.default.join(o,e)} -> ${z.default.join(r,e)}...`)):c.info("No export-backup found, skipping rollback. Next render will create a new exports dir from scratch...")}var fe=class extends Error{constructor(t){super(t instanceof Error?t.message:String(t)),this.name="InternalCXError",this.stack=t instanceof Error?t.stack:""}};function I(e,t){let{error:r,message:o,expected:n,hint:s}=e,i=c.log(R.red(`[ ${r} ]`)),a=[n,s].filter(Boolean).join(`
6
- `);throw c.log(`
7
- ${i}
135
+ The files generated in this render will not be published.`},VQ={error:"WriteToStoreError",message:"There was an error writing a file to the Store directory",hint:"There may be an issue such as lack of space or permissions preventing the file from being written."};async function Ba(A){if(!await $(A))return;let e=(await le.default.readdir(A,{withFileTypes:!0})).filter(t=>t.isDirectory());for(let t of e){let r=OA.default.join(A,t.name);await Uw(r)&&await le.default.rm(r,{recursive:!0})}}async function vQ(A,e){for(let t of A)try{await le.default.mkdir(t,{recursive:!0,...e}),d.verbose(`create directory: ${t}`)}catch(r){Ie(Dr,r)}}async function JQ(A,e,t,r={withBackup:!1}){let{withBackup:s}=r;for(let n of t){let o=OA.default.join(A,n),i=OA.default.join(e,n);if(!await $(o)){d.info(`(Maybe first render) Source directory does not exist: ${o}`);continue}s&&(await WQ(i),d.verbose(`create backup: ${i}`));try{await le.default.rm(i,{recursive:!0,force:!0}),d.verbose(`clean destination: ${i}`),await le.default.cp(o,i,{recursive:!0,preserveTimestamps:!0}),d.verbose(`copy: ${o} to ${i}`),s&&(await qQ(i),d.verbose(`delete backup: ${i}`))}catch(a){s&&(await PQ(i),d.verbose("Backup has been restored.")),Ie(Dr,a)}}}async function xt(A,e,t,r){let{override:s,withBackup:n}=r||{};for(let o of t){let i=OA.default.join(A,o),a=OA.default.join(e,o);if(await $(i)){n&&await WQ(a);try{s&&await le.default.rm(a,{recursive:!0,force:!0}),await le.default.rename(i,a),d.verbose(`moved: ${i} to ${a}`),n&&await qQ(a)}catch(c){n&&(await PQ(a),d.info("Backup has been restored.")),Ie(Dr,c)}}}}async function mr(A){for(let e of A)try{await le.default.rm(e,{recursive:!0,force:!0}),d.verbose(`artifact removed: ${e}`)}catch(t){Ie(Dr,t)}}async function PQ(A,e="-BACKUP"){let t=A+e;try{await le.default.rename(t,A),d.info(`Backup ${t} has been restored`)}catch{throw new Error(`Error while delete ${t} backup`)}}async function qQ(A,e="-BACKUP"){let t=A+e;try{await le.default.rm(t,{recursive:!0,force:!0}),d.verbose(`Backup ${t} has been deleted`)}catch{throw new Error(`Error while delete ${t} backup`)}}async function WQ(A,e="-BACKUP"){let t=A+e;if(await $(A)){if(await $(t)){d.warn(`Destination ${t} already exists`);return}try{await le.default.rename(A,t),d.verbose(`Backup of ${A} has been created in ${t}`)}catch(r){d.error(`Error while coping ${A} to ${t} backup`),Ie(Dr,r)}}}async function Uw(A){let e=(await le.default.readdir(A,{withFileTypes:!0,recursive:!0})).filter(r=>r.isFile()&&!OA.default.basename(r.name).startsWith(".")),t=e.filter(r=>r.name.endsWith(".xml"));return e.length===t.length}async function Ca(A){try{if(!(await le.default.stat(A)).isDirectory())return;let t;try{t=await le.default.readdir(A)}catch(s){if(s.code==="ENOENT"){d.warn(`The directory "${A}" does not exist, skipping it.`);return}throw d.error(`Error al leer el directorio "${A}":`,s),s}for(let s of t){let n=OA.default.join(A,s);await Ca(n)}if((await le.default.readdir(A)).length===0)try{await le.default.rmdir(A),d.verbose(`Remove empty directory: ${A}`)}catch(s){s.code==="ENOENT"?d.warn(`El directorio "${A}" ya no existe. Posiblemente fue borrado por otra operaci\xF3n.`):d.error(`Error al borrar el directorio "${A}":`,s)}}catch(e){if(e.code==="ENOENT")d.warn(`The directory "${A}" does not exist or has already been processed.`);else throw d.error(`General error general while processing "${A}":`,e),e}}async function $(A){try{return await le.default.access(A),!0}catch{return!1}}async function*fs(A,e){let t=await le.default.opendir(A);try{for await(let r of t){let s=OA.default.join(A,r.name);r.isDirectory()?yield*fs(s,e):r.isFile()&&r.name.endsWith(e)&&(yield s)}}finally{await t.close().catch(()=>{})}}async function _Q(A){let e=await ee(),{exportsDir:t,exportsDirBackup:r}=e.paths;d.info(`Cleaning exports dir for the domain ${A}`),d.verbose(`Deleting ${nt.default.join(t,A)}...`),await da.default.rm(nt.default.join(t,A),{recursive:!0,force:!0}),await $(nt.default.join(r,A))?(await da.default.cp(nt.default.join(r,A),nt.default.join(t,A),{recursive:!0}),d.info(`export-backup dir for the domain ${A} found. Restoring before exit...`),d.verbose(`Copying ${nt.default.join(r,A)} -> ${nt.default.join(t,A)}...`)):d.info("No export-backup found, skipping rollback. Next render will create a new exports dir from scratch...")}var wr=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e)),this.name="InternalCXError",this.stack=e instanceof Error?e.stack:""}};function Ie(A,e){let{error:t,message:r,expected:s,hint:n}=A,o=d.log(X.red(`[ ${t} ]`)),i=[s,n].filter(Boolean).join(`
136
+ `);throw d.log(`
8
137
  ${o}
9
- ${a}
138
+ ${r}
139
+ ${i}
10
140
 
11
- ${R.red("stack")}
12
- ${JSON.stringify(t,null,2)}`),new fe(t)}async function yr(e){try{await e()}catch(t){t instanceof fe?c.error("Internal Griddo RenderError"):t instanceof Error?c.error(t.message):c.error(`An unexpected error occurred ${t}`);try{let o=await S(),{root:n}=o.paths;o.needsRollbackOnError?(c.info("Cleaning exports dir..."),c.verbose(`Deleting ${hr.default.join(n,"exports")}...`),await gr(o.currentRenderingDomain)):c.info("No rollback needed, skipping...")}catch{c.info("Early render stage, no db.json created yet...")}let r=await S();throw r.domains[r.currentRenderingDomain].isRendering=!1,r.domains[r.currentRenderingDomain].renderMode=$.ERROR,await G(r),t}}var Dr=h(require("node:fs/promises")),Rr=h(require("node:path"));async function wr(){let{version:e}=JSON.parse(await Dr.default.readFile(Rr.default.resolve(__dirname,"../..","package.json"),"utf-8")),t=`
13
- ${R.yellow(`Griddo Exporter ${e}`)}
14
- ${R.dim(`Node ${process.version.slice(1)}`)}
15
- `;c.log(t)}var B=process.env.GRIDDO_API_URL,Ln=process.env.GRIDDO_PUBLIC_API_URL,Zi=`${B}/ai/embeddings`,es=`${Ln}/alert`,ts=`${B}/domains`,Sr=`${B}/sites/all`,br=`${B}/page`,Er=`${B}/login_check`,rs=`${B}/debug/reset-render`,_r=`${B}/domains/robots`,os=`${B}/search`,Pr=`${B}/settings`,Fn=`${B}/domains/`,Tr=[Fn,"/llms"],ne=`${B}/site/`,Ir=[ne,"/build/end"],xr=[ne,"/build/start"],Ar=[ne,"/distributor"],$r=[ne,"/sitemap"],Cr=[ne,"/all"],vr=[ne,"/languages"],Or=[ne,"/socials"];var Lr={name:"@griddo/cx",description:"Griddo SSG based on Gatsby",version:"11.13.0",authors:["Hisco <francis.vega@griddo.io>"],license:"UNLICENSED",homepage:"https://griddo.io",repository:{type:"git",url:"https://github.com/griddo/griddo"},bin:{"griddo-render":"cli.mjs"},exports:{".":{import:"./build/index.js",require:"./build/index.js",types:"./build/index.d.ts"},"./react":{import:"./build/react/index.js",require:"./build/react/index.js",types:"./build/react/index.d.ts"}},scripts:{"// NPM":"",prepare:"yarn run build","// BUILD":"",build:"rm -rf build && sh ./exporter/build.sh","build:debug":"rm -rf build && sh ./exporter/build.sh --debug","// TESTS":"",test:"npm run test:compile && npm run test:create-render-fixtures && node --env-file=.env --test ./build/__tests__/* && npm run test:remove-render-fixtures","test-exporter":"npm run test:compile && node --env-file=.env --test ./build/__tests__exporter__/","test:create-render-fixtures":"node --env-file=.env ./build/__tests__/utils/create-fixtures","test:remove-render-fixtures":"node --env-file=.env ./build/__tests__/utils/remove-fixtures","test:compile":"tsgo --project tsconfig.tests.json","// INFRA SCRIPTS":"","prepare-domains-render":"node ./build/commands/prepare-domains-render","start-render":"node ./build/commands/start-render","end-render":"node ./build/commands/end-render","upload-search-content":"node ./build/commands/upload-search-content","reset-render":"node ./build/commands/reset-render","// ONLY LOCAL SCRIPTS":"","prepare-assets-directory":"node ./build/commands/prepare-assets-directory","create-rollback-copy":"rm -rf ../../exports-backup && cp -r ../../exports ../../exports-backup",render:"npm run build && node --env-file=.env cli.mjs render --root=../..","// LINTER & FORMATTER":"",lint:"biome check --write",format:"biome format --write",flint:"npm run lint && npm run format","ts-lint":"tsgo --noEmit","watch:ts-lint":"tsc --noEmit --watch"},dependencies:{"@kreuzberg/html-to-markdown":"2.24.5",gatsby:"5.15.0","html-react-parser":"5.2.11",jiti:"^2.6.1"},devDependencies:{"@biomejs/biome":"2.3.4","@griddo/core":"11.13.0","@types/node":"20.19.4","@typescript/native-preview":"7.0.0-dev.20260108.1",cheerio:"1.1.2",esbuild:"0.25.12","p-limit":"7.2.0",typescript:"5.9.3"},peerDependencies:{react:">=18 <19","react-dom":">=18 <19"},engines:{node:">=20.19"},files:["build","exporter","src","gatsby-browser.tsx","gatsby-config.ts","gatsby-node.ts","gatsby-ssr.tsx","global.d.ts","tsconfig.commands.json","tsconfig.exporter.json","tsconfig.json","plugins","cli.mjs"],publishConfig:{access:"public"},gitHead:"ff4a9e68323e9c422c66ba0a451ae3dc05a964d2"};var Ge={"x-application-id":"griddo-cx","x-client-version":Lr.version,"x-client-name":"CX"};var Dt=class{headers;async login(){try{let t=await fetch(Er,{method:"POST",headers:Object.assign({},Ge,{"Content-Type":"application/json",Connection:"close"}),body:JSON.stringify({username:Yt,password:Vt})});if(!t.ok)throw new Error("Error while login in the API");let{token:r}=await t.json();return this.headers={Authorization:`bearer ${r}`,"Cache-Control":"no-store"},this.headers}catch(t){I(ir,t)}}},Y=new Dt;var mn=h(require("node:path"));async function jn(e){let t=process.hrtime.bigint();await Promise.resolve(e());let r=process.hrtime.bigint();return Number((Number(r-t)/1e9).toFixed(3))}async function C(e,t,r){let{maxRetrys:o=rr,skip:n}=r||{};if(n){c.info(`Skiping life-cycle ${e}. Reason: ${n}
16
- `);return}let s=0;for(;s<o;)try{c.info(`start ${e} life-cycle`);let i=await jn(t);c.success(`${e} - ${i}s
17
- `);break}catch(i){let a=R.red(` Error in ${e} LifeCycle `),d=R.yellow(`Attempt (${s+1})`);c.log(`
18
- ${a} ${d}
19
- `),c.log(i),c.log(),s++}s===o&&I(nr(o,e))}var _e=h(require("node:fs/promises")),Ee=h(require("node:path"));var ue=[],Me=null,be=null,Gn=Xt,wt="render-detail-log.txt",Fr=!le,Rt=null;async function Nr(){return Rt||(Rt=await S()),Rt}async function jr(){if(Fr)return;let e=await Nr();Me=Ee.default.join(e.paths.root,wt),await _e.default.rm(Me,{force:!0})}function Pe(e){Fr||(ue.push(e.toString()),ue.length>=Gn&&Gr().catch(t=>{c.error("Background log flush failed:",t)}))}async function Gr(){if(be&&await be,ue.length===0||!Me)return;be=(async()=>{let t=[...ue];ue.length=0;try{await _e.default.appendFile(Me,`${t.join(`
141
+ ${X.red("stack")}
142
+ ${JSON.stringify(e,null,2)}`),new wr(e)}async function ZQ(A){try{await A()}catch(e){e instanceof wr?d.error("Internal Griddo RenderError"):e instanceof Error?d.error(e.message):d.error(`An unexpected error occurred ${e}`);try{let t=await ee(),r=t.currentRenderingDomain;r?(t.needsRollbackOnError?(d.info("Cleaning exports dir..."),await _Q(r)):d.info("No rollback needed, skipping..."),t.domains[r].isRendering=!1,t.domains[r].renderMode=he.ERROR,await eA(t)):d.warn("No currentRenderingDomain set, skipping cleanup")}catch{d.info("Early render stage, no db.json created yet...")}throw e}}var jQ=b(require("node:fs/promises")),XQ=b(require("node:path"));async function KQ(){let{version:A}=JSON.parse(await jQ.default.readFile(XQ.default.resolve(__dirname,"../..","package.json"),"utf-8")),e=`
143
+ ${X.yellow(`Griddo Exporter ${A}`)}
144
+ ${X.dim(`Node ${process.version.slice(1)}`)}
145
+ `;d.log(e)}var fD=b(dD());function pD(A={}){let{timeoutMs:e}=A;return{async request(t){let{statusCode:r,headers:s,body:n}=await(0,fD.request)(t.url,{method:t.method,headers:t.headers,body:t.body,signal:e?AbortSignal.timeout(e):void 0}),o={};for(let[c,g]of Object.entries(s))g!==void 0&&(o[c]=Array.isArray(g)?g.join(", "):String(g));let i,a=async()=>(i===void 0&&(i=await n.text()),i);return{status:r,statusText:"",ok:r>=200&&r<300,headers:o,json:async()=>JSON.parse(await a()),text:a}}}}var Vi=class extends Error{constructor(e){super(`Circuit breaker is open. Cooldown: ${e}ms`),this.name="CircuitOpenError"}};function WE(A,e){let{failureThreshold:t,cooldownMs:r,onOpen:s,onClose:n}=e,o="closed",i=0,a=0;function c(){o==="half-open"?(o="closed",i=0,n?.()):i=0}function g(){i++,i>=t&&(o="open",a=Date.now(),s?.())}function h(){return o==="closed"?!0:o==="open"&&Date.now()-a>=r?(o="half-open",!0):o==="half-open"}return{async request(Q){if(!h())throw new Vi(r);try{let l=await A.request(Q);return c(),l}catch(l){throw g(),l}}}}function yD(A){return new Promise(e=>setTimeout(e,A))}function DD(A,e,t,r){let s=t==="exponential"?A*2**(e-1):A;return r&&(s=Math.round(s*(.5+Math.random()))),s}function _E(A,e){let{attempts:t,delayMs:r,backoff:s="fixed",jitter:n=!1,retryOn:o,onRetry:i}=e;return{async request(a){let c;for(let g=1;g<=t;g++)try{let h=await A.request(a);if(o?.(h)&&g<t){let Q=DD(r,g,s,n);i?.({request:a,attempt:g,delayMs:Q,response:h}),await yD(Q);continue}return h}catch(h){if(c=h,g<t){let Q=DD(r,g,s,n);i?.({request:a,attempt:g,delayMs:Q,error:c}),await yD(Q)}}throw c}}}var ZE;function Fn(){return ZE||(ZE=WE(_E(pD({timeoutMs:UQ}),{attempts:ha,delayMs:bQ*1e3,backoff:"exponential",jitter:!0,retryOn:A=>A.status>=500,onRetry:({request:A,attempt:e,delayMs:t,error:r,response:s})=>{let n=s?`HTTP ${s.status}`:r?.message;d.warn(`Retry ${e}/${ha}: ${A.method} ${A.url} \u2014 ${n} (next in ${t}ms)`)}}),{failureThreshold:MQ,cooldownMs:TQ,onOpen:()=>d.warn("Circuit breaker OPEN \u2014 requests will fail fast"),onClose:()=>d.info("Circuit breaker CLOSED \u2014 recovered")}),d.verbose("HTTP adapter: undici (timeout + retry + circuit breaker)")),ZE}var dA=process.env.GRIDDO_API_URL,q2=process.env.GRIDDO_PUBLIC_API_URL,kJ=`${dA}/ai/embeddings`,LJ=`${q2}/alert`,HJ=`${dA}/domains`,mD=`${dA}/sites/all`,wD=`${dA}/page`,RD=`${dA}/login_check`,xJ=`${dA}/debug/reset-render`,SD=`${dA}/domains/robots`,YJ=`${dA}/search`,ND=`${dA}/settings`,W2=`${dA}/domains/`,FD=[W2,"/llms"],Br=`${dA}/site/`,bD=[Br,"/build/end"],UD=[Br,"/build/start"],MD=[Br,"/distributor"],TD=[Br,"/sitemap"],kD=[Br,"/all"],LD=[Br,"/languages"],HD=[Br,"/socials"];var xD={name:"@griddo/cx",description:"Griddo SSG based on Gatsby",version:"11.13.2",authors:["Hisco <francis.vega@griddo.io>"],license:"UNLICENSED",homepage:"https://griddo.io",repository:{type:"git",url:"https://github.com/griddo/griddo"},bin:{"griddo-render":"cli.mjs"},exports:{".":{types:"./build/index.d.ts",import:"./build/index.js",require:"./build/index.js"},"./react":{types:"./build/react/index.d.ts",import:"./build/react/index.js",require:"./build/react/index.js"}},scripts:{"// NPM":"",prepare:"yarn run build","// BUILD":"",build:"rm -rf build && sh ./exporter/build.sh","build:debug":"rm -rf build && sh ./exporter/build.sh --debug","// TESTS":"",test:"vitest run","test:watch":"vitest","// INFRA SCRIPTS":"","prepare-domains-render":"node ./build/commands/prepare-domains-render","start-render":"node ./build/commands/start-render","end-render":"node ./build/commands/end-render","upload-search-content":"node ./build/commands/upload-search-content","reset-render":"node ./build/commands/reset-render","// ONLY LOCAL SCRIPTS":"","prepare-assets-directory":"node ./build/commands/prepare-assets-directory","create-rollback-copy":"rm -rf ../../exports-backup && cp -r ../../exports ../../exports-backup",render:"npm run build && node --env-file=.env cli.mjs render","// LINTER & FORMATTER":"",lint:"biome check --write",format:"biome format --write",flint:"npm run lint && npm run format","ts-lint":"tsgo --noEmit","watch:ts-lint":"tsc --noEmit --watch"},dependencies:{"@kreuzberg/html-to-markdown":"2.24.5",gatsby:"5.15.0","html-react-parser":"5.2.11",jiti:"^2.6.1",undici:"7.24.6"},devDependencies:{"@biomejs/biome":"2.3.4","@griddo/core":"11.13.2","@types/node":"20.19.4","@typescript/native-preview":"7.0.0-dev.20260401.1",cheerio:"1.1.2",esbuild:"0.25.12","p-limit":"7.2.0",typescript:"6.0.2",vitest:"^4.0.18"},peerDependencies:{react:">=18 <19","react-dom":">=18 <19"},engines:{node:">=20.19"},files:["build","exporter","src","gatsby-browser.tsx","gatsby-config.ts","gatsby-node.ts","gatsby-ssr.tsx","global.d.ts","tsconfig.commands.json","tsconfig.exporter.json","tsconfig.json","plugins","cli.mjs"],publishConfig:{access:"public"},gitHead:"69f4895badd211460b6e090eee8b7473789aa3c7"};var vi={"x-application-id":"griddo-cx","x-client-version":xD.version,"x-client-name":"CX"};var Z2=Fn(),jE=class{headers;async login(){try{let e=await Z2.request({url:RD,method:"POST",headers:Object.assign({},vi,{"Content-Type":"application/json",Connection:"close"}),body:JSON.stringify({username:yQ,password:DQ})});if(!e.ok)throw new Error("Error while login in the API");let{token:t}=await e.json();if(!t||typeof t!="string")throw new Error("Login response missing valid token");return this.headers={Authorization:`bearer ${t}`,"Cache-Control":"no-store"},this.headers}catch(e){Ie(xQ,e)}}},At=new jE;var Qw=b(require("node:path"));async function j2(A){let e=process.hrtime.bigint();await Promise.resolve(A());let t=process.hrtime.bigint();return Number((Number(t-e)/1e9).toFixed(3))}async function we(A,e,t){let{maxRetrys:r=kQ,skip:s}=t||{};if(s){d.info(`Skiping life-cycle ${A}. Reason: ${s}
146
+ `);return}let n=0;for(;n<r;)try{d.info(`start ${A} life-cycle`);let o=await j2(e);d.success(`${A} - ${o}s
147
+ `);break}catch(o){let i=X.red(` Error in ${A} LifeCycle `),a=X.yellow(`Attempt (${n+1})`);d.log(`
148
+ ${i} ${a}
149
+ `),d.log(o),d.log(),n++}n===r&&Ie(HQ(r,A))}var Mn=b(require("node:fs/promises")),Un=b(require("node:path"));var Qs=[],Ji=null,bn=null,X2=mQ,KE="render-detail-log.txt",YD=!yr,XE=null;async function GD(){return XE||(XE=await ee()),XE}async function OD(){if(YD)return;let A=await GD();Ji=Un.default.join(A.paths.root,KE),await Mn.default.rm(Ji,{force:!0})}function Tn(A){YD||(Qs.push(A.toString()),Qs.length>=X2&&VD().catch(e=>{d.error("Background log flush failed:",e)}))}async function VD(){if(bn&&await bn,Qs.length===0||!Ji)return;bn=(async()=>{let e=[...Qs];Qs.length=0;try{await Mn.default.appendFile(Ji,`${e.join(`
20
150
  `)}
21
- `)}catch(r){ue.unshift(...t),c.error("Error flushing logs:",r)}})();try{await be}finally{be=null}}async function Mr(e){await Gr();let t=await Nr(),r=Mn(),o=Ee.default.join(t.paths.exportsDir,e,"logs");await _e.default.mkdir(o,{recursive:!0});let n=Ee.default.join(t.paths.root,wt),s=Ee.default.join(o,`${r}-${wt}`);try{await _e.default.cp(n,s)}catch(i){if(i instanceof Error&&"code"in i&&i.code!=="ENOENT")throw i}}function Mn(){let e=new Date,t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),s=String(e.getMinutes()).padStart(2,"0"),i=String(e.getSeconds()).padStart(2,"0");return`${t}-${r}-${o}_${n}-${s}-${i}`}var ge=h(require("node:fs/promises")),k=h(require("node:path"));var Be=h(require("node:fs/promises")),Q=h(require("node:path"));async function ke(e){let t=await S(),{sitesToPublish:r,createdPages:o,buildProcessData:n}=t.domains[e].renderInfo||{};if(!r||!o||!n)throw new Error("Build metadata not found");return{buildProcessData:n,createdPages:o,sitesToPublish:r}}async function Br(e,t){let r=await S();r.domains[t]=r.domains[t]||{},r.domains[t].renderInfo=e,await G(r)}async function kr(e,t){let{__root:r}=await w();try{let o=new Set(["editorID","parentEditorID"]);for(let n of t){kn(n,o);let s=`${n.context.page.id}.json`,i=Q.default.join(r,"store",e,s);await Bn(i,JSON.stringify(n))}}catch(o){I(dr,o)}}async function Hr(e,t){let{__root:r}=await w({domain:t}),o=Q.default.join(r,"store");if(!await D(o))return;let n=await Be.default.readdir(o),s=e.map(({id:a})=>`${a}`),i=n.filter(a=>!s.includes(a));for(let a of i)await Be.default.rm(Q.default.join(o,a),{recursive:!0,force:!0}),c.verbose(`Removed orphan site id: ${a}`)}async function Bn(e,t){let r=Q.default.dirname(e),o=Q.default.extname(e),n=Q.default.basename(e,o),s=e,i=1;for(;await D(s);){let a=`${n}-${i}${o}`;s=Q.default.join(r,a),i++}await Be.default.writeFile(s,t)}function kn(e,t){function r(o){if(!(!o||typeof o!="object"||Array.isArray(o))){for(let n in o)if(Object.hasOwn(o,n))if(t.has(n))delete o[n];else{let s=o[n];typeof s=="object"&&s!==null&&!Array.isArray(s)&&r(s)}}}r(e)}async function Ur(e){let{domain:t}=e,r=await S();r.domains[t].isRendering=!0,await G(r);let{__ssg:o}=await w(),n=k.default.join(o,`.render-sentinel-${t}`);await ge.default.writeFile(n,new Date().toISOString())}async function Wr(e){let t=await S();t.domains[e].isRendering=!1,t.currentRenderingDomain=null,t.domains[e].renderMode=$.COMPLETED,await G(t);let{__ssg:r}=await w(),o=k.default.join(r,`.render-sentinel-${e}`);await ge.default.unlink(o)}async function Jr(e){let{__ssg:t}=await w(),r=k.default.join(t,`.render-sentinel-${e}`);await D(r)||I(cr)}async function qr(e){let{basePath:t}=e,o=(await S()).commitHash;await ge.default.writeFile(k.default.join(t,"commit"),o)}async function Yr(e){let t=await S();if(!t.domains[e])throw new Error(R.red(`[!] Error: Domain ${e} not found in DB`));if(!t.domains[e].renderMode)throw new Error(R.red(`[!] Error: Render mode not found for domain ${e}`));return{renderMode:t.domains[e].renderMode,reason:t.domains[e].renderModeReason}}async function w(e){let{domain:t,dbFilePath:r}=e||{},n=(await S(r)).paths;return{__root:n.root,__cache:k.default.join(n.cxCache,t||""),__components:n.components,__cx:n.cx,__sites:n.exportsDir,__exports:k.default.join(n.exportsDir,t||""),__exports_backup:k.default.join(n.exportsDirBackup,t||""),__ssg:n.ssg,__exports_dist:k.default.join(n.exportsDir,t||"","dist")}}async function St(){let e=await S();return{griddoVersion:e.griddoVersion,buildReportFileName:e.buildReportFileName}}async function Vr(e){let t=await Y.login(),{__root:r}=await w(),{buildReportFileName:o}=await St(),{buildProcessData:n}=await ke(e),s=Object.keys(n).map(l=>({...n[l],siteId:Number.parseInt(l)})),i={authControl:t,sites:s},a=k.default.join(r,"current-dist",o),d=k.default.join(r,"current-dist");try{await ge.default.mkdir(d,{recursive:!0})}catch{c.verbose(`directory: ${d} already exists, creation skipped.`)}await ge.default.writeFile(a,JSON.stringify(i)),c.verbose(`build report saved in ${a}`)}var N=h(require("node:path"));async function Xr(e){let{__exports:t,__cache:r,__root:o,__ssg:n}=await w({domain:e});return{initials:[t,r,N.default.join(t,"logs"),N.default.join(o,"store"),N.default.join(o,"apiCache")],disposables:[N.default.join(o,"store"),N.default.join(o,"apiCache"),N.default.join(o,"dist"),N.default.join(o,"dist-restored"),N.default.join(o,"assets"),N.default.join(o,"render-detail-log.txt"),N.default.join(o,"current-dist"),N.default.join(n,"domains.json"),N.default.join(n,"render-metadata.json")],cacheables:[],archivables:["assets"],restaurable:["dist"]}}var He=class{domain;renderMode;dryRun;buildReportFileName;pathsHydratedWithDomain;workingDistDir="";pagesToCreate=[];pagesToDelete=[];ssg;renderMetadata;renderArtifacts;constructor({domain:t,renderMode:r,ssg:o,pathsHydratedWithDomain:n,renderMetadata:s,renderArtifacts:i,dryRun:a,buildReportFileName:d}){this.domain=t,this.renderMode=r,this.pathsHydratedWithDomain=n,this.renderMetadata=s,this.renderArtifacts=i,this.ssg=o,this.dryRun=a,this.buildReportFileName=d}};var Ue=h(require("node:fs/promises")),We=h(require("node:path"));async function Kr(e){let{renderArtifacts:t,ssg:{ssgArtifacts:r},pathsHydratedWithDomain:{__cache:o,__exports:n},renderMode:s}=e;s===$.FROM_SCRATCH&&!e.dryRun&&(await Ue.default.rm(We.default.join(o,".cache"),{recursive:!0,force:!0}),await Ue.default.rm(We.default.join(n,"dist"),{recursive:!0,force:!0}),await Ue.default.rm(We.default.join(n,"assets"),{recursive:!0,force:!0})),await pe(t.disposables),await pe(r.disposables)}async function zr(e){let{renderArtifacts:t,ssg:{ssgArtifacts:r},pathsHydratedWithDomain:{__cache:o}}=e;await pe(t.disposables),await pe(r.disposables),await qr({basePath:o})}var Xe=h(require("node:fs/promises")),xe=h(require("node:path"));var bt=class{value;next;constructor(t){this.value=t}},Te=class{#e;#t;#r;constructor(){this.clear()}enqueue(t){let r=new bt(t);this.#e?(this.#t.next=r,this.#t=r):(this.#e=r,this.#t=r),this.#r++}dequeue(){let t=this.#e;if(t)return this.#e=this.#e.next,this.#r--,this.#e||(this.#t=void 0),t.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#t=void 0,this.#r=0}get size(){return this.#r}*[Symbol.iterator](){let t=this.#e;for(;t;)yield t.value,t=t.next}*drain(){for(;this.#e;)yield this.dequeue()}};function Ie(e){Qr(e);let t=new Te,r=0,o=()=>{r<e&&t.size>0&&(r++,t.dequeue()())},n=()=>{r--,o()},s=async(d,l,p)=>{let m=(async()=>d(...p))();l(m);try{await m}catch{}n()},i=(d,l,p)=>{new Promise(m=>{t.enqueue(m)}).then(s.bind(void 0,d,l,p)),r<e&&o()},a=(d,...l)=>new Promise(p=>{i(d,p,l)});return Object.defineProperties(a,{activeCount:{get:()=>r},pendingCount:{get:()=>t.size},clearQueue:{value(){t.clear()}},concurrency:{get:()=>e,set(d){Qr(d),e=d,queueMicrotask(()=>{for(;r<e&&t.size>0;)o()})}},map:{async value(d,l){let p=Array.from(d,(m,f)=>this(l,m,f));return Promise.all(p)}}}),a}function Qr(e){if(!((Number.isInteger(e)||e===Number.POSITIVE_INFINITY)&&e>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var qe=h(require("node:readline")),Je=class e{constructor(t,r){this.siteName=t;this.total=r;this.startTime=Date.now()}startTime;isFinished=!1;width=20;static ANSI_REGEX=/\u001b\[[0-9;]*m/g;update(t){if(this.isFinished)return;let o=(Date.now()-this.startTime)/1e3,n=this.total>0?Math.min(Math.max(t/this.total,0),1):0,s=o>0?t/o:0;if(t>=this.total){this.isFinished=!0;let i=`Fetched pages from ${this.siteName}: ${this.total} pages - ${s.toFixed(1)}p/s - ${this.formatTime(o)}`;this.writeToLine(i),this.finish();return}if(!process.env.CI){let i=Math.floor(n*100),a=this.total-t,d=s>0?Math.ceil(a/s):0,l=Math.round(this.width*n),p=this.width-l,m=`${"\u2588".repeat(l)}${"\u2591".repeat(p)}`,f=`Fetching pages from ${this.siteName}: ${m} ${i}% - (${t}/${this.total}) - ${s.toFixed(1)}p/s - ETA: ${this.formatTime(d)}`;this.writeToLine(f)}}writeToLine(t){qe.clearLine(process.stdout,0),qe.cursorTo(process.stdout,0);let r=process.stdout.columns||80;if(t.replace(e.ANSI_REGEX,"").length>r){let n=t.replace(e.ANSI_REGEX,"");process.stdout.write(`${n.substring(0,r-3)}...`)}else process.stdout.write(t)}finish(){process.stdout.write(`
22
- `)}formatTime(t){if(!Number.isFinite(t)||t<0)return"--:--";let r=Math.floor(t/3600),o=Math.floor(t%3600/60),n=Math.floor(t%60),s=o.toString().padStart(2,"0"),i=n.toString().padStart(2,"0");return r>0?`${r}:${s}:${i}`:`${s}:${i}`}};var to=h(require("node:crypto")),Ye=h(require("node:fs/promises")),Et=h(require("node:path"));async function _t(e,t,r=""){let{endpoint:o,body:n,cacheKey:s="",attempt:i=1,headers:a,useApiCacheDir:d=!0,logToFile:l=!0}=e,p={endpoint:o,body:n,headers:a,cacheKey:s};if(s&&d){let m=new Date,f=await Jn(p);if(f){if(l){let g=Zr(f),u=g?`site: ${g}`:"",b=eo(Date.now()-m.getTime());Pe(`${t} (cache) ${u} ${o} - ${b}s ${r}`)}return f}}try{let m=new Date,f={method:t.toUpperCase(),headers:Object.assign({},Ge,a,Y.headers)};t.toLowerCase()!=="get"&&n&&(f.body=JSON.stringify(n),f.headers||(f.headers={}),f.headers["Content-Type"]="application/json");let g=await fetch(o,f);if(!g.ok){if(g.status===404)return null;throw new Error(`HTTP ${g.status}: ${g.statusText}`)}let u=await g.json();if(l){let b=Zr(u),A=b?`site: ${b}`:"",E=eo(Date.now()-m.getTime());Pe(`${t} (fetch) ${A} ${o} - ${E}s ${r}`)}return d&&await Wn(p,u),u}catch(m){let f=m;if(i>ft)throw c.log(`
23
- Max attempts ${ft} reached
24
- --------------------------------------
25
- - ${t.toUpperCase()} ${o}
26
- - BODY: ${JSON.stringify(n)}
27
- - HEADERS: ${JSON.stringify(a)}
28
- - ERROR: ${f.message}
29
- --------------------------------------
30
- `),new fe(f);return Hn(f,{callInfo:{endpoint:o,body:n}}),c.warn(`Waiting for retry: ${t}`,o),await Un(tr*1e3),_t({endpoint:o,body:n,headers:a,cacheKey:s,attempt:i+1},t,r)}}async function L(e){return _t(e,"get")}async function Pt(e){let{endpoint:t,body:r,headers:o}=e,n=t.endsWith("/distributor")&&`# ReferenceField body: ${JSON.stringify(r)} lang: ${JSON.stringify(o?.lang)}`;return _t(e,"post",n||"")}function Hn(e,t){let{message:r,stack:o}=e,{callInfo:n}=t,s=[];for(let d of Object.keys(n))s.push(`${d}: ${typeof n[d]=="object"?JSON.stringify(n[d]):n[d]}`);let i=s.join(`
31
- `),a=`${r}
32
- ${o}`;c.warn(R.red(`
151
+ `)}catch(t){Qs.unshift(...e),d.error("Error flushing logs:",t)}})();try{await bn}finally{bn=null}}async function vD(A){await VD();let e=await GD(),t=K2(),r=Un.default.join(e.paths.exportsDir,A,"logs");await Mn.default.mkdir(r,{recursive:!0});let s=Un.default.join(e.paths.root,KE),n=Un.default.join(r,`${t}-${KE}`);try{await Mn.default.cp(s,n)}catch(o){if(o instanceof Error&&"code"in o&&o.code!=="ENOENT")throw o}}function K2(){let A=new Date,e=A.getFullYear(),t=String(A.getMonth()+1).padStart(2,"0"),r=String(A.getDate()).padStart(2,"0"),s=String(A.getHours()).padStart(2,"0"),n=String(A.getMinutes()).padStart(2,"0"),o=String(A.getSeconds()).padStart(2,"0");return`${e}-${t}-${r}_${s}-${n}-${o}`}var us=b(require("node:fs/promises")),fA=b(require("node:path"));var Pi=b(require("node:fs/promises")),bt=b(require("node:path"));async function qi(A){let e=await ee(),{sitesToPublish:t,createdPages:r,buildProcessData:s}=e.domains[A].renderInfo||{};if(!t||!r||!s)throw new Error("Build metadata not found");return{buildProcessData:s,createdPages:r,sitesToPublish:t}}async function JD(A,e){let t=await ee();t.domains[e]=t.domains[e]||{},t.domains[e].renderInfo=A,await eA(t)}async function PD(A,e){let{__root:t}=await K();try{let r=new Set(["editorID","parentEditorID"]);for(let s of e){$2(s,r);let n=`${s.context.page.id}.json`,o=bt.default.join(t,"store",A,n);await z2(o,JSON.stringify(s))}}catch(r){Ie(VQ,r)}}async function qD(A,e){let{__root:t}=await K({domain:e}),r=bt.default.join(t,"store");if(!await $(r))return;let s=await Pi.default.readdir(r),n=A.map(({id:i})=>`${i}`),o=s.filter(i=>!n.includes(i));for(let i of o)await Pi.default.rm(bt.default.join(r,i),{recursive:!0,force:!0}),d.verbose(`Removed orphan site id: ${i}`)}async function z2(A,e){let t=bt.default.dirname(A),r=bt.default.extname(A),s=bt.default.basename(A,r),n=A,o=1;for(;await $(n);){let i=`${s}-${o}${r}`;n=bt.default.join(t,i),o++}await Pi.default.writeFile(n,e)}function $2(A,e){let t=new WeakSet;function r(s){if(!(!s||typeof s!="object"||Array.isArray(s))&&!t.has(s)){t.add(s);for(let n in s)if(Object.hasOwn(s,n))if(e.has(n))delete s[n];else{let o=s[n];typeof o=="object"&&o!==null&&!Array.isArray(o)&&r(o)}}}r(A)}async function WD(A){let{domain:e}=A,t=await ee();t.domains[e].isRendering=!0,await eA(t);let{__ssg:r}=await K(),s=fA.default.join(r,`.render-sentinel-${e}`);await us.default.writeFile(s,new Date().toISOString())}async function _D(A){let e=await ee();e.domains[A].isRendering=!1,e.currentRenderingDomain=null,e.domains[A].renderMode=he.COMPLETED,await eA(e);let{__ssg:t}=await K(),r=fA.default.join(t,`.render-sentinel-${A}`);await us.default.unlink(r)}async function ZD(A){let{__ssg:e}=await K(),t=fA.default.join(e,`.render-sentinel-${A}`);await $(t)||Ie(OQ)}async function jD(A){let{basePath:e}=A,r=(await ee()).commitHash;await us.default.writeFile(fA.default.join(e,"commit"),r)}async function XD(A){let e=await ee();if(!e.domains[A])throw new Error(X.red(`[!] Error: Domain ${A} not found in DB`));if(!e.domains[A].renderMode)throw new Error(X.red(`[!] Error: Render mode not found for domain ${A}`));return{renderMode:e.domains[A].renderMode,reason:e.domains[A].renderModeReason}}async function K(A){let{domain:e,dbFilePath:t}=A||{},s=(await ee(t)).paths;return{__root:s.root,__cache:fA.default.join(s.cxCache,e||""),__components:s.components,__cx:s.cx,__sites:s.exportsDir,__exports:fA.default.join(s.exportsDir,e||""),__exports_backup:fA.default.join(s.exportsDirBackup,e||""),__ssg:s.ssg,__exports_dist:fA.default.join(s.exportsDir,e||"","dist")}}async function zE(){let A=await ee();return{griddoVersion:A.griddoVersion,buildReportFileName:A.buildReportFileName}}async function KD(A){let e=await At.login(),{__root:t}=await K(),{buildReportFileName:r}=await zE(),{buildProcessData:s}=await qi(A),n=Object.keys(s).map(c=>({...s[c],siteId:Number.parseInt(c)})),o={authControl:e,sites:n},i=fA.default.join(t,"current-dist",r),a=fA.default.join(t,"current-dist");try{await us.default.mkdir(a,{recursive:!0})}catch{d.verbose(`directory: ${a} already exists, creation skipped.`)}await us.default.writeFile(i,JSON.stringify(o)),d.verbose(`build report saved in ${i}`)}var ze=b(require("node:path"));async function zD(A){let{__exports:e,__cache:t,__root:r,__ssg:s}=await K({domain:A});return{initials:[e,t,ze.default.join(e,"logs"),ze.default.join(r,"store"),ze.default.join(r,"apiCache")],disposables:[ze.default.join(r,"store"),ze.default.join(r,"apiCache"),ze.default.join(r,"dist"),ze.default.join(r,"dist-restored"),ze.default.join(r,"assets"),ze.default.join(r,"render-detail-log.txt"),ze.default.join(r,"current-dist"),ze.default.join(s,"domains.json"),ze.default.join(s,"render-metadata.json")],cacheables:[],archivables:["assets"],restaurable:["dist"]}}var Wi=class{domain;renderMode;dryRun;buildReportFileName;pathsHydratedWithDomain;workingDistDir="";pagesToCreate=[];pagesToDelete=[];ssg;renderMetadata;renderArtifacts;constructor({domain:e,renderMode:t,ssg:r,pathsHydratedWithDomain:s,renderMetadata:n,renderArtifacts:o,dryRun:i,buildReportFileName:a}){this.domain=e,this.renderMode=t,this.pathsHydratedWithDomain=s,this.renderMetadata=n,this.renderArtifacts=o,this.ssg=r,this.dryRun=i,this.buildReportFileName=a}};var _i=b(require("node:fs/promises")),Zi=b(require("node:path"));async function $D(A){let{renderArtifacts:e,ssg:{ssgArtifacts:t},pathsHydratedWithDomain:{__cache:r,__exports:s},renderMode:n}=A;n===he.FROM_SCRATCH&&!A.dryRun&&(await _i.default.rm(Zi.default.join(r,".cache"),{recursive:!0,force:!0}),await _i.default.rm(Zi.default.join(s,"dist"),{recursive:!0,force:!0}),await _i.default.rm(Zi.default.join(s,"assets"),{recursive:!0,force:!0})),await mr(e.disposables),await mr(t.disposables)}async function em(A){let{renderArtifacts:e,ssg:{ssgArtifacts:t},pathsHydratedWithDomain:{__cache:r}}=A;await mr(e.disposables),await mr(t.disposables),await jD({basePath:r})}var $i=b(require("node:fs/promises")),Hn=b(require("node:path"));var $E=class{value;next;constructor(e){this.value=e}},kn=class{#e;#A;#t;constructor(){this.clear()}enqueue(e){let t=new $E(e);this.#e?(this.#A.next=t,this.#A=t):(this.#e=t,this.#A=t),this.#t++}dequeue(){let e=this.#e;if(e)return this.#e=this.#e.next,this.#t--,this.#e||(this.#A=void 0),e.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#A=void 0,this.#t=0}get size(){return this.#t}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}*drain(){for(;this.#e;)yield this.dequeue()}};function Ln(A){Am(A);let e=new kn,t=0,r=()=>{t<A&&e.size>0&&(t++,e.dequeue()())},s=()=>{t--,r()},n=async(a,c,g)=>{let h=(async()=>a(...g))();c(h);try{await h}catch{}s()},o=(a,c,g)=>{new Promise(h=>{e.enqueue(h)}).then(n.bind(void 0,a,c,g)),t<A&&r()},i=(a,...c)=>new Promise(g=>{o(a,g,c)});return Object.defineProperties(i,{activeCount:{get:()=>t},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}},concurrency:{get:()=>A,set(a){Am(a),A=a,queueMicrotask(()=>{for(;t<A&&e.size>0;)r()})}},map:{async value(a,c){let g=Array.from(a,(h,Q)=>this(c,h,Q));return Promise.all(g)}}}),i}function Am(A){if(!((Number.isInteger(A)||A===Number.POSITIVE_INFINITY)&&A>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var Xi=b(require("node:readline")),ji=class A{constructor(e,t){this.siteName=e;this.total=t;this.startTime=Date.now()}startTime;isFinished=!1;width=20;static ANSI_REGEX=/\u001b\[[0-9;]*m/g;update(e){if(this.isFinished)return;let r=(Date.now()-this.startTime)/1e3,s=this.total>0?Math.min(Math.max(e/this.total,0),1):0,n=r>0?e/r:0;if(e>=this.total){this.isFinished=!0;let o=`Fetched pages from ${this.siteName}: ${this.total} pages - ${n.toFixed(1)}p/s - ${this.formatTime(r)}`;this.writeToLine(o),this.finish();return}if(!process.env.CI){let o=Math.floor(s*100),i=this.total-e,a=n>0?Math.ceil(i/n):0,c=Math.round(this.width*s),g=this.width-c,h=`${"\u2588".repeat(c)}${"\u2591".repeat(g)}`,Q=`Fetching pages from ${this.siteName}: ${h} ${o}% - (${e}/${this.total}) - ${n.toFixed(1)}p/s - ETA: ${this.formatTime(a)}`;this.writeToLine(Q)}}writeToLine(e){Xi.clearLine(process.stdout,0),Xi.cursorTo(process.stdout,0);let t=process.stdout.columns||80;if(e.replace(A.ANSI_REGEX,"").length>t){let s=e.replace(A.ANSI_REGEX,"");process.stdout.write(`${s.substring(0,t-3)}...`)}else process.stdout.write(e)}finish(){process.stdout.write(`
152
+ `)}formatTime(e){if(!Number.isFinite(e)||e<0)return"--:--";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=Math.floor(e%60),n=r.toString().padStart(2,"0"),o=s.toString().padStart(2,"0");return t>0?`${t}:${n}:${o}`:`${n}:${o}`}};var sm=b(require("node:crypto")),Ki=b(require("node:fs/promises")),eQ=b(require("node:path"));var eO=Fn();async function nm(A,e,t=""){let{endpoint:r,body:s,cacheKey:n="",headers:o,useApiCacheDir:i=!0,logToFile:a=!0}=A,c={endpoint:r,body:s,headers:o,cacheKey:n};if(n&&i){let g=new Date,h=await rO(c);if(h){if(a){let Q=tm(h),l=Q?`site: ${Q}`:"",E=rm(Date.now()-g.getTime());Tn(`${e} (cache) ${l} ${r} - ${E}s ${t}`)}return h}}try{let g=new Date,h=Object.assign({},vi,o,At.headers),Q=e.toLowerCase()!=="get"&&s;Q&&(h["Content-Type"]="application/json");let l=await eO.request({url:r,method:e.toUpperCase(),headers:h,body:Q?JSON.stringify(s):void 0});if(!l.ok){if(l.status===404)return null;throw new Error(`HTTP ${l.status}: ${l.statusText}`)}let E=await l.json();if(a){let B=tm(E),D=B?`site: ${B}`:"",C=rm(Date.now()-g.getTime());Tn(`${e} (fetch) ${D} ${r} - ${C}s ${t}`)}return i&&await tO(c,E),E}catch(g){let h=g;throw AO(h,{callInfo:{endpoint:r,body:s}}),new wr(h)}}async function Ye(A){return nm(A,"get")}async function AQ(A){let{endpoint:e,body:t,headers:r}=A,s=e.endsWith("/distributor")&&`# ReferenceField body: ${JSON.stringify(t)} lang: ${JSON.stringify(r?.lang)}`;return nm(A,"post",s||"")}function AO(A,e){let{message:t,stack:r}=A,{callInfo:s}=e,n=[];for(let a of Object.keys(s))n.push(`${a}: ${typeof s[a]=="object"?JSON.stringify(s[a]):s[a]}`);let o=n.join(`
153
+ `),i=`${t}
154
+ ${r}`;d.warn(X.red(`
33
155
  =============
34
156
 
35
157
  { Call info }
36
- ${i}
158
+ ${o}
37
159
 
38
160
  { Error details }
39
- ${a}
161
+ ${i}
40
162
 
41
163
  =============
42
- `))}function Zr(e){if(!(typeof e!="object"||e===null||Array.isArray(e)))return"site"in e&&e.site?e.site:void 0}function Un(e){return new Promise(t=>setTimeout(t,e))}function eo(e,t=3){return Number.parseFloat((e/1e3).toFixed(t))}async function ro(e){let{__root:t}=await w(),r=Et.default.join(t,"apiCache"),o=to.default.createHash("sha256");return o.update(JSON.stringify(e)),`${r}/${o.digest("hex")}`}async function Wn(e,t){let r=typeof t=="string"?t:JSON.stringify(t),o=await ro(e),n=Et.default.dirname(o);await D(n)||await Ye.default.mkdir(n,{recursive:!0}),await Ye.default.writeFile(o,r,"utf8")}async function Jn(e){try{let t=await ro(e),r=await Ye.default.readFile(t,"utf8");return JSON.parse(r)}catch{return null}}var mo=h(require("node:fs/promises")),po=h(require("node:path"));async function oo(e){return L({endpoint:`${Sr}?domainSlug=${e}`})}async function no(e,t){return L({endpoint:`${br}/${e}`,cacheKey:t})}async function io(e,t=""){let[r,o]=Cr;return L({endpoint:`${r}${e}${o}`,cacheKey:t})}async function Tt(e,t=""){let[r,o]=vr;return L({endpoint:`${r}${e}${o}`,cacheKey:t})}async function It(e){let[t,r]=xr;return L({endpoint:`${t}${e}${r}`})}async function so(e,t){let[r,o]=Ir;await Pt({endpoint:`${r}${e}${o}`,body:t,useApiCacheDir:!1,logToFile:!1})}async function ao(e,t,r,o,n){let[s,i]=Ar,a=o||e.site,d=n||e.language;return Pt({endpoint:`${s}${a}${i}`,body:t,headers:{lang:d},cacheKey:r})}async function co(e){let{siteId:t,headers:r}=e,[o,n]=$r;return L({endpoint:`${o}${t}${n}`,headers:r})}async function lo(e,t=""){let[r,o]=Or;return L({endpoint:`${r}${e}${o}`,cacheKey:t})}async function fo(e){let t=await oo(e);if(t.length)for(let n of t){let{items:s}=await Tt(n.id);n.domains=s.filter(i=>i.domain&&(i.domain.slug===e||i.domain.slug===`/${e}`)).map(i=>({[i.id]:`${i.domain.slug}${i.path}`}))}let r=t.filter(n=>!!n.isPublished),o=t.filter(n=>!n.isPublished&&n.shouldBeUpdated);return{sitesToPublish:r,sitesToUnpublish:o}}async function uo(e){let{__root:t}=await w();for(let r of e){let o=await It(r.id),{siteHash:n}=o,s={siteHash:n,publishHashes:[],unpublishHashes:[],publishPagesIds:[]};await so(r.id,s),await mo.default.rm(po.default.join(t,"store",r.id.toString()),{force:!0,recursive:!0})}}async function go(e){let t=await It(e),r=await io(e),o=await Tt(e),n=await lo(e),s=o.items,i=s.find(u=>u.isDefault),{siteHash:a,unpublishHashes:d,publishIds:l}=t,{headers:p,footers:m}=r;return{siteInfo:r,validPagesIds:l,siteHash:a,unpublishHashes:d,siteLangs:s,defaultLang:i,headers:p,footers:m,socials:n}}var Ve=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(t){this._navigations=t,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let r=[...this.navigations.footers].filter(n=>n.setAsDefault),o={};for(let n of r)o[n.language]=n;return o}getDefaultHeaders(){let r=[...this.navigations.headers].filter(n=>n.setAsDefault),o={};for(let n of r)o[n.language]=n;return o}getRightLanguage(t,r,o){if(!t||!r)return null;let s=t.find(i=>i.language===o&&i.navigationLanguages?.find(a=>a.navigationId===r))||t.find(i=>i.id===r);return s?{...s}:null}getPageHeader(t,r){return this.getRightLanguage(this.navigations.headers,t,r)}getPageFooter(t,r){return this.getRightLanguage(this.navigations.footers,t,r)}getPageNavigations(t){let{header:r,footer:o,language:n,template:s,templateConfig:i}=t,{templateType:a}=s,{defaultHeader:d,defaultFooter:l,templates:p}=i,m=A=>{let E=A.find(_=>typeof _=="number");return typeof E=="number"?E:null},f=m([r,p?.[a]?.defaultHeader,d]),g=m([o,p?.[a]?.defaultFooter,l]),u=f?this.getPageHeader(f,n):f===0?null:this._defaultHeaders[n],b=g?this.getPageFooter(g,n):g===0?null:this._defaultFooters[n];return{header:u,footer:b}}};function xt(e,t,r,o="jpg"){let n=typeof e=="string"?e:e?.url;return n?n.split("/")[2].includes("cloudinary.com")?Yn(n,`c_fill,w_${t},h_${r}`):qn(n,`f/${o}/w/${t}/h/${r}`):null}function qn(e,t){let r=e.split("/"),o=r.slice(0,-1).join("/"),n=r.slice(-1)[0];return`${o}/${t}/${n}`}function Yn(e,t){let r=e.replace("https://",""),o=r.split("/").slice(0,4).join("/"),n=r.replace(o,"");return`https://${o}/${t}${n}`}var Vn=25;function Xn({socialTitle:e,socialDescription:t,socialImage:r}){return{type:"website",title:e,description:t,image:r?xt(r,1280,768):"",twitterImage:r?xt(r,1280,768):""}}function Kn(e){let{title:t,metaTitle:r,metaDescription:o,canonicalURL:n,locale:s,url:i,isIndexed:a,follow:d,metasAdvanced:l,pageLanguages:p,fullUrl:m,metaKeywords:f}=e,g=l?.split(",").filter(Boolean).map(u=>u.trim().toLowerCase())||[];return{title:(r||t||"").trim(),description:o,canonical:n?.trim()&&n!==m?n.trim():a?m:void 0,locale:s,url:i,index:a?"index":"noindex",follow:d?"follow":"nofollow",translate:g.includes("notranslate")?"notranslate":"",metasAdvanced:g.filter(u=>u!=="notranslate").join(),pageLanguages:p,metaKeywords:f?.filter(Boolean).map(u=>u.replace(/"/g,"'")).join(", ")}}async function $t(e,t){let{id:r,title:o,fullPath:n,language:s,breadcrumb:i,socialDescription:a,socialImage:d,socialTitle:l}=e,{baseUrl:p,cloudinaryName:m,griddoVersion:f,siteLangs:g,siteMetadata:u,siteOptions:b,siteScript:A,siteSlug:E,socials:_,theme:j,navigations:M}=t,{header:De,footer:te}=M;e.breadcrumb=i,e.siteSlug=E,e.apiUrl=p,e.publicApiUrl=t.publicBaseUrl,e.instance=t.instance;let J=g.find(({id:at})=>at===e?.language)?.locale.replace(/_/g,"-"),X=Kn(e),K=Xn({socialDescription:a,socialImage:d,socialTitle:l}),se=n.compose,st=new Date().toString();return{path:se,size:void 0,context:{id:r,title:o,fullPath:n,locale:J,languageId:s,theme:j,siteMetadata:u,pageMetadata:X,openGraph:K,socials:_,siteLangs:g,cloudinaryName:m,siteOptions:b,griddoVersion:f,renderDate:st,siteScript:A,header:De,footer:te,page:e}}}async function Do(e,t){return $t(e,t)}async function Ro({page:e,pages:t,isRoot:r=!1,defaultLang:o,template:n,totalQueriedItems:s},i){let a=t.map(async(d,l)=>{let p=l===0,m=l+1,{domainUrl:f,compose:g}=e.fullPath,u={...e,fullPath:{...e.fullPath,compose:At(g,m,{addEndingSlash:!0})},fullUrl:At(e.fullUrl,m,{addEndingSlash:!0}),slug:At(e.slug,m),title:yo(e.title,m),metaTitle:yo(e.metaTitle||"",m),disableHrefLangs:m>1,template:{...n,isFirstPage:p,pageNumber:m,totalPages:t.length,baseLink:`${f}${g}`,queriedItems:d,totalQueriedItems:s?.length},isRoot:r,defaultLang:o};return $t(u,i)});return Promise.all(a)}function wo(e,t){let{multiPageElements:r,...o}=e,n=JSON.parse(JSON.stringify(r));n.find(({sectionSlug:i})=>i==="/")||n.push({});let s=n.map(async i=>{let a=JSON.parse(JSON.stringify(o)),{sectionSlug:d="/",title:l="",metaTitle:p="",metaDescription:m=""}=i,f=typeof l=="string"?l:l.content,g=a.fullPath.compose||"",u=a.fullUrl.endsWith("/")?a.fullUrl.slice(0,-1):a.fullUrl,b=d?.replace(/\//g,""),E=d==="/"?b:`${b}/`,_=g.endsWith("/")?"":"/",j=`${g}${_}${E}`;return f.trim()&&(a.title=f),m.trim()&&(a.metaDescription=m),a.fullUrl=`${u}/${E}`,a.fullPath.compose=j,a.slug=j,a.template.activeSectionSlug=d,a.template.activeSectionBase=u,a.metaTitle=p.trim()||f.trim()||a.metaTitle,$t(a,t)});return Promise.all(s)}function So(e){return new Promise(r=>{let o=(n,s=0)=>{if(!(!n||typeof n!="object")){for(let i in n){let a=n[i],d=a||typeof a=="object",l=JSON.stringify(a).includes('"hasGriddoMultiPage":true');if(!d||!l)continue;let{component:p,hasGriddoMultiPage:m,elements:f}=a;p&&m&&r(f||[]),o(a,s+1)}s||r(null)}};o([e])})}function zn(e,t,r){return t?.slice(e*(r-1),e*r)}function Qn(e,t){let r=Math.ceil(t.length/e)||1;return Array.from({length:r},(n,s)=>s+1)?.map(n=>zn(e,t,n))}function bo(e){let t=e.queriedItems||[],r=e?.itemsPerPage||Vn;return Qn(r,t)}function ho(e){return e.replace(/\/+$/,"/")}function At(e,t,r){let o=e.endsWith("/")?"":"/",n=r?.addEndingSlash?"/":"";return t<=1?ho(`${e}${n}`):ho(`${e}${o}${t}${n}`)}function yo(e,t){return!e||t<=1?e:`${e} - ${t}`}function Zn(e,t){let{order:r,sources:o,quantity:n,mode:s,fixed:i,fullRelations:a=!1,allLanguages:d=!1,preferenceLanguage:l=!1,referenceId:p,fields:m}=e;return s==="auto"?{mode:s,order:r,sources:o,quantity:n,fullRelations:a,allLanguages:d,preferenceLanguage:l,fields:m}:s==="manual"?{mode:s,fixed:i,fullRelations:a,fields:m}:s==="navigation"?{mode:s,order:r,quantity:n,fullRelations:a,referenceId:p||t?.structuredDataContent?.id,fields:m}:(c.error(`ReferenceField mode: ${s} is not recognized on page ${t?.id}.`),e)}async function ei(e){let{page:t,component:r,cacheKey:o}=e,{data:n}=r;if(!n)return c.info(`Error: Page ${t.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`),[];if(Array.isArray(n.sources)&&n.sources.length<1)return c.info(`Warning: Page with id: ${t.id} has a ReferenceField with empty \`data.sources\``),[];let{site:s,lang:i}=n;!n.sources&&n.mode==="auto"&&c.info(`Warning: Page with id: ${t.id} has a ReferenceField with \`undefined\` \`data.sources\``);let a=Zn(n,t);return await ao(t,a,o,s,i)}async function Eo({page:e,cacheKey:t=""}){try{let{template:r}=e,o=async(i,a=1)=>{if(!(!i||typeof i!="object"||!(JSON.stringify(i).includes('"hasDistributorData":true')||JSON.stringify(i).includes('"getStaticData":true'))))for(let l in i){if(l==="queriedItems")continue;let m=i[l];if(!m||typeof m!="object")continue;(m.hasDistributorData||m.getStaticData)&&(m.queriedItems=await ei({page:e,cacheKey:t,component:m})),await o(m,a+1)}};return await(async i=>(await o([i]),i))(r)}catch(r){throw c.error("Error in getReferenceFieldData:",r),r}}var ti=Date.now().toString();function _o(e,t){let r=Math.max(...t.map(s=>s.name.length+(s.shouldBeUpdated?1:0)+s.id.toString().length)),o=t.map(s=>{let i=s.shouldBeUpdated?"*":"",a=s.name.length+i.length+s.id.toString().length,d=" ".repeat(r-a);return`${R.bold(s.name)} ${R.dim(`(id:${s.id})`)} ${i} ${d}${R.dim("-")} ${R.dim(s.slug)}`}),n=o.length>0?`
164
+ `))}function tm(A){if(!(typeof A!="object"||A===null||Array.isArray(A)))return"site"in A&&A.site?A.site:void 0}function rm(A,e=3){return Number.parseFloat((A/1e3).toFixed(e))}async function om(A){let{__root:e}=await K(),t=eQ.default.join(e,"apiCache"),r=sm.default.createHash("sha256");return r.update(JSON.stringify(A)),`${t}/${r.digest("hex")}`}async function tO(A,e){let t=typeof e=="string"?e:JSON.stringify(e),r=await om(A),s=eQ.default.dirname(r);await $(s)||await Ki.default.mkdir(s,{recursive:!0}),await Ki.default.writeFile(r,t,"utf8")}async function rO(A){try{let e=await om(A),t=await Ki.default.readFile(e,"utf8");return JSON.parse(t)}catch{return null}}var um=b(require("node:fs/promises")),hm=b(require("node:path"));async function im(A){return Ye({endpoint:`${mD}?domainSlug=${A}`})}async function am(A,e){return Ye({endpoint:`${wD}/${A}`,cacheKey:e})}async function cm(A,e=""){let[t,r]=kD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function tQ(A,e=""){let[t,r]=LD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function rQ(A){let[e,t]=UD;return Ye({endpoint:`${e}${A}${t}`})}async function gm(A,e){let[t,r]=bD;await AQ({endpoint:`${t}${A}${r}`,body:e,useApiCacheDir:!1,logToFile:!1})}async function lm(A,e,t,r,s){let[n,o]=MD,i=r||A.site,a=s||A.language;return AQ({endpoint:`${n}${i}${o}`,body:e,headers:{lang:a},cacheKey:t})}async function Em(A){let{siteId:e,headers:t}=A,[r,s]=TD;return Ye({endpoint:`${r}${e}${s}`,headers:t})}async function Qm(A,e=""){let[t,r]=HD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function Im(A){let e=await im(A);if(e.length)for(let s of e){let{items:n}=await tQ(s.id);s.domains=n.filter(o=>o.domain&&(o.domain.slug===A||o.domain.slug===`/${A}`)).map(o=>({[o.id]:`${o.domain.slug}${o.path}`}))}let t=e.filter(s=>!!s.isPublished),r=e.filter(s=>!s.isPublished&&s.shouldBeUpdated);return{sitesToPublish:t,sitesToUnpublish:r}}async function Bm(A){let{__root:e}=await K();for(let t of A){let r=await rQ(t.id),{siteHash:s}=r,n={siteHash:s,publishHashes:[],unpublishHashes:[],publishPagesIds:[]};await gm(t.id,n),await um.default.rm(hm.default.join(e,"store",t.id.toString()),{force:!0,recursive:!0})}}async function Cm(A){let e=await rQ(A),t=await cm(A),r=await tQ(A),s=await Qm(A),n=r.items,o=n.find(E=>E.isDefault),{siteHash:i,unpublishHashes:a,publishIds:c}=e,{headers:g,footers:h}=t;return{siteInfo:t,validPagesIds:c,siteHash:i,unpublishHashes:a,siteLangs:n,defaultLang:o,headers:g,footers:h,socials:s}}var zi=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(e){this._navigations=e,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let t=[...this.navigations.footers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getDefaultHeaders(){let t=[...this.navigations.headers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getRightLanguage(e,t,r){if(!e||!t)return null;let n=e.find(o=>o.language===r&&o.navigationLanguages?.find(i=>i.navigationId===t))||e.find(o=>o.id===t);return n?{...n}:null}getPageHeader(e,t){return this.getRightLanguage(this.navigations.headers,e,t)}getPageFooter(e,t){return this.getRightLanguage(this.navigations.footers,e,t)}getPageNavigations(e){let{header:t,footer:r,language:s,template:n,templateConfig:o}=e,{templateType:i}=n,{defaultHeader:a,defaultFooter:c,templates:g}=o,h=D=>{let C=D.find(f=>typeof f=="number");return typeof C=="number"?C:null},Q=h([t,g?.[i]?.defaultHeader,a]),l=h([r,g?.[i]?.defaultFooter,c]),E=Q?this.getPageHeader(Q,s):Q===0?null:this._defaultHeaders[s],B=l?this.getPageFooter(l,s):l===0?null:this._defaultFooters[s];return{header:E,footer:B}}};function sQ(A,e,t,r="jpg"){let s=typeof A=="string"?A:A?.url;return s?s.split("/")[2].includes("cloudinary.com")?nO(s,`c_fill,w_${e},h_${t}`):sO(s,`f/${r}/w/${e}/h/${t}`):null}function sO(A,e){let t=A.split("/"),r=t.slice(0,-1).join("/"),s=t.slice(-1)[0];return`${r}/${e}/${s}`}function nO(A,e){let t=A.replace("https://",""),r=t.split("/").slice(0,4).join("/"),s=t.replace(r,"");return`https://${r}/${e}${s}`}var oO=25;function iO({socialTitle:A,socialDescription:e,socialImage:t}){return{type:"website",title:A,description:e,image:t?sQ(t,1280,768):"",twitterImage:t?sQ(t,1280,768):""}}function aO(A){let{title:e,metaTitle:t,metaDescription:r,canonicalURL:s,locale:n,url:o,isIndexed:i,follow:a,metasAdvanced:c,pageLanguages:g,fullUrl:h,metaKeywords:Q}=A,l=c?.split(",").filter(Boolean).map(E=>E.trim().toLowerCase())||[];return{title:(t||e||"").trim(),description:r,canonical:s?.trim()&&s!==h?s.trim():i?h:void 0,locale:n,url:o,index:i?"index":"noindex",follow:a?"follow":"nofollow",translate:l.includes("notranslate")?"notranslate":"",metasAdvanced:l.filter(E=>E!=="notranslate").join(),pageLanguages:g,metaKeywords:Q?.filter(Boolean).map(E=>E.replace(/"/g,"'")).join(", ")}}async function oQ(A,e){let{id:t,title:r,fullPath:s,language:n,breadcrumb:o,socialDescription:i,socialImage:a,socialTitle:c}=A,{baseUrl:g,cloudinaryName:h,griddoVersion:Q,siteLangs:l,siteMetadata:E,siteOptions:B,siteScript:D,siteSlug:C,socials:f,theme:y,navigations:T}=e,{header:U,footer:k}=T;A.breadcrumb=o,A.siteSlug=C,A.apiUrl=g,A.publicApiUrl=e.publicBaseUrl,A.instance=e.instance;let F=l.find(({id:ie})=>ie===A?.language)?.locale.replace(/_/g,"-"),L=aO(A),z=iO({socialDescription:i,socialImage:a,socialTitle:c}),fe=s.compose,ce=new Date().toString();return{path:fe,size:void 0,context:{id:t,title:r,fullPath:s,locale:F,languageId:n,theme:y,siteMetadata:E,pageMetadata:L,openGraph:z,socials:f,siteLangs:l,cloudinaryName:h,siteOptions:B,griddoVersion:Q,renderDate:ce,siteScript:D,header:U,footer:k,page:A}}}async function pm(A,e){return oQ(A,e)}async function ym({page:A,pages:e,isRoot:t=!1,defaultLang:r,template:s,totalQueriedItems:n},o){let i=e.map(async(a,c)=>{let g=c===0,h=c+1,{domainUrl:Q,compose:l}=A.fullPath,E={...A,fullPath:{...A.fullPath,compose:nQ(l,h,{addEndingSlash:!0})},fullUrl:nQ(A.fullUrl,h,{addEndingSlash:!0}),slug:nQ(A.slug,h),title:fm(A.title,h),metaTitle:fm(A.metaTitle||"",h),disableHrefLangs:h>1,template:{...s,isFirstPage:g,pageNumber:h,totalPages:e.length,baseLink:`${Q}${l}`,queriedItems:a,totalQueriedItems:n?.length},isRoot:t,defaultLang:r};return oQ(E,o)});return Promise.all(i)}function Dm(A,e){let{multiPageElements:t,...r}=A,s=JSON.parse(JSON.stringify(t));s.find(({sectionSlug:o})=>o==="/")||s.push({});let n=s.map(async o=>{let i=JSON.parse(JSON.stringify(r)),{sectionSlug:a="/",title:c="",metaTitle:g="",metaDescription:h=""}=o,Q=typeof c=="string"?c:c.content,l=i.fullPath.compose||"",E=i.fullUrl.endsWith("/")?i.fullUrl.slice(0,-1):i.fullUrl,B=a?.replace(/\//g,""),C=a==="/"?B:`${B}/`,f=l.endsWith("/")?"":"/",y=`${l}${f}${C}`;return Q.trim()&&(i.title=Q),h.trim()&&(i.metaDescription=h),i.fullUrl=`${E}/${C}`,i.fullPath.compose=y,i.slug=y,i.template.activeSectionSlug=a,i.template.activeSectionBase=E,i.metaTitle=g.trim()||Q.trim()||i.metaTitle,oQ(i,e)});return Promise.all(n)}function mm(A){return new Promise(t=>{let r=(s,n=0)=>{if(!(!s||typeof s!="object")){for(let o in s){let i=s[o],a=i||typeof i=="object",c=JSON.stringify(i).includes('"hasGriddoMultiPage":true');if(!a||!c)continue;let{component:g,hasGriddoMultiPage:h,elements:Q}=i;g&&h&&t(Q||[]),r(i,n+1)}n||t(null)}};r([A])})}function cO(A,e,t){return e?.slice(A*(t-1),A*t)}function gO(A,e){let t=Math.ceil(e.length/A)||1;return Array.from({length:t},(s,n)=>n+1)?.map(s=>cO(A,e,s))}function wm(A){let e=A.queriedItems||[],t=A?.itemsPerPage||oO;return gO(t,e)}function dm(A){return A.replace(/\/+$/,"/")}function nQ(A,e,t){let r=A.endsWith("/")?"":"/",s=t?.addEndingSlash?"/":"";return e<=1?dm(`${A}${s}`):dm(`${A}${r}${e}${s}`)}function fm(A,e){return!A||e<=1?A:`${A} - ${e}`}function lO(A,e){let{order:t,sources:r,quantity:s,mode:n,fixed:o,fullRelations:i=!1,allLanguages:a=!1,preferenceLanguage:c=!1,referenceId:g,fields:h}=A;return n==="auto"?{mode:n,order:t,sources:r,quantity:s,fullRelations:i,allLanguages:a,preferenceLanguage:c,fields:h}:n==="manual"?{mode:n,fixed:o,fullRelations:i,fields:h}:n==="navigation"?{mode:n,order:t,quantity:s,fullRelations:i,referenceId:g||e?.structuredDataContent?.id,fields:h}:(d.error(`ReferenceField mode: ${n} is not recognized on page ${e?.id}.`),A)}async function EO(A){let{page:e,component:t,cacheKey:r}=A,{data:s}=t;if(!s)return d.info(`Error: Page ${e.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`),[];if(Array.isArray(s.sources)&&s.sources.length<1)return d.warn(`Page with id: ${e.id} has a ReferenceField with empty \`data.sources\``),[];let{site:n,lang:o}=s;!s.sources&&s.mode==="auto"&&d.warn(`Page with id: ${e.id} has a ReferenceField with \`undefined\` \`data.sources\``);let i=lO(s,e);return await lm(e,i,r,n,o)}async function Rm({page:A,cacheKey:e=""}){try{let{template:t}=A,r=async(o,i=1)=>{if(!(!o||typeof o!="object"||!(JSON.stringify(o).includes('"hasDistributorData":true')||JSON.stringify(o).includes('"getStaticData":true'))))for(let c in o){if(c==="queriedItems")continue;let h=o[c];if(!h||typeof h!="object")continue;(h.hasDistributorData||h.getStaticData)&&(h.queriedItems=await EO({page:A,cacheKey:e,component:h})),await r(h,i+1)}};return await(async o=>(await r([o]),o))(t)}catch(t){throw d.error("Error in getReferenceFieldData:",t),t}}var QO=Date.now().toString();function Sm(A,e){let t=Math.max(...e.map(n=>n.name.length+(n.shouldBeUpdated?1:0)+n.id.toString().length)),r=e.map(n=>{let o=n.shouldBeUpdated?"*":"",i=n.name.length+o.length+n.id.toString().length,a=" ".repeat(t-i);return`${X.bold(n.name)} ${X.dim(`(id:${n.id})`)} ${o} ${a}${X.dim("-")} ${X.dim(n.slug)}`}),s=r.length>0?`
43
165
 
44
- ${o.join(`
45
- `)}`:R.dim(`--none--
46
- `);c.log(`
47
- ${e} ${n}`)}async function Po(e){console.info(`API calls with ${mt} threads`),console.info(`API URL ${lt}`);let{renderMode:t,domain:r,griddoVersion:o,basePath:n}=e,s=t===$.FROM_SCRATCH,i=xe.default.join(n,"store"),a=[],d={},{sitesToPublish:l,sitesToUnpublish:p}=await fo(r);_o("Sites to publish:",l),_o("Sites to unpublish:",p),await uo(p),await Hr(l,r);let m=[];for(let f of p){let{pagesStatus:g}=f;m.push(...g.active,...g.offlinePending,...g.uploadPending,...g.deleted,...g.offline)}for(let f of l){let{id:g,slug:u,theme:b,favicon:A,pagesStatus:E}=f,_=g.toString();m.push(...E.offlinePending,...E.deleted);let{siteInfo:j,siteHash:M,unpublishHashes:De,siteLangs:te,defaultLang:F,headers:J,footers:X,socials:K}=await go(g),{cloudinaryName:se,useMetaTitle:st,useMetaKeywords:Ft,showBasicMetaRobots:at,avoidHrefLangsOnCanonicals:fn,avoidSelfReferenceCanonicals:un,avoidHrefLangXDefault:gn,avoidDebugMetas:hn}=await L({endpoint:Pr});d[g]={siteHash:M,unpublishHashes:De,publishHashes:[],publishPagesIds:[]};let Nt=new Ve;Nt.navigations={headers:J,footers:X},f.languages=te;let yn=await oi(g,M),Dn=j.siteScript,Rn={siteUrl:j.slug,title:j.name,favicon:A},wn={baseUrl:lt,publicBaseUrl:qt,instance:Kt,siteSlug:u,theme:b,siteMetadata:Rn,socials:K,siteLangs:te,cloudinaryName:se,griddoVersion:o,siteOptions:{useMetaTitle:st,useMetaKeywords:Ft,showBasicMetaRobots:at,avoidHrefLangsOnCanonicals:fn,avoidSelfReferenceCanonicals:un,avoidHrefLangXDefault:gn,avoidDebugMetas:hn},siteScript:Dn};await Xe.default.mkdir(xe.default.join(i,_),{recursive:!0});let Sn=async(ct,Oe,ae,Le)=>{let ce=[],O=await no(Oe,yn);if(!O){ae.current+=1,Le.update(ae.current);return}a.push(Oe);let Fe=JSON.parse(JSON.stringify(wn));Fe.navigations=Nt.getPageNavigations(O);let de=await Eo({page:O,cacheKey:ti}),jt=await So(de),dt=O?.mode==="list"||O?.mode==="paginated-data",Gt=!dt&&jt,bn=!Gt&&!dt;if(dt){let U={page:O,pages:bo(de),isRoot:!1,defaultLang:F,template:de,totalQueriedItems:de.queriedItems};ce=await Ro(U,Fe),m.push(O.id)}if(Gt){let U=O;U.template=de,U.multiPageElements=jt,U.defaultLang=F,ce=await wo(U,Fe),m.push(O.id)}if(bn){let U=O;U.template=de,U.defaultLang=F,ce=[await Do(U,Fe)]}O.hash!==null&&(d[g].publishHashes.push(O.hash),d[g].publishPagesIds.push(O.id)),await kr(ct,ce),ae.current+=1,Le.update(ae.current)},ve=E.uploadPending;if(s&&ve.push(...E.active),ve.length>0){let ct=Ie(mt),Oe=ve.length,ae={current:0},Le=new Je(f.name,Oe),ce=ve.map(O=>ct(()=>Sn(_,O,ae,Le)));await Promise.all(ce)}}return await Br({buildProcessData:d,createdPages:a,sitesToPublish:l},r),{pagesToCreate:a,pagesToDelete:m}}async function ri(){let{__root:e}=await w(),r=`${xe.default.join(e,"apiCache")}/siteHash.json`;try{let o=await Xe.default.readFile(r,"utf8");return JSON.parse(o)||{}}catch{return{}}}async function oi(e,t){let r=await ri(),o=r[e],n=t||o||Date.now(),{__root:s}=await w(),a=`${xe.default.join(s,"apiCache")}/siteHash.json`;return n!==o&&(r[e]=n,await Xe.default.writeFile(a,JSON.stringify(r),{encoding:"utf-8"})),n.toString()}async function To(e){let{domain:t,renderMode:r,renderMetadata:{griddoVersion:o},pathsHydratedWithDomain:{__root:n}}=e,{pagesToCreate:s,pagesToDelete:i}=await Po({domain:t,renderMode:r,griddoVersion:o,basePath:n});e.pagesToCreate=s,e.pagesToDelete=i}var Ct=h(require("node:fs/promises")),Ke=h(require("node:path"));async function Io(e){let{buildReportFileName:t,pathsHydratedWithDomain:{__root:r,__exports:o}}=e;try{await Ct.default.mkdir(Ke.default.join(o,"dist"))}catch{}await Ct.default.cp(Ke.default.join(r,"current-dist",t),Ke.default.join(o,"dist",t))}async function xo(e){let{domain:t}=e;await Jr(t),await Wr(t)}async function Ao(e){let{domain:t,pathsHydratedWithDomain:{__root:r}}=e;await Ur({basePath:r,domain:t})}var ze=h(require("node:fs/promises")),ye=h(require("node:path")),Qe=require("@kreuzberg/html-to-markdown");var Z=require("node:fs"),V=require("node:path");var vt=h(require("node:path"));var ni=__dirname.includes("node_modules"),Ka=si();function he(e=""){return ni?vt.default.resolve(we({cwd:__dirname}),"../../../",e):vt.default.resolve(we({cwd:__dirname}),"../griddo-components",e)}function ii(){let e=Re("jsconfig.json",{cwd:he()});return Re("tsconfig.json",{cwd:he()})||e}function si(){let e=require(ii());return e||I(sr),Object.keys(e.compilerOptions?.paths).reduce((t,r)=>{let[o]=r.split("/"),[n]=e.compilerOptions.paths[r],[s]=n.split("/*"),i=he(s);return{...t,[o]:i}},{"@griddo-instance":`${he()}/src/index.js`})}var $o=require("jiti"),Ae=class extends Error{constructor(r,o){super(r);this.cause=o;this.name="ConfigLoadError"}};function ai(e,t){try{let r=(0,Z.readFileSync)(e,"utf-8"),o=JSON.parse(r),n=o.compilerOptions?.paths,s=o.compilerOptions?.baseUrl??".";if(!n)return{};let i={},a=(0,V.resolve)(t,s);for(let[d,l]of Object.entries(n)){if(!l||l.length===0)continue;let p=d.replace(/\/\*$/,""),m=l[0].replace(/\/\*$/,""),f=(0,V.resolve)(a,m);i[p]=f}return i}catch{return{}}}async function ci(e){let{dirname:t,configName:r="griddo.config",tsconfigName:o="tsconfig.json"}=e,n=(0,V.join)(t,`${r}.ts`),s=(0,V.join)(t,`${r}.js`),i=(0,V.join)(t,`${r}.mjs`),a=null;if((0,Z.existsSync)(n)?a=n:(0,Z.existsSync)(s)?a=s:(0,Z.existsSync)(i)&&(a=i),!a)throw new Ae(`No se encontr\xF3 archivo de configuraci\xF3n en ${t}. Buscando: ${r}.{ts,js,mjs}`);c.verbose(`[loadConfig] Configuraci\xF3n encontrada: ${a}`);let d=(0,V.join)(t,o),l=(0,Z.existsSync)(d);l&&c.verbose(`[loadConfig] tsconfig encontrado: ${d}`);let p=l?ai(d,t):{};Object.keys(p).length>0&&c.verbose("[loadConfig] Path aliases resueltos:",p);let m=(0,V.resolve)(a);c.verbose(`[loadConfig] Using jiti with path: ${m}`);let f=(0,$o.createJiti)(m,{alias:p,interopDefault:!0});try{let g=await f.import(a),u=g.default??g;return c.verbose("[loadConfig] Configuraci\xF3n cargada exitosamente"),{config:u,path:a,tsconfigPath:l?d:null}}catch(g){let u=g instanceof Error?g:new Error(String(g));throw new Ae(`Error al cargar la configuraci\xF3n desde ${a}: ${u.message}`,u)}}async function Co(){let e=he();if(!(0,Z.existsSync)(e))throw new Ae(`instance dir not found: ${e}`);return ci({dirname:e,configName:"griddo.config",tsconfigName:"tsconfig.json"})}async function vo(e){if(!Ne){c.verbose("Skipping markdown generation: Disabled by environment variable.");return}let{__root:t}=await w({domain:e}),r=ye.default.join(t,"current-dist"),n=(await Co()).config,s=mi(r,n);try{for await(let i of s){if(i.path===ye.default.join(r,"index.html")||!i.path.endsWith("index.html"))continue;let a=i.path.split(/\/index\.html$/),d="";a.length===2&&(d=a[0]),await ze.default.writeFile(`${d}.md`,i.content),c.info(`Generating MD for a ${i.path}`)}}catch(i){c.error("Failed to generate MDs due to config error:",i)}}function di(e){let t=["style","script","noscript","iframe","form","input","button","nav","footer","object","svg"],r=e;for(let o of t){let n=new RegExp(`<${o}[^>]*>.*?</${o}>|<${o}[^>]*/>`,"gis");r=r.replace(n,"")}return r}function li(e,t){let r=di(e),o=t.schemas?.config,n=(0,Qe.convert)(r,{headingStyle:Qe.JsHeadingStyle.Atx,bullets:"-",extractMetadata:!1,skipImages:!0,...o});return n=n.replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/\n{3,}/g,`
166
+ ${r.join(`
167
+ `)}`:X.dim(`--none--
168
+ `);d.log(`
169
+ ${A} ${s}`)}async function Nm(A){console.info(`API calls with ${Qa} threads`),console.info(`API URL ${Ea}`);let{renderMode:e,domain:t,griddoVersion:r,basePath:s}=A,n=e===he.FROM_SCRATCH,o=Hn.default.join(s,"store"),i=[],a={},{sitesToPublish:c,sitesToUnpublish:g}=await Im(t);Sm("Sites to publish:",c),Sm("Sites to unpublish:",g),await Bm(g),await qD(c,t);let h=[];for(let Q of g){let{pagesStatus:l}=Q;h.push(...l.active,...l.offlinePending,...l.uploadPending,...l.deleted,...l.offline)}for(let Q of c){let{id:l,slug:E,theme:B,favicon:D,pagesStatus:C}=Q,f=l.toString();h.push(...C.offlinePending,...C.deleted);let{siteInfo:y,siteHash:T,unpublishHashes:U,siteLangs:k,defaultLang:w,headers:F,footers:L,socials:z}=await Cm(l),{cloudinaryName:fe,useMetaTitle:ce,useMetaKeywords:Ge,showBasicMetaRobots:ie,avoidHrefLangsOnCanonicals:$e,avoidSelfReferenceCanonicals:dr,avoidHrefLangXDefault:Tt,avoidDebugMetas:kt}=await Ye({endpoint:ND});a[l]={siteHash:T,unpublishHashes:U,publishHashes:[],publishPagesIds:[]};let lQ=new zi;lQ.navigations={headers:F,footers:L},Q.languages=k;let hw=await hO(l,T),Iw=y.siteScript,Bw={siteUrl:y.slug,title:y.name,favicon:D},Cw={baseUrl:Ea,publicBaseUrl:pQ,instance:wQ,siteSlug:E,theme:B,siteMetadata:Bw,socials:z,siteLangs:k,cloudinaryName:fe,griddoVersion:r,siteOptions:{useMetaTitle:ce,useMetaKeywords:Ge,showBasicMetaRobots:ie,avoidHrefLangsOnCanonicals:$e,avoidSelfReferenceCanonicals:dr,avoidHrefLangXDefault:Tt,avoidDebugMetas:kt},siteScript:Iw};await $i.default.mkdir(Hn.default.join(o,f),{recursive:!0});let dw=async(ga,Bs,fr,Vn)=>{let Lt=[],ue=await am(Bs,hw);if(!ue){fr.current+=1,Vn.update(fr.current);return}i.push(Bs);let pr=JSON.parse(JSON.stringify(Cw));pr.navigations=lQ.getPageNavigations(ue);let rt=await Rm({page:ue,cacheKey:QO}),EQ=await mm(rt),la=ue?.mode==="list"||ue?.mode==="paginated-data",QQ=!la&&EQ,fw=!QQ&&!la;if(la){let yA={page:ue,pages:wm(rt),isRoot:!1,defaultLang:w,template:rt,totalQueriedItems:rt.queriedItems};Lt=await ym(yA,pr),h.push(ue.id)}if(QQ){let yA=ue;yA.template=rt,yA.multiPageElements=EQ,yA.defaultLang=w,Lt=await Dm(yA,pr),h.push(ue.id)}if(fw){let yA=ue;yA.template=rt,yA.defaultLang=w,Lt=[await pm(yA,pr)]}ue.hash!==null&&(a[l].publishHashes.push(ue.hash),a[l].publishPagesIds.push(ue.id)),await PD(ga,Lt),fr.current+=1,Vn.update(fr.current)},On=C.uploadPending;if(n&&On.push(...C.active),On.length>0){let ga=Ln(Qa),Bs=On.length,fr={current:0},Vn=new ji(Q.name,Bs),Lt=100;for(let ue=0;ue<Bs;ue+=Lt){let pr=On.slice(ue,ue+Lt);await Promise.all(pr.map(rt=>ga(()=>dw(f,rt,fr,Vn))))}}}return await JD({buildProcessData:a,createdPages:i,sitesToPublish:c},t),{pagesToCreate:i,pagesToDelete:h}}async function uO(){let{__root:A}=await K(),t=`${Hn.default.join(A,"apiCache")}/siteHash.json`;try{let r=await $i.default.readFile(t,"utf8");return JSON.parse(r)||{}}catch{return{}}}async function hO(A,e){let t=await uO(),r=t[A],s=e||r||Date.now(),{__root:n}=await K(),i=`${Hn.default.join(n,"apiCache")}/siteHash.json`;return s!==r&&(t[A]=s,await $i.default.writeFile(i,JSON.stringify(t),{encoding:"utf-8"})),s.toString()}async function Fm(A){let{domain:e,renderMode:t,renderMetadata:{griddoVersion:r},pathsHydratedWithDomain:{__root:s}}=A,{pagesToCreate:n,pagesToDelete:o}=await Nm({domain:e,renderMode:t,griddoVersion:r,basePath:s});A.pagesToCreate=n,A.pagesToDelete=o}var iQ=b(require("node:fs/promises")),ea=b(require("node:path"));async function bm(A){let{buildReportFileName:e,pathsHydratedWithDomain:{__root:t,__exports:r}}=A;try{await iQ.default.mkdir(ea.default.join(r,"dist"))}catch{}await iQ.default.cp(ea.default.join(t,"current-dist",e),ea.default.join(r,"dist",e))}async function Um(A){let{domain:e}=A;await ZD(e),await _D(e)}async function Mm(A){let{domain:e,pathsHydratedWithDomain:{__root:t}}=A;await WD({basePath:t,domain:e})}var Aa=b(require("node:fs/promises")),Is=b(require("node:path")),ta=require("@kreuzberg/html-to-markdown");var Ut=require("node:fs"),tt=require("node:path");var aQ=b(require("node:path"));var IO=__dirname.includes("node_modules"),MP=CO();function hs(A=""){return IO?aQ.default.resolve(ds({cwd:__dirname}),"../../../",A):aQ.default.resolve(ds({cwd:__dirname}),"../griddo-components",A)}function BO(){let A=Cs("jsconfig.json",{cwd:hs()});return Cs("tsconfig.json",{cwd:hs()})||A}function CO(){let A=require(BO());return A||Ie(YQ),Object.keys(A.compilerOptions?.paths).reduce((e,t)=>{let[r]=t.split("/"),[s]=A.compilerOptions.paths[t],[n]=s.split("/*"),o=hs(n);return{...e,[r]:o}},{"@griddo-instance":`${hs()}/src/index.js`})}var Tm=require("jiti"),xn=class extends Error{constructor(t,r){super(t);this.cause=r;this.name="ConfigLoadError"}};function dO(A,e){try{let t=(0,Ut.readFileSync)(A,"utf-8"),r=JSON.parse(t),s=r.compilerOptions?.paths,n=r.compilerOptions?.baseUrl??".";if(!s)return{};let o={},i=(0,tt.resolve)(e,n);for(let[a,c]of Object.entries(s)){if(!c||c.length===0)continue;let g=a.replace(/\/\*$/,""),h=c[0].replace(/\/\*$/,""),Q=(0,tt.resolve)(i,h);o[g]=Q}return o}catch{return{}}}async function fO(A){let{dirname:e,configName:t="griddo.config",tsconfigName:r="tsconfig.json"}=A,s=(0,tt.join)(e,`${t}.ts`),n=(0,tt.join)(e,`${t}.js`),o=(0,tt.join)(e,`${t}.mjs`),i=null;if((0,Ut.existsSync)(s)?i=s:(0,Ut.existsSync)(n)?i=n:(0,Ut.existsSync)(o)&&(i=o),!i)throw new xn(`No se encontr\xF3 archivo de configuraci\xF3n en ${e}. Buscando: ${t}.{ts,js,mjs}`);d.verbose(`[loadConfig] Configuraci\xF3n encontrada: ${i}`);let a=(0,tt.join)(e,r),c=(0,Ut.existsSync)(a);c&&d.verbose(`[loadConfig] tsconfig encontrado: ${a}`);let g=c?dO(a,e):{};Object.keys(g).length>0&&d.verbose("[loadConfig] Path aliases resueltos:",g);let h=(0,tt.resolve)(i);d.verbose(`[loadConfig] Using jiti with path: ${h}`);let Q=(0,Tm.createJiti)(h,{alias:g,interopDefault:!0});try{let l=await Q.import(i),E=l.default??l;return d.verbose("[loadConfig] Configuraci\xF3n cargada exitosamente"),{config:E,path:i,tsconfigPath:c?a:null}}catch(l){let E=l instanceof Error?l:new Error(String(l));throw new xn(`Error al cargar la configuraci\xF3n desde ${i}: ${E.message}`,E)}}async function km(){let A=hs();if(!(0,Ut.existsSync)(A))throw new xn(`instance dir not found: ${A}`);return fO({dirname:A,configName:"griddo.config",tsconfigName:"tsconfig.json"})}async function Lm(A){if(!vn){d.verbose("Skipping markdown generation: Disabled by environment variable.");return}let{__root:e}=await K({domain:A}),t=Is.default.join(e,"current-dist"),s=(await km()).config,n=DO(t,s);try{for await(let o of n){if(o.path===Is.default.join(t,"index.html")||!o.path.endsWith("index.html"))continue;let i=o.path.split(/\/index\.html$/),a="";i.length===2&&(a=i[0]),await Aa.default.writeFile(`${a}.md`,o.content),d.info(`Generating MD for a ${o.path}`)}}catch(o){d.error("Failed to generate MDs due to config error:",o)}}function pO(A){let e=["style","script","noscript","iframe","form","input","button","nav","footer","object","svg"],t=A;for(let r of e){let s=new RegExp(`<${r}[^>]*>.*?</${r}>|<${r}[^>]*/>`,"gis");t=t.replace(s,"")}return t}function yO(A,e){let t=pO(A),r=e.schemas?.config,s=(0,ta.convert)(t,{headingStyle:ta.JsHeadingStyle.Atx,bullets:"-",extractMetadata:!1,skipImages:!0,...r});return s=s.replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/\n{3,}/g,`
48
170
 
49
- `).trim(),n}async function*Oo(e){let t=await ze.default.opendir(e);for await(let r of t)r.isDirectory()?yield*Oo(ye.default.join(e,r.name)):r.isFile()&&ye.default.extname(r.name)===".html"&&(yield ye.default.join(e,r.name))}async function*mi(e,t){let r=Oo(e);for await(let o of r)try{let n=await ze.default.readFile(o,"utf8"),s=li(n,t);yield{path:o,content:s}}catch(n){I(ar,n)}}var tt=h(require("node:fs/promises")),et=h(require("node:path"));var Ze=e=>e.replace(/\/+$/,"");async function pi(e){try{return await tt.default.readFile(e,"utf-8")}catch(t){return t.code==="ENOENT"?c.verbose(`client template for llms.txt file not found at ${e}, using defaults.`):c.error(`Unexpected error reading ${e}:`,t),`{{ LLMS_HEADER }}
171
+ `).trim(),s}async function*Hm(A){let e=await Aa.default.opendir(A);for await(let t of e)t.isDirectory()?yield*Hm(Is.default.join(A,t.name)):t.isFile()&&Is.default.extname(t.name)===".html"&&(yield Is.default.join(A,t.name))}async function*DO(A,e){let t=Hm(A);for await(let r of t)try{let s=await Aa.default.readFile(r,"utf8"),n=yO(s,e);yield{path:r,content:n}}catch(s){Ie(GQ,s)}}var na=b(require("node:fs/promises")),sa=b(require("node:path"));var ra=A=>A.replace(/\/+$/,"");async function mO(A){try{return await na.default.readFile(A,"utf-8")}catch(e){return e.code==="ENOENT"?d.verbose(`client template for llms.txt file not found at ${A}, using defaults.`):d.error(`Unexpected error reading ${A}:`,e),`{{ LLMS_HEADER }}
50
172
 
51
- {{ LLMS_PAGE_LINKS }}`}}async function Lo(e){if(zt){c.verbose("Skipping llms.txt generation: Disabled by environment variable.");return}let t=Ne?".md":"";try{let o=(await S()).domains[e];if(!o?.id)throw new Error(`Domain configuration or ID not found for domain: ${e}`);let n=o.id,s=[];try{let[b,A]=Tr,E=`${b}${n}${A}`;s=await L({endpoint:E})}catch(b){c.error(`Failed to fetch LLM data for domain ${e}. Aborting llms.txt generation.`,b);return}let i=s.map(({title:b,url:A,socialDescription:E})=>{let _=E?`: ${E}`:"";return`- [${b}](${Ze(A)}${t})${_}`}).join(`
52
- `),{__root:a,__components:d}=await w({domain:e}),l=et.default.join(d,"static/llms.md"),p=await pi(l),m=`llms.txt for the domain ${e}
53
- Generated: ${new Date().toISOString().replace("T"," ").slice(0,19)}`,f=p.replace(/\{\{\s*LLMS_HEADER\s*\}\}/g,`${m}`).replace(/\{\{\s*LLMS_PAGE_LINKS\s*\}\}/g,`${i}`),g=et.default.join(a,"current-dist"),u=et.default.join(g,"llms.txt");await tt.default.mkdir(g,{recursive:!0}),await tt.default.writeFile(u,f,"utf-8"),c.verbose(`Successfully generated llms.txt at ${u}`)}catch(r){c.error(`Critical error generating llms.txt for ${e}:`,r)}}async function Fo(e){let{domain:t}=e;await Lo(t),await vo(t)}async function No(e){let{domain:t}=e;await Mr(t)}var jo=h(require("node:fs/promises")),Ot=h(require("node:path"));async function fi(){return(await L({endpoint:_r}))?.filter(t=>!!t.path).map(({path:t,content:r})=>({path:t,content:r||`User-agent: *
173
+ {{ LLMS_PAGE_LINKS }}`}}async function xm(A){if(RQ){d.verbose(`${A} skipped llms.txt generation: disabled by environment variable.`);return}let e=vn?".md":"";try{let r=(await ee()).domains[A];if(!r?.id)throw new Error(`Domain configuration or ID not found for domain: ${A}`);let s=r.id,n=[];try{let[B,D]=FD,C=`${B}${s}${D}`;n=await Ye({endpoint:C})}catch(B){d.error(`Failed to fetch LLM data for domain ${A}. Aborting llms.txt generation.`,B);return}let o=n.map(({title:B,url:D,socialDescription:C})=>{let f=C?`: ${C}`:"";return`- [${B}](${ra(D)}${e})${f}`}).join(`
174
+ `),{__root:i,__components:a}=await K({domain:A}),c=sa.default.join(a,"static/llms.md"),g=await mO(c),h=`llms.txt for the domain ${A}
175
+ Generated: ${new Date().toISOString().replace("T"," ").slice(0,19)}`,Q=g.replace(/\{\{\s*LLMS_HEADER\s*\}\}/g,`${h}`).replace(/\{\{\s*LLMS_PAGE_LINKS\s*\}\}/g,`${o}`),l=sa.default.join(i,"current-dist"),E=sa.default.join(l,"llms.txt");await na.default.mkdir(l,{recursive:!0}),await na.default.writeFile(E,Q,"utf-8"),d.verbose(`Successfully generated llms.txt at ${E}`)}catch(t){d.error(`Critical error generating llms.txt for ${A}:`,t)}}async function Ym(A){let{domain:e}=A;await xm(e),await Lm(e)}async function Gm(A){let{domain:e}=A;await vD(e)}var Om=b(require("node:fs/promises")),cQ=b(require("node:path"));async function wO(){return(await Ye({endpoint:SD}))?.filter(e=>!!e.path).map(({path:e,content:t})=>({path:e,content:t||`User-agent: *
54
176
  \r
55
- \rAllow: /`}))||[]}async function Go(e){let{__root:t}=await w({domain:e}),r=Ot.default.join(t,"current-dist"),o=(await fi()).find(({path:n})=>n===`/${e}`);if(!o){c.info(`Robots not found for ${e}`);return}if(await D(r)){let n=Ot.default.join(r,"robots.txt");await jo.default.writeFile(n,o?.content),c.verbose(`wrote robots.txt to ${n}`)}else c.info(`${r} not found`)}var $e=h(require("node:fs/promises")),ie=h(require("node:path"));function Mo(e){return e.replace(/[<>&'"”]/g,t=>{switch(t){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;";case"\u201D":return"&quot;";default:return t}})}function Bo(e){return`<?xml version="1.0" encoding="UTF-8"?>
177
+ \rAllow: /`}))||[]}async function Vm(A){let{__root:e}=await K({domain:A}),t=cQ.default.join(e,"current-dist"),r=(await wO()).find(({path:s})=>s===`/${A}`);if(!r){d.info(`Robots not found for ${A}`);return}if(await $(t)){let s=cQ.default.join(t,"robots.txt");await Om.default.writeFile(s,r?.content),d.verbose(`wrote robots.txt to ${s}`)}else d.info(`${t} not found`)}var Yn=b(require("node:fs/promises")),Cr=b(require("node:path"));function vm(A){return A.replace(/[<>&'"”]/g,e=>{switch(e){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";case"'":return"&apos;";case'"':return"&quot;";case"\u201D":return"&quot;";default:return e}})}function Jm(A){return`<?xml version="1.0" encoding="UTF-8"?>
56
178
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
57
- ${e.map(r=>` <url>
58
- <loc>${Mo(r.loc)}</loc>
59
- <lastmod>${r.lastmod}</lastmod>
60
- <priority>${r.priority}</priority>
179
+ ${A.map(t=>` <url>
180
+ <loc>${vm(t.loc)}</loc>
181
+ <lastmod>${t.lastmod}</lastmod>
182
+ <priority>${t.priority}</priority>
61
183
  </url>`).join(`
62
184
  `)}
63
- </urlset>`}function ko(e){return`<?xml version="1.0" encoding="UTF-8"?>
185
+ </urlset>`}function Pm(A){return`<?xml version="1.0" encoding="UTF-8"?>
64
186
  <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
65
- ${e.map(r=>` <sitemap>
66
- <loc>${Mo(r)}</loc>
187
+ ${A.map(t=>` <sitemap>
188
+ <loc>${vm(t)}</loc>
67
189
  </sitemap>`).join(`
68
190
  `)}
69
- </sitemapindex>`}async function Uo(e){let{__root:t}=await w(),{sitesToPublish:r}=await ke(e),o=ie.default.join(t,"current-dist"),n="sitemap-",s=i=>i==="sitemap.xml"||i.startsWith(n)&&i.endsWith(".xml");for(let i of r){let{id:a,languages:d}=i;for(let l of d){let p=Y.headers?{...Y.headers}:{};p.lang=l.id.toString();let m=await co({siteId:a,headers:p});if(!m)continue;let{items:f,url:g}=m,{home:u,domain:b}=g;if(!u)continue;let A=i.domains.find(F=>Object.keys(F)[0]===l.id.toString());if(!A)continue;let E=Object.values(A)[0],_=[],j=Object.keys(f),M=ie.default.join(o,E.replace(b,""));if(await D(M))try{let F=await $e.default.readdir(M);for(let J of F)if(s(J)){let X=ie.default.join(M,J);try{await $e.default.rm(X)}catch(K){c.error(`Error deleting file ${X}:`,K)}}}catch(F){c.error(`Error reading ${M}:`,F)}for(let F of j){let J=f[F];if(!J.length)continue;let X=Bo(J),K=`/${n}${F.toLowerCase()}.xml`,se=ie.default.join(M,K);await Ho(se,X),c.verbose(`sitemap generated in ${se}`),_.push(`${u.endsWith("/")?u.slice(0,-1):u}${K}`)}if(!_.length)continue;let De=ko(_),te=ie.default.join(M,"sitemap.xml");await Ho(te,De),c.verbose(`sitemap generated in ${te}`)}}}async function Ho(e,t){try{let r=ie.default.dirname(e);await D(r)||await $e.default.mkdir(r,{recursive:!0}),await $e.default.writeFile(e,t)}catch{throw new Error("Error saving a file")}}async function Wo(e){let{domain:t}=e;await Uo(t),await Go(t)}async function Jo(e){let{renderArtifacts:t}=e;await lr(t.initials)}var qo=h(require("node:fs/promises")),Lt=h(require("node:path"));async function Yo(e){let{pathsHydratedWithDomain:{__root:t,__ssg:r}}=e,o=Lt.default.join(r,"public"),n=Lt.default.join(t,"current-dist");e.workingDistDir=n,await qo.default.rename(o,n)}async function Vo(e){let{domain:t}=e;await Vr(t)}async function Xo(e){let{renderMode:t,ssg:{ssgArtifacts:r},renderArtifacts:o,pathsHydratedWithDomain:{__components:n,__root:s,__cache:i,__ssg:a}}=e;await mr(n,a,["static"]),t===$.INCREMENTAL&&(await oe(i,a,r.cacheables),await oe(i,s,o.cacheables))}var Ko=require("node:child_process"),zo=h(require("node:path"));async function Qo(e){c.verbose(`read assetPrefixWithDomain, ${e}`),c.verbose(`using this NODE_OPTIONS in gatsby command: ${process.env.NODE_OPTIONS}`);let{__ssg:t}=await w(),r=process.env.NODE_OPTIONS?process.env.NODE_OPTIONS.replace(/--openssl-legacy-provider\s*/g,"").trim():"",o=zo.default.join(t,"node_modules",".bin","gatsby"),n=["build","--prefix-paths"];return Zt&&n.push("--verbose"),process.env.NO_COLORS&&n.push("--no-colors"),new Promise((s,i)=>{let a=(0,Ko.spawn)(o,n,{cwd:t,stdio:["ignore","inherit","inherit"],env:{...process.env,SPAWN_ASSET_PREFIX_WITH_DOMAIN:e,NODE_OPTIONS:r}});a.on("close",d=>{d===0?s():i(new Error(`Gatsby build failed with exit code ${d}`))}),a.on("error",d=>{i(new Error(`Failed to start Gatsby build process: ${d.message}`))})})}async function Zo(e){let{ssg:{assetPrefix:t}}=e;await Qo(t)}var ot=h(require("node:fs/promises")),nt=h(require("node:path"));var ee=h(require("node:fs/promises")),T=h(require("node:path"));async function en(e,t){let{exports:r,root:o}=t,n=(await ee.default.readdir(T.default.join(r,"dist"))).filter(i=>T.default.extname(i)===".js"||T.default.extname(i)===".json"||T.default.extname(i)===".css");await ee.default.mkdir(T.default.join(o,"assets"),{recursive:!0}),await ee.default.cp(T.default.join(r,"dist","page-data"),T.default.join(o,"assets","page-data"),{preserveTimestamps:!0,recursive:!0}),await D(T.default.join(o,"static"))&&await ee.default.cp(T.default.join(o,"static"),T.default.join(o,"assets"),{force:!1,preserveTimestamps:!0,recursive:!0}),await D(T.default.join(r,"dist","static"))&&await ee.default.cp(T.default.join(r,"dist","static"),T.default.join(o,"assets","static"),{force:!1,preserveTimestamps:!0,recursive:!0}),await D(T.default.join(o,"static"))&&await ee.default.cp(T.default.join(o,"static"),T.default.join(r,"dist",e),{preserveTimestamps:!0,recursive:!0,force:!1});let s=n.map(i=>{let a=T.default.join(r,"dist",i),d=T.default.join(o,"assets",i);return ee.default.cp(a,d,{preserveTimestamps:!0,recursive:!0})});await Promise.all(s)}var H=h(require("node:fs/promises")),x=h(require("node:path"));var rn=require("node:crypto"),Ce=h(require("node:fs/promises")),on=require("node:path");var ui=[/\.js$/];async function tn(e){let t=new Map;try{let o=(await Ce.default.readdir(e)).filter(n=>ui.some(s=>s.test(n)));for(let n of o){let s=(0,on.join)(e,n),i=await Ce.default.readFile(s),a=(0,rn.createHash)("sha256").update(i).digest("hex");t.set(n,a)}return t}catch(r){return c.build(`ERROR: Error processing directory ${e}: ${r}`),t}}async function nn(e,t){let[r,o]=await Promise.all([tn(e),tn(t)]);if(r.size!==o.size)return!0;for(let[n,s]of r.entries()){let i=o.get(n);if(!i||s!==i)return!0}return!1}async function sn(e,t){try{let r=await Ce.default.readFile(e,"utf-8"),o=/(window\.___webpackCompilationHash=")([^"]*)(";<\/script>)/,n=r.replace(o,`$1${t}$3`);if(r===n)return;await Ce.default.writeFile(e,n,"utf-8")}catch(r){c.error(`Failed to process file ${e}: ${r}`)}}var rt=class{bundleDir;currentRenderDir;pagesToCreate;pagesToDelete;assetArtifacts;state={mdToAdd:[],htmlToAdd:[],jsonToAdd:[],htmlToDelete:[],jsonToDelete:[],mdToDelete:[]};constructor(t){this.bundleDir=t.dst,this.currentRenderDir=t.src,this.pagesToCreate=t.pagesToCreate,this.pagesToDelete=t.pagesToDelete,this.assetArtifacts=t.artifactsToCopyToExports}async execute(){await this.setPagesToDelete(),await this.setPagesToAdd(),await this.sync(),Qt&&await this.assertAssetsAreValid()}async assertAssetsAreValid(){await nn(this.currentRenderDir,this.bundleDir)?c.info("Warning: JavaScript and CSS bundles must have the same files and content. You can ignore this warning if the rendering process only has pages to unpublish."):c.info("Previous and current JavaScript and CSS packages successfully matched")}async setPagesToDelete(){let t=new Set([...this.pagesToDelete,...this.pagesToCreate]),r=await this.scanPages(this.bundleDir);for(let o of r)t.has(o.id)&&(this.state.htmlToDelete.push(o.htmlPath),this.state.jsonToDelete.push(o.jsonPath),this.state.mdToDelete.push(o.mdPath));c.verbose(`${this.state.htmlToDelete.length} pages HTML to delete`),c.verbose(`${this.state.mdToDelete.length} pages Markdown to delete`),c.verbose(`${this.state.jsonToDelete.length} pages JSON to delete`)}async setPagesToAdd(){let t=new Set(this.pagesToCreate),r=await this.scanPages(this.currentRenderDir);for(let o of r)if(t.has(o.id)){let n=x.default.join(this.bundleDir,o.composePath,"index.html"),s=x.default.join(this.bundleDir,`${o.composePath}.md`),i=o.composePath==="/"?"index":o.composePath,a=x.default.join(this.bundleDir,"page-data",i,"page-data.json");this.state.htmlToAdd.push({from:o.htmlPath,to:n}),this.state.jsonToAdd.push({from:o.jsonPath,to:a}),await D(o.mdPath)&&this.state.mdToAdd.push({from:o.mdPath,to:s})}c.verbose(`${this.state.htmlToAdd.length} pages HTML to create`),c.verbose(`${this.state.jsonToAdd.length} pages JSON to create`)}async sync(){let t=[...this.state.htmlToDelete,...this.state.jsonToDelete,...this.state.mdToDelete];for(let o of t)try{await H.default.rm(o,{force:!0}),c.verbose(`Sync (remove) : ${o}`)}catch(n){c.error(`Failed to remove ${o}:`,n)}await this.restoreWebpackCompilationHash();let r=[...this.state.htmlToAdd,...this.state.jsonToAdd,...this.state.mdToAdd];for(let o of r)try{await H.default.mkdir(x.default.dirname(o.to),{recursive:!0}),await H.default.copyFile(o.from,o.to),c.verbose(`Sync (copy) : ${o.from} -> ${o.to}`)}catch(n){c.error(`Failed to copy ${o.from} to ${o.to}:`,n)}await this.copyAssetArtifacts(),await this.copySitemaps()}async restoreWebpackCompilationHash(){let t=x.default.join(this.bundleDir,"page-data","app-data.json"),r=JSON.parse(await H.default.readFile(t,"utf8")).webpackCompilationHash;c.verbose(`Reading webpackCompilationHash from ${t}: ${r}`);let o=this.state.htmlToAdd.map(({from:n})=>n);c.info(`Patching ${o.length} HTML files with the new webpackCompilationHash (${r})...`);for(let n of o)Pe(`Patching HTML file ${n} with the new webpackCompilationHash`),await sn(n,r)}async copyAssetArtifacts(){for(let t of this.assetArtifacts){let r=x.default.join(this.currentRenderDir,t),o=x.default.join(this.bundleDir,t);try{await H.default.mkdir(x.default.dirname(o),{recursive:!0}),await H.default.copyFile(r,o),c.verbose(`Copied artifact: ${t}`)}catch(n){c.error(`Failed to copy artifact ${r} to ${o}:`,n)}}}async copySitemaps(){let t=x.default.resolve(this.currentRenderDir),r=x.default.resolve(this.bundleDir),o=Se(r,".xml");for await(let s of o){let i=x.default.basename(s);(i.startsWith("sitemap-")||i==="sitemap.xml")&&await H.default.rm(s,{force:!0})}let n=Se(t,".xml");for await(let s of n){let i=x.default.relative(t,s),a=x.default.join(r,i);try{await H.default.mkdir(x.default.dirname(a),{recursive:!0}),await H.default.copyFile(s,a)}catch(d){c.error(`Failed to copy sitemap ${s} to ${a}:`,d)}}c.verbose("Copied sitemap files.")}async scanPages(t){let r=Ie(32),o=Se(x.default.join(t,"page-data"),"page-data.json"),n=[];for await(let i of o)n.push(r(async()=>{try{let a=await H.default.readFile(i,"utf-8"),d=JSON.parse(a),l=d.result.pageContext.id,p=Ze(d.result.pageContext.fullPath.compose);return{id:l,composePath:p,htmlPath:x.default.join(t,p,"index.html"),mdPath:x.default.join(t,`${p}.md`),jsonPath:i}}catch(a){return c.error(`Error reading or parsing page data from ${i}:`,a),null}}));return(await Promise.all(n)).filter(i=>i!==null)}};async function an(e){let{renderMode:t,renderArtifacts:r,domain:o,pagesToCreate:n,pagesToDelete:s,pathsHydratedWithDomain:{__root:i,__ssg:a,__cache:d,__exports:l},ssg:{ssgArtifacts:p,assetPrefix:m}}=e,f=!!m&&m!=="",g=nt.default.join(i,"current-dist"),u=nt.default.join(l,"dist");await Promise.all([oe(i,d,r.cacheables,{override:!0}),oe(a,d,p.cacheables,{override:!0})]),t===$.FROM_SCRATCH&&(await gt(g),await ot.default.rm(u,{force:!0,recursive:!0}),await ot.default.rename(g,u)),t===$.INCREMENTAL&&(await gt(u),await new rt({src:g,dst:u,pagesToCreate:n,pagesToDelete:s,artifactsToCopyToExports:["build-report.json","llms.txt","robots.txt"]}).execute(),await ot.default.rm(g,{force:!0,recursive:!0}),await ht(nt.default.join(l,"dist"))),f&&await en(o,{root:i,exports:l}),await oe(i,l,r.archivables,{override:!0})}var v={clean:Kr,close:zr,data:To,dryRenderSync:Io,healthCheck:xo,init:Ao,llms:Fo,logs:No,meta:Wo,prepare:Jo,relocation:Yo,report:Vo,restore:Xo,ssg:Zo,sync:an};var it=h(require("node:path"));async function cn(){let{ssg:e}=(await S()).paths;return{disposables:[it.default.join(e,"public"),it.default.join(e,"static"),it.default.join(e,".cache")],cacheables:[".cache"]}}async function dn(){let e=await S();e.needsRollbackOnError=!0,await G(e),c.info(`Render lifecycles that follow will restore the exports dir on error if needed
70
- `)}async function ln(){let e=await S();e.needsRollbackOnError=!1,await G(e),c.info(`Render lifecycles that follow will not restore the exports dir on error
71
- `)}async function pn(e){await jr();let{renderMode:t,reason:r}=await Yr(e),o=await St(),n=await w({domain:e}),{__ssg:s}=n,i=await Xr(e),a=await cn(),d=pt?`${pt}/${e}`:"",l=await D(mn.default.join(s,`.render-sentinel-${e}`)),p=l?$.FROM_SCRATCH:t,m=l?"previous render error":r,f=await S();if(f.domains[e].renderMode=p,f.domains[e].renderModeReason=m,f.domains[e].isRendering=!1,t===$.IDLE&&p===$.IDLE){c.info(`(From Current Render) [${e}]: Skipping start-render as it is marked as IDLE with the reason ${r}.`);return}f.domains[e].isRendering=!0,f.currentRenderingDomain=e,await G(f);let g=m?` <${m}>`:"";c.info(`Init render (${p})${g} for domain ${e}
72
- `);let u=new He({domain:e,pathsHydratedWithDomain:n,renderArtifacts:i,renderMetadata:o,renderMode:p,ssg:{assetPrefix:d,ssgArtifacts:a},dryRun:!!f.domains[e].dryRun,buildReportFileName:f.buildReportFileName}),b=u.dryRun?"dry-render is enabled":!1,A=u.dryRun?!1:"dry-render is disabled",E=le?!1:"Build logs to file are disabled",_=p==="FROM_SCRATCH"?!1:b,j=p==="FROM_SCRATCH"&&u.dryRun?"wet-render is forced enabled by FROM_SCRATCH render mode":A;await C("Init",async()=>v.init(u)),await C("Clean",async()=>v.clean(u)),await C("Prepare",async()=>v.prepare(u)),await C("Restore",async()=>v.restore(u)),await dn(),await C("Data",async()=>v.data(u)),await C("SSG",async()=>v.ssg(u),{skip:_}),await C("Relocation",async()=>v.relocation(u),{skip:_}),await C("Meta",async()=>v.meta(u),{skip:_}),await C("LLMS",async()=>v.llms(u),{skip:_}),await C("Report",async()=>v.report(u)),await C("DryRunSync",async()=>v.dryRenderSync(u),{skip:j}),await C("Sync",async()=>v.sync(u),{skip:_}),await C("HealthCheck",async()=>v.healthCheck(u)),await C("Logs",async()=>v.logs(u),{skip:_||E}),await C("Close",async()=>v.close(u)),await ln()}async function gi(){await Y.login();let[e]=process.argv.slice(2);await pn(e)}async function hi(){await wr(),await gi()}yr(hi);
191
+ </sitemapindex>`}async function Wm(A){let{__root:e}=await K(),{sitesToPublish:t}=await qi(A),r=Cr.default.join(e,"current-dist"),s="sitemap-",n=o=>o==="sitemap.xml"||o.startsWith(s)&&o.endsWith(".xml");for(let o of t){let{id:i,languages:a}=o;for(let c of a){let g=At.headers?{...At.headers}:{};g.lang=c.id.toString();let h=await Em({siteId:i,headers:g});if(!h)continue;let{items:Q,url:l}=h,{home:E,domain:B}=l;if(!E)continue;let D=o.domains.find(w=>Object.keys(w)[0]===c.id.toString());if(!D)continue;let C=Object.values(D)[0],f=[],y=Object.keys(Q),T=Cr.default.join(r,C.replace(B,""));if(await $(T))try{let w=await Yn.default.readdir(T);for(let F of w)if(n(F)){let L=Cr.default.join(T,F);try{await Yn.default.rm(L)}catch(z){d.error(`Error deleting file ${L}:`,z)}}}catch(w){d.error(`Error reading ${T}:`,w)}for(let w of y){let F=Q[w];if(!F.length)continue;let L=Jm(F),z=`/${s}${w.toLowerCase()}.xml`,fe=Cr.default.join(T,z);await qm(fe,L),d.verbose(`sitemap generated in ${fe}`),f.push(`${E.endsWith("/")?E.slice(0,-1):E}${z}`)}if(!f.length)continue;let U=Pm(f),k=Cr.default.join(T,"sitemap.xml");await qm(k,U),d.verbose(`sitemap generated in ${k}`)}}}async function qm(A,e){try{let t=Cr.default.dirname(A);await $(t)||await Yn.default.mkdir(t,{recursive:!0}),await Yn.default.writeFile(A,e)}catch{throw new Error("Error saving a file")}}async function _m(A){let{domain:e}=A;await Wm(e),await Vm(e)}async function Zm(A){let{renderArtifacts:e}=A;await vQ(e.initials)}var jm=b(require("node:fs/promises")),gQ=b(require("node:path"));async function Xm(A){let{pathsHydratedWithDomain:{__root:e,__ssg:t}}=A,r=gQ.default.join(t,"public"),s=gQ.default.join(e,"current-dist");A.workingDistDir=s,await jm.default.rename(r,s)}async function Km(A){let{domain:e}=A;await KD(e)}async function zm(A){let{renderMode:e,ssg:{ssgArtifacts:t},renderArtifacts:r,pathsHydratedWithDomain:{__components:s,__root:n,__cache:o,__ssg:i}}=A;await JQ(s,i,["static"]),e===he.INCREMENTAL&&(await xt(o,i,t.cacheables),await xt(o,n,r.cacheables))}var $m=require("node:child_process"),ew=b(require("node:path"));async function Aw(A){d.verbose(`read assetPrefixWithDomain, ${A}`),d.verbose(`using this NODE_OPTIONS in gatsby command: ${process.env.NODE_OPTIONS}`);let{__ssg:e}=await K(),t=process.env.NODE_OPTIONS?process.env.NODE_OPTIONS.replace(/--openssl-legacy-provider\s*/g,"").trim():"",r=ew.default.join(e,"node_modules",".bin","gatsby"),s=["build","--prefix-paths"];return NQ&&s.push("--verbose"),process.env.NO_COLORS&&s.push("--no-colors"),new Promise((n,o)=>{let i=(0,$m.spawn)(r,s,{cwd:e,stdio:["ignore","inherit","inherit"],env:{...process.env,SPAWN_ASSET_PREFIX_WITH_DOMAIN:A,NODE_OPTIONS:t}});i.on("close",a=>{a===0?n():o(new Error(`Gatsby build failed with exit code ${a}`))}),i.on("error",a=>{o(new Error(`Failed to start Gatsby build process: ${a.message}`))})})}async function tw(A){let{ssg:{assetPrefix:e}}=A;await Aw(e)}var ia=b(require("node:fs/promises")),aa=b(require("node:path"));var Mt=b(require("node:fs/promises")),Qe=b(require("node:path"));async function rw(A,e){let{exports:t,root:r}=e,s=(await Mt.default.readdir(Qe.default.join(t,"dist"))).filter(o=>Qe.default.extname(o)===".js"||Qe.default.extname(o)===".json"||Qe.default.extname(o)===".css");await Mt.default.mkdir(Qe.default.join(r,"assets"),{recursive:!0}),await Mt.default.cp(Qe.default.join(t,"dist","page-data"),Qe.default.join(r,"assets","page-data"),{preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Mt.default.cp(Qe.default.join(r,"static"),Qe.default.join(r,"assets"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(t,"dist","static"))&&await Mt.default.cp(Qe.default.join(t,"dist","static"),Qe.default.join(r,"assets","static"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Mt.default.cp(Qe.default.join(r,"static"),Qe.default.join(t,"dist",A),{preserveTimestamps:!0,recursive:!0,force:!1});let n=s.map(o=>{let i=Qe.default.join(t,"dist",o),a=Qe.default.join(r,"assets",o);return Mt.default.cp(i,a,{preserveTimestamps:!0,recursive:!0})});await Promise.all(n)}var pA=b(require("node:fs/promises")),de=b(require("node:path"));var nw=require("node:crypto"),Gn=b(require("node:fs/promises")),ow=require("node:path");var RO=[/\.js$/];async function sw(A){let e=new Map;try{let r=(await Gn.default.readdir(A)).filter(s=>RO.some(n=>n.test(s)));for(let s of r){let n=(0,ow.join)(A,s),o=await Gn.default.readFile(n),i=(0,nw.createHash)("sha256").update(o).digest("hex");e.set(s,i)}return e}catch(t){return d.build(`ERROR: Error processing directory ${A}: ${t}`),e}}async function iw(A,e){let[t,r]=await Promise.all([sw(A),sw(e)]);if(t.size!==r.size)return!0;for(let[s,n]of t.entries()){let o=r.get(s);if(!o||n!==o)return!0}return!1}async function aw(A,e){try{let t=await Gn.default.readFile(A,"utf-8"),r=/(window\.___webpackCompilationHash=")([^"]*)(";<\/script>)/,s=t.replace(r,`$1${e}$3`);if(t===s)return;await Gn.default.writeFile(A,s,"utf-8")}catch(t){d.error(`Failed to process file ${A}: ${t}`)}}var oa=class{bundleDir;currentRenderDir;pagesToCreate;pagesToDelete;assetArtifacts;state={mdToAdd:[],htmlToAdd:[],jsonToAdd:[],htmlToDelete:[],jsonToDelete:[],mdToDelete:[]};constructor(e){this.bundleDir=e.dst,this.currentRenderDir=e.src,this.pagesToCreate=e.pagesToCreate,this.pagesToDelete=e.pagesToDelete,this.assetArtifacts=e.artifactsToCopyToExports}async execute(){await this.setPagesToDelete(),await this.setPagesToAdd(),await this.sync(),SQ&&await this.assertAssetsAreValid()}async assertAssetsAreValid(){await iw(this.currentRenderDir,this.bundleDir)?d.info("Warning: JavaScript and CSS bundles must have the same files and content. You can ignore this warning if the rendering process only has pages to unpublish."):d.info("Previous and current JavaScript and CSS packages successfully matched")}async setPagesToDelete(){let e=new Set([...this.pagesToDelete,...this.pagesToCreate]),t=await this.scanPages(this.bundleDir);for(let r of t)e.has(r.id)&&(this.state.htmlToDelete.push(r.htmlPath),this.state.jsonToDelete.push(r.jsonPath),this.state.mdToDelete.push(r.mdPath));d.verbose(`${this.state.htmlToDelete.length} pages HTML to delete`),d.verbose(`${this.state.mdToDelete.length} pages Markdown to delete`),d.verbose(`${this.state.jsonToDelete.length} pages JSON to delete`)}async setPagesToAdd(){let e=new Set(this.pagesToCreate),t=await this.scanPages(this.currentRenderDir);for(let r of t)if(e.has(r.id)){let s=de.default.join(this.bundleDir,r.composePath,"index.html"),n=de.default.join(this.bundleDir,`${r.composePath}.md`),o=r.composePath===""||r.composePath==="/"?"index":r.composePath,i=de.default.join(this.bundleDir,"page-data",o,"page-data.json");this.state.htmlToAdd.push({from:r.htmlPath,to:s}),this.state.jsonToAdd.push({from:r.jsonPath,to:i}),await $(r.mdPath)&&this.state.mdToAdd.push({from:r.mdPath,to:n})}d.verbose(`${this.state.htmlToAdd.length} pages HTML to create`),d.verbose(`${this.state.jsonToAdd.length} pages JSON to create`)}async sync(){let e=[...this.state.htmlToDelete,...this.state.jsonToDelete,...this.state.mdToDelete];for(let r of e)try{await pA.default.rm(r,{force:!0}),d.verbose(`Sync (remove) : ${r}`)}catch(s){d.error(`Failed to remove ${r}:`,s)}await this.restoreWebpackCompilationHash();let t=[...this.state.htmlToAdd,...this.state.jsonToAdd,...this.state.mdToAdd];for(let r of t)try{await pA.default.mkdir(de.default.dirname(r.to),{recursive:!0}),await pA.default.copyFile(r.from,r.to),d.verbose(`Sync (copy) : ${r.from} -> ${r.to}`)}catch(s){d.error(`Failed to copy ${r.from} to ${r.to}:`,s)}await this.copyAssetArtifacts(),await this.copySitemaps()}async restoreWebpackCompilationHash(){let e=de.default.join(this.bundleDir,"page-data","app-data.json"),t=JSON.parse(await pA.default.readFile(e,"utf8")).webpackCompilationHash;d.verbose(`Reading webpackCompilationHash from ${e}: ${t}`);let r=this.state.htmlToAdd.map(({from:s})=>s);d.info(`Patching ${r.length} HTML files with the new webpackCompilationHash (${t})...`);for(let s of r)Tn(`Patching HTML file ${s} with the new webpackCompilationHash`),await aw(s,t)}async copyAssetArtifacts(){for(let e of this.assetArtifacts){let t=de.default.join(this.currentRenderDir,e),r=de.default.join(this.bundleDir,e);try{await pA.default.mkdir(de.default.dirname(r),{recursive:!0}),await pA.default.copyFile(t,r),d.verbose(`Copied artifact: ${e}`)}catch(s){d.error(`Failed to copy artifact ${t} to ${r}:`,s)}}}async copySitemaps(){let e=de.default.resolve(this.currentRenderDir),t=de.default.resolve(this.bundleDir),r=fs(t,".xml");for await(let n of r){let o=de.default.basename(n);(o.startsWith("sitemap-")||o==="sitemap.xml")&&await pA.default.rm(n,{force:!0})}let s=fs(e,".xml");for await(let n of s){let o=de.default.relative(e,n),i=de.default.join(t,o);try{await pA.default.mkdir(de.default.dirname(i),{recursive:!0}),await pA.default.copyFile(n,i)}catch(a){d.error(`Failed to copy sitemap ${n} to ${i}:`,a)}}d.verbose("Copied sitemap files.")}async scanPages(e){let t=Ln(32),r=fs(de.default.join(e,"page-data"),"page-data.json"),s=[];for await(let o of r)s.push(t(async()=>{try{let i=await pA.default.readFile(o,"utf-8"),a=JSON.parse(i),c=a.result.pageContext.id,g=ra(a.result.pageContext.fullPath.compose);return{id:c,composePath:g,htmlPath:de.default.join(e,g,"index.html"),mdPath:de.default.join(e,`${g}.md`),jsonPath:o}}catch(i){return d.error(`Error reading or parsing page data from ${o}:`,i),null}}));return(await Promise.all(s)).filter(o=>o!==null)}};async function cw(A){let{renderMode:e,renderArtifacts:t,domain:r,pagesToCreate:s,pagesToDelete:n,pathsHydratedWithDomain:{__root:o,__ssg:i,__cache:a,__exports:c},ssg:{ssgArtifacts:g,assetPrefix:h}}=A,Q=!!h&&h!=="",l=aa.default.join(o,"current-dist"),E=aa.default.join(c,"dist");await Promise.all([xt(o,a,t.cacheables,{override:!0}),xt(i,a,g.cacheables,{override:!0})]),e===he.FROM_SCRATCH&&(await Ba(l),await ia.default.rm(E,{force:!0,recursive:!0}),await ia.default.rename(l,E)),e===he.INCREMENTAL&&(await Ba(E),await new oa({src:l,dst:E,pagesToCreate:s,pagesToDelete:n,artifactsToCopyToExports:["build-report.json","llms.txt","robots.txt"]}).execute(),await ia.default.rm(l,{force:!0,recursive:!0}),await Ca(aa.default.join(c,"dist"))),Q&&await rw(r,{root:o,exports:c}),await xt(o,c,t.archivables,{override:!0})}var Re={clean:$D,close:em,data:Fm,dryRenderSync:bm,healthCheck:Um,init:Mm,llms:Ym,logs:Gm,meta:_m,prepare:Zm,relocation:Xm,report:Km,restore:zm,ssg:tw,sync:cw};var ca=b(require("node:path"));async function gw(){let{ssg:A}=(await ee()).paths;return{disposables:[ca.default.join(A,"public"),ca.default.join(A,"static"),ca.default.join(A,".cache")],cacheables:[".cache"]}}async function lw(){let A=await ee();A.needsRollbackOnError=!0,await eA(A),d.info(`Render lifecycles that follow will restore the exports dir on error if needed
192
+ `)}async function Ew(){let A=await ee();A.needsRollbackOnError=!1,await eA(A),d.info(`Render lifecycles that follow will not restore the exports dir on error
193
+ `)}async function uw(A){await OD();let{renderMode:e,reason:t}=await XD(A),r=await zE(),s=await K({domain:A}),{__ssg:n}=s,o=await zD(A),i=await gw(),a=ua?`${ua}/${A}`:"",c=await $(Qw.default.join(n,`.render-sentinel-${A}`)),g=c?he.FROM_SCRATCH:e,h=c?"previous render error":t,Q=await ee();if(Q.domains[A].renderMode=g,Q.domains[A].renderModeReason=h,Q.domains[A].isRendering=!1,e===he.IDLE&&g===he.IDLE){d.info(`(Pre-check) ${A}\xA0skipped start-render it is marked as <${he.IDLE}> with the reason <${t}>`);return}Q.domains[A].isRendering=!0,Q.currentRenderingDomain=A,await eA(Q);let l=h?` <${h}>`:"";d.info(`Init render ${A} <${g}> with the reason${l}
194
+ `);let E=new Wi({domain:A,pathsHydratedWithDomain:s,renderArtifacts:o,renderMetadata:r,renderMode:g,ssg:{assetPrefix:a,ssgArtifacts:i},dryRun:!!Q.domains[A].dryRun,buildReportFileName:Q.buildReportFileName}),B=E.dryRun?"dry-render is enabled":!1,D=E.dryRun?!1:"dry-render is disabled",C=yr?!1:"Build logs to file are disabled",f=g==="FROM_SCRATCH"?!1:B,y=g==="FROM_SCRATCH"&&E.dryRun?"wet-render is forced enabled by FROM_SCRATCH render mode":D;await we("Init",async()=>Re.init(E)),await we("Clean",async()=>Re.clean(E)),await we("Prepare",async()=>Re.prepare(E)),await we("Restore",async()=>Re.restore(E)),await lw(),await we("Data",async()=>Re.data(E)),await we("SSG",async()=>Re.ssg(E),{skip:f}),await we("Relocation",async()=>Re.relocation(E),{skip:f}),await we("Meta",async()=>Re.meta(E),{skip:f}),await we("LLMS",async()=>Re.llms(E),{skip:f}),await we("Report",async()=>Re.report(E)),await we("DryRunSync",async()=>Re.dryRenderSync(E),{skip:y}),await we("Sync",async()=>Re.sync(E),{skip:f}),await we("HealthCheck",async()=>Re.healthCheck(E)),await we("Logs",async()=>Re.logs(E),{skip:f||C}),await we("Close",async()=>Re.close(E)),await Ew()}async function SO(){await At.login();let[A]=process.argv.slice(2);await uw(A)}async function NO(){await KQ(),await SO()}ZQ(NO);
195
+ /*! Bundled license information:
196
+
197
+ undici/lib/web/fetch/body.js:
198
+ (*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
199
+
200
+ undici/lib/web/websocket/frame.js:
201
+ (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
202
+ */
73
203
  //# sourceMappingURL=start-render.js.map