@vibe-lark/larkpal 0.1.85 → 0.1.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-id-BM1T6029-BzQ_cMoi.mjs +1 -0
- package/dist/activation-context--5yu1dPF-XV0Y0pTy.mjs +1 -0
- package/dist/anthropic-CFZUCb1w.mjs +39 -0
- package/dist/assistant-visible-text-DuFWokAt-BOJV_zwc.mjs +9 -0
- package/dist/azure-openai-responses-BEuiMaF-.mjs +1 -0
- package/dist/boundary-file-read-BSd9MXPy-gnNVhPKT.mjs +1 -0
- package/dist/browser-lifecycle-cleanup-BdNsMhMD-BM97qA_M.mjs +1 -0
- package/dist/build-Bkj0hOS2.mjs +3 -0
- package/dist/bundled-compat-BpaDaAAu-DJtrIX6i.mjs +27 -0
- package/dist/bundled-dir-U738ay4K-BxbzrJOo.mjs +1 -0
- package/dist/call-DimWbpgJ-B4pv55RH.mjs +20 -0
- package/dist/channel-bootstrap.runtime-BVclcGv1-CEZ0-JP9.mjs +1 -0
- package/dist/channel-bootstrap.runtime-Cwcr38m2-Dt6QlQkX.mjs +1 -0
- package/dist/chunk-DHbaKqs-.mjs +1 -0
- package/dist/cli.mjs +7 -92
- package/dist/command-format-LSnUCVVF-Dn4h9IOh.mjs +16 -0
- package/dist/config-Bim2pi8a-03N-28sw.mjs +1 -0
- package/dist/delivery-context.shared-j5hC5qb1-BSLQG47q.mjs +1 -0
- package/dist/diagnostic-ClMwNnUA-BMKvPQJT.mjs +1 -0
- package/dist/dist-J5UB83Ws.mjs +601 -0
- package/dist/dist-coestTs9.mjs +5 -0
- package/dist/env-api-keys-Cuz5irWW.mjs +1 -0
- package/dist/event-stream-B7Ei41Bu.mjs +1 -0
- package/dist/facade-loader-DFzIYYt_-4bzFvy-b.mjs +1 -0
- package/dist/from-Ba69_5cR.mjs +14 -0
- package/dist/gateway-method-policy-C7rf0SeV-CTJcMQCE.mjs +1 -0
- package/dist/github-copilot-headers-BfhryVuU.mjs +1 -0
- package/dist/google-ABo-1guT.mjs +1 -0
- package/dist/google-gemini-cli-CGlN1zUA.mjs +2 -0
- package/dist/google-shared-C60sNhwd.mjs +301 -0
- package/dist/google-vertex-De0nAItu.mjs +1 -0
- package/dist/hash-Dw-N8Y9l.mjs +1 -0
- package/dist/headers-Bpsp70B9.mjs +1 -0
- package/dist/home-dir-C44RaPME-B5iLWwCq.mjs +1 -0
- package/dist/ids-BPsM98Uu-CJBJAeVC.mjs +1 -0
- package/dist/image-2w3cApg7-CrpUMCvm.mjs +3 -0
- package/dist/interactive-init-C5MFL5MW.mjs +8 -0
- package/dist/io-CH2g3vsv-JJtUIa_U.mjs +10 -0
- package/dist/jiti-loader-cache-Bat69wam-DNIteTtO.mjs +9 -0
- package/dist/json-file-BQRNuxmK-hRjIgOXI.mjs +1 -0
- package/dist/json-parse-BESd8UAM.mjs +3 -0
- package/dist/jws-YaZ38F_i.mjs +12 -0
- package/dist/lark-cli-provider-BLMxH6CN.mjs +4 -0
- package/dist/lark-logger-xpMKNNtY.mjs +1 -0
- package/dist/live-smoke-DpURW676.mjs +33 -0
- package/dist/load-context-mb7uvLSn-3xYwSnOZ.mjs +1 -0
- package/dist/loader-708jrx4Y-BbJRXNlQ.mjs +4 -0
- package/dist/main.mjs +480 -18553
- package/dist/manifest-registry-_hxKCS2K-OL8KK_o4.mjs +15 -0
- package/dist/mcp-server.mjs +4 -527
- package/dist/message-channel-Bk_YHfQg-n2Hw2Y0L.mjs +1 -0
- package/dist/message-channel-core-DTA--Gjh-CIh10vfo.mjs +1 -0
- package/dist/message.config.runtime-K-k4XOyq-F_h0Cgkl.mjs +1 -0
- package/dist/message.gateway.runtime-DqHOHRTQ-ge4c5p4s.mjs +1 -0
- package/dist/mistral-DyL3Zo1b.mjs +7 -0
- package/dist/model-auth-env-oyg2Hexc-DJbt9J3o.mjs +1 -0
- package/dist/models-config-BmpSQJQF-BL6S5qAo.mjs +1 -0
- package/dist/models-config.runtime-SOhLEw-f.mjs +1 -0
- package/dist/multipart-parser-B9dwXBqu.mjs +2 -0
- package/dist/oauth-25y2wc7K.mjs +75 -0
- package/dist/openai-C-rgGb7X.mjs +16 -0
- package/dist/openai-codex-responses-BbyAPsP1.mjs +7 -0
- package/dist/openai-completions-Bu5qvQzb.mjs +5 -0
- package/dist/openai-responses-pIdwQBc4.mjs +1 -0
- package/dist/openai-responses-shared-DqW1JSux.mjs +10 -0
- package/dist/paths-D6msg0S1-BO4XgM1u.mjs +1 -0
- package/dist/paths-D92DjaZ--DdtJ-zYp.mjs +1 -0
- package/dist/pi-model-discovery-Bd0TWzo8-DvSM0eWu.mjs +1 -0
- package/dist/pi-model-discovery-runtime-PrjWOmsV.mjs +1 -0
- package/dist/pi-tools.before-tool-call.runtime-Bn7uqKie-WPxU5oNX.mjs +2 -0
- package/dist/plugin-auto-enable-DdH3n9V8-Dr_bUXkG.mjs +1 -0
- package/dist/process-scoped-map-B2cWkYET-Co-i-MXA.mjs +1 -0
- package/dist/provider-discovery.runtime-DY0VWQ81.mjs +1 -0
- package/dist/provider-model-compat-CFqcq0it-BUwZENrz.mjs +1 -0
- package/dist/provider-runtime-C8rljsNs-BDvu6FW3.mjs +1 -0
- package/dist/provider-runtime-CT50mNIX-DImw7ZZu.mjs +79 -0
- package/dist/provider-stream-COLujAAo-Dpq1DSIk.mjs +248 -0
- package/dist/providers.runtime-Ba7tOlq7-B4t6ywCr.mjs +1 -0
- package/dist/public-surface-loader-BVl0NQAE-TfJ3izj1.mjs +1 -0
- package/dist/resolve-C33B7eeu-DZM_z6Wr.mjs +1 -0
- package/dist/runtime-Cym-fqI8-1GOIuRRQ.mjs +1 -0
- package/dist/runtime-channel-state-CohMybAh-BBzhl07Q.mjs +1 -0
- package/dist/runtime-snapshot-C54O1-gI-DxusscPf.mjs +1 -0
- package/dist/runtime-state-IBOIXKOx-Cw1GA1td.mjs +1 -0
- package/dist/runtime-web-tools-fallback.runtime-Ca-qn1mj-BsYE2gOd.mjs +1 -0
- package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-P6MKP9gQ.mjs +1 -0
- package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-5VoyjouO.mjs +1 -0
- package/dist/session-archive.runtime-B52_5vs4-cU2tYbBz.mjs +1 -0
- package/dist/session-key-Cn2QoOyX-QZeYmbxd.mjs +1 -0
- package/dist/session-transcript-files.fs-DEeFXruQ-CXIAFSsr.mjs +1 -0
- package/dist/src-CCDx_C-U.mjs +3 -0
- package/dist/src-DACmA9V6.mjs +5 -0
- package/dist/subagent-announce-L5WsQatW--rMn240x.mjs +2 -0
- package/dist/subagent-announce.registry.runtime-DiqZyeTs-DNfNHsls.mjs +1 -0
- package/dist/subagent-registry-steer-runtime-DFgZFC0j-XYS1_qwl.mjs +1 -0
- package/dist/subagent-system-prompt-C1qnN--K-CsU4f97T.mjs +23 -0
- package/dist/target-parsing-loaded-DKkb6jJY-B830OA1a.mjs +12 -0
- package/dist/task-registry-delivery-runtime-Dd1CUkZF-B2Hj2k8C.mjs +16 -0
- package/dist/task-registry-delivery-runtime-ragbeVx5-Bdvo2Q5u.mjs +1 -0
- package/dist/thinking-Bh-7MqXz-uApNUe6g.mjs +1 -0
- package/dist/transcript-E_-ISOkD-VTwb782D.mjs +5 -0
- package/dist/transcript.runtime-BqhvZZdl-B4E0TiX5.mjs +1 -0
- package/dist/transform-messages-BTA3xbAI.mjs +1 -0
- package/dist/web-provider-public-artifacts-BlpRwIUS-DbVhDOrY.mjs +1 -0
- package/dist/web-search-providers.runtime--0aUtC3b-Bjh4Bmrz.mjs +1 -0
- package/package.json +1 -2
- package/dist/interactive-init-B6j8j_Ap.mjs +0 -450
- package/dist/lark-cli-provider-7LvtOIF_.mjs +0 -554
- package/dist/lark-logger-D7_pEVQc.mjs +0 -143
- package/dist/live-smoke-nvTUPtrv.mjs +0 -7135
- package/dist/rolldown-runtime-wcPFST8Q.mjs +0 -13
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import{a as e,i as t,t as n}from"./chunk-DHbaKqs-.mjs";import{c as r,d as i,o as a}from"./home-dir-C44RaPME-B5iLWwCq.mjs";import{o}from"./paths-D92DjaZ--DdtJ-zYp.mjs";import{s}from"./bundled-dir-U738ay4K-BxbzrJOo.mjs";import{C as c,S as l,_ as u,c as d,d as f,f as p,g as m,h,m as g,n as _,p as v,t as y,u as b,v as x}from"./io-CH2g3vsv-JJtUIa_U.mjs";import{Mt as S,St as C,c as w,ht as T,l as E,vt as D,xt as O}from"./bundled-compat-BpaDaAAu-DJtrIX6i.mjs";import{_ as k,t as A}from"./runtime-snapshot-C54O1-gI-DxusscPf.mjs";import{p as j}from"./loader-708jrx4Y-BbJRXNlQ.mjs";import"./config-Bim2pi8a-03N-28sw.mjs";import{a as M,o as N,t as P}from"./command-format-LSnUCVVF-Dn4h9IOh.mjs";import{d as F}from"./plugin-auto-enable-DdH3n9V8-Dr_bUXkG.mjs";import{H as I,L as ee,R as L,Y as te,c as R}from"./provider-runtime-CT50mNIX-DImw7ZZu.mjs";import"./models-config-BmpSQJQF-BL6S5qAo.mjs";import{l as ne,r as re,t as z,u as ie}from"./oauth-25y2wc7K.mjs";import{t as ae}from"./env-api-keys-Cuz5irWW.mjs";import{n as B,r as V}from"./event-stream-B7Ei41Bu.mjs";import{n as oe}from"./json-parse-BESd8UAM.mjs";import{t as se}from"./src-DACmA9V6.mjs";import{a as H,i as ce,o as le,s as ue,t as de}from"./assistant-visible-text-DuFWokAt-BOJV_zwc.mjs";import{A as fe,C as U,D as pe,E as me,M as he,O as ge,P as _e,S as ve,T as ye,_ as be,a as xe,b as Se,d as Ce,f as we,g as Te,h as Ee,i as De,j as Oe,k as ke,m as Ae,n as je,p as Me,r as Ne,t as Pe,u as Fe,v as Ie,w as Le,x as Re,y as ze}from"./model-auth-env-oyg2Hexc-DJbt9J3o.mjs";import{t as Be}from"./resolve-C33B7eeu-DZM_z6Wr.mjs";import{r as Ve,t as He}from"./provider-model-compat-CFqcq0it-BUwZENrz.mjs";import{t as Ue}from"./openai-completions-Bu5qvQzb.mjs";import{createRequire as We}from"node:module";import Ge from"node:fs";import Ke from"node:path";import{URL as qe}from"node:url";import{createHash as Je,randomUUID as Ye}from"node:crypto";import Xe from"node:process";import{URL as Ze}from"url";import Qe from"assert";import{lookup as $e}from"node:dns";import{lookup as et}from"node:dns/promises";import*as tt from"net";import*as nt from"tls";import*as rt from"http";import{Agent as it}from"https";import{gunzipSync as at,gzipSync as ot}from"node:zlib";let st;async function ct(){return st??=import(`./provider-runtime-C8rljsNs-BDvu6FW3.mjs`),st}async function lt(...e){return(await ct()).buildProviderAuthDoctorHintWithPlugin(...e)}async function ut(...e){return(await ct()).formatProviderAuthProfileApiKeyWithPlugin(...e)}async function dt(...e){return(await ct()).refreshProviderOAuthCredentialWithPlugin(...e)}function ft(e,t){let n=e?.profiles[t];return n?{displayName:`displayName`in n?r(n.displayName):void 0,email:`email`in n?r(n.email):void 0}:{}}function pt(e){let t=e.cfg?.auth?.profiles?.[e.profileId],n=ft(e.store,e.profileId);return{displayName:r(t?.displayName)??n.displayName,email:r(t?.email)??n.email}}const mt=`https://api.chutes.ai`;`${mt}`;const ht=`${mt}/idp/token`;`${mt}`;function gt(e,t){let n=t+Math.max(0,Math.floor(e))*1e3-3e5;return Math.max(n,t+3e4)}async function _t(e){let t=e.fetchFn??fetch,n=e.now??Date.now(),i=e.credential.refresh?.trim();if(!i)throw Error(`Chutes OAuth credential is missing refresh token`);let a=e.credential.clientId?.trim()??process.env.CHUTES_CLIENT_ID?.trim();if(!a)throw Error(`Missing CHUTES_CLIENT_ID for Chutes OAuth refresh (set env var or re-auth).`);let o=r(process.env.CHUTES_CLIENT_SECRET),s=new URLSearchParams({grant_type:`refresh_token`,client_id:a,refresh_token:i});o&&s.set(`client_secret`,o);let c=await t(ht,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:s});if(!c.ok){let e=await c.text();throw Error(`Chutes token refresh failed: ${e}`)}let l=await c.json(),u=l.access_token?.trim(),d=l.refresh_token?.trim(),f=l.expires_in??0;if(!u)throw Error(`Chutes token refresh returned no access_token`);return{...e.credential,access:u,refresh:d||i,expires:gt(f,n),clientId:a}}function vt(e,t,n,r){e.push({profileId:t,path:`profiles.${t}.${n}`,reason:r})}function yt(e){return O({value:e.value,refValue:e.refValue,defaults:e.defaults}).ref!==null}function bt(e){if(e.credential.type!==`oauth`)return;let t=e.credential;for(let n of[`access`,`refresh`,`token`,`tokenRef`,`key`,`keyRef`])D(t[n],e.defaults)!==null&&vt(e.violations,e.profileId,n,`SecretRef is not allowed for type="oauth" auth profiles (OAuth credentials are runtime-mutable).`)}function xt(e){if(e.configuredMode!==`oauth`)return;let t=`SecretRef is not allowed when auth.profiles.${e.profileId}.mode is "oauth" (OAuth credentials are runtime-mutable).`;if(e.credential.type===`api_key`){yt({value:e.credential.key,refValue:e.credential.keyRef,defaults:e.defaults})&&vt(e.violations,e.profileId,`key`,t);return}e.credential.type===`token`&&yt({value:e.credential.token,refValue:e.credential.tokenRef,defaults:e.defaults})&&vt(e.violations,e.profileId,`token`,t)}function St(e){let t=e.cfg?.secrets?.defaults,n=e.profileIds?new Set(e.profileIds):null,r=[];for(let[i,a]of Object.entries(e.store.profiles))n&&!n.has(i)||(bt({profileId:i,credential:a,defaults:t,violations:r}),xt({profileId:i,credential:a,defaults:t,configuredMode:e.cfg?.auth?.profiles?.[i]?.mode,violations:r}));return r}function Ct(e){let t=St(e);if(t.length===0)return;let n=[`${e.context??`auth-profiles`} policy validation failed: OAuth + SecretRef is not supported.`,...t.map(e=>`- ${e.path}: ${e.reason}`)];throw Error(n.join(`
|
|
2
|
+
`))}function wt(e){return[...new Set(e)]}function Tt(e,t){let n=d(t);return Object.entries(e.profiles).filter(([,e])=>d(e.provider)===n).map(([e])=>e)}function Et(e){let t=e.indexOf(`:`);return t<0?``:e.slice(t+1)}function Dt(e){let t=e.trim();return t?t.includes(`@`)&&t.includes(`.`):!1}function Ot(e){let t=E(e.provider);if(Et(e.legacyProfileId)!==`default`)return null;let n=e.cfg?.auth?.profiles?.[e.legacyProfileId];if(n&&E(n.provider)===t&&n.mode!==`oauth`)return null;let r=Tt(e.store,t).filter(t=>e.store.profiles[t]?.type===`oauth`);if(r.length===0)return null;let i=n?.email?.trim();if(i){let n=r.find(n=>pt({cfg:e.cfg,store:e.store,profileId:n}).email===i||n===`${t}:${i}`);if(n)return n}let a=e.store.lastGood?.[t]??e.store.lastGood?.[e.provider];if(a&&r.includes(a))return a;let o=r.filter(t=>t!==e.legacyProfileId);if(o.length===1)return o[0]??null;let s=o.filter(e=>Dt(Et(e)));return s.length===1?s[0]??null:null}C(`agent/embedded`);const kt=[`auth_permanent`,`auth`,`billing`,`format`,`model_not_found`,`overloaded`,`timeout`,`rate_limit`,`unknown`];new Set(kt),new Map(kt.map((e,t)=>[e,t]));function At(e){let t=E(e??``);return t===`openrouter`||t===`kilocode`}function jt(e){let t=[e.cooldownUntil,e.disabledUntil].filter(e=>typeof e==`number`).filter(e=>Number.isFinite(e)&&e>0);return t.length===0?null:Math.max(...t)}function Mt(e,t,n,r){if(At(e.profiles[t]?.provider))return!1;let i=e.usageStats?.[t];if(!i)return!1;let a=n??Date.now();if(Pt(i,a,r))return!1;let o=jt(i);return o?a<o:!1}function Nt(e,t){return typeof e==`number`&&Number.isFinite(e)&&e>0&&t<e}function Pt(e,t,n){return!!(n&&e.cooldownReason===`rate_limit`&&e.cooldownModel&&e.cooldownModel!==n&&!Nt(e.disabledUntil,t))}function Ft(e,t){let n=e.usageStats;if(!n)return!1;let r=t??Date.now(),i=!1;for(let[e,t]of Object.entries(n)){if(!t)continue;let a=!1,o=typeof t.cooldownUntil==`number`&&Number.isFinite(t.cooldownUntil)&&t.cooldownUntil>0&&r>=t.cooldownUntil,s=typeof t.disabledUntil==`number`&&Number.isFinite(t.disabledUntil)&&t.disabledUntil>0&&r>=t.disabledUntil;o&&(t.cooldownUntil=void 0,t.cooldownReason=void 0,t.cooldownModel=void 0,a=!0),s&&(t.disabledUntil=void 0,t.disabledReason=void 0,a=!0),a&&!jt(t)&&(t.errorCount=0,t.failureCounts=void 0),a&&(n[e]=t,i=!0)}return i}function It(e){let t=d(e.provider,{config:e.cfg}),n=e.store.profiles[e.profileId];if(!n)return{eligible:!1,reasonCode:`profile_missing`};if(d(n.provider,{config:e.cfg})!==t)return{eligible:!1,reasonCode:`provider_mismatch`};let r=e.cfg?.auth?.profiles?.[e.profileId];if(r){if(d(r.provider,{config:e.cfg})!==t)return{eligible:!1,reasonCode:`provider_mismatch`};if(r.mode!==n.type&&!(r.mode===`oauth`&&n.type===`token`))return{eligible:!1,reasonCode:`mode_mismatch`}}let i=Ie({credential:n,now:e.now});return{eligible:i.eligible,reasonCode:i.reasonCode}}function Lt(e){let{cfg:t,store:n,provider:r,preferredProfile:i}=e,a=E(r),o=d(r,{config:t}),s=Date.now();Ft(n,s);let c=w(n.order,a),l=w(t?.auth?.order,a),u=c??l,f=t?.auth?.profiles?Object.entries(t.auth.profiles).filter(([,e])=>d(e.provider,{config:t})===o).map(([e])=>e):[],p=u??(f.length>0?f:Tt(n,r));if(p.length===0)return[];let m=e=>It({cfg:t,store:n,provider:r,profileId:e,now:s}).eligible,h=p.filter(m),g=p.every(e=>!n.profiles[e]);h.length===0&&f.length>0&&g&&(h=Tt(n,r).filter(m));let _=wt(h);if(u&&u.length>0){let e=[],t=[];for(let r of _)if(Mt(n,r)){let e=jt(n.usageStats?.[r]??{})??s;t.push({profileId:r,cooldownUntil:e})}else e.push(r);let r=t.toSorted((e,t)=>e.cooldownUntil-t.cooldownUntil).map(e=>e.profileId),a=[...e,...r];return i&&a.includes(i)?[i,...a.filter(e=>e!==i)]:a}let v=Rt(_,n);return i&&v.includes(i)?[i,...v.filter(e=>e!==i)]:v}function Rt(e,t){let n=Date.now(),r=[],i=[];for(let n of e)Mt(t,n)?i.push(n):r.push(n);let a=r.map(e=>{let n=t.profiles[e]?.type;return{profileId:e,typeScore:n===`oauth`?0:n===`token`?1:n===`api_key`?2:3,lastUsed:t.usageStats?.[e]?.lastUsed??0}}).toSorted((e,t)=>e.typeScore===t.typeScore?e.lastUsed-t.lastUsed:e.typeScore-t.typeScore).map(e=>e.profileId),o=i.map(e=>({profileId:e,cooldownUntil:jt(t.usageStats?.[e]??{})??n})).toSorted((e,t)=>e.cooldownUntil-t.cooldownUntil).map(e=>e.profileId);return[...a,...o]}const zt={"qwen-portal":`Qwen OAuth via portal.qwen.ai has been deprecated. Please migrate to Qwen Cloud Coding Plan. Run: openclaw onboard --auth-choice qwen-api-key (or qwen-api-key-cn for the China endpoint). Legacy modelstudio auth-choice ids still work.`};async function Bt(e){let t=E(e.provider),n=zt[t];if(n)return n;let r=await lt({provider:t,context:{config:e.cfg,store:e.store,provider:t,profileId:e.profileId}});return typeof r==`string`&&r.trim()?r:``}function Vt(e){return e?.trim()||void 0}function Ht(e){return Vt(e)?.toLowerCase()}function Ut(e,t){let n=Vt(e.accountId),r=Vt(t.accountId),i=Ht(e.email),a=Ht(t.email);return n!==void 0&&r!==void 0?n===r:i!==void 0&&a!==void 0?i===a:!(n!==void 0||i!==void 0)}function Wt(e){let{existing:t,refreshed:n}=e;return t?t.type===`oauth`?t.provider===n.provider?Ut(t,n)?Number.isFinite(t.expires)&&Number.isFinite(n.expires)&&t.expires>=n.expires?{shouldMirror:!1,reason:`incoming-not-fresher`}:{shouldMirror:!0,reason:`incoming-fresher`}:{shouldMirror:!1,reason:`identity-mismatch-or-regression`}:{shouldMirror:!1,reason:`provider-mismatch`}:{shouldMirror:!1,reason:`non-oauth-existing-credential`}:{shouldMirror:!0,reason:`no-existing-credential`}}var Gt=class extends Error{#e;#t;constructor(e){let t=typeof e.cause==`object`&&e.cause!==null?e.cause:void 0,n=t?.code===`refresh_contention`&&t.cause?t.cause:e.cause;super(`OAuth token refresh failed for ${e.credential.provider}: ${S(e.cause)}`,{cause:n}),this.name=`OAuthManagerRefreshError`,this.#t=e.credential,this.profileId=e.profileId,this.provider=e.credential.provider,this.#e=e.refreshedStore,t&&(this.code=typeof t.code==`string`?t.code:void 0,typeof t.lockPath==`string`?this.lockPath=t.lockPath:typeof t.cause==`object`&&t.cause!==null&&`lockPath`in t.cause&&typeof t.cause.lockPath==`string`&&(this.lockPath=t.cause.lockPath))}getRefreshedStore(){return this.#e}getCredential(){return this.#t}toJSON(){return{name:this.name,message:this.message,profileId:this.profileId,provider:this.provider}}};function Kt(e,t){return e.access!==t.access||e.refresh!==t.refresh||e.expires!==t.expires}function qt(e,t){let n=typeof e==`object`&&e?e:void 0;return n?.code===`file_lock_timeout`&&n.lockPath===`${t}.lock`}function Jt(e){return Object.assign(Error(`OAuth refresh failed (refresh_contention): another process is already refreshing ${e.provider} for ${e.profileId}. Please wait for the in-flight refresh to finish and retry.`,{cause:e.cause}),{code:`refresh_contention`,cause:e.cause})}async function Yt(e){let t=ve(e.agentDir).profiles[e.profileId];return t?.type!==`oauth`||t.provider!==e.provider||!ze(t)||e.requireChange&&e.previous&&!Kt(e.previous,t)?null:t}function Xt(e){let t=e.readBootstrapCredential({profileId:e.profileId,credential:e.credential});return t?ze(e.credential)?(U.debug(`resolved oauth credential from canonical local store`,{profileId:e.profileId,provider:e.credential.provider,localExpires:e.credential.expires,externalExpires:t.expires}),e.credential):Se(e.credential,t)?pe({existing:e.credential,imported:t})?(U.debug(`resolved oauth credential from external cli bootstrap`,{profileId:e.profileId,provider:t.provider,localExpires:e.credential.expires,externalExpires:t.expires}),t):e.credential:(U.warn(`refused external oauth bootstrap credential: identity mismatch or missing binding`,{profileId:e.profileId,provider:e.credential.provider}),e.credential):e.credential}function Zt(e){function t(e){if(!e.agentDir)return null;try{let t=Te(void 0).profiles[e.profileId];if(t?.type===`oauth`&&t.provider===e.credential.provider&&ze(t)&&Number.isFinite(t.expires)&&(!Number.isFinite(e.credential.expires)||t.expires>e.credential.expires)&&Re(e.credential,t))return e.store.profiles[e.profileId]={...t},me(e.store,e.agentDir),U.info(`adopted newer OAuth credentials from main agent`,{profileId:e.profileId,agentDir:e.agentDir,expires:new Date(t.expires).toISOString()}),t}catch(t){U.debug(`adoptNewerMainOAuthCredential failed`,{profileId:e.profileId,error:S(t)})}return null}let n=new Map;function r(e,t){return`${e}\u0000${t}`}async function i(e,t,n){let r;try{return await new Promise((i,a)=>{r=setTimeout(()=>{a(Error(`OAuth refresh call "${e}" exceeded hard timeout (${t}ms)`))},t),n().then(i,a)})}finally{r&&clearTimeout(r)}}async function a(e){try{be(fe(void 0)),await ke({agentDir:void 0,updater:t=>{let n=t.profiles[e.profileId],r=Wt({existing:n,refreshed:e.refreshed});return r.shouldMirror?(t.profiles[e.profileId]={...e.refreshed},U.debug(`mirrored refreshed OAuth credential to main agent store`,{profileId:e.profileId,expires:Number.isFinite(e.refreshed.expires)?new Date(e.refreshed.expires).toISOString():void 0}),!0):(r.reason===`identity-mismatch-or-regression`&&U.warn(`refused to mirror OAuth credential: identity mismatch or regression`,{profileId:e.profileId}),!1)}})}catch(t){U.debug(`mirrorRefreshedCredentialIntoMainStore failed`,{profileId:e.profileId,error:S(t)})}}async function o(t){let n=fe(t.agentDir);be(n);let r=he(t.provider,t.profileId);try{return await _e(r,Ae,async()=>_e(n,we,async()=>{let r=ve(t.agentDir),o=r.profiles[t.profileId];if(!o||o.type!==`oauth`)return null;let s=o;if(ze(o))return{apiKey:await e.buildApiKey(o.provider,o),credential:o};if(t.agentDir)try{let n=ve(void 0).profiles[t.profileId];if(n?.type===`oauth`&&n.provider===o.provider&&ze(n)&&Re(o,n))return r.profiles[t.profileId]={...n},me(r,t.agentDir),U.info(`adopted fresh OAuth credential from main store (under refresh lock)`,{profileId:t.profileId,agentDir:t.agentDir,expires:new Date(n.expires).toISOString()}),{apiKey:await e.buildApiKey(n.provider,n),credential:n};n?.type===`oauth`&&n.provider===o.provider&&ze(n)&&!Re(o,n)&&U.warn(`refused to adopt fresh main-store OAuth credential: identity mismatch`,{profileId:t.profileId,agentDir:t.agentDir})}catch(e){U.debug(`inside-lock main-store adoption failed; proceeding to refresh`,{profileId:t.profileId,error:S(e)})}let c=e.readBootstrapCredential({profileId:t.profileId,credential:o});if(c){if(c.provider!==o.provider)U.warn(`refused external oauth bootstrap credential: provider mismatch`,{profileId:t.profileId,provider:o.provider});else if(!Se(o,c))U.warn(`refused external oauth bootstrap credential: identity mismatch or missing binding`,{profileId:t.profileId,provider:o.provider});else if(ge(o,c)&&!Ee(o,c)&&(r.profiles[t.profileId]={...c},me(r,t.agentDir)),s=c,ze(c))return{apiKey:await e.buildApiKey(c.provider,c),credential:c}}let l=await i(`refreshOAuthCredential(${o.provider})`,Me,async()=>{let t=await e.refreshCredential(s);return t?{...s,...t,type:`oauth`}:null});return l?(r.profiles[t.profileId]=l,me(r,t.agentDir),t.agentDir&&fe(void 0)!==n&&await a({profileId:t.profileId,refreshed:l}),{apiKey:await e.buildApiKey(o.provider,l),credential:l}):null}))}catch(e){throw qt(e,r)?Jt({provider:t.provider,profileId:t.profileId,cause:e}):e}}async function s(e){let t=r(e.provider,e.profileId),i=n.get(t)??Promise.resolve(),a,s=new Promise(e=>{a=e});n.set(t,s);try{return await i,await o(e)}finally{a(),n.get(t)===s&&n.delete(t)}}async function c(n){let r=t({store:n.store,profileId:n.profileId,agentDir:n.agentDir,credential:n.credential})??n.credential,i=Xt({profileId:n.profileId,credential:r,readBootstrapCredential:e.readBootstrapCredential});if(ze(i))return{apiKey:await e.buildApiKey(i.provider,i),credential:i};try{return await s({profileId:n.profileId,provider:n.credential.provider,agentDir:n.agentDir})}catch(t){let r=ve(n.agentDir),i=r.profiles[n.profileId];if(i?.type===`oauth`&&ze(i))return{apiKey:await e.buildApiKey(i.provider,i),credential:i};if(e.isRefreshTokenReusedError(t)&&i?.type===`oauth`&&i.provider===n.credential.provider&&Kt(n.credential,i)){let t=await Yt({profileId:n.profileId,agentDir:n.agentDir,provider:n.credential.provider,previous:n.credential,requireChange:!0});if(t)return{apiKey:await e.buildApiKey(t.provider,t),credential:t};try{let e=await s({profileId:n.profileId,provider:n.credential.provider,agentDir:n.agentDir});if(e)return e}catch{}}if(n.agentDir)try{let t=Te(void 0).profiles[n.profileId];if(t?.type===`oauth`&&t.provider===n.credential.provider&&ze(t)&&Re(n.credential,t))return r.profiles[n.profileId]={...t},me(r,n.agentDir),U.info(`inherited fresh OAuth credentials from main agent`,{profileId:n.profileId,agentDir:n.agentDir,expires:new Date(t.expires).toISOString()}),{apiKey:await e.buildApiKey(t.provider,t),credential:t}}catch{}throw new Gt({credential:n.credential,profileId:n.profileId,refreshedStore:r,cause:t})}}function l(){n.clear()}return{resolveOAuthAccess:c,resetRefreshQueuesForTest:l}}function Qt(){if(typeof re!=`function`)return[];let e=re();return Array.isArray(e)?e.map(e=>e&&typeof e==`object`&&`id`in e&&typeof e.id==`string`?e.id:void 0).filter(e=>typeof e==`string`):[]}const $t=new Set(Qt()),en=e=>$t.has(e),tn=e=>en(e)?e:null,nn=new Set([`oauth`,`token`]),rn=(e,t)=>!e||!t?!1:e===t?!0:nn.has(e)&&nn.has(t);function an(e){let t=e.cfg?.auth?.profiles?.[e.profileId];return!(t&&t.provider!==e.provider||t&&!rn(t.mode,e.mode))}async function on(e,t){let n=await ut({provider:e,context:t});return typeof n==`string`&&n.length>0?n:t.access}function sn(e){return{apiKey:e.apiKey,provider:e.provider,email:e.email}}function cn(e){return S(e)}function ln(e){let t=a(cn(e));return t.includes(`refresh_token_reused`)||t.includes(`refresh token has already been used`)||t.includes(`already been used to generate a new access token`)}async function un(e){let t=await dt({provider:e.provider,context:e});if(t)return t;if(e.provider===`chutes`)return await _t({credential:e});let n=tn(e.provider);return!n||typeof z!=`function`?null:(await z(n,{[e.provider]:e}))?.newCredentials??null}const dn=Zt({buildApiKey:on,refreshCredential:un,readBootstrapCredential:({profileId:e,credential:t})=>Le({profileId:e,credential:t}),isRefreshTokenReusedError:ln});async function fn(e){let{cfg:t,store:n,profileId:r}=e,i=n.profiles[r];if(!i||i.type!==`oauth`||!an({cfg:t,profileId:r,provider:i.provider,mode:i.type}))return null;let a=await dn.resolveOAuthAccess({store:n,profileId:r,credential:i,agentDir:e.agentDir});return a?sn({apiKey:a.apiKey,provider:a.credential.provider,email:a.credential.email??i.email}):null}async function pn(e){let t=e.value?.trim();if(t){let n=D(t,e.refDefaults);if(n)try{t=await Be(n,{config:e.configForRefResolution,env:process.env,cache:e.cache})}catch(t){U.debug(e.inlineFailureMessage,{profileId:e.profileId,provider:e.provider,error:S(t)})}}let n=D(e.valueRef,e.refDefaults);if(!t&&n)try{t=await Be(n,{config:e.configForRefResolution,env:process.env,cache:e.cache})}catch(t){U.debug(e.refFailureMessage,{profileId:e.profileId,provider:e.provider,error:S(t)})}return t}async function mn(e){let{cfg:t,store:n,profileId:r}=e,i=n.profiles[r];if(!i||!an({cfg:t,profileId:r,provider:i.provider,mode:i.type,allowOAuthTokenCompatibility:!0}))return null;let a={},o=t??_(),s=o.secrets?.defaults;if(Ct({store:n,cfg:o,profileIds:[r],context:`auth profile ${r}`}),i.type===`api_key`){let e=await pn({profileId:r,provider:i.provider,value:i.key,valueRef:i.keyRef,refDefaults:s,configForRefResolution:o,cache:a,inlineFailureMessage:`failed to resolve inline auth profile api_key ref`,refFailureMessage:`failed to resolve auth profile api_key ref`});return e?sn({apiKey:e,provider:i.provider,email:i.email}):null}if(i.type===`token`){let e=ye(i.expires);if(e===`expired`||e===`invalid_expires`)return null;let t=await pn({profileId:r,provider:i.provider,value:i.token,valueRef:i.tokenRef,refDefaults:s,configForRefResolution:o,cache:a,inlineFailureMessage:`failed to resolve inline auth profile token ref`,refFailureMessage:`failed to resolve auth profile token ref`});return t?sn({apiKey:t,provider:i.provider,email:i.email}):null}try{let t=await dn.resolveOAuthAccess({store:n,agentDir:e.agentDir,profileId:r,credential:i});return t?sn({apiKey:t.apiKey,provider:t.credential.provider,email:t.credential.email??i.email}):null}catch(n){let a=n instanceof Gt?n.getRefreshedStore():ve(e.agentDir),o=n instanceof Gt&&n.cause?n.cause:n,s=n instanceof Gt&&n.code===`refresh_contention`?n:o,c=Ot({cfg:t,store:a,provider:i.provider,legacyProfileId:r});if(c&&c!==r)try{let n=await fn({cfg:t,store:a,profileId:c,agentDir:e.agentDir});if(n)return n}catch{}let l=cn(s),u=await Bt({cfg:t,store:a,provider:i.provider,profileId:r});throw Error(`OAuth token refresh failed for ${i.provider}: ${l}. Please try again or re-authenticate.`+(u?`\n\n${u}`:``),{cause:n})}}const hn={version:1,fallback:{emoji:`🧩`,detailKeys:[`command`,`path`,`url`,`targetUrl`,`targetId`,`ref`,`element`,`node`,`nodeId`,`id`,`requestId`,`to`,`channelId`,`guildId`,`userId`,`name`,`query`,`pattern`,`messageId`]},tools:{bash:{emoji:`🛠️`,title:`Bash`,detailKeys:[`command`]},process:{emoji:`🧰`,title:`Process`,detailKeys:[`sessionId`]},read:{emoji:`📖`,title:`Read`,detailKeys:[`path`]},write:{emoji:`✍️`,title:`Write`,detailKeys:[`path`]},edit:{emoji:`📝`,title:`Edit`,detailKeys:[`path`]},attach:{emoji:`📎`,title:`Attach`,detailKeys:[`path`,`url`,`fileName`]},browser:{emoji:`🌐`,title:`Browser`,actions:{status:{label:`status`},start:{label:`start`},stop:{label:`stop`},tabs:{label:`tabs`},open:{label:`open`,detailKeys:[`targetUrl`]},focus:{label:`focus`,detailKeys:[`targetId`]},close:{label:`close`,detailKeys:[`targetId`]},snapshot:{label:`snapshot`,detailKeys:[`targetUrl`,`targetId`,`ref`,`element`,`format`]},screenshot:{label:`screenshot`,detailKeys:[`targetUrl`,`targetId`,`ref`,`element`]},navigate:{label:`navigate`,detailKeys:[`targetUrl`,`targetId`]},console:{label:`console`,detailKeys:[`level`,`targetId`]},pdf:{label:`pdf`,detailKeys:[`targetId`]},upload:{label:`upload`,detailKeys:[`paths`,`ref`,`inputRef`,`element`,`targetId`]},dialog:{label:`dialog`,detailKeys:[`accept`,`promptText`,`targetId`]},act:{label:`act`,detailKeys:[`request.kind`,`request.ref`,`request.selector`,`request.text`,`request.value`]}}},canvas:{emoji:`🖼️`,title:`Canvas`,actions:{present:{label:`present`,detailKeys:[`target`,`node`,`nodeId`]},hide:{label:`hide`,detailKeys:[`node`,`nodeId`]},navigate:{label:`navigate`,detailKeys:[`url`,`node`,`nodeId`]},eval:{label:`eval`,detailKeys:[`javaScript`,`node`,`nodeId`]},snapshot:{label:`snapshot`,detailKeys:[`format`,`node`,`nodeId`]},a2ui_push:{label:`A2UI push`,detailKeys:[`jsonlPath`,`node`,`nodeId`]},a2ui_reset:{label:`A2UI reset`,detailKeys:[`node`,`nodeId`]}}},nodes:{emoji:`📱`,title:`Nodes`,actions:{status:{label:`status`},describe:{label:`describe`,detailKeys:[`node`,`nodeId`]},pending:{label:`pending`},approve:{label:`approve`,detailKeys:[`requestId`]},reject:{label:`reject`,detailKeys:[`requestId`]},notify:{label:`notify`,detailKeys:[`node`,`nodeId`,`title`,`body`]},camera_snap:{label:`camera snap`,detailKeys:[`node`,`nodeId`,`facing`,`deviceId`]},camera_list:{label:`camera list`,detailKeys:[`node`,`nodeId`]},camera_clip:{label:`camera clip`,detailKeys:[`node`,`nodeId`,`facing`,`duration`,`durationMs`]},screen_record:{label:`screen record`,detailKeys:[`node`,`nodeId`,`duration`,`durationMs`,`fps`,`screenIndex`]}}},cron:{emoji:`⏰`,title:`Cron`,actions:{status:{label:`status`},list:{label:`list`},add:{label:`add`,detailKeys:[`job.name`,`job.id`,`job.schedule`,`job.cron`]},update:{label:`update`,detailKeys:[`id`]},remove:{label:`remove`,detailKeys:[`id`]},run:{label:`run`,detailKeys:[`id`]},runs:{label:`runs`,detailKeys:[`id`]},wake:{label:`wake`,detailKeys:[`text`,`mode`]}}},update_plan:{emoji:`🗺️`,title:`Update Plan`,detailKeys:[`explanation`,`plan.0.step`]},gateway:{emoji:`🔌`,title:`Gateway`,actions:{restart:{label:`restart`,detailKeys:[`reason`,`delayMs`]}}},exec:{emoji:`🛠️`,title:`Exec`,detailKeys:[`command`]},tool_call:{emoji:`🧰`,title:`Tool Call`,detailKeys:[]},tool_call_update:{emoji:`🧰`,title:`Tool Call`,detailKeys:[]},session_status:{emoji:`📊`,title:`Session Status`,detailKeys:[`sessionKey`,`model`]},sessions_list:{emoji:`🗂️`,title:`Sessions`,detailKeys:[`kinds`,`label`,`agentId`,`search`,`limit`,`activeMinutes`,`includeDerivedTitles`,`includeLastMessage`,`messageLimit`]},sessions_send:{emoji:`📨`,title:`Session Send`,detailKeys:[`label`,`sessionKey`,`agentId`,`timeoutSeconds`]},sessions_history:{emoji:`🧾`,title:`Session History`,detailKeys:[`sessionKey`,`limit`,`includeTools`]},sessions_spawn:{emoji:`🧑🔧`,title:`Sub-agent`,detailKeys:[`label`,`task`,`agentId`,`model`,`thinking`,`runTimeoutSeconds`,`cleanup`]},subagents:{emoji:`🤖`,title:`Subagents`,actions:{list:{label:`list`,detailKeys:[`recentMinutes`]},kill:{label:`kill`,detailKeys:[`target`]},steer:{label:`steer`,detailKeys:[`target`]}}},agents_list:{emoji:`🧭`,title:`Agents`,detailKeys:[]},memory_search:{emoji:`🧠`,title:`Memory Search`,detailKeys:[`query`]},memory_get:{emoji:`📓`,title:`Memory Get`,detailKeys:[`path`,`from`,`lines`]},web_search:{emoji:`🔎`,title:`Web Search`,detailKeys:[`query`,`count`]},web_fetch:{emoji:`📄`,title:`Web Fetch`,detailKeys:[`url`,`extractMode`,`maxChars`]},code_execution:{emoji:`🧮`,title:`Code Execution`,detailKeys:[`task`]},message:{emoji:`✉️`,title:`Message`,actions:{send:{label:`send`,detailKeys:[`provider`,`to`,`media`,`replyTo`,`threadId`]},poll:{label:`poll`,detailKeys:[`provider`,`to`,`pollQuestion`]},react:{label:`react`,detailKeys:[`provider`,`to`,`messageId`,`emoji`,`remove`]},reactions:{label:`reactions`,detailKeys:[`provider`,`to`,`messageId`,`limit`]},read:{label:`read`,detailKeys:[`provider`,`to`,`limit`]},edit:{label:`edit`,detailKeys:[`provider`,`to`,`messageId`]},delete:{label:`delete`,detailKeys:[`provider`,`to`,`messageId`]},pin:{label:`pin`,detailKeys:[`provider`,`to`,`messageId`]},unpin:{label:`unpin`,detailKeys:[`provider`,`to`,`messageId`]},"list-pins":{label:`list pins`,detailKeys:[`provider`,`to`]},permissions:{label:`permissions`,detailKeys:[`provider`,`channelId`,`to`]},"thread-create":{label:`thread create`,detailKeys:[`provider`,`channelId`,`threadName`]},"thread-list":{label:`thread list`,detailKeys:[`provider`,`guildId`,`channelId`]},"thread-reply":{label:`thread reply`,detailKeys:[`provider`,`channelId`,`messageId`]},search:{label:`search`,detailKeys:[`provider`,`guildId`,`query`]},sticker:{label:`sticker`,detailKeys:[`provider`,`to`,`stickerId`]},"member-info":{label:`member`,detailKeys:[`provider`,`guildId`,`userId`]},"role-info":{label:`roles`,detailKeys:[`provider`,`guildId`]},"emoji-list":{label:`emoji list`,detailKeys:[`provider`,`guildId`]},"emoji-upload":{label:`emoji upload`,detailKeys:[`provider`,`guildId`,`emojiName`]},"sticker-upload":{label:`sticker upload`,detailKeys:[`provider`,`guildId`,`stickerName`]},"role-add":{label:`role add`,detailKeys:[`provider`,`guildId`,`userId`,`roleId`]},"role-remove":{label:`role remove`,detailKeys:[`provider`,`guildId`,`userId`,`roleId`]},"channel-info":{label:`channel`,detailKeys:[`provider`,`channelId`]},"channel-list":{label:`channels`,detailKeys:[`provider`,`guildId`]},"voice-status":{label:`voice`,detailKeys:[`provider`,`guildId`,`userId`]},"event-list":{label:`events`,detailKeys:[`provider`,`guildId`]},"event-create":{label:`event create`,detailKeys:[`provider`,`guildId`,`eventName`]},timeout:{label:`timeout`,detailKeys:[`provider`,`guildId`,`userId`]},kick:{label:`kick`,detailKeys:[`provider`,`guildId`,`userId`]},ban:{label:`ban`,detailKeys:[`provider`,`guildId`,`userId`]}}},apply_patch:{emoji:`🩹`,title:`Apply Patch`,detailKeys:[]},image:{emoji:`🖼️`,title:`Image`,detailKeys:[`path`,`paths`,`url`,`urls`,`prompt`,`model`]},image_generate:{emoji:`🎨`,title:`Image Generation`,actions:{generate:{label:`generate`,detailKeys:[`prompt`,`model`,`count`,`resolution`,`aspectRatio`]},list:{label:`list`,detailKeys:[`provider`,`model`]}}},music_generate:{emoji:`🎵`,title:`Music Generation`,actions:{generate:{label:`generate`,detailKeys:[`prompt`,`model`,`durationSeconds`,`format`,`instrumental`]},list:{label:`list`,detailKeys:[`provider`,`model`]}}},video_generate:{emoji:`🎬`,title:`Video Generation`,actions:{generate:{label:`generate`,detailKeys:[`prompt`,`model`,`durationSeconds`,`resolution`,`aspectRatio`,`audio`,`watermark`]},list:{label:`list`,detailKeys:[`provider`,`model`]}}},pdf:{emoji:`📑`,title:`PDF`,detailKeys:[`path`,`paths`,`url`,`urls`,`prompt`,`pageRange`,`model`]},sessions_yield:{emoji:`⏸️`,title:`Yield`,detailKeys:[`message`]},tts:{emoji:`🔊`,title:`TTS`,detailKeys:[`text`,`channel`]}}};hn.fallback,hn.tools;const gn=C(`model-auth`);function _n(e,t){let n=e?.models?.providers??{},r=n[t];if(r)return r;let i=E(t);return i===t?Object.entries(n).find(([e])=>E(e)===i)?.[1]:n[i]??Object.entries(n).find(([e])=>E(e)===i)?.[1]}function vn(e,t){let n=_n(e,t),r=Fe(n?.apiKey);if(r)return r;let i=D(n?.apiKey);if(i)return i.source===`env`?i.id.trim()||`secretref-managed`:Ne}function yn(e){let t=e.cfg?.secrets?.providers?.[e.provider];if(!t)return e.provider===T(e.cfg??{},`env`);if(t.source!==`env`)return!1;let n=t.allowlist;return!n||n.includes(e.id)}function bn(e){let t=D(_n(e.cfg,e.provider)?.apiKey);if(t){if(t.source!==`env`)return null;let n=t.id.trim();if(!n||!yn({cfg:e.cfg,provider:t.provider,id:n}))return null;let r=Fe((e.env??process.env)[n]);return r?{apiKey:r,source:kn({applied:new Set(y()),envVars:[n],label:`${n} (models.json secretref)`})}:null}let n=vn(e.cfg,e.provider);if(!n)return null;if(!xe(n))return{apiKey:n,source:`models.json`};if(!De(n))return null;let r=Fe((e.env??process.env)[n]);return r?{apiKey:r,source:kn({applied:new Set(y()),envVars:[n],label:`${n} (models.json marker)`})}:null}function xn(e,t){let n=_n(e,t);return Sn(e,t)===`api-key`&&n!==void 0&&wn(n)}function Sn(e,t){let n=_n(e,t)?.auth;if(n===`api-key`||n===`aws-sdk`||n===`oauth`||n===`token`)return n}function Cn(e){try{let t=a(new URL(e).hostname);return t===`localhost`||t===`127.0.0.1`||t===`0.0.0.0`||t===`[::1]`||t===`[::ffff:7f00:1]`||t===`[::ffff:127.0.0.1]`}catch{return!1}}function wn(e){return Fe(e.apiKey)!==void 0||D(e.apiKey)!==null}function Tn(e){return typeof e.baseUrl==`string`&&e.baseUrl.trim().length>0&&typeof e.api==`string`&&e.api.trim().length>0&&Array.isArray(e.models)&&e.models.length>0}function En(e){return e?.trim()===Ne}function Dn(e){let t=t=>{let n=_n(t,e.provider);return L({provider:e.provider,config:t,context:{config:t,provider:e.provider,providerConfig:n}})},n=t(e.cfg);if(!n)return{};if(!En(n.apiKey))return{auth:n};let r=A();if(!r||r===e.cfg)return{blockedOnManagedSecretRef:!0};let i=t(r),a=i?.apiKey;return!i||!a||xe(a)?{blockedOnManagedSecretRef:!0}:{auth:i}}function On(e){let t=Dn(e);if(t.auth)return t.auth;if(t.blockedOnManagedSecretRef)return null;let n=_n(e.cfg,e.provider);if(!n||!(n.api?.trim()||n.baseUrl?.trim()||Array.isArray(n.models)&&n.models.length>0))return null;let r=Sn(e.cfg,e.provider);return r&&r!==`api-key`||!Tn(n)||wn(n)?null:n.baseUrl&&Cn(n.baseUrl)?{apiKey:je,source:`models.providers.${e.provider} (synthetic local key)`,mode:`api-key`}:null}function kn(e){return`${e.envVars.some(t=>e.applied.has(t))?`shell env: `:`env: `}${e.label}`}function An(){let e=new Set(y());return process.env.AWS_BEARER_TOKEN_BEDROCK?.trim()?{mode:`aws-sdk`,source:kn({applied:e,envVars:[`AWS_BEARER_TOKEN_BEDROCK`],label:`AWS_BEARER_TOKEN_BEDROCK`})}:process.env.AWS_ACCESS_KEY_ID?.trim()&&process.env.AWS_SECRET_ACCESS_KEY?.trim()?{mode:`aws-sdk`,source:kn({applied:e,envVars:[`AWS_ACCESS_KEY_ID`,`AWS_SECRET_ACCESS_KEY`],label:`AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY`})}:process.env.AWS_PROFILE?.trim()?{mode:`aws-sdk`,source:kn({applied:e,envVars:[`AWS_PROFILE`],label:`AWS_PROFILE`})}:{mode:`aws-sdk`,source:`aws-sdk default chain`}}function jn(e){let t=_n(e.cfg,e.provider);return te({provider:e.provider,config:e.cfg,context:{config:e.cfg,provider:e.provider,providerConfig:t,resolvedApiKey:e.resolvedApiKey}})===!0}async function Mn(e){let{provider:t,cfg:n,profileId:r,preferredProfile:i}=e;if(r){let i=e.store??Te(e.agentDir),a=await mn({cfg:n,store:i,profileId:r,agentDir:e.agentDir});if(!a)throw Error(`No credentials found for profile "${r}".`);let o=i.profiles[r]?.type,s={apiKey:a.apiKey,profileId:r,source:`profile:${r}`,mode:o===`oauth`?`oauth`:o===`token`?`token`:`api-key`};return!e.lockedProfile&&jn({cfg:n,provider:t,resolvedApiKey:a.apiKey})?Mn({...e,profileId:void 0,lockedProfile:!0}).catch(()=>s):s}let a=Sn(n,t);if(a===`aws-sdk`)return An();if(xn(n,t)){let e=bn({cfg:n,provider:t});if(e)return{apiKey:e.apiKey,source:e.source,mode:`api-key`}}let o=E(t);if(a===void 0&&o===`amazon-bedrock`)return An();if(e.credentialPrecedence===`env-first`){let e=Pe(t);if(e){let t=e.source.includes(`OAUTH_TOKEN`)?`oauth`:`api-key`;return{apiKey:e.apiKey,source:e.source,mode:t}}}let s=_n(n,t),c=e.store??Te(e.agentDir),l=Lt({cfg:n,store:c,provider:t,preferredProfile:i}),u=null;for(let r of l)try{let i=await mn({cfg:n,store:c,profileId:r,agentDir:e.agentDir});if(i){let e=c.profiles[r]?.type,a=e===`oauth`?`oauth`:e===`token`?`token`:`api-key`,o={apiKey:i.apiKey,profileId:r,source:`profile:${r}`,mode:a};if(jn({cfg:n,provider:t,resolvedApiKey:i.apiKey})){u??=o;continue}return o}}catch(e){gn.debug?.(`auth profile "${r}" failed for provider "${t}": ${String(e)}`)}let d=Pe(t);if(d){let e=d.source.includes(`OAUTH_TOKEN`)?`oauth`:`api-key`;return{apiKey:d.apiKey,source:d.source,mode:e}}let f=bn({cfg:n,provider:t});if(f)return{apiKey:f.apiKey,source:f.source,mode:`api-key`};if(u)return u;let p=On({cfg:n,provider:t});if(p)return p;if((Array.isArray(s?.models)&&s.models.length>0?void 0:F({provider:t,config:n}))?.length){let r=R({provider:t,config:n,context:{config:n,agentDir:e.agentDir,env:process.env,provider:t,listProfileIds:e=>Tt(c,e)}});if(r)throw Error(r)}let m=Oe(e.agentDir),h=Ke.dirname(m);throw Error([`No API key found for provider "${t}".`,`Auth store: ${m} (agentDir: ${h}).`,`Configure auth for this agent (${P(`openclaw agents add <id>`)}) or copy auth-profiles.json from the main agentDir.`].join(` `))}async function Nn(e){return Mn({provider:e.model.provider,cfg:e.cfg,profileId:e.profileId,preferredProfile:e.preferredProfile,store:e.store,agentDir:e.agentDir,lockedProfile:e.lockedProfile,credentialPrecedence:e.credentialPrecedence})}var Pn=e(se(),1);function Fn(e){let t=a(e).replace(/\.$/,``);return t.startsWith(`[`)&&t.endsWith(`]`)?t.slice(1,-1):t}var In=class extends Error{constructor(e){super(e),this.name=`SsrFBlockedError`}};const Ln=new Set([`localhost`,`localhost.localdomain`,`metadata.google.internal`]);function Rn(e){return!e||e.length===0?new Set:new Set(e.map(e=>Fn(e)).filter(Boolean))}function zn(e){return!e||e.length===0?[]:Array.from(new Set(e.map(e=>Fn(e)).filter(e=>e!==`*`&&e!==`*.`&&e.length>0)))}function Bn(e){return e?.dangerouslyAllowPrivateNetwork===!0||e?.allowPrivateNetwork===!0}function Vn(e,t){return Bn(t)||Rn(t?.allowedHostnames).has(e)}function Hn(e){return{allowRfc2544BenchmarkRange:e?.allowRfc2544BenchmarkRange===!0}}function Un(e,t){if(t.startsWith(`*.`)){let n=t.slice(2);return!n||e===n?!1:e.endsWith(`.${n}`)}return e===t}function Wn(e,t){return t.length===0?!0:t.some(t=>Un(e,t))}function Gn(e){let t=e.split(`.`);return t.length===0||t.length>4?!1:t.some(e=>e.length===0)?!0:t.every(e=>/^[0-9]+$/.test(e)||/^0x/i.test(e))}function Kn(e,t){let n=Fn(e);if(!n)return!1;let r=Hn(t),i=l(n);if(i){if(u(i))return g(i,r);if(h(i))return!0;let e=v(i);return e?g(e,r):!1}return!!(n.includes(`:`)&&!c(n)||!m(n)&&x(n)||Gn(n))}function qn(e){return Ln.has(e)?!0:e.endsWith(`.localhost`)||e.endsWith(`.local`)||e.endsWith(`.internal`)}function Jn(e,t){let n=Fn(e);return n?qn(n)||Kn(n,t):!1}function Yn(e,t){if(Jn(e,t))throw new In(`Blocked hostname or private/internal/special-use IP address`)}function Xn(e,t){let n=Fn(e);if(!n)throw Error(`Invalid hostname`);let r=zn(t?.hostnameAllowlist),i=Vn(n,t);if(!Wn(n,r))throw new In(`Blocked hostname (not in allowlist): ${e}`);return i||Yn(n,t),{normalized:n,skipPrivateNetworkChecks:i}}function Zn(e,t){for(let n of e)if(Jn(n.address,t))throw new In(`Blocked: resolves to private/internal/special-use IP address`)}function Qn(e){return Array.isArray(e)?e:[e]}function $n(e){let t=Fn(e.hostname);if(e.addresses.length===0)throw Error(`Pinned lookup requires at least one address for ${e.hostname}`);let n=e.fallback??$e,r=n,i=n,a=e.addresses.map(e=>({address:e,family:e.includes(`:`)?6:4})),o=0;return((e,n,s)=>{let c=typeof n==`function`?n:s;if(!c)return;let l=Fn(e);if(!l||l!==t)return typeof n==`function`||n===void 0?r(e,c):i(e,n,c);let u=typeof n==`object`&&n?n:{},d=typeof n==`number`?n:typeof u.family==`number`?u.family:0,f=d===4||d===6?a.filter(e=>e.family===d):a,p=f.length>0?f:a;if(u.all){c(null,p);return}let m=p[o%p.length];o+=1,c(null,m.address,m.family)})}function er(e){let t=new Set,n=[],r=[];for(let i of e)if(!t.has(i.address)){if(t.add(i.address),i.family===4){n.push(i.address);continue}r.push(i.address)}return[...n,...r]}async function tr(e,t={}){let{normalized:n,skipPrivateNetworkChecks:r}=Xn(e,t.policy),i=Qn(await(t.lookupFn??et)(n,{all:!0}));if(i.length===0)throw Error(`Unable to resolve hostname: ${e}`);r||Zn(i,t.policy);let a=er(i);if(a.length===0)throw Error(`Unable to resolve hostname: ${e}`);return{hostname:n,addresses:a,lookup:$n({hostname:n,addresses:a})}}function nr(e,t){return Xn(e,t).normalized}function rr(e,t){return t?{...t,lookup:e}:{lookup:e}}function ir(e,t,n){if(!t)return e.lookup;let r=Fn(t.hostname);if(!r||r!==e.hostname)throw Error(`Pinned dispatcher override hostname mismatch: expected ${e.hostname}, got ${t.hostname}`);let i=t.addresses.map(e=>({address:e,family:e.includes(`:`)?6:4}));return Vn(e.hostname,n)||Zn(i,n),$n({hostname:e.hostname,addresses:[...t.addresses],fallback:e.lookup})}function ar(e,t,n){let r=ir(e,t?.pinnedHostname,n);if(!t||t.mode===`direct`)return ce({connect:rr(r,t?.connect)});if(t.mode===`env-proxy`)return H({connect:rr(r,t.connect),...t.proxyTls?{proxyTls:{...t.proxyTls}}:{}});let i=t.proxyUrl.trim(),a=rr(r,t.proxyTls);return le(a?{uri:i,requestTls:a}:{uri:i})}async function or(e){if(!e)return;let t=e;try{if(typeof t.close==`function`){await t.close();return}typeof t.destroy==`function`&&t.destroy()}catch{}}function sr(e){return de(e)}function cr(e,t){return N(t,{errorContext:e.stopReason===`error`})}function lr(e){return cr(e,M(e.content,{sanitizeText:e=>sr(e),joinWith:`
|
|
3
|
+
`,normalizeText:e=>e.trim()})??``)}const ur=Symbol.for(`openclaw.warning-filter`);function dr(e){return!!(e.code===`DEP0040`&&e.message?.includes(`punycode`)||e.code===`DEP0060`&&e.message?.includes(`util._extend`)||e.name===`ExperimentalWarning`&&e.message?.includes(`SQLite is an experimental feature`))}function fr(e){let t=e[0],n=e[1],r=e[2],i,a,o;if(t instanceof Error?(i=t.name,o=t.message,a=t.code):typeof t==`string`&&(o=t),n&&typeof n==`object`&&!Array.isArray(n)){let e=n;typeof e.type==`string`&&(i=e.type),typeof e.code==`string`&&(a=e.code)}else typeof n==`string`&&(i=n),typeof r==`string`&&(a=r);return{name:i,code:a,message:o}}function pr(){let e=j(ur,()=>({installed:!1}));if(e.installed)return;let t=process.emitWarning.bind(process),n=((...e)=>{if(!dr(fr(e))){if(e[0]instanceof Error&&e[1]&&typeof e[1]==`object`&&!Array.isArray(e[1])){let t=e[0],n=Object.assign(Error(t.message),{name:t.name,code:t.code});process.emit(`warning`,n);return}Reflect.apply(t,process,e)}});process.emitWarning=n,e.installed=!0}const mr=We(import.meta.url);function hr(){pr();try{return mr(`node:sqlite`)}catch(e){let t=S(e);throw Error(`SQLite support is unavailable in this Node runtime (missing node:sqlite). ${t}`,{cause:e})}}const gr=Symbol(`AgentBaseInternalState`);var _r=class extends rt.Agent{constructor(e){super(e),this[gr]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint==`boolean`)return e.secureEndpoint;if(typeof e.protocol==`string`)return e.protocol===`https:`}let{stack:t}=Error();return typeof t==`string`?t.split(`
|
|
4
|
+
`).some(e=>e.indexOf(`(https.js:`)!==-1||e.indexOf(`node:https:`)!==-1):!1}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let t=new tt.Socket({writable:!1});return this.sockets[e].push(t),this.totalSocketCount++,t}decrementSockets(e,t){if(!this.sockets[e]||t===null)return;let n=this.sockets[e],r=n.indexOf(t);r!==-1&&(n.splice(r,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?it.prototype.getName.call(this,e):super.getName(e)}createSocket(e,t,n){let r={...t,secureEndpoint:this.isSecureEndpoint(t)},i=this.getName(r),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,r)).then(o=>{if(this.decrementSockets(i,a),typeof o.addRequest==`function`)try{return o.addRequest(e,r)}catch(e){return n(e)}this[gr].currentSocket=o,super.createSocket(e,t,n)},e=>{this.decrementSockets(i,a),n(e)})}createConnection(){let e=this[gr].currentSocket;if(this[gr].currentSocket=void 0,!e)throw Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[gr].defaultPort??(this.protocol===`https:`?443:80)}set defaultPort(e){this[gr]&&(this[gr].defaultPort=e)}get protocol(){return this[gr].protocol??(this.isSecureEndpoint()?`https:`:`http:`)}set protocol(e){this[gr]&&(this[gr].protocol=e)}};const vr=(0,Pn.default)(`https-proxy-agent:parse-proxy-response`);function yr(e){return new Promise((t,n)=>{let r=0,i=[];function a(){let t=e.read();t?l(t):e.once(`readable`,a)}function o(){e.removeListener(`end`,s),e.removeListener(`error`,c),e.removeListener(`readable`,a)}function s(){o(),vr(`onend`),n(Error(`Proxy connection ended before receiving CONNECT response`))}function c(e){o(),vr(`onerror %o`,e),n(e)}function l(s){i.push(s),r+=s.length;let c=Buffer.concat(i,r),l=c.indexOf(`\r
|
|
5
|
+
\r
|
|
6
|
+
`);if(l===-1){vr(`have not received end of HTTP headers yet...`),a();return}let u=c.slice(0,l).toString(`ascii`).split(`\r
|
|
7
|
+
`),d=u.shift();if(!d)return e.destroy(),n(Error(`No header received from proxy CONNECT response`));let f=d.split(` `),p=+f[1],m=f.slice(2).join(` `),h={};for(let t of u){if(!t)continue;let r=t.indexOf(`:`);if(r===-1)return e.destroy(),n(Error(`Invalid header from proxy CONNECT response: "${t}"`));let i=t.slice(0,r).toLowerCase(),a=t.slice(r+1).trimStart(),o=h[i];typeof o==`string`?h[i]=[o,a]:Array.isArray(o)?o.push(a):h[i]=a}vr(`got proxy server response: %o %o`,d,h),o(),t({connect:{statusCode:p,statusText:m,headers:h},buffered:c})}e.on(`error`,c),e.on(`end`,s),a()})}const br=(0,Pn.default)(`https-proxy-agent`),xr=e=>e.servername===void 0&&e.host&&!tt.isIP(e.host)?{...e,servername:e.host}:e;var Sr=class extends _r{constructor(e,t){super(t),this.options={path:void 0},this.proxy=typeof e==`string`?new Ze(e):e,this.proxyHeaders=t?.headers??{},br(`Creating new HttpsProxyAgent instance: %o`,this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,``),r=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol===`https:`?443:80;this.connectOpts={ALPNProtocols:[`http/1.1`],...t?wr(t,`headers`):null,host:n,port:r}}async connect(e,t){let{proxy:n}=this;if(!t.host)throw TypeError(`No "host" provided`);let r;n.protocol===`https:`?(br("Creating `tls.Socket`: %o",this.connectOpts),r=nt.connect(xr(this.connectOpts))):(br("Creating `net.Socket`: %o",this.connectOpts),r=tt.connect(this.connectOpts));let i=typeof this.proxyHeaders==`function`?this.proxyHeaders():{...this.proxyHeaders},a=tt.isIPv6(t.host)?`[${t.host}]`:t.host,o=`CONNECT ${a}:${t.port} HTTP/1.1\r\n`;if(n.username||n.password){let e=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i[`Proxy-Authorization`]=`Basic ${Buffer.from(e).toString(`base64`)}`}i.Host=`${a}:${t.port}`,i[`Proxy-Connection`]||=this.keepAlive?`Keep-Alive`:`close`;for(let e of Object.keys(i))o+=`${e}: ${i[e]}\r\n`;let s=yr(r);r.write(`${o}\r\n`);let{connect:c,buffered:l}=await s;if(e.emit(`proxyConnect`,c),this.emit(`proxyConnect`,c,e),c.statusCode===200)return e.once(`socket`,Cr),t.secureEndpoint?(br(`Upgrading socket connection to TLS`),nt.connect({...wr(xr(t),`host`,`path`,`port`),socket:r})):r;r.destroy();let u=new tt.Socket({writable:!1});return u.readable=!0,e.once(`socket`,e=>{br(`Replaying proxy buffer for failed request`),Qe(e.listenerCount(`data`)>0),e.push(l),e.push(null)}),u}};Sr.protocols=[`http`,`https`];function Cr(e){e.resume()}function wr(e,...t){let n={},r;for(r in e)t.includes(r)||(n[r]=e[r]);return n}function Tr(e=process.env){return Ke.join(o(e),`debug-proxy`)}function Er(e=process.env){return Ke.join(Tr(e),`capture.sqlite`)}function Dr(e=process.env){return Ke.join(Tr(e),`blobs`)}function Or(e=process.env){return Ke.join(Tr(e),`certs`)}let kr;function Ar(e){return e===`1`||e===`true`||e===`yes`||e===`on`}function jr(e=Xe.env){let t=Ar(e.OPENCLAW_DEBUG_PROXY_ENABLED),n=(e.OPENCLAW_DEBUG_PROXY_SESSION_ID?.trim()||void 0)??(kr??=Ye());return{enabled:t,required:Ar(e.OPENCLAW_DEBUG_PROXY_REQUIRE),proxyUrl:e.OPENCLAW_DEBUG_PROXY_URL?.trim()||void 0,dbPath:e.OPENCLAW_DEBUG_PROXY_DB_PATH?.trim()||Er(e),blobDir:e.OPENCLAW_DEBUG_PROXY_BLOB_DIR?.trim()||Dr(e),certDir:e.OPENCLAW_DEBUG_PROXY_CERT_DIR?.trim()||Or(e),sessionId:n,sourceProcess:`openclaw`}}function Mr(e){Ge.mkdirSync(e,{recursive:!0})}function Nr(e){Mr(e.blobDir);let t=Je(`sha256`).update(e.data).digest(`hex`),n=t.slice(0,24),r=Ke.join(e.blobDir,`${n}.bin.gz`);return Ge.existsSync(r)||Ge.writeFileSync(r,ot(e.data)),{blobId:n,path:r,encoding:`gzip`,sizeBytes:e.data.byteLength,sha256:t,...e.contentType?{contentType:e.contentType}:{}}}function Pr(e){return at(Ge.readFileSync(e)).toString(`utf8`)}function Fr(e){Ge.mkdirSync(Ke.dirname(e),{recursive:!0})}function Ir(e){Fr(e);let{DatabaseSync:t}=hr(),n=new t(e);return n.exec(`PRAGMA journal_mode = WAL`),n.exec(`PRAGMA busy_timeout = 5000`),n.exec(`
|
|
8
|
+
CREATE TABLE IF NOT EXISTS capture_sessions (
|
|
9
|
+
id TEXT PRIMARY KEY,
|
|
10
|
+
started_at INTEGER NOT NULL,
|
|
11
|
+
ended_at INTEGER,
|
|
12
|
+
mode TEXT NOT NULL,
|
|
13
|
+
source_scope TEXT NOT NULL,
|
|
14
|
+
source_process TEXT NOT NULL,
|
|
15
|
+
proxy_url TEXT,
|
|
16
|
+
db_path TEXT NOT NULL,
|
|
17
|
+
blob_dir TEXT NOT NULL
|
|
18
|
+
);
|
|
19
|
+
CREATE TABLE IF NOT EXISTS capture_events (
|
|
20
|
+
id INTEGER PRIMARY KEY,
|
|
21
|
+
session_id TEXT NOT NULL,
|
|
22
|
+
ts INTEGER NOT NULL,
|
|
23
|
+
source_scope TEXT NOT NULL,
|
|
24
|
+
source_process TEXT NOT NULL,
|
|
25
|
+
protocol TEXT NOT NULL,
|
|
26
|
+
direction TEXT NOT NULL,
|
|
27
|
+
kind TEXT NOT NULL,
|
|
28
|
+
flow_id TEXT NOT NULL,
|
|
29
|
+
method TEXT,
|
|
30
|
+
host TEXT,
|
|
31
|
+
path TEXT,
|
|
32
|
+
status INTEGER,
|
|
33
|
+
close_code INTEGER,
|
|
34
|
+
content_type TEXT,
|
|
35
|
+
headers_json TEXT,
|
|
36
|
+
data_text TEXT,
|
|
37
|
+
data_blob_id TEXT,
|
|
38
|
+
data_sha256 TEXT,
|
|
39
|
+
error_text TEXT,
|
|
40
|
+
meta_json TEXT
|
|
41
|
+
);
|
|
42
|
+
CREATE INDEX IF NOT EXISTS capture_events_session_ts_idx ON capture_events(session_id, ts);
|
|
43
|
+
CREATE INDEX IF NOT EXISTS capture_events_flow_idx ON capture_events(flow_id, ts);
|
|
44
|
+
`),n}function Lr(e){return e==null?null:JSON.stringify(e)}function Rr(e){if(typeof e!=`string`||e.trim().length===0)return null;try{let t=JSON.parse(e);return t&&typeof t==`object`?t:null}catch{return null}}function zr(e){return typeof e==`string`&&e.trim().length>0?e.trim():null}function Br(e){return[...e.entries()].map(([e,t])=>({value:e,count:t})).toSorted((e,t)=>t.count-e.count||e.value.localeCompare(t.value))}var Vr=class{constructor(e,t){this.dbPath=e,this.blobDir=t,this.db=Ir(e)}close(){this.db.close()}upsertSession(e){this.db.prepare(`INSERT INTO capture_sessions (
|
|
45
|
+
id, started_at, ended_at, mode, source_scope, source_process, proxy_url, db_path, blob_dir
|
|
46
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
47
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
48
|
+
ended_at=excluded.ended_at,
|
|
49
|
+
proxy_url=excluded.proxy_url,
|
|
50
|
+
source_process=excluded.source_process`).run(e.id,e.startedAt,e.endedAt??null,e.mode,e.sourceScope,e.sourceProcess,e.proxyUrl??null,e.dbPath,e.blobDir)}endSession(e,t=Date.now()){this.db.prepare(`UPDATE capture_sessions SET ended_at = ? WHERE id = ?`).run(t,e)}persistPayload(e,t){return Nr({blobDir:this.blobDir,data:e,contentType:t})}recordEvent(e){this.db.prepare(`INSERT INTO capture_events (
|
|
51
|
+
session_id, ts, source_scope, source_process, protocol, direction, kind, flow_id,
|
|
52
|
+
method, host, path, status, close_code, content_type, headers_json,
|
|
53
|
+
data_text, data_blob_id, data_sha256, error_text, meta_json
|
|
54
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(e.sessionId,e.ts,e.sourceScope,e.sourceProcess,e.protocol,e.direction,e.kind,e.flowId,e.method??null,e.host??null,e.path??null,e.status??null,e.closeCode??null,e.contentType??null,e.headersJson??null,e.dataText??null,e.dataBlobId??null,e.dataSha256??null,e.errorText??null,e.metaJson??null)}listSessions(e=50){return this.db.prepare(`SELECT
|
|
55
|
+
s.id,
|
|
56
|
+
s.started_at AS startedAt,
|
|
57
|
+
s.ended_at AS endedAt,
|
|
58
|
+
s.mode,
|
|
59
|
+
s.source_process AS sourceProcess,
|
|
60
|
+
s.proxy_url AS proxyUrl,
|
|
61
|
+
COUNT(e.id) AS eventCount
|
|
62
|
+
FROM capture_sessions s
|
|
63
|
+
LEFT JOIN capture_events e ON e.session_id = s.id
|
|
64
|
+
GROUP BY s.id
|
|
65
|
+
ORDER BY s.started_at DESC
|
|
66
|
+
LIMIT ?`).all(e)}getSessionEvents(e,t=500){return this.db.prepare(`SELECT
|
|
67
|
+
id, session_id AS sessionId, ts, source_scope AS sourceScope, source_process AS sourceProcess,
|
|
68
|
+
protocol, direction, kind, flow_id AS flowId, method, host, path, status, close_code AS closeCode,
|
|
69
|
+
content_type AS contentType, headers_json AS headersJson, data_text AS dataText,
|
|
70
|
+
data_blob_id AS dataBlobId, data_sha256 AS dataSha256, error_text AS errorText, meta_json AS metaJson
|
|
71
|
+
FROM capture_events
|
|
72
|
+
WHERE session_id = ?
|
|
73
|
+
ORDER BY ts DESC, id DESC
|
|
74
|
+
LIMIT ?`).all(e,t)}summarizeSessionCoverage(e){let t=this.db.prepare(`SELECT host, meta_json AS metaJson
|
|
75
|
+
FROM capture_events
|
|
76
|
+
WHERE session_id = ?`).all(e),n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=0;for(let e of t){let t=Rr(e.metaJson),c=zr(t?.provider),l=zr(t?.api),u=zr(t?.model),d=zr(e.host);!c&&!l&&!u&&(s+=1),c&&n.set(c,(n.get(c)??0)+1),l&&r.set(l,(r.get(l)??0)+1),u&&i.set(u,(i.get(u)??0)+1),d&&(a.set(d,(a.get(d)??0)+1),(d===`127.0.0.1:11434`||d.startsWith(`127.0.0.1:`)||d.startsWith(`localhost:`))&&o.set(d,(o.get(d)??0)+1))}return{sessionId:e,totalEvents:t.length,unlabeledEventCount:s,providers:Br(n),apis:Br(r),models:Br(i),hosts:Br(a),localPeers:Br(o)}}readBlob(e){let t=this.db.prepare(`SELECT data_blob_id AS blobId FROM capture_events WHERE data_blob_id = ? LIMIT 1`).get(e);if(!t?.blobId)return null;let n=Ke.join(this.blobDir,`${t.blobId}.bin.gz`);return Ge.existsSync(n)?Pr(n):null}queryPreset(e,t){let n=t?`AND session_id = ?`:``,r=t?[t]:[];switch(e){case`double-sends`:return this.db.prepare(`SELECT host, path, method, COUNT(*) AS duplicateCount
|
|
77
|
+
FROM capture_events
|
|
78
|
+
WHERE kind = 'request' ${n}
|
|
79
|
+
GROUP BY host, path, method, data_sha256
|
|
80
|
+
HAVING COUNT(*) > 1
|
|
81
|
+
ORDER BY duplicateCount DESC, host ASC`).all(...r);case`retry-storms`:return this.db.prepare(`SELECT host, path, COUNT(*) AS errorCount
|
|
82
|
+
FROM capture_events
|
|
83
|
+
WHERE kind = 'response' AND status >= 429 ${n}
|
|
84
|
+
GROUP BY host, path
|
|
85
|
+
HAVING COUNT(*) > 1
|
|
86
|
+
ORDER BY errorCount DESC, host ASC`).all(...r);case`cache-busting`:return this.db.prepare(`SELECT host, path, COUNT(*) AS variantCount
|
|
87
|
+
FROM capture_events
|
|
88
|
+
WHERE kind = 'request'
|
|
89
|
+
AND (path LIKE '%?%' OR headers_json LIKE '%cache-control%' OR headers_json LIKE '%pragma%')
|
|
90
|
+
${n}
|
|
91
|
+
GROUP BY host, path
|
|
92
|
+
ORDER BY variantCount DESC, host ASC`).all(...r);case`ws-duplicate-frames`:return this.db.prepare(`SELECT host, path, COUNT(*) AS duplicateFrames
|
|
93
|
+
FROM capture_events
|
|
94
|
+
WHERE kind = 'ws-frame' AND direction = 'outbound' ${n}
|
|
95
|
+
GROUP BY host, path, data_sha256
|
|
96
|
+
HAVING COUNT(*) > 1
|
|
97
|
+
ORDER BY duplicateFrames DESC, host ASC`).all(...r);case`missing-ack`:return this.db.prepare(`SELECT flow_id AS flowId, host, path, COUNT(*) AS outboundFrames
|
|
98
|
+
FROM capture_events
|
|
99
|
+
WHERE kind = 'ws-frame' AND direction = 'outbound' ${n}
|
|
100
|
+
AND flow_id NOT IN (
|
|
101
|
+
SELECT flow_id FROM capture_events
|
|
102
|
+
WHERE kind = 'ws-frame' AND direction = 'inbound' ${t?`AND session_id = ?`:``}
|
|
103
|
+
)
|
|
104
|
+
GROUP BY flow_id, host, path
|
|
105
|
+
ORDER BY outboundFrames DESC`).all(...t?[t,t]:[]);case`error-bursts`:return this.db.prepare(`SELECT host, path, COUNT(*) AS errorCount
|
|
106
|
+
FROM capture_events
|
|
107
|
+
WHERE kind = 'error' ${n}
|
|
108
|
+
GROUP BY host, path
|
|
109
|
+
ORDER BY errorCount DESC, host ASC`).all(...r);default:return[]}}purgeAll(){let e=this.db.prepare(`SELECT COUNT(*) AS count FROM capture_sessions`).get().count??0,t=this.db.prepare(`SELECT COUNT(*) AS count FROM capture_events`).get().count??0;this.db.exec(`DELETE FROM capture_events; DELETE FROM capture_sessions;`);let n=0;if(Ge.existsSync(this.blobDir))for(let e of Ge.readdirSync(this.blobDir))Ge.rmSync(Ke.join(this.blobDir,e),{force:!0}),n+=1;return{sessions:e,events:t,blobs:n}}deleteSessions(e){let t=[...new Set(e.map(e=>e.trim()).filter(Boolean))];if(t.length===0)return{sessions:0,events:0,blobs:0};let n=t.map(()=>`?`).join(`, `),r=this.db.prepare(`SELECT DISTINCT data_blob_id AS blobId
|
|
110
|
+
FROM capture_events
|
|
111
|
+
WHERE session_id IN (${n})
|
|
112
|
+
AND data_blob_id IS NOT NULL`).all(...t),i=this.db.prepare(`SELECT COUNT(*) AS count
|
|
113
|
+
FROM capture_events
|
|
114
|
+
WHERE session_id IN (${n})`).get(...t).count??0,a=this.db.prepare(`SELECT COUNT(*) AS count
|
|
115
|
+
FROM capture_sessions
|
|
116
|
+
WHERE id IN (${n})`).get(...t).count??0;this.db.prepare(`DELETE FROM capture_events WHERE session_id IN (${n})`).run(...t),this.db.prepare(`DELETE FROM capture_sessions WHERE id IN (${n})`).run(...t);let o=r.map(e=>e.blobId?.trim()).filter(e=>!!e),s=o.length>0?new Set(this.db.prepare(`SELECT DISTINCT data_blob_id AS blobId
|
|
117
|
+
FROM capture_events
|
|
118
|
+
WHERE data_blob_id IN (${o.map(()=>`?`).join(`, `)})
|
|
119
|
+
AND data_blob_id IS NOT NULL`).all(...o).map(e=>e.blobId?.trim()).filter(e=>!!e)):new Set,c=0;for(let e of r){let t=e.blobId?.trim();if(!t||s.has(t))continue;let n=Ke.join(this.blobDir,`${t}.bin.gz`);Ge.existsSync(n)&&(Ge.rmSync(n,{force:!0}),c+=1)}return{sessions:a,events:i,blobs:c}}};let Hr=null,Ur=``;function Wr(e,t){let n=`${e}:${t}`;return(!Hr||Ur!==n)&&(Hr=new Vr(e,t),Ur=n),Hr}function Gr(e,t){if(t.data==null)return{};let n=Buffer.isBuffer(t.data)?t.data:Buffer.from(t.data),r=t.previewLimit??8192,i=e.persistPayload(n,t.contentType);return{dataText:n.subarray(0,r).toString(`utf8`),dataBlobId:i.blobId,dataSha256:i.sha256}}function Kr(e){return Lr(e)??void 0}function qr(e){try{switch(new qe(e).protocol){case`https:`:return`https`;case`wss:`:return`wss`;case`ws:`:return`ws`;default:return`http`}}catch{return`http`}}function Jr(e){return{sessionId:e.settings.sessionId,ts:Date.now(),sourceScope:`openclaw`,sourceProcess:e.settings.sourceProcess,protocol:e.transport??qr(e.rawUrl),direction:e.direction,kind:e.kind,flowId:e.flowId,method:e.method,host:e.url.host,path:`${e.url.pathname}${e.url.search}`}}function Yr(e){let t=jr();if(!t.enabled)return;let n=Wr(t.dbPath,t.blobDir),r=e.flowId??Ye(),i=new qe(e.url),a=Gr(n,{data:typeof e.requestBody==`string`||Buffer.isBuffer(e.requestBody)?e.requestBody:null,contentType:e.requestHeaders instanceof Headers?e.requestHeaders.get(`content-type`)??void 0:e.requestHeaders?.[`content-type`]});if(n.recordEvent({...Jr({settings:t,rawUrl:e.url,url:i,transport:e.transport,direction:`outbound`,kind:`request`,flowId:r,method:e.method}),contentType:e.requestHeaders instanceof Headers?e.requestHeaders.get(`content-type`)??void 0:e.requestHeaders?.[`content-type`],headersJson:Kr(e.requestHeaders instanceof Headers?Object.fromEntries(e.requestHeaders.entries()):e.requestHeaders),metaJson:Kr(e.meta),...a}),!(e.response&&typeof e.response.clone==`function`&&typeof e.response.arrayBuffer==`function`)){n.recordEvent({...Jr({settings:t,rawUrl:e.url,url:i,transport:e.transport,direction:`inbound`,kind:`response`,flowId:r,method:e.method}),status:e.response.status,contentType:typeof e.response.headers?.get==`function`?e.response.headers.get(`content-type`)??void 0:void 0,headersJson:e.response.headers&&typeof e.response.headers.entries==`function`?Kr(Object.fromEntries(e.response.headers.entries())):void 0,metaJson:Kr({...e.meta,bodyCapture:`unavailable`})});return}e.response.clone().arrayBuffer().then(a=>{let o=Gr(n,{data:Buffer.from(a),contentType:e.response.headers.get(`content-type`)??void 0});n.recordEvent({...Jr({settings:t,rawUrl:e.url,url:i,transport:e.transport,direction:`inbound`,kind:`response`,flowId:r,method:e.method}),status:e.response.status,contentType:e.response.headers.get(`content-type`)??void 0,headersJson:Kr(Object.fromEntries(e.response.headers.entries())),metaJson:Kr(e.meta),...o})}).catch(a=>{n.recordEvent({...Jr({settings:t,rawUrl:e.url,url:i,transport:e.transport,direction:`local`,kind:`error`,flowId:r,method:e.method}),errorText:a instanceof Error?a.message:String(a)})})}function Xr(){this.abort()}function Zr(e){return Xr.bind(e)}function Qr(e){let{timeoutMs:t,signal:n}=e;if(!t&&!n)return{signal:void 0,cleanup:()=>{}};if(!t)return{signal:n,cleanup:()=>{}};let r=new AbortController,i=setTimeout(r.abort.bind(r),t),a=Zr(r);return n&&(n.aborted?r.abort():n.addEventListener(`abort`,a,{once:!0})),{signal:r.signal,cleanup:()=>{clearTimeout(i),n&&n.removeEventListener(`abort`,a)}}}const $r=[`HTTP_PROXY`,`HTTPS_PROXY`,`ALL_PROXY`,`http_proxy`,`https_proxy`,`all_proxy`];function ei(e=process.env){for(let t of $r){let n=e[t];if(typeof n==`string`&&n.trim().length>0)return!0}return!1}function ti(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:null}function ni(e,t=process.env){let n=ti(t.http_proxy),r=ti(t.https_proxy),i=n===void 0?ti(t.HTTP_PROXY):n,a=r===void 0?ti(t.HTTPS_PROXY):r;return e===`https`?a??i??void 0:i??void 0}function ri(e=`https`,t=process.env){return ni(e,t)!==void 0}const ii=new Set([`accept`,`accept-encoding`,`accept-language`,`cache-control`,`content-language`,`content-type`,`if-match`,`if-modified-since`,`if-none-match`,`if-unmodified-since`,`pragma`,`range`,`user-agent`]);function ai(e){if(!e)return e;let t=new Headers(e),n={};for(let[e,r]of t.entries())ii.has(a(e))&&(n[e]=r);return n}function oi(e){return typeof e==`object`&&!!e&&typeof e.entries==`function`&&e[Symbol.toStringTag]===`FormData`}function si(e,t){if(!oi(e)||typeof t!=`function`||e instanceof t)return e;let n=new t;for(let[t,r]of e.entries()){let e=r,i=typeof e.name==`string`&&e.name.trim()?e.name:void 0;i?n.append(t,r,i):n.append(t,r)}return n}function ci(e,t){if(!e?.body)return e;let n=si(e.body,t);if(n===e.body)return e;let r=new Headers(e.headers);return r.delete(`content-length`),r.delete(`content-type`),{...e,headers:r,body:n}}function li(e){return typeof e==`function`?typeof e.mock==`object`:!1}async function ui(e,t){let n=ue(),r=n.fetch;return await r(e,ci(t,n.FormData))}const di={STRICT:`strict`,TRUSTED_ENV_PROXY:`trusted_env_proxy`,TRUSTED_EXPLICIT_PROXY:`trusted_explicit_proxy`};function fi(e){return e.mode?e.mode:e.proxy===`env`&&e.dangerouslyAllowEnvProxyWithoutPinnedDns===!0?di.TRUSTED_ENV_PROXY:di.STRICT}function pi(e,t,n){if(n!==!1&&t?.mode===`explicit-proxy`&&e.protocol!==`https:`)throw Error(`Explicit proxy SSRF pinning requires HTTPS targets; plain HTTP targets are not supported`)}function mi(e){if(!e)return null;if(e.mode===`direct`)return ce(e.connect?{connect:{...e.connect}}:void 0);if(e.mode===`env-proxy`)return H({...e.connect?{connect:{...e.connect}}:{},...e.proxyTls?{proxyTls:{...e.proxyTls}}:{}});let t=e.proxyUrl.trim();return e.proxyTls?le({uri:t,requestTls:{...e.proxyTls}}):le({uri:t})}async function hi(e,t,n){if(!e||e.mode!==`explicit-proxy`)return;let r;try{r=new URL(e.proxyUrl)}catch{throw Error(`Invalid explicit proxy URL`)}if(![`http:`,`https:`].includes(r.protocol))throw Error(`Explicit proxy URL must use http or https`);await tr(r.hostname,{lookupFn:t,policy:e.allowPrivateProxy===!0?{...n,allowPrivateNetwork:!0,hostnameAllowlist:void 0}:n})}function gi(e){return e===301||e===302||e===303||e===307||e===308}function _i(e){return typeof e.fetchImpl==`function`&&typeof e.globalFetch==`function`&&e.fetchImpl===e.globalFetch}function vi(e){return e?.headers?{...e,headers:ai(e.headers)}:e}function yi(e){if(!e)return e;let t=new Headers(e);return t.delete(`content-encoding`),t.delete(`content-language`),t.delete(`content-length`),t.delete(`content-location`),t.delete(`content-type`),t.delete(`transfer-encoding`),t}function bi(e){let{init:t,status:n}=e;if(!t)return t;let r=t.method?.toUpperCase()??`GET`;return(n===303?r!==`GET`&&r!==`HEAD`:(n===301||n===302)&&r===`POST`)?{...t,method:`GET`,body:void 0,headers:yi(t.headers)}:t}function xi(e){let{init:t,allowUnsafeReplay:n}=e;if(!t||n)return t;let r=t.method?.toUpperCase()??`GET`;return r===`GET`||r===`HEAD`?t:{...t,body:void 0,headers:yi(t.headers)}}async function Si(e){let t=e.fetchImpl??globalThis.fetch;if(!t)throw Error(`fetch is not available`);let n=typeof e.maxRedirects==`number`&&Number.isFinite(e.maxRedirects)?Math.max(0,Math.floor(e.maxRedirects)):3,r=fi(e),{signal:i,cleanup:a}=Qr({timeoutMs:e.timeoutMs,signal:e.signal}),o=!1,s=async e=>{o||(o=!0,a(),await or(e??void 0))},c=new Set([e.url]),l=e.url,u=e.init?{...e.init}:void 0,d=0;for(;;){let a;try{a=new URL(l)}catch{throw await s(),Error(`Invalid URL: must be http or https`)}if(![`http:`,`https:`].includes(a.protocol))throw await s(),Error(`Invalid URL: must be http or https`);let o=null;try{let f=r===di.TRUSTED_EXPLICIT_PROXY&&e.dispatcherPolicy?.mode===`explicit-proxy`;pi(a,e.dispatcherPolicy,f?!1:e.pinDns),await hi(e.dispatcherPolicy,e.lookupFn,e.policy),r===di.TRUSTED_ENV_PROXY&&ei()?o=H():f?(nr(a.hostname,e.policy),o=mi(e.dispatcherPolicy)):e.pinDns===!1?(await tr(a.hostname,{lookupFn:e.lookupFn,policy:e.policy}),o=mi(e.dispatcherPolicy)):o=ar(await tr(a.hostname,{lookupFn:e.lookupFn,policy:e.policy}),e.dispatcherPolicy,e.policy);let p={...u?{...u}:{},redirect:`manual`,...o?{dispatcher:o}:{},...i?{signal:i}:{}},m=e.fetchImpl!==void 0&&!_i({fetchImpl:e.fetchImpl,globalFetch:globalThis.fetch})||li(t),h=o&&!m?await ui(a.toString(),p):await t(a.toString(),p);if(e.capture!==!1&&Yr({url:a.toString(),method:u?.method??`GET`,requestHeaders:u?.headers,requestBody:u?.body??null,response:h,transport:`http`,flowId:e.capture?.flowId,meta:{captureOrigin:`guarded-fetch`,...e.auditContext?{auditContext:e.auditContext}:{},...e.capture?.meta}}),gi(h.status)){let t=h.headers.get(`location`);if(!t)throw await s(o),Error(`Redirect missing location header (${h.status})`);if(d+=1,d>n)throw await s(o),Error(`Too many redirects (limit: ${n})`);let r=new URL(t,a),i=r.toString();if(c.has(i))throw await s(o),Error(`Redirect loop detected`);u=bi({init:u,status:h.status}),r.origin!==a.origin&&(u=xi({init:u,allowUnsafeReplay:e.allowCrossOriginUnsafeRedirectReplay===!0}),u=vi(u)),c.add(i),h.body?.cancel(),await or(o),l=i;continue}return{response:h,finalUrl:l,release:async()=>s(o)}}catch(t){throw t instanceof In&&k(`security: blocked URL fetch (${e.auditContext??`url-fetch`}) targetOrigin=${a.origin} reason=${t.message}`),await s(o),t}}}var W=n(((e,t)=>{t.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`)}})),Ci=n(((e,t)=>{let n=0,r=1e3;(r>>1)-1;let i,a=Symbol(`kFastTimer`),o=[];function s(){n+=499;let e=0,t=o.length;for(;e<t;){let r=o[e];r._state===0?(r._idleStart=n-499,r._state=1):r._state===1&&n>=r._idleStart+r._idleTimeout&&(r._state=-1,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===-1?(r._state=-2,--t!==0&&(o[e]=o[t])):++e}o.length=t,o.length!==0&&c()}function c(){i?.refresh?i.refresh():(clearTimeout(i),i=setTimeout(s,499),i?.unref())}var l=class{[a]=!0;_state=-2;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,n){this._onTimeout=e,this._idleTimeout=t,this._timerArg=n,this.refresh()}refresh(){this._state===-2&&o.push(this),(!i||o.length===1)&&c(),this._state=0}clear(){this._state=-1,this._idleStart=-1}};t.exports={setTimeout(e,t,n){return t<=r?setTimeout(e,t,n):new l(e,t,n)},clearTimeout(e){e[a]?e.clear():clearTimeout(e)},setFastTimeout(e,t,n){return new l(e,t,n)},clearFastTimeout(e){e.clear()},now(){return n},tick(e=0){n+=e-r+1,s(),s()},reset(){n=0,o.length=0,clearTimeout(i),i=null},kFastTimer:a}})),G=n(((e,t)=>{let n=Symbol.for(`undici.error.UND_ERR`);var r=class extends Error{constructor(e,t){super(e,t),this.name=`UndiciError`,this.code=`UND_ERR`}static[Symbol.hasInstance](e){return e&&e[n]===!0}get[n](){return!0}};let i=Symbol.for(`undici.error.UND_ERR_CONNECT_TIMEOUT`);var a=class extends r{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[i]===!0}get[i](){return!0}};let o=Symbol.for(`undici.error.UND_ERR_HEADERS_TIMEOUT`);var s=class extends r{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[o]===!0}get[o](){return!0}};let c=Symbol.for(`undici.error.UND_ERR_HEADERS_OVERFLOW`);var l=class extends r{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[c]===!0}get[c](){return!0}};let u=Symbol.for(`undici.error.UND_ERR_BODY_TIMEOUT`);var d=class extends r{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[u]===!0}get[u](){return!0}};let f=Symbol.for(`undici.error.UND_ERR_INVALID_ARG`);var p=class extends r{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[f]===!0}get[f](){return!0}};let m=Symbol.for(`undici.error.UND_ERR_INVALID_RETURN_VALUE`);var h=class extends r{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[m]===!0}get[m](){return!0}};let g=Symbol.for(`undici.error.UND_ERR_ABORT`);var _=class extends r{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[g]===!0}get[g](){return!0}};let v=Symbol.for(`undici.error.UND_ERR_ABORTED`);var y=class extends _{constructor(e){super(e),this.name=`AbortError`,this.message=e||`Request aborted`,this.code=`UND_ERR_ABORTED`}static[Symbol.hasInstance](e){return e&&e[v]===!0}get[v](){return!0}};let b=Symbol.for(`undici.error.UND_ERR_INFO`);var x=class extends r{constructor(e){super(e),this.name=`InformationalError`,this.message=e||`Request information`,this.code=`UND_ERR_INFO`}static[Symbol.hasInstance](e){return e&&e[b]===!0}get[b](){return!0}};let S=Symbol.for(`undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH`);var C=class extends r{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[S]===!0}get[S](){return!0}};let w=Symbol.for(`undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH`);var T=class extends r{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[w]===!0}get[w](){return!0}};let E=Symbol.for(`undici.error.UND_ERR_DESTROYED`);var D=class extends r{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[E]===!0}get[E](){return!0}};let O=Symbol.for(`undici.error.UND_ERR_CLOSED`);var k=class extends r{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[O]===!0}get[O](){return!0}};let A=Symbol.for(`undici.error.UND_ERR_SOCKET`);var j=class extends r{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[A]===!0}get[A](){return!0}};let M=Symbol.for(`undici.error.UND_ERR_NOT_SUPPORTED`);var N=class extends r{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[M]===!0}get[M](){return!0}};let P=Symbol.for(`undici.error.UND_ERR_BPL_MISSING_UPSTREAM`);var F=class extends r{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[P]===!0}get[P](){return!0}};let I=Symbol.for(`undici.error.UND_ERR_HTTP_PARSER`);var ee=class extends Error{constructor(e,t,n){super(e),this.name=`HTTPParserError`,this.code=t?`HPE_${t}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[I]===!0}get[I](){return!0}};let L=Symbol.for(`undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE`);var te=class extends r{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[L]===!0}get[L](){return!0}};let R=Symbol.for(`undici.error.UND_ERR_REQ_RETRY`);var ne=class extends r{constructor(e,t,{headers:n,data:r}){super(e),this.name=`RequestRetryError`,this.message=e||`Request retry error`,this.code=`UND_ERR_REQ_RETRY`,this.statusCode=t,this.data=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[R]===!0}get[R](){return!0}};let re=Symbol.for(`undici.error.UND_ERR_RESPONSE`);var z=class extends r{constructor(e,t,{headers:n,body:r}){super(e),this.name=`ResponseError`,this.message=e||`Response error`,this.code=`UND_ERR_RESPONSE`,this.statusCode=t,this.body=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[re]===!0}get[re](){return!0}};let ie=Symbol.for(`undici.error.UND_ERR_PRX_TLS`);var ae=class extends r{constructor(e,t,n={}){super(t,{cause:e,...n}),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[ie]===!0}get[ie](){return!0}};let B=Symbol.for(`undici.error.UND_ERR_MAX_ORIGINS_REACHED`);var V=class extends r{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[B]===!0}get[B](){return!0}},oe=class extends r{constructor(e,t){super(e),this.name=`Socks5ProxyError`,this.message=e||`SOCKS5 proxy error`,this.code=t||`UND_ERR_SOCKS5`}};let se=Symbol.for(`undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED`);t.exports={AbortError:_,HTTPParserError:ee,UndiciError:r,HeadersTimeoutError:s,HeadersOverflowError:l,BodyTimeoutError:d,RequestContentLengthMismatchError:C,ConnectTimeoutError:a,InvalidArgumentError:p,InvalidReturnValueError:h,RequestAbortedError:y,ClientDestroyedError:D,ClientClosedError:k,InformationalError:x,SocketError:j,NotSupportedError:N,ResponseContentLengthMismatchError:T,BalancedPoolMissingUpstreamError:F,ResponseExceededMaxSizeError:te,RequestRetryError:ne,ResponseError:z,SecureProxyConnectionError:ae,MaxOriginsReachedError:V,Socks5ProxyError:oe,MessageSizeExceededError:class extends r{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[se]===!0}get[se](){return!0}}}})),wi=n(((e,t)=>{let n=`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`.split(`.`),r={};Object.setPrototypeOf(r,null);let i={};Object.setPrototypeOf(i,null);function a(e){let t=i[e];return t===void 0&&(t=Buffer.from(e)),t}for(let e=0;e<n.length;++e){let t=n[e],i=t.toLowerCase();r[t]=r[i]=i}t.exports={wellknownHeaderNames:n,headerNameLowerCasedRecord:r,getHeaderNameAsBuffer:a}})),Ti=n(((e,t)=>{let{wellknownHeaderNames:n,headerNameLowerCasedRecord:r}=wi();var i=class e{value=null;left=null;middle=null;right=null;code;constructor(t,n,r){if(r===void 0||r>=t.length)throw TypeError(`Unreachable`);if((this.code=t.charCodeAt(r))>127)throw TypeError(`key must be ascii string`);t.length===++r?this.value=n:this.middle=new e(t,n,r)}add(t,n){let r=t.length;if(r===0)throw TypeError(`Unreachable`);let i=0,a=this;for(;;){let o=t.charCodeAt(i);if(o>127)throw TypeError(`key must be ascii string`);if(a.code===o)if(r===++i){a.value=n;break}else if(a.middle!==null)a=a.middle;else{a.middle=new e(t,n,i);break}else if(a.code<o)if(a.left!==null)a=a.left;else{a.left=new e(t,n,i);break}else if(a.right!==null)a=a.right;else{a.right=new e(t,n,i);break}}}search(e){let t=e.length,n=0,r=this;for(;r!==null&&n<t;){let i=e[n];for(i<=90&&i>=65&&(i|=32);r!==null;){if(i===r.code){if(t===++n)return r;r=r.middle;break}r=r.code<i?r.left:r.right}}return null}},a=class{node=null;insert(e,t){this.node===null?this.node=new i(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}};let o=new a;for(let e=0;e<n.length;++e){let t=r[n[e]];o.insert(t,t)}t.exports={TernarySearchTree:a,tree:o}})),K=n(((e,n)=>{let r=t(`node:assert`),{kDestroyed:i,kBodyUsed:a,kListeners:o,kBody:s}=W(),{IncomingMessage:c}=t(`node:http`),l=t(`node:stream`),u=t(`node:net`),{stringify:d}=t(`node:querystring`),{EventEmitter:f}=t(`node:events`),p=Ci(),{InvalidArgumentError:m,ConnectTimeoutError:h}=G(),{headerNameLowerCasedRecord:g}=wi(),{tree:_}=Ti();var v=class{constructor(e){this[s]=e,this[a]=!1}async*[Symbol.asyncIterator](){r(!this[a],`disturbed`),this[a]=!0,yield*this[s]}};function y(){}function b(e){return x(e)?(F(e)===0&&e.on(`data`,function(){r(!1)}),typeof e.readableDidRead!=`boolean`&&(e[a]=!1,f.prototype.on.call(e,`data`,function(){this[a]=!0})),e):e&&typeof e.pipeTo==`function`?new v(e):e&&ce(e)?e:e&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&N(e)?new v(e):e}function x(e){return e&&typeof e==`object`&&typeof e.pipe==`function`&&typeof e.on==`function`}function S(e){return e instanceof Blob}function C(e){return e.includes(`?`)||e.includes(`#`)}function w(e,t){if(C(e))throw Error(`Query params cannot be passed when url already contains "?" or "#".`);let n=d(t);return n&&(e+=`?`+n),e}function T(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function E(e){return e!=null&&e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`&&(e[4]===`:`||e[4]===`s`&&e[5]===`:`)}function D(e){if(typeof e==`string`){if(e=new URL(e),!E(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!=`object`)throw new m(`Invalid URL: The URL argument must be a non-null object.`);if(!(e instanceof URL)){if(e.port!=null&&e.port!==``&&T(e.port)===!1)throw new m(`Invalid URL: port must be a valid integer or a string representation of an integer.`);if(e.path!=null&&typeof e.path!=`string`)throw new m(`Invalid URL path: the path must be a string or null/undefined.`);if(e.pathname!=null&&typeof e.pathname!=`string`)throw new m(`Invalid URL pathname: the pathname must be a string or null/undefined.`);if(e.hostname!=null&&typeof e.hostname!=`string`)throw new m(`Invalid URL hostname: the hostname must be a string or null/undefined.`);if(e.origin!=null&&typeof e.origin!=`string`)throw new m(`Invalid URL origin: the origin must be a string or null/undefined.`);if(!E(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port==null?e.protocol===`https:`?443:80:e.port,n=e.origin==null?`${e.protocol||``}//${e.hostname||``}:${t}`:e.origin,r=e.path==null?`${e.pathname||``}${e.search||``}`:e.path;return n[n.length-1]===`/`&&(n=n.slice(0,n.length-1)),r&&r[0]!==`/`&&(r=`/${r}`),new URL(`${n}${r}`)}if(!E(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function O(e){if(e=D(e),e.pathname!==`/`||e.search||e.hash)throw new m(`invalid url`);return e}function k(e){if(e[0]===`[`){let t=e.indexOf(`]`);return r(t!==-1),e.substring(1,t)}let t=e.indexOf(`:`);return t===-1?e:e.substring(0,t)}function A(e){if(!e)return null;r(typeof e==`string`);let t=k(e);return u.isIP(t)?``:t}function j(e){return JSON.parse(JSON.stringify(e))}function M(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}function N(e){return e!=null&&(typeof e[Symbol.iterator]==`function`||typeof e[Symbol.asyncIterator]==`function`)}function P(e){let t=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]==`function`}function F(e){if(e==null)return 0;if(x(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}else if(S(e))return e.size==null?null:e.size;else if(B(e))return e.byteLength;return null}function I(e){return e&&!!(e.destroyed||e[i]||l.isDestroyed?.(e))}function ee(e,t){e==null||!x(e)||I(e)||(typeof e.destroy==`function`?(Object.getPrototypeOf(e).constructor===c&&(e.socket=null),e.destroy(t)):t&&queueMicrotask(()=>{e.emit(`error`,t)}),e.destroyed!==!0&&(e[i]=!0))}let L=/timeout=(\d+)/;function te(e){let t=e.match(L);return t?parseInt(t[1],10)*1e3:null}function R(e){return typeof e==`string`?g[e]??e.toLowerCase():_.lookup(e)??e.toString(`latin1`).toLowerCase()}function ne(e){return _.lookup(e)??e.toString(`latin1`).toLowerCase()}function re(e,t){t===void 0&&(t={});for(let n=0;n<e.length;n+=2){let r=R(e[n]),i=t[r];if(i!==void 0)if(Object.hasOwn(t,r))typeof i==`string`&&(i=[i],t[r]=i),i.push(e[n+1].toString(`latin1`));else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);r===`__proto__`?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i}else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);t[r]=i}}return t}function z(e){let t=e.length,n=Array(t),r,i;for(let a=0;a<t;a+=2)r=e[a],i=e[a+1],typeof r!=`string`&&(r=r.toString()),typeof i!=`string`&&(i=i.toString(`latin1`)),n[a]=r,n[a+1]=i;return n}function ie(e){let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.push(Buffer.from(n,`latin1`),Buffer.from(`${e}`,`latin1`));else t.push(Buffer.from(n,`latin1`),Buffer.from(`${r}`,`latin1`));return t}function ae(e){if(!Array.isArray(e))throw TypeError(`expected headers to be an array`);return e.map(e=>Buffer.from(e))}function B(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function V(e,t,n){if(!e||typeof e!=`object`)throw new m(`handler must be an object`);if(typeof e.onRequestStart!=`function`)throw new m(`invalid onRequestStart method`);if(typeof e.onResponseError!=`function`)throw new m(`invalid onResponseError method`);if(typeof e.onBodySent!=`function`&&e.onBodySent!==void 0)throw new m(`invalid onBodySent method`);if(typeof e.onRequestSent!=`function`&&e.onRequestSent!==void 0)throw new m(`invalid onRequestSent method`);if(n||t===`CONNECT`){if(typeof e.onRequestUpgrade!=`function`)throw new m(`invalid onRequestUpgrade method`)}else{if(typeof e.onResponseStart!=`function`)throw new m(`invalid onResponseStart method`);if(typeof e.onResponseData!=`function`)throw new m(`invalid onResponseData method`);if(typeof e.onResponseEnd!=`function`)throw new m(`invalid onResponseEnd method`)}}function oe(e){return!!(e&&(l.isDisturbed(e)||e[a]))}function se(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}function H(e){let t;return new ReadableStream({start(){t=e[Symbol.asyncIterator]()},pull(e){return t.next().then(({done:t,value:n})=>{if(t)return queueMicrotask(()=>{e.close(),e.byobRequest?.respond(0)});{let t=Buffer.isBuffer(n)?n:Buffer.from(n);return t.byteLength?e.enqueue(new Uint8Array(t)):this.pull(e)}})},cancel(){return t.return()},type:`bytes`})}function ce(e){return e&&typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&e[Symbol.toStringTag]===`FormData`}function le(e,t){return`addEventListener`in e?(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)):(e.once(`abort`,t),()=>e.removeListener(`abort`,t))}let ue=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 de(e){return ue[e]===1}let fe=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function U(e){if(e.length>=12)return fe.test(e);if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(ue[e.charCodeAt(t)]!==1)return!1;return!0}let pe=/[^\t\x20-\x7e\x80-\xff]/;function me(e){return!pe.test(e)}let he=/^bytes (\d+)-(\d+)\/(\d+)?$/;function ge(e){if(e==null||e===``)return{start:0,end:null,size:null};let t=e?e.match(he):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}function _e(e,t,n){return(e[o]??=[]).push([t,n]),e.on(t,n),e}function ve(e){if(e[o]!=null){for(let[t,n]of e[o])e.removeListener(t,n);e[o]=null}return e}function ye(e,t,n){try{t.onResponseError(n),r(t.aborted)}catch(t){e.emit(`error`,t)}}let be=process.platform===`win32`?(e,t)=>{if(!t.timeout)return y;let n=null,r=null,i=p.setFastTimeout(()=>{n=setImmediate(()=>{r=setImmediate(()=>xe(e.deref(),t))})},t.timeout);return()=>{p.clearFastTimeout(i),clearImmediate(n),clearImmediate(r)}}:(e,t)=>{if(!t.timeout)return y;let n=null,r=p.setFastTimeout(()=>{n=setImmediate(()=>{xe(e.deref(),t)})},t.timeout);return()=>{p.clearFastTimeout(r),clearImmediate(n)}};function xe(e,t){if(e==null)return;let n=`Connect Timeout Error`;Array.isArray(e.autoSelectFamilyAttemptedAddresses)?n+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(`, `)},`:n+=` (attempted address: ${t.hostname}:${t.port},`,n+=` timeout: ${t.timeout}ms)`,ee(e,new h(n))}function Se(e){if(e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`)switch(e[4]){case`:`:return`http:`;case`s`:if(e[5]===`:`)return`https:`}return e.slice(0,e.indexOf(`:`)+1)}let Ce=Object.create(null);Ce.enumerable=!0;let we={delete:`DELETE`,DELETE:`DELETE`,get:`GET`,GET:`GET`,head:`HEAD`,HEAD:`HEAD`,options:`OPTIONS`,OPTIONS:`OPTIONS`,post:`POST`,POST:`POST`,put:`PUT`,PUT:`PUT`},Te={...we,patch:`patch`,PATCH:`PATCH`};Object.setPrototypeOf(we,null),Object.setPrototypeOf(Te,null),n.exports={kEnumerableProperty:Ce,isDisturbed:oe,isBlobLike:S,parseOrigin:O,parseURL:D,getServerName:A,isStream:x,isIterable:N,hasSafeIterator:P,isAsyncIterable:M,isDestroyed:I,headerNameToString:R,bufferToLowerCasedHeaderName:ne,addListener:_e,removeAllListeners:ve,errorRequest:ye,parseRawHeaders:z,toRawHeaders:ie,encodeRawHeaders:ae,parseHeaders:re,parseKeepAliveTimeout:te,destroy:ee,bodyLength:F,deepClone:j,ReadableStreamFrom:H,isBuffer:B,assertRequestHandler:V,getSocketInfo:se,isFormDataLike:ce,pathHasQueryOrFragment:C,serializePathWithQuery:w,addAbortListener:le,isValidHTTPToken:U,isValidHeaderValue:me,isTokenCharCode:de,parseRangeHeader:ge,normalizedMethodRecordsBase:we,normalizedMethodRecords:Te,isValidPort:T,isHttpOrHttpsPrefixed:E,safeHTTPMethods:Object.freeze([`GET`,`HEAD`,`OPTIONS`,`TRACE`]),wrapRequestBody:b,setupConnectTimeout:be,getProtocolFromUrlString:Se}})),Ei=n(((e,t)=>{let{kConnected:n,kPending:r,kRunning:i,kSize:a,kFree:o,kQueued:s}=W();t.exports={ClientStats:class{constructor(e){this.connected=e[n],this.pending=e[r],this.running=e[i],this.size=e[a]}},PoolStats:class{constructor(e){this.connected=e[n],this.free=e[o],this.pending=e[r],this.queued=e[s],this.running=e[i],this.size=e[a]}}}})),Di=n(((e,n)=>{let r=t(`node:diagnostics_channel`),i=t(`node:util`),a=i.debuglog(`undici`),o=i.debuglog(`fetch`),s=i.debuglog(`websocket`),c={beforeConnect:r.channel(`undici:client:beforeConnect`),connected:r.channel(`undici:client:connected`),connectError:r.channel(`undici:client:connectError`),sendHeaders:r.channel(`undici:client:sendHeaders`),create:r.channel(`undici:request:create`),bodySent:r.channel(`undici:request:bodySent`),bodyChunkSent:r.channel(`undici:request:bodyChunkSent`),bodyChunkReceived:r.channel(`undici:request:bodyChunkReceived`),headers:r.channel(`undici:request:headers`),trailers:r.channel(`undici:request:trailers`),error:r.channel(`undici:request:error`),open:r.channel(`undici:websocket:open`),close:r.channel(`undici:websocket:close`),socketError:r.channel(`undici:websocket:socket_error`),ping:r.channel(`undici:websocket:ping`),pong:r.channel(`undici:websocket:pong`),proxyConnected:r.channel(`undici:proxy:connected`)},l=!1;function u(e=a){if(!l){if(c.beforeConnect.hasSubscribers||c.connected.hasSubscribers||c.connectError.hasSubscribers||c.sendHeaders.hasSubscribers){l=!0;return}l=!0,r.subscribe(`undici:client:beforeConnect`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connecting to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connected`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connected to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connectError`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a},error:o}=t;e(`connection to %s%s using %s%s errored - %s`,a,i?`:${i}`:``,r,n,o.message)}),r.subscribe(`undici:client:sendHeaders`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`sending request to %s %s%s`,n,i,r)})}}let d=!1;function f(e=a){if(!d){if(c.headers.hasSubscribers||c.trailers.hasSubscribers||c.error.hasSubscribers){d=!0;return}d=!0,r.subscribe(`undici:request:headers`,t=>{let{request:{method:n,path:r,origin:i},response:{statusCode:a}}=t;e(`received response to %s %s%s - HTTP %d`,n,i,r,a)}),r.subscribe(`undici:request:trailers`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`trailers received from %s %s%s`,n,i,r)}),r.subscribe(`undici:request:error`,t=>{let{request:{method:n,path:r,origin:i},error:a}=t;e(`request to %s %s%s errored - %s`,n,i,r,a.message)})}}let p=!1;function m(e=s){if(!p){if(c.open.hasSubscribers||c.close.hasSubscribers||c.socketError.hasSubscribers||c.ping.hasSubscribers||c.pong.hasSubscribers){p=!0;return}p=!0,r.subscribe(`undici:websocket:open`,t=>{if(t.address!=null){let{address:n,port:r}=t.address;e(`connection opened %s%s`,n,r?`:${r}`:``)}else e(`connection opened`)}),r.subscribe(`undici:websocket:close`,t=>{let{websocket:n,code:r,reason:i}=t;e(`closed connection to %s - %s %s`,n.url,r,i)}),r.subscribe(`undici:websocket:socket_error`,t=>{e(`connection errored - %s`,t.message)}),r.subscribe(`undici:websocket:ping`,t=>{e(`ping received`)}),r.subscribe(`undici:websocket:pong`,t=>{e(`pong received`)})}}(a.enabled||o.enabled)&&(u(o.enabled?o:a),f(o.enabled?o:a)),s.enabled&&(u(a.enabled?a:s),m(s)),n.exports={channels:c}})),Oi=n(((e,n)=>{let{InvalidArgumentError:r,NotSupportedError:i}=G(),a=t(`node:assert`),{isValidHTTPToken:o,isValidHeaderValue:s,isStream:c,destroy:l,isBuffer:u,isFormDataLike:d,isIterable:f,hasSafeIterator:p,isBlobLike:m,serializePathWithQuery:h,parseHeaders:g,assertRequestHandler:_,getServerName:v,normalizedMethodRecords:y,getProtocolFromUrlString:b}=K(),{channels:x}=Di(),{headerNameLowerCasedRecord:S}=wi(),C=/[^\u0021-\u00ff]/,w=Symbol(`handler`),T=Symbol(`controller`),E=Symbol(`resume`);var D=class{#e=!1;#t=null;#n=!1;#r;[E]=null;rawHeaders=null;rawTrailers=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[E]?.())}abort(e){this.#n||(this.#n=!0,this.#t=e,this.#r(e))}get aborted(){return this.#n}get reason(){return this.#t}get paused(){return this.#e}},O=class{constructor(e,{path:t,method:n,body:i,headers:a,query:g,idempotent:S,blocking:T,upgrade:E,headersTimeout:D,bodyTimeout:O,reset:A,expectContinue:j,servername:M,throwOnError:N,maxRedirections:P,typeOfService:F},I){if(typeof t!=`string`)throw new r(`path must be a string`);if(t[0]!==`/`&&!(t.startsWith(`http://`)||t.startsWith(`https://`))&&n!==`CONNECT`)throw new r(`path must be an absolute URL or start with a slash`);if(C.test(t))throw new r(`invalid request path`);if(typeof n!=`string`)throw new r(`method must be a string`);if(y[n]===void 0&&!o(n))throw new r(`invalid request method`);if(E&&typeof E!=`string`)throw new r(`upgrade must be a string`);if(E&&!s(E))throw new r(`invalid upgrade header`);if(D!=null&&(!Number.isFinite(D)||D<0))throw new r(`invalid headersTimeout`);if(O!=null&&(!Number.isFinite(O)||O<0))throw new r(`invalid bodyTimeout`);if(A!=null&&typeof A!=`boolean`)throw new r(`invalid reset`);if(j!=null&&typeof j!=`boolean`)throw new r(`invalid expectContinue`);if(N!=null)throw new r(`invalid throwOnError`);if(P!=null&&P!==0)throw new r(`maxRedirections is not supported, use the redirect interceptor`);if(F!=null&&(!Number.isInteger(F)||F<0||F>255))throw new r(`typeOfService must be an integer between 0 and 255`);if(this.headersTimeout=D,this.bodyTimeout=O,this.method=n,this.typeOfService=F??0,this.abort=null,i==null)this.body=null;else if(c(i)){this.body=i;let e=this.body._readableState;(!e||!e.autoDestroy)&&(this.endHandler=function(){l(this)},this.body.on(`end`,this.endHandler)),this.errorHandler=e=>{this.abort?this.abort(e):this.error=e},this.body.on(`error`,this.errorHandler)}else if(u(i))this.body=i.byteLength?i:null;else if(ArrayBuffer.isView(i))this.body=i.buffer.byteLength?Buffer.from(i.buffer,i.byteOffset,i.byteLength):null;else if(i instanceof ArrayBuffer)this.body=i.byteLength?Buffer.from(i):null;else if(typeof i==`string`)this.body=i.length?Buffer.from(i):null;else if(d(i)||f(i)||m(i))this.body=i;else throw new r(`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=E||null,this.path=g?h(t,g):t,this.origin=e,this.protocol=b(e),this.idempotent=S??(n===`HEAD`||n===`GET`),this.blocking=T??this.method!==`HEAD`,this.reset=A??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=j??!1,Array.isArray(a)){if(a.length%2!=0)throw new r(`headers array must be even`);for(let e=0;e<a.length;e+=2)k(this,a[e],a[e+1])}else if(a&&typeof a==`object`)if(p(a))for(let e of a){if(!Array.isArray(e)||e.length!==2)throw new r(`headers must be in key-value pair format`);k(this,e[0],e[1])}else{let e=Object.keys(a);for(let t=0;t<e.length;++t)k(this,e[t],a[e[t]])}else if(a!=null)throw new r(`headers must be an object or an array`);_(I,n,E),this.servername=M||v(this.host)||null,this[w]=I,x.create.hasSubscribers&&x.create.publish({request:this})}onBodySent(e){if(x.bodyChunkSent.hasSubscribers&&x.bodyChunkSent.publish({request:this,chunk:e}),this[w].onBodySent)try{return this[w].onBodySent(e)}catch(e){this.abort(e)}}onRequestSent(){if(x.bodySent.hasSubscribers&&x.bodySent.publish({request:this}),this[w].onRequestSent)try{return this[w].onRequestSent()}catch(e){this.abort(e)}}onRequestStart(e,t){if(a(!this.aborted),a(!this.completed),this[T]=new D(e),this.error){this[T].abort(this.error);return}return this.abort=e,this[w].onRequestStart(this[T],t)}onResponseStarted(){return this[w].onResponseStarted?.()}onResponseStart(e,t,n,r){a(!this.aborted),a(!this.completed),x.headers.hasSubscribers&&x.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:r}});let i=this[T];i&&(i[E]=n,i.rawHeaders=t);let o=Array.isArray(t)?g(t):t;try{return this[w].onResponseStart?.(i,e,o,r),!i?.paused}catch(e){return this.abort(e),!1}}onResponseData(e){a(!this.aborted),a(!this.completed),x.bodyChunkReceived.hasSubscribers&&x.bodyChunkReceived.publish({request:this,chunk:e});let t=this[T];try{return this[w].onResponseData?.(t,e),!t?.paused}catch(e){return this.abort(e),!1}}onRequestUpgrade(e,t,n){a(!this.aborted),a(!this.completed);let r=this[T];r&&(r.rawHeaders=t);let i=Array.isArray(t)?g(t):t;return this[w].onRequestUpgrade?.(r,e,i,n)}onResponseEnd(e){this.onFinally(),a(!this.aborted),a(!this.completed),this.completed=!0,x.trailers.hasSubscribers&&x.trailers.publish({request:this,trailers:e});let t=this[T];t&&(t.rawTrailers=e);let n=Array.isArray(e)?g(e):e;try{return this[w].onResponseEnd?.(t,n)}catch(e){this.onResponseError(e)}}onResponseError(e){if(this.onFinally(),x.error.hasSubscribers&&x.error.publish({request:this,error:e}),this.aborted)return;this.aborted=!0;let t=this[T];return this[w].onResponseError?.(t,e)}onFinally(){this.errorHandler&&=(this.body.off(`error`,this.errorHandler),null),this.endHandler&&=(this.body.off(`end`,this.endHandler),null)}addHeader(e,t){return k(this,e,t),this}};function k(e,t,n){if(n&&typeof n==`object`&&!Array.isArray(n))throw new r(`invalid ${t} header`);if(n===void 0)return;let a=S[t];if(a===void 0&&(a=t.toLowerCase(),S[a]===void 0&&!o(a)))throw new r(`invalid header key`);if(Array.isArray(n)){let e=[];for(let i=0;i<n.length;i++)if(typeof n[i]==`string`){if(!s(n[i]))throw new r(`invalid ${t} header`);e.push(n[i])}else if(n[i]===null)e.push(``);else if(typeof n[i]==`object`)throw new r(`invalid ${t} header`);else e.push(`${n[i]}`);n=e}else if(typeof n==`string`){if(!s(n))throw new r(`invalid ${t} header`)}else n=n===null?``:`${n}`;if(a===`host`){if(e.host!==null)throw new r(`duplicate host header`);if(typeof n!=`string`)throw new r(`invalid host header`);e.host=n}else if(a===`content-length`){if(e.contentLength!==null)throw new r(`duplicate content-length header`);if(e.contentLength=parseInt(n,10),!Number.isFinite(e.contentLength))throw new r(`invalid content-length header`)}else if(e.contentType===null&&a===`content-type`)e.contentType=n,e.headers.push(t,n);else if(a===`transfer-encoding`||a===`keep-alive`||a===`upgrade`)throw new r(`invalid ${a} header`);else if(a===`connection`){let t=typeof n==`string`?n:null;if(t===null)throw new r(`invalid connection header`);for(let n of t.toLowerCase().split(`,`)){let t=n.trim();if(!o(t))throw new r(`invalid connection header`);t===`close`&&(e.reset=!0)}}else if(a===`expect`)throw new i(`expect header not supported`);else e.headers.push(t,n)}n.exports=O})),ki=n(((e,n)=>{let r=t(`node:events`);n.exports=class extends r{dispatch(){throw Error(`not implemented`)}close(){throw Error(`not implemented`)}destroy(){throw Error(`not implemented`)}compose(...e){let t=Array.isArray(e[0])?e[0]:e,n=this.dispatch.bind(this);for(let e of t)if(e!=null){if(typeof e!=`function`)throw TypeError(`invalid interceptor, expected function received ${typeof e}`);if(n=e(n),n==null||typeof n!=`function`||n.length!==2)throw TypeError(`invalid interceptor`)}return new Proxy(this,{get:(e,t)=>t===`dispatch`?n:e[t]})}}})),Ai=n(((e,t)=>{let n=ki(),{ClientDestroyedError:r,ClientClosedError:i,InvalidArgumentError:a}=G(),{kDestroy:o,kClose:s,kClosed:c,kDestroyed:l,kDispatch:u}=W(),d=Symbol(`onDestroyed`),f=Symbol(`onClosed`),p=Symbol(`webSocketOptions`);t.exports=class extends n{[l]=!1;[d]=null;[c]=!1;[f]=null;constructor(e){super(),this[p]=e?.webSocket??{}}get webSocketOptions(){return{maxPayloadSize:this[p].maxPayloadSize??128*1024*1024}}get destroyed(){return this[l]}get closed(){return this[c]}close(e){if(e===void 0)return new Promise((e,t)=>{this.close((n,r)=>n?t(n):e(r))});if(typeof e!=`function`)throw new a(`invalid callback`);if(this[l]){let t=new r;queueMicrotask(()=>e(t,null));return}if(this[c]){this[f]?this[f].push(e):queueMicrotask(()=>e(null,null));return}this[c]=!0,this[f]??=[],this[f].push(e);let t=()=>{let e=this[f];this[f]=null;for(let t=0;t<e.length;t++)e[t](null,null)};this[s]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e==`function`&&(t=e,e=null),t===void 0)return new Promise((t,n)=>{this.destroy(e,(e,r)=>e?n(e):t(r))});if(typeof t!=`function`)throw new a(`invalid callback`);if(this[l]){this[d]?this[d].push(t):queueMicrotask(()=>t(null,null));return}e||=new r,this[l]=!0,this[d]??=[],this[d].push(t);let n=()=>{let e=this[d];this[d]=null;for(let t=0;t<e.length;t++)e[t](null,null)};this[o](e).then(()=>queueMicrotask(n))}dispatch(e,t){if(!t||typeof t!=`object`)throw new a(`handler must be an object`);try{if(!e||typeof e!=`object`)throw new a(`opts must be an object.`);if(e.dispatcher)throw new a(`opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.`);if(this[l]||this[d])throw new r;if(this[c])throw new i;return this[u](e,t)}catch(e){if(typeof t.onResponseError!=`function`)throw e;return t.onResponseError(null,e),!1}}}})),ji=n(((e,n)=>{let r=t(`node:net`),i=t(`node:assert`),a=K(),{InvalidArgumentError:o}=G(),s,c=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(e=>{if(this._sessionCache.size<this._maxCachedSessions)return;let t=this._sessionCache.get(e);t!==void 0&&t.deref()===void 0&&this._sessionCache.delete(e)})}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 l({allowH2:e,useH2c:n,maxCachedSessions:l,socketPath:u,timeout:d,session:f,...p}){if(l!=null&&(!Number.isInteger(l)||l<0))throw new o(`maxCachedSessions must be a positive integer or zero`);let m={path:u,...p},h=new c(l??100);return d??=1e4,e??=!0,function({hostname:o,host:c,protocol:l,port:u,servername:p,localAddress:g,httpSocket:_},v){let y;if(l===`https:`){s||=t(`node:tls`),p=p||m.servername||a.getServerName(c)||null;let n=p||o;i(n);let r=f||h.get(n)||null;u||=443,y=s.connect({highWaterMark:16384,...m,servername:p,session:r,localAddress:g,ALPNProtocols:e?[`http/1.1`,`h2`]:[`http/1.1`],socket:_,port:u,host:o}),y.on(`session`,function(e){h.set(n,e)})}else i(!_,`httpSocket can only be sent on TLS update`),u||=80,y=r.connect({highWaterMark:64*1024,...m,localAddress:g,port:u,host:o}),n===!0&&(y.alpnProtocol=`h2`);if(m.keepAlive==null||m.keepAlive){let e=m.keepAliveInitialDelay===void 0?6e4:m.keepAliveInitialDelay;y.setKeepAlive(!0,e)}let b=a.setupConnectTimeout(new WeakRef(y),{timeout:d,hostname:o,port:u});return y.setNoDelay(!0).once(l===`https:`?`secureConnect`:`connect`,function(){if(queueMicrotask(b),v){let e=v;v=null,e(null,this)}}).on(`error`,function(e){if(queueMicrotask(b),v){let t=v;v=null,t(e)}}),y}}n.exports=l})),Mi=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.enumToMap=t;function t(e,t=[],n=[]){let r=(t?.length??0)===0,i=(n?.length??0)===0;return Object.fromEntries(Object.entries(e).filter(([,e])=>typeof e==`number`&&(r||t.includes(e))&&(i||!n.includes(e))))}})),Ni=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SPECIAL_HEADERS=e.MINOR=e.MAJOR=e.HTAB_SP_VCHAR_OBS_TEXT=e.QUOTED_STRING=e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS=e.TOKEN=e.HEX=e.URL_CHAR=e.USERINFO_CHARS=e.MARK=e.ALPHANUM=e.NUM=e.HEX_MAP=e.NUM_MAP=e.ALPHA=e.STATUSES_HTTP=e.H_METHOD_MAP=e.METHOD_MAP=e.METHODS_RTSP=e.METHODS_ICE=e.METHODS_HTTP=e.HEADER_STATE=e.FINISH=e.STATUSES=e.METHODS=e.LENIENT_FLAGS=e.FLAGS=e.TYPE=e.ERROR=void 0;let t=Mi();e.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},e.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},e.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},e.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},e.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},e.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},e.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},e.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},e.METHODS_HTTP=[e.METHODS.DELETE,e.METHODS.GET,e.METHODS.HEAD,e.METHODS.POST,e.METHODS.PUT,e.METHODS.CONNECT,e.METHODS.OPTIONS,e.METHODS.TRACE,e.METHODS.COPY,e.METHODS.LOCK,e.METHODS.MKCOL,e.METHODS.MOVE,e.METHODS.PROPFIND,e.METHODS.PROPPATCH,e.METHODS.SEARCH,e.METHODS.UNLOCK,e.METHODS.BIND,e.METHODS.REBIND,e.METHODS.UNBIND,e.METHODS.ACL,e.METHODS.REPORT,e.METHODS.MKACTIVITY,e.METHODS.CHECKOUT,e.METHODS.MERGE,e.METHODS[`M-SEARCH`],e.METHODS.NOTIFY,e.METHODS.SUBSCRIBE,e.METHODS.UNSUBSCRIBE,e.METHODS.PATCH,e.METHODS.PURGE,e.METHODS.MKCALENDAR,e.METHODS.LINK,e.METHODS.UNLINK,e.METHODS.PRI,e.METHODS.SOURCE,e.METHODS.QUERY],e.METHODS_ICE=[e.METHODS.SOURCE],e.METHODS_RTSP=[e.METHODS.OPTIONS,e.METHODS.DESCRIBE,e.METHODS.ANNOUNCE,e.METHODS.SETUP,e.METHODS.PLAY,e.METHODS.PAUSE,e.METHODS.TEARDOWN,e.METHODS.GET_PARAMETER,e.METHODS.SET_PARAMETER,e.METHODS.REDIRECT,e.METHODS.RECORD,e.METHODS.FLUSH,e.METHODS.GET,e.METHODS.POST],e.METHOD_MAP=(0,t.enumToMap)(e.METHODS),e.H_METHOD_MAP=Object.fromEntries(Object.entries(e.METHODS).filter(([e])=>e.startsWith(`H`))),e.STATUSES_HTTP=[e.STATUSES.CONTINUE,e.STATUSES.SWITCHING_PROTOCOLS,e.STATUSES.PROCESSING,e.STATUSES.EARLY_HINTS,e.STATUSES.RESPONSE_IS_STALE,e.STATUSES.REVALIDATION_FAILED,e.STATUSES.DISCONNECTED_OPERATION,e.STATUSES.HEURISTIC_EXPIRATION,e.STATUSES.MISCELLANEOUS_WARNING,e.STATUSES.OK,e.STATUSES.CREATED,e.STATUSES.ACCEPTED,e.STATUSES.NON_AUTHORITATIVE_INFORMATION,e.STATUSES.NO_CONTENT,e.STATUSES.RESET_CONTENT,e.STATUSES.PARTIAL_CONTENT,e.STATUSES.MULTI_STATUS,e.STATUSES.ALREADY_REPORTED,e.STATUSES.TRANSFORMATION_APPLIED,e.STATUSES.IM_USED,e.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,e.STATUSES.MULTIPLE_CHOICES,e.STATUSES.MOVED_PERMANENTLY,e.STATUSES.FOUND,e.STATUSES.SEE_OTHER,e.STATUSES.NOT_MODIFIED,e.STATUSES.USE_PROXY,e.STATUSES.SWITCH_PROXY,e.STATUSES.TEMPORARY_REDIRECT,e.STATUSES.PERMANENT_REDIRECT,e.STATUSES.BAD_REQUEST,e.STATUSES.UNAUTHORIZED,e.STATUSES.PAYMENT_REQUIRED,e.STATUSES.FORBIDDEN,e.STATUSES.NOT_FOUND,e.STATUSES.METHOD_NOT_ALLOWED,e.STATUSES.NOT_ACCEPTABLE,e.STATUSES.PROXY_AUTHENTICATION_REQUIRED,e.STATUSES.REQUEST_TIMEOUT,e.STATUSES.CONFLICT,e.STATUSES.GONE,e.STATUSES.LENGTH_REQUIRED,e.STATUSES.PRECONDITION_FAILED,e.STATUSES.PAYLOAD_TOO_LARGE,e.STATUSES.URI_TOO_LONG,e.STATUSES.UNSUPPORTED_MEDIA_TYPE,e.STATUSES.RANGE_NOT_SATISFIABLE,e.STATUSES.EXPECTATION_FAILED,e.STATUSES.IM_A_TEAPOT,e.STATUSES.PAGE_EXPIRED,e.STATUSES.ENHANCE_YOUR_CALM,e.STATUSES.MISDIRECTED_REQUEST,e.STATUSES.UNPROCESSABLE_ENTITY,e.STATUSES.LOCKED,e.STATUSES.FAILED_DEPENDENCY,e.STATUSES.TOO_EARLY,e.STATUSES.UPGRADE_REQUIRED,e.STATUSES.PRECONDITION_REQUIRED,e.STATUSES.TOO_MANY_REQUESTS,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,e.STATUSES.LOGIN_TIMEOUT,e.STATUSES.NO_RESPONSE,e.STATUSES.RETRY_WITH,e.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,e.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,e.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,e.STATUSES.INVALID_X_FORWARDED_FOR,e.STATUSES.REQUEST_HEADER_TOO_LARGE,e.STATUSES.SSL_CERTIFICATE_ERROR,e.STATUSES.SSL_CERTIFICATE_REQUIRED,e.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,e.STATUSES.INVALID_TOKEN,e.STATUSES.CLIENT_CLOSED_REQUEST,e.STATUSES.INTERNAL_SERVER_ERROR,e.STATUSES.NOT_IMPLEMENTED,e.STATUSES.BAD_GATEWAY,e.STATUSES.SERVICE_UNAVAILABLE,e.STATUSES.GATEWAY_TIMEOUT,e.STATUSES.HTTP_VERSION_NOT_SUPPORTED,e.STATUSES.VARIANT_ALSO_NEGOTIATES,e.STATUSES.INSUFFICIENT_STORAGE,e.STATUSES.LOOP_DETECTED,e.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,e.STATUSES.NOT_EXTENDED,e.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,e.STATUSES.WEB_SERVER_UNKNOWN_ERROR,e.STATUSES.WEB_SERVER_IS_DOWN,e.STATUSES.CONNECTION_TIMEOUT,e.STATUSES.ORIGIN_IS_UNREACHABLE,e.STATUSES.TIMEOUT_OCCURED,e.STATUSES.SSL_HANDSHAKE_FAILED,e.STATUSES.INVALID_SSL_CERTIFICATE,e.STATUSES.RAILGUN_ERROR,e.STATUSES.SITE_IS_OVERLOADED,e.STATUSES.SITE_IS_FROZEN,e.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,e.STATUSES.NETWORK_READ_TIMEOUT,e.STATUSES.NETWORK_CONNECT_TIMEOUT],e.ALPHA=[];for(let t=65;t<=90;t++)e.ALPHA.push(String.fromCharCode(t)),e.ALPHA.push(String.fromCharCode(t+32));e.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},e.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},e.NUM=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],e.ALPHANUM=e.ALPHA.concat(e.NUM),e.MARK=[`-`,`_`,`.`,`!`,`~`,`*`,`'`,`(`,`)`],e.USERINFO_CHARS=e.ALPHANUM.concat(e.MARK).concat([`%`,`;`,`:`,`&`,`=`,`+`,`$`,`,`]),e.URL_CHAR=`!"$%&'()*+,-./:;<=>@[\\]^_\`{|}~`.split(``).concat(e.ALPHANUM),e.HEX=e.NUM.concat([`a`,`b`,`c`,`d`,`e`,`f`,`A`,`B`,`C`,`D`,`E`,`F`]),e.TOKEN=[`!`,`#`,`$`,`%`,`&`,`'`,`*`,`+`,`-`,`.`,`^`,`_`,"`",`|`,`~`].concat(e.ALPHANUM),e.HEADER_CHARS=[` `];for(let t=32;t<=255;t++)t!==127&&e.HEADER_CHARS.push(t);e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS.filter(e=>e!==44),e.QUOTED_STRING=[` `,` `];for(let t=33;t<=255;t++)t!==34&&t!==92&&e.QUOTED_STRING.push(t);e.HTAB_SP_VCHAR_OBS_TEXT=[` `,` `];for(let t=33;t<=126;t++)e.HTAB_SP_VCHAR_OBS_TEXT.push(t);for(let t=128;t<=255;t++)e.HTAB_SP_VCHAR_OBS_TEXT.push(t);e.MAJOR=e.NUM_MAP,e.MINOR=e.MAJOR,e.SPECIAL_HEADERS={connection:e.HEADER_STATE.CONNECTION,"content-length":e.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":e.HEADER_STATE.CONNECTION,"transfer-encoding":e.HEADER_STATE.TRANSFER_ENCODING,upgrade:e.HEADER_STATE.UPGRADE},e.default={ERROR:e.ERROR,TYPE:e.TYPE,FLAGS:e.FLAGS,LENIENT_FLAGS:e.LENIENT_FLAGS,METHODS:e.METHODS,STATUSES:e.STATUSES,FINISH:e.FINISH,HEADER_STATE:e.HEADER_STATE,ALPHA:e.ALPHA,NUM_MAP:e.NUM_MAP,HEX_MAP:e.HEX_MAP,NUM:e.NUM,ALPHANUM:e.ALPHANUM,MARK:e.MARK,USERINFO_CHARS:e.USERINFO_CHARS,URL_CHAR:e.URL_CHAR,HEX:e.HEX,TOKEN:e.TOKEN,HEADER_CHARS:e.HEADER_CHARS,CONNECTION_TOKEN_CHARS:e.CONNECTION_TOKEN_CHARS,QUOTED_STRING:e.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:e.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:e.MAJOR,MINOR:e.MINOR,SPECIAL_HEADERS:e.SPECIAL_HEADERS,METHODS_HTTP:e.METHODS_HTTP,METHODS_ICE:e.METHODS_ICE,METHODS_RTSP:e.METHODS_RTSP,METHOD_MAP:e.METHOD_MAP,H_METHOD_MAP:e.H_METHOD_MAP,STATUSES_HTTP:e.STATUSES_HTTP}})),Pi=n(((e,n)=>{let{Buffer:r}=t(`node:buffer`),i;Object.defineProperty(n,`exports`,{get:()=>i||=r.from(`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==`,`base64`)})})),Fi=n(((e,n)=>{let{Buffer:r}=t(`node:buffer`),i;Object.defineProperty(n,`exports`,{get:()=>i||=r.from(`AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDuMBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISMkJScoKZ4DmwOaA5EDigODA4AD/QL7AvgC8gLxAu8C7QLoAucC5gLlAuQC3ALbAtoC2QLYAtcC1gLVAs8CzgLMAssCygLJAsgCxwLGAsQCwwK+ArwCugK5ArgCtwK2ArUCtAKzArICsQKwAq4CrQKpAqgCpwKmAqUCpAKjAqICoQKgAp8CmAKQAowCiwKKAoEC/gH9AfwB+wH6AfkB+AH3AfUB8wHwAesB6QHoAecB5gHlAeQB4wHiAeEB4AHfAd4B3QHcAdoB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygHJAcgBxwHGAcUBxAHDAcIBwQHAAb8BvgG9AbwBuwG6AbkBuAG3AbYBtQG0AbMBsgGxAbABrwGuAa0BrAGrAaoBqQGoAacBpgGlAaQBowGiAZ8BngGZAZgBlwGWAZUBlAGTAZIBkQGQAY8BjQGMAYcBhgGFAYQBgwGCAX18e3p5dnV0UFFSU1RVCyABIARHDXJB/QEhAgy+AwsgASAERw2YAUHbASECDL0DCyABIARHDfEBQY4BIQIMvAMLIAEgBEcN/AFBhAEhAgy7AwsgASAERw2KAkH/ACECDLoDCyABIARHDZECQf0AIQIMuQMLIAEgBEcNlAJB+wAhAgy4AwsgASAERw0eQR4hAgy3AwsgASAERw0ZQRghAgy2AwsgASAERw3KAkHNACECDLUDCyABIARHDdUCQcYAIQIMtAMLIAEgBEcN1gJBwwAhAgyzAwsgASAERw3cAkE4IQIMsgMLIAMtADBBAUYNrQMMiQMLQQAhAAJAAkACQCADLQAqRQ0AIAMtACtFDQAgAy8BMiICQQJxRQ0BDAILIAMvATIiAkEBcUUNAQtBASEAIAMtAChBAUYNACADLwE0IgZB5ABrQeQASQ0AIAZBzAFGDQAgBkGwAkYNACACQcAAcQ0AQQAhACACQYgEcUGABEYNACACQShxQQBHIQALIANBADsBMiADQQA6ADECQCAARQRAIANBADoAMSADLQAuQQRxDQEMsQMLIANCADcDIAsgA0EAOgAxIANBAToANgxIC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAARQ1IIABBFUcNYiADQQQ2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgyvAwsgASAERgRAQQYhAgyvAwsgAS0AAEEKRw0ZIAFBAWohAQwaCyADQgA3AyBBEiECDJQDCyABIARHDYoDQSMhAgysAwsgASAERgRAQQchAgysAwsCQAJAIAEtAABBCmsOBAEYGAAYCyABQQFqIQFBECECDJMDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBmSA2AhAgA0EZNgIMDKsDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0YQQghAgyqAwsgASAERwRAIANBCTYCCCADIAE2AgRBFCECDJEDC0EJIQIMqQMLIAMpAyBQDa4CDEMLIAEgBEYEQEELIQIMqAMLIAEtAABBCkcNFiABQQFqIQEMFwsgA0Evai0AAEEBcUUNGQwmC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRkMQgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0aDCQLQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGwwyCyADQS9qLQAAQQFxRQ0cDCILQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANHAxCC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADR0MIAsgASAERgRAQRMhAgygAwsCQCABLQAAIgBBCmsOBB8jIwAiCyABQQFqIQEMHwtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0iDEILIAEgBEYEQEEWIQIMngMLIAEtAABBwMEAai0AAEEBRw0jDIMDCwJAA0AgAS0AAEGwO2otAAAiAEEBRwRAAkAgAEECaw4CAwAnCyABQQFqIQFBISECDIYDCyAEIAFBAWoiAUcNAAtBGCECDJ0DCyADKAIEIQBBACECIANBADYCBCADIAAgAUEBaiIBEDQiAA0hDEELQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIwwqCyABIARGBEBBHCECDJsDCyADQQo2AgggAyABNgIEQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANJUEkIQIMgQMLIAEgBEcEQANAIAEtAABBsD1qLQAAIgBBA0cEQCAAQQFrDgUYGiaCAyUmCyAEIAFBAWoiAUcNAAtBGyECDJoDC0EbIQIMmQMLA0AgAS0AAEGwP2otAAAiAEEDRwRAIABBAWsOBQ8RJxMmJwsgBCABQQFqIgFHDQALQR4hAgyYAwsgASAERwRAIANBCzYCCCADIAE2AgRBByECDP8CC0EfIQIMlwMLIAEgBEYEQEEgIQIMlwMLAkAgAS0AAEENaw4ULj8/Pz8/Pz8/Pz8/Pz8/Pz8/PwA/C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAyWAwsgA0EvaiECA0AgASAERgRAQSEhAgyXAwsCQAJAAkAgAS0AACIAQQlrDhgCACkpASkpKSkpKSkpKSkpKSkpKSkpKQInCyABQQFqIQEgA0Evai0AAEEBcUUNCgwYCyABQQFqIQEMFwsgAUEBaiEBIAItAABBAnENAAtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwMlQMLIAMtAC5BgAFxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ3mAiAAQRVGBEAgA0EkNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMlAMLQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDJMDC0EAIQIgA0EANgIcIAMgATYCFCADQb4gNgIQIANBAjYCDAySAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEgDKdqIgEQMiIARQ0rIANBBzYCHCADIAE2AhQgAyAANgIMDJEDCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlgiAkUNACADIAIRAAAhAAsgAEUNKyAAQRVGBEAgA0EKNgIcIAMgATYCFCADQesZNgIQIANBFTYCDEEAIQIMkAMLQQAhAiADQQA2AhwgAyABNgIUIANBkww2AhAgA0ETNgIMDI8DC0EAIQIgA0EANgIcIAMgATYCFCADQYIVNgIQIANBAjYCDAyOAwtBACECIANBADYCHCADIAE2AhQgA0HdFDYCECADQRk2AgwMjQMLQQAhAiADQQA2AhwgAyABNgIUIANB5h02AhAgA0EZNgIMDIwDCyAAQRVGDT1BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMiwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUNKCADQQ02AhwgAyABNgIUIAMgADYCDAyKAwsgAEEVRg06QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIkDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCgLIANBDjYCHCADIAA2AgwgAyABQQFqNgIUDIgDCyAAQRVGDTdBACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMhwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJwsgA0EPNgIcIAMgADYCDCADIAFBAWo2AhQMhgMLQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDIUDCyAAQRVGDTNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwMhAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUNJSADQRE2AhwgAyABNgIUIAMgADYCDAyDAwsgAEEVRg0wQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIIDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDCULIANBEjYCHCADIAA2AgwgAyABQQFqNgIUDIEDCyADQS9qLQAAQQFxRQ0BC0EXIQIM5gILQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDP4CCyAAQTtHDQAgAUEBaiEBDAwLQQAhAiADQQA2AhwgAyABNgIUIANBkhg2AhAgA0ECNgIMDPwCCyAAQRVGDShBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM+wILIANBFDYCHCADIAE2AhQgAyAANgIMDPoCCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDPUCCyADQRU2AhwgAyAANgIMIAMgAUEBajYCFAz5AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzzAgsgA0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+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==`,`base64`)})})),Ii=n(((e,t)=>{let n=[`GET`,`HEAD`,`POST`],r=new Set(n),i=[101,204,205,304],a=[301,302,303,307,308],o=new Set(a),s=`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`.split(`.`),c=new Set(s),l=[`no-referrer`,`no-referrer-when-downgrade`,`same-origin`,`origin`,`strict-origin`,`origin-when-cross-origin`,`strict-origin-when-cross-origin`,`unsafe-url`],u=[``,...l],d=new Set(l),f=[`follow`,`manual`,`error`],p=[`GET`,`HEAD`,`OPTIONS`,`TRACE`],m=new Set(p),h=[`navigate`,`same-origin`,`no-cors`,`cors`],g=[`omit`,`same-origin`,`include`],_=[`default`,`no-store`,`reload`,`no-cache`,`force-cache`,`only-if-cached`],v=[`content-encoding`,`content-language`,`content-location`,`content-type`,`content-length`],y=[`half`],b=[`CONNECT`,`TRACE`,`TRACK`],x=new Set(b),S=[`audio`,`audioworklet`,`font`,`image`,`manifest`,`paintworklet`,`script`,`style`,`track`,`video`,`xslt`,``];t.exports={subresource:S,forbiddenMethods:b,requestBodyHeader:v,referrerPolicy:u,requestRedirect:f,requestMode:h,requestCredentials:g,requestCache:_,redirectStatus:a,corsSafeListedMethods:n,nullBodyStatus:i,safeMethods:p,badPorts:s,requestDuplex:y,subresourceSet:new Set(S),badPortsSet:c,redirectStatusSet:o,corsSafeListedMethodsSet:r,safeMethodsSet:m,forbiddenMethodsSet:x,referrerPolicyTokens:d}})),Li=n(((e,t)=>{let n=Symbol.for(`undici.globalOrigin.1`);function r(){return globalThis[n]}function i(e){if(e===void 0){Object.defineProperty(globalThis,n,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw TypeError(`Only http & https urls are allowed, received ${t.protocol}`);Object.defineProperty(globalThis,n,{value:t,writable:!0,enumerable:!1,configurable:!1})}t.exports={getGlobalOrigin:r,setGlobalOrigin:i}})),Ri=n(((e,t)=>{let n=new TextDecoder;function r(e){return e.length===0?``:(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),n.decode(e))}t.exports={utf8DecodeBytes:r}})),zi=n(((e,n)=>{let r=t(`node:assert`),{utf8DecodeBytes:i}=Ri();function a(e,t,n){let r=``;for(;n.position<t.length&&e(t[n.position]);)r+=t[n.position],n.position++;return r}function o(e,t,n){let r=t.indexOf(e,n.position),i=n.position;return r===-1?(n.position=t.length,t.slice(i)):(n.position=r,t.slice(i,n.position))}let s=/[\u0009\u000A\u000C\u000D\u0020]/g;function c(e){e=e.replace(s,``);let t=e.length;if(t%4==0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4==1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return`failure`;let n=Buffer.from(e,`base64`);return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}function l(e){return e===9||e===10||e===12||e===13||e===32}function u(e){let t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let n=``,r=0,i=65535;for(;r<t;)r+i>t&&(i=t-r),n+=String.fromCharCode.apply(null,e.subarray(r,r+=i));return n}let d=/[^\x00-\xFF]/;function f(e){return r(!d.test(e)),e}function p(e){return JSON.parse(i(e))}function m(e,t=!0,n=!0){return h(e,t,n,l)}function h(e,t,n,r){let i=0,a=e.length-1;if(t)for(;i<e.length&&r(e.charCodeAt(i));)i++;if(n)for(;a>0&&r(e.charCodeAt(a));)a--;return i===0&&a===e.length-1?e:e.slice(i,a+1)}function g(e){let t=JSON.stringify(e);if(t===void 0)throw TypeError(`Value is not JSON serializable`);return r(typeof t==`string`),t}n.exports={collectASequenceOfCodePoints:a,collectASequenceOfCodePointsFast:o,forgivingBase64:c,isASCIIWhitespace:l,isomorphicDecode:u,isomorphicEncode:f,parseJSONFromBytes:p,removeASCIIWhitespace:m,removeChars:h,serializeJavascriptValueToJSONString:g}})),Bi=n(((e,n)=>{let r=t(`node:assert`),{forgivingBase64:i,collectASequenceOfCodePoints:a,collectASequenceOfCodePointsFast:o,isomorphicDecode:s,removeASCIIWhitespace:c,removeChars:l}=zi(),u=new TextEncoder,d=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,f=/[\u000A\u000D\u0009\u0020]/u,p=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function m(e){r(e.protocol===`data:`);let t=h(e,!0);t=t.slice(5);let n={position:0},a=o(`,`,t,n),l=a.length;if(a=c(a,!0,!0),n.position>=t.length)return`failure`;n.position++;let u=g(t.slice(l+1));if(/;(?:\u0020*)base64$/iu.test(a)){if(u=i(s(u)),u===`failure`)return`failure`;a=a.slice(0,-6),a=a.replace(/(\u0020+)$/u,``),a=a.slice(0,-1)}a.startsWith(`;`)&&(a=`text/plain`+a);let d=b(a);return d===`failure`&&(d=b(`text/plain;charset=US-ASCII`)),{mimeType:d,body:u}}function h(e,t=!1){if(!t)return e.href;let n=e.href,r=e.hash.length,i=r===0?n:n.substring(0,n.length-r);return!r&&n.endsWith(`#`)?i.slice(0,-1):i}function g(e){return y(u.encode(e))}function _(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function v(e){return e>=48&&e<=57?e-48:(e&223)-55}function y(e){let t=e.length,n=new Uint8Array(t),r=0,i=0;for(;i<t;){let t=e[i];t===37?t===37&&!(_(e[i+1])&&_(e[i+2]))?n[r++]=37:(n[r++]=v(e[i+1])<<4|v(e[i+2]),i+=2):n[r++]=t,++i}return t===r?n:n.subarray(0,r)}function b(e){e=w(e,!0,!0);let t={position:0},n=o(`/`,e,t);if(n.length===0||!d.test(n)||t.position>=e.length)return`failure`;t.position++;let r=o(`;`,e,t);if(r=w(r,!1,!0),r.length===0||!d.test(r))return`failure`;let i=n.toLowerCase(),s=r.toLowerCase(),c={type:i,subtype:s,parameters:new Map,essence:`${i}/${s}`};for(;t.position<e.length;){t.position++,a(e=>f.test(e),e,t);let n=a(e=>e!==`;`&&e!==`=`,e,t);if(n=n.toLowerCase(),t.position<e.length){if(e[t.position]===`;`)continue;t.position++}if(t.position>=e.length)break;let r=null;if(e[t.position]===`"`)r=x(e,t,!0),o(`;`,e,t);else if(r=o(`;`,e,t),r=w(r,!1,!0),r.length===0)continue;n.length!==0&&d.test(n)&&(r.length===0||p.test(r))&&!c.parameters.has(n)&&c.parameters.set(n,r)}return c}function x(e,t,n=!1){let i=t.position,o=``;for(r(e[t.position]===`"`),t.position++;o+=a(e=>e!==`"`&&e!==`\\`,e,t),!(t.position>=e.length);){let n=e[t.position];if(t.position++,n===`\\`){if(t.position>=e.length){o+=`\\`;break}o+=e[t.position],t.position++}else{r(n===`"`);break}}return n?o:e.slice(i,t.position)}function S(e){r(e!==`failure`);let{parameters:t,essence:n}=e,i=n;for(let[e,n]of t.entries())i+=`;`,i+=e,i+=`=`,d.test(n)||(n=n.replace(/[\\"]/gu,`\\$&`),n=`"`+n,n+=`"`),i+=n;return i}function C(e){return e===13||e===10||e===9||e===32}function w(e,t=!0,n=!0){return l(e,t,n,C)}function T(e){switch(e.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 e.subtype.endsWith(`+json`)?`application/json`:e.subtype.endsWith(`+xml`)?`application/xml`:``}n.exports={dataURLProcessor:m,URLSerializer:h,stringPercentDecode:g,parseMIMEType:b,collectAnHTTPQuotedString:x,serializeAMimeType:S,removeHTTPWhitespace:w,minimizeSupportedMimeType:T,HTTP_TOKEN_CODEPOINTS:d}})),Vi=n(((e,n)=>{let r=t(`node:assert`),{types:i,inspect:a}=t(`node:util`),{markAsUncloneable:o}=t(`node:worker_threads`),s=Function.call.bind(Function.prototype[Symbol.hasInstance]),c={converters:{},util:{},errors:{},is:{}};c.errors.exception=function(e){return TypeError(`${e.header}: ${e.message}`)},c.errors.conversionFailed=function(e){let t=e.types.length===1?``:` one of`,n=`${e.argument} could not be converted to${t}: ${e.types.join(`, `)}.`;return c.errors.exception({header:e.prefix,message:n})},c.errors.invalidArgument=function(e){return c.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})},c.brandCheck=function(e,t){if(!s(t,e)){let e=TypeError(`Illegal invocation`);throw e.code=`ERR_INVALID_THIS`,e}},c.brandCheckMultiple=function(e){let t=e.map(e=>c.util.MakeTypeAssertion(e));return e=>{if(t.every(t=>!t(e))){let e=TypeError(`Illegal invocation`);throw e.code=`ERR_INVALID_THIS`,e}}},c.argumentLengthCheck=function({length:e},t,n){if(e<t)throw c.errors.exception({message:`${t} argument${t===1?``:`s`} required, but${e?` only`:``} ${e} found.`,header:n})},c.illegalConstructor=function(){throw c.errors.exception({header:`TypeError`,message:`Illegal constructor`})},c.util.MakeTypeAssertion=function(e){return t=>s(e,t)},c.util.Type=function(e){switch(typeof e){case`undefined`:return 1;case`boolean`:return 2;case`string`:return 3;case`symbol`:return 4;case`number`:return 5;case`bigint`:return 6;case`function`:case`object`:return e===null?7:8}},c.util.Types={UNDEFINED:1,BOOLEAN:2,STRING:3,SYMBOL:4,NUMBER:5,BIGINT:6,NULL:7,OBJECT:8},c.util.TypeValueToString=function(e){switch(c.util.Type(e)){case 1:return`Undefined`;case 2:return`Boolean`;case 3:return`String`;case 4:return`Symbol`;case 5:return`Number`;case 6:return`BigInt`;case 7:return`Null`;case 8:return`Object`}},c.util.markAsUncloneable=o,c.util.ConvertToInt=function(e,t,n,r){let i,a;t===64?(i=2**53-1,a=n===`unsigned`?0:-9007199254740991):n===`unsigned`?(a=0,i=2**t-1):(a=(-2)**t-1,i=2**(t-1)-1);let o=Number(e);if(o===0&&(o=0),c.util.HasFlag(r,c.attributes.EnforceRange)){if(Number.isNaN(o)||o===1/0||o===-1/0)throw c.errors.exception({header:`Integer conversion`,message:`Could not convert ${c.util.Stringify(e)} to an integer.`});if(o=c.util.IntegerPart(o),o<a||o>i)throw c.errors.exception({header:`Integer conversion`,message:`Value must be between ${a}-${i}, got ${o}.`});return o}return!Number.isNaN(o)&&c.util.HasFlag(r,c.attributes.Clamp)?(o=Math.min(Math.max(o,a),i),o=Math.floor(o)%2==0?Math.floor(o):Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===1/0||o===-1/0?0:(o=c.util.IntegerPart(o),o%=2**t,n===`signed`&&o>=2**t-1?o-2**t:o)},c.util.IntegerPart=function(e){let t=Math.floor(Math.abs(e));return e<0?-1*t:t},c.util.Stringify=function(e){switch(c.util.Type(e)){case 4:return`Symbol(${e.description})`;case 8:return a(e);case 3:return`"${e}"`;case 6:return`${e}n`;default:return`${e}`}},c.util.IsResizableArrayBuffer=function(e){if(i.isArrayBuffer(e))return e.resizable;if(i.isSharedArrayBuffer(e))return e.growable;throw c.errors.exception({header:`IsResizableArrayBuffer`,message:`"${c.util.Stringify(e)}" is not an array buffer.`})},c.util.HasFlag=function(e,t){return typeof e==`number`&&(e&t)===t},c.sequenceConverter=function(e){return(t,n,r,i)=>{if(c.util.Type(t)!==8)throw c.errors.exception({header:n,message:`${r} (${c.util.Stringify(t)}) is not iterable.`});let a=typeof i==`function`?i():t?.[Symbol.iterator]?.(),o=[],s=0;if(a===void 0||typeof a.next!=`function`)throw c.errors.exception({header:n,message:`${r} is not iterable.`});for(;;){let{done:t,value:i}=a.next();if(t)break;o.push(e(i,n,`${r}[${s++}]`))}return o}},c.recordConverter=function(e,t){return(n,r,a)=>{if(c.util.Type(n)!==8)throw c.errors.exception({header:r,message:`${a} ("${c.util.TypeValueToString(n)}") is not an Object.`});let o={};if(!i.isProxy(n)){let i=[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)];for(let s of i){let i=c.util.Stringify(s),l=e(s,r,`Key ${i} in ${a}`);o[l]=t(n[s],r,`${a}[${i}]`)}return o}let s=Reflect.ownKeys(n);for(let i of s)if(Reflect.getOwnPropertyDescriptor(n,i)?.enumerable){let s=e(i,r,a);o[s]=t(n[i],r,a)}return o}},c.interfaceConverter=function(e,t){return(n,r,i)=>{if(!e(n))throw c.errors.exception({header:r,message:`Expected ${i} ("${c.util.Stringify(n)}") to be an instance of ${t}.`});return n}},c.dictionaryConverter=function(e){return e.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(t,n,r)=>{let i={};if(t!=null&&c.util.Type(t)!==8)throw c.errors.exception({header:n,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(let a of e){let{key:e,defaultValue:o,required:s,converter:l}=a;if(s===!0&&(t==null||!Object.hasOwn(t,e)))throw c.errors.exception({header:n,message:`Missing required key "${e}".`});let u=t?.[e],d=o!==void 0;if(d&&u===void 0&&(u=o()),s||d||u!==void 0){if(u=l(u,n,`${r}.${e}`),a.allowedValues&&!a.allowedValues.includes(u))throw c.errors.exception({header:n,message:`${u} is not an accepted type. Expected one of ${a.allowedValues.join(`, `)}.`});i[e]=u}}return i}},c.nullableConverter=function(e){return(t,n,r)=>t===null?t:e(t,n,r)},c.is.USVString=function(e){return typeof e==`string`&&e.isWellFormed()},c.is.ReadableStream=c.util.MakeTypeAssertion(ReadableStream),c.is.Blob=c.util.MakeTypeAssertion(Blob),c.is.URLSearchParams=c.util.MakeTypeAssertion(URLSearchParams),c.is.File=c.util.MakeTypeAssertion(File),c.is.URL=c.util.MakeTypeAssertion(URL),c.is.AbortSignal=c.util.MakeTypeAssertion(AbortSignal),c.is.MessagePort=c.util.MakeTypeAssertion(MessagePort),c.is.BufferSource=function(e){return i.isArrayBuffer(e)||ArrayBuffer.isView(e)&&i.isArrayBuffer(e.buffer)},c.util.getCopyOfBytesHeldByBufferSource=function(e){let t=e,n=t,a=0,o=0;if(i.isTypedArray(t)||i.isDataView(t)?(n=t.buffer,a=t.byteOffset,o=t.byteLength):(r(i.isAnyArrayBuffer(t)),o=t.byteLength),n.detached)return new Uint8Array;let s=new Uint8Array(o),c=new Uint8Array(n,a,o);return s.set(c),s},c.converters.DOMString=function(e,t,n,r){if(e===null&&c.util.HasFlag(r,c.attributes.LegacyNullToEmptyString))return``;if(typeof e==`symbol`)throw c.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a DOMString.`});return String(e)},c.converters.ByteString=function(e,t,n){if(typeof e==`symbol`)throw c.errors.exception({header:t,message:`${n} is a symbol, which cannot be converted to a ByteString.`});let r=String(e);for(let e=0;e<r.length;e++)if(r.charCodeAt(e)>255)throw TypeError(`Cannot convert argument to a ByteString because the character at index ${e} has a value of ${r.charCodeAt(e)} which is greater than 255.`);return r},c.converters.USVString=function(e){return typeof e==`string`?e.toWellFormed():`${e}`.toWellFormed()},c.converters.boolean=function(e){return!!e},c.converters.any=function(e){return e},c.converters[`long long`]=function(e,t,n){return c.util.ConvertToInt(e,64,`signed`,0,t,n)},c.converters[`unsigned long long`]=function(e,t,n){return c.util.ConvertToInt(e,64,`unsigned`,0,t,n)},c.converters[`unsigned long`]=function(e,t,n){return c.util.ConvertToInt(e,32,`unsigned`,0,t,n)},c.converters[`unsigned short`]=function(e,t,n,r){return c.util.ConvertToInt(e,16,`unsigned`,r,t,n)},c.converters.ArrayBuffer=function(e,t,n,r){if(c.util.Type(e)!==8||!i.isArrayBuffer(e))throw c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`ArrayBuffer`]});if(!c.util.HasFlag(r,c.attributes.AllowResizable)&&c.util.IsResizableArrayBuffer(e))throw c.errors.exception({header:t,message:`${n} cannot be a resizable ArrayBuffer.`});return e},c.converters.SharedArrayBuffer=function(e,t,n,r){if(c.util.Type(e)!==8||!i.isSharedArrayBuffer(e))throw c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`SharedArrayBuffer`]});if(!c.util.HasFlag(r,c.attributes.AllowResizable)&&c.util.IsResizableArrayBuffer(e))throw c.errors.exception({header:t,message:`${n} cannot be a resizable SharedArrayBuffer.`});return e},c.converters.TypedArray=function(e,t,n,r,a){if(c.util.Type(e)!==8||!i.isTypedArray(e)||e.constructor.name!==t.name)throw c.errors.conversionFailed({prefix:n,argument:`${r} ("${c.util.Stringify(e)}")`,types:[t.name]});if(!c.util.HasFlag(a,c.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw c.errors.exception({header:n,message:`${r} cannot be a view on a shared array buffer.`});if(!c.util.HasFlag(a,c.attributes.AllowResizable)&&c.util.IsResizableArrayBuffer(e.buffer))throw c.errors.exception({header:n,message:`${r} cannot be a view on a resizable array buffer.`});return e},c.converters.DataView=function(e,t,n,r){if(c.util.Type(e)!==8||!i.isDataView(e))throw c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`DataView`]});if(!c.util.HasFlag(r,c.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw c.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!c.util.HasFlag(r,c.attributes.AllowResizable)&&c.util.IsResizableArrayBuffer(e.buffer))throw c.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},c.converters.ArrayBufferView=function(e,t,n,r){if(c.util.Type(e)!==8||!i.isArrayBufferView(e))throw c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`ArrayBufferView`]});if(!c.util.HasFlag(r,c.attributes.AllowShared)&&i.isSharedArrayBuffer(e.buffer))throw c.errors.exception({header:t,message:`${n} cannot be a view on a shared array buffer.`});if(!c.util.HasFlag(r,c.attributes.AllowResizable)&&c.util.IsResizableArrayBuffer(e.buffer))throw c.errors.exception({header:t,message:`${n} cannot be a view on a resizable array buffer.`});return e},c.converters.BufferSource=function(e,t,n,r){if(i.isArrayBuffer(e))return c.converters.ArrayBuffer(e,t,n,r);if(i.isArrayBufferView(e))return r&=~c.attributes.AllowShared,c.converters.ArrayBufferView(e,t,n,r);throw i.isSharedArrayBuffer(e)?c.errors.exception({header:t,message:`${n} cannot be a SharedArrayBuffer.`}):c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`ArrayBuffer`,`ArrayBufferView`]})},c.converters.AllowSharedBufferSource=function(e,t,n,r){if(i.isArrayBuffer(e))return c.converters.ArrayBuffer(e,t,n,r);if(i.isSharedArrayBuffer(e))return c.converters.SharedArrayBuffer(e,t,n,r);if(i.isArrayBufferView(e))return r|=c.attributes.AllowShared,c.converters.ArrayBufferView(e,t,n,r);throw c.errors.conversionFailed({prefix:t,argument:`${n} ("${c.util.Stringify(e)}")`,types:[`ArrayBuffer`,`SharedArrayBuffer`,`ArrayBufferView`]})},c.converters[`sequence<ByteString>`]=c.sequenceConverter(c.converters.ByteString),c.converters[`sequence<sequence<ByteString>>`]=c.sequenceConverter(c.converters[`sequence<ByteString>`]),c.converters[`record<ByteString, ByteString>`]=c.recordConverter(c.converters.ByteString,c.converters.ByteString),c.converters.Blob=c.interfaceConverter(c.is.Blob,`Blob`),c.converters.AbortSignal=c.interfaceConverter(c.is.AbortSignal,`AbortSignal`),c.converters.EventHandlerNonNull=function(e){return c.util.Type(e)===8?typeof e==`function`?e:()=>{}:null},c.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},n.exports={webidl:c}})),Hi=n(((e,n)=>{let{Transform:r}=t(`node:stream`),i=t(`node:zlib`),{redirectStatusSet:a,referrerPolicyTokens:o,badPortsSet:s}=Ii(),{getGlobalOrigin:c}=Li(),{collectAnHTTPQuotedString:l,parseMIMEType:u}=Bi(),{performance:d}=t(`node:perf_hooks`),{ReadableStreamFrom:f,isValidHTTPToken:p,normalizedMethodRecordsBase:m}=K(),h=t(`node:assert`),{isUint8Array:g}=t(`node:util/types`),{webidl:_}=Vi(),{isomorphicEncode:v,collectASequenceOfCodePoints:y,removeChars:b}=zi();function x(e){let t=e.urlList,n=t.length;return n===0?null:t[n-1].toString()}function S(e,t){if(!a.has(e.status))return null;let n=e.headersList.get(`location`,!0);return n!==null&&A(n)&&(C(n)||(n=w(n)),n=new URL(n,x(e))),n&&!n.hash&&(n.hash=t),n}function C(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n>126||n<32)return!1}return!0}function w(e){return Buffer.from(e,`binary`).toString(`utf8`)}function T(e){return e.urlList[e.urlList.length-1]}function E(e){let t=T(e);return be(t)&&s.has(t.port)?`blocked`:`allowed`}function D(e){return e instanceof Error||e?.constructor?.name===`Error`||e?.constructor?.name===`DOMException`}function O(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(!(n===9||n>=32&&n<=126||n>=128&&n<=255))return!1}return!0}let k=p;function A(e){return(e[0]===` `||e[0]===` `||e[e.length-1]===` `||e[e.length-1]===` `||e.includes(`
|
|
120
|
+
`)||e.includes(`\r`)||e.includes(`\0`))===!1}function j(e){let t=(e.headersList.get(`referrer-policy`,!0)??``).split(`,`),n=``;if(t.length)for(let e=t.length;e!==0;e--){let r=t[e-1].trim();if(o.has(r)){n=r;break}}return n}function M(e,t){let n=j(t);n!==``&&(e.referrerPolicy=n)}function N(){return`allowed`}function P(){return`success`}function F(){return`success`}function I(e){let t=null;t=e.mode,e.headersList.set(`sec-fetch-mode`,t,!0)}function ee(e){let t=e.origin;if(!(t===`client`||t===void 0)){if(e.responseTainting===`cors`||e.mode===`websocket`)e.headersList.append(`origin`,t,!0);else if(e.method!==`GET`&&e.method!==`HEAD`){switch(e.referrerPolicy){case`no-referrer`:t=null;break;case`no-referrer-when-downgrade`:case`strict-origin`:case`strict-origin-when-cross-origin`:e.origin&&ye(e.origin)&&!ye(T(e))&&(t=null);break;case`same-origin`:le(e,T(e))||(t=null);break;default:}e.headersList.append(`origin`,t,!0)}}}function L(e,t){return e}function te(e,t,n){return!e?.startTime||e.startTime<t?{domainLookupStartTime:t,domainLookupEndTime:t,connectionStartTime:t,connectionEndTime:t,secureConnectionStartTime:t,ALPNNegotiatedProtocol:e?.ALPNNegotiatedProtocol}:{domainLookupStartTime:L(e.domainLookupStartTime,n),domainLookupEndTime:L(e.domainLookupEndTime,n),connectionStartTime:L(e.connectionStartTime,n),connectionEndTime:L(e.connectionEndTime,n),secureConnectionStartTime:L(e.secureConnectionStartTime,n),ALPNNegotiatedProtocol:e.ALPNNegotiatedProtocol}}function R(e){return L(d.now(),e)}function ne(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function re(){return{referrerPolicy:`strict-origin-when-cross-origin`}}function z(e){return{referrerPolicy:e.referrerPolicy}}function ie(e){let t=e.referrerPolicy;h(t);let n=null;if(e.referrer===`client`){let e=c();if(!e||e.origin===`null`)return`no-referrer`;n=new URL(e)}else _.is.URL(e.referrer)&&(n=e.referrer);let r=ae(n),i=ae(n,!0);switch(r.toString().length>4096&&(r=i),t){case`no-referrer`:return`no-referrer`;case`origin`:return i??ae(n,!0);case`unsafe-url`:return r;case`strict-origin`:{let t=T(e);return H(r)&&!H(t)?`no-referrer`:i}case`strict-origin-when-cross-origin`:{let t=T(e);return le(r,t)?r:H(r)&&!H(t)?`no-referrer`:i}case`same-origin`:return le(e,r)?r:`no-referrer`;case`origin-when-cross-origin`:return le(e,r)?r:i;case`no-referrer-when-downgrade`:{let t=T(e);return H(r)&&!H(t)?`no-referrer`:r}}}function ae(e,t=!1){return h(_.is.URL(e)),e=new URL(e),ve(e)?`no-referrer`:(e.username=``,e.password=``,e.hash=``,t===!0&&(e.pathname=``,e.search=``),e)}let B=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)$/),V=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function oe(e){return e.includes(`:`)?(e[0]===`[`&&e[e.length-1]===`]`&&(e=e.slice(1,-1)),V(e)):B(e)}function se(e){return e==null||e===`null`?!1:(e=new URL(e),!!(e.protocol===`https:`||e.protocol===`wss:`||oe(e.hostname)||e.hostname===`localhost`||e.hostname===`localhost.`||e.hostname.endsWith(`.localhost`)||e.hostname.endsWith(`.localhost.`)||e.protocol===`file:`))}function H(e){return _.is.URL(e)?e.href===`about:blank`||e.href===`about:srcdoc`||e.protocol===`data:`||e.protocol===`blob:`?!0:se(e.origin):!1}function ce(e){}function le(e,t){return e.origin===t.origin&&e.origin===`null`||e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port}function ue(e){return e.controller.state===`aborted`}function de(e){return e.controller.state===`aborted`||e.controller.state===`terminated`}function fe(e){return m[e.toLowerCase()]??e}let U=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function pe(e,t,n=0,r=1){class i{#e;#t;#n;constructor(e,t){this.#e=e,this.#t=t,this.#n=0}next(){if(typeof this!=`object`||this===null||!(#e in this))throw TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`);let i=this.#n,a=t(this.#e);if(i>=a.length)return{value:void 0,done:!0};let{[n]:o,[r]:s}=a[i];this.#n=i+1;let c;switch(this.#t){case`key`:c=o;break;case`value`:c=s;break;case`key+value`:c=[o,s];break}return{value:c,done:!1}}}return delete i.prototype.constructor,Object.setPrototypeOf(i.prototype,U),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(e,t){return new i(e,t)}}function me(e,t,n,r=0,i=1){let a=pe(e,n,r,i),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`key`)}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`value`)}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return _.brandCheck(this,t),a(this,`key+value`)}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(n,r=globalThis){if(_.brandCheck(this,t),_.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof n!=`function`)throw TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:e,1:t}of a(this,`key+value`))n.call(r,t,e,this)}}};return Object.defineProperties(t.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function he(e,t,n){let r=t,i=n;try{_e(e.stream.getReader(),r,i)}catch(e){i(e)}}function ge(e){try{e.close(),e.byobRequest?.respond(0)}catch(e){if(!e.message.includes(`Controller is already closed`)&&!e.message.includes(`ReadableStream is already closed`))throw e}}async function _e(e,t,n){try{let r=[],i=0;do{let{done:a,value:o}=await e.read();if(a){t(Buffer.concat(r,i));return}if(!g(o)){n(TypeError(`Received non-Uint8Array chunk`));return}r.push(o),i+=o.length}while(!0)}catch(e){n(e)}}function ve(e){h(`protocol`in e);let t=e.protocol;return t===`about:`||t===`blob:`||t===`data:`}function ye(e){return typeof e==`string`&&e[5]===`:`&&e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`&&e[4]===`s`||e.protocol===`https:`}function be(e){h(`protocol`in e);let t=e.protocol;return t===`http:`||t===`https:`}function xe(e,t){let n=e;if(!n.startsWith(`bytes`))return`failure`;let r={position:5};if(t&&y(e=>e===` `||e===` `,n,r),n.charCodeAt(r.position)!==61)return`failure`;r.position++,t&&y(e=>e===` `||e===` `,n,r);let i=y(e=>{let t=e.charCodeAt(0);return t>=48&&t<=57},n,r),a=i.length?Number(i):null;if(t&&y(e=>e===` `||e===` `,n,r),n.charCodeAt(r.position)!==45)return`failure`;r.position++,t&&y(e=>e===` `||e===` `,n,r);let o=y(e=>{let t=e.charCodeAt(0);return t>=48&&t<=57},n,r),s=o.length?Number(o):null;return r.position<n.length||s===null&&a===null||a>s?`failure`:{rangeStartValue:a,rangeEndValue:s}}function Se(e,t,n){let r=`bytes `;return r+=v(`${e}`),r+=`-`,r+=v(`${t}`),r+=`/`,r+=v(`${n}`),r}var Ce=class extends r{#e;constructor(e){super(),this.#e=e}_transform(e,t,n){if(!this._inflateStream){if(e.length===0){n();return}this._inflateStream=(e[0]&15)==8?i.createInflate(this.#e):i.createInflateRaw(this.#e),this._inflateStream.on(`data`,this.push.bind(this)),this._inflateStream.on(`end`,()=>this.push(null)),this._inflateStream.on(`error`,e=>this.destroy(e))}this._inflateStream.write(e,t,n)}_final(e){this._inflateStream&&=(this._inflateStream.end(),null),e()}};function we(e){return new Ce(e)}function Te(e){let t=null,n=null,r=null,i=De(`content-type`,e);if(i===null)return`failure`;for(let e of i){let i=u(e);i===`failure`||i.essence===`*/*`||(r=i,r.essence===n?!r.parameters.has(`charset`)&&t!==null&&r.parameters.set(`charset`,t):(t=null,r.parameters.has(`charset`)&&(t=r.parameters.get(`charset`)),n=r.essence))}return r??`failure`}function Ee(e){let t=e,n={position:0},r=[],i=``;for(;n.position<t.length;){if(i+=y(e=>e!==`"`&&e!==`,`,t,n),n.position<t.length)if(t.charCodeAt(n.position)===34){if(i+=l(t,n),n.position<t.length)continue}else h(t.charCodeAt(n.position)===44),n.position++;i=b(i,!0,!0,e=>e===9||e===32),r.push(i),i=``}return r}function De(e,t){let n=t.get(e,!0);return n===null?null:Ee(n)}function Oe(e){return!1}function ke(e){return!!(e.username||e.password)}function Ae(e){return e!=null&&e!==`client`&&e!==`no-traversable`}var je=class{get baseUrl(){return c()}get origin(){return this.baseUrl?.origin}policyContainer=re()};n.exports={isAborted:ue,isCancelled:de,isValidEncodedURL:C,ReadableStreamFrom:f,tryUpgradeRequestToAPotentiallyTrustworthyURL:ce,clampAndCoarsenConnectionTimingInfo:te,coarsenedSharedCurrentTime:R,determineRequestsReferrer:ie,makePolicyContainer:re,clonePolicyContainer:z,appendFetchMetadata:I,appendRequestOriginHeader:ee,TAOCheck:F,corsCheck:P,crossOriginResourcePolicyCheck:N,createOpaqueTimingInfo:ne,setRequestReferrerPolicyOnRedirect:M,isValidHTTPToken:p,requestBadPort:E,requestCurrentURL:T,responseURL:x,responseLocationURL:S,isURLPotentiallyTrustworthy:H,isValidReasonPhrase:O,sameOrigin:le,normalizeMethod:fe,iteratorMixin:me,createIterator:pe,isValidHeaderName:k,isValidHeaderValue:A,isErrorLike:D,fullyReadBody:he,readableStreamClose:ge,urlIsLocal:ve,urlHasHttpsScheme:ye,urlIsHttpHttpsScheme:be,readAllBytes:_e,simpleRangeHeaderValue:xe,buildContentRange:Se,createInflate:we,extractMimeType:Te,getDecodeSplit:De,environmentSettingsObject:new class{settingsObject=new je},isOriginIPPotentiallyTrustworthy:oe,hasAuthenticationEntry:Oe,includesCredentials:ke,isTraversableNavigable:Ae}})),Ui=n(((e,n)=>{let{iteratorMixin:r}=Hi(),{kEnumerableProperty:i}=K(),{webidl:a}=Vi(),o=t(`node:util`);var s=class e{#e=[];constructor(e=void 0){if(a.util.markAsUncloneable(this),e!==void 0)throw a.errors.conversionFailed({prefix:`FormData constructor`,argument:`Argument 1`,types:[`undefined`]})}append(t,n,r=void 0){a.brandCheck(this,e);let i=`FormData.append`;a.argumentLengthCheck(arguments,2,i),t=a.converters.USVString(t),arguments.length===3||a.is.Blob(n)?(n=a.converters.Blob(n,i,`value`),r!==void 0&&(r=a.converters.USVString(r))):n=a.converters.USVString(n);let o=u(t,n,r);this.#e.push(o)}delete(t){a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.delete`),t=a.converters.USVString(t),this.#e=this.#e.filter(e=>e.name!==t)}get(t){a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.get`),t=a.converters.USVString(t);let n=this.#e.findIndex(e=>e.name===t);return n===-1?null:this.#e[n].value}getAll(t){return a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.getAll`),t=a.converters.USVString(t),this.#e.filter(e=>e.name===t).map(e=>e.value)}has(t){return a.brandCheck(this,e),a.argumentLengthCheck(arguments,1,`FormData.has`),t=a.converters.USVString(t),this.#e.findIndex(e=>e.name===t)!==-1}set(t,n,r=void 0){a.brandCheck(this,e);let i=`FormData.set`;a.argumentLengthCheck(arguments,2,i),t=a.converters.USVString(t),arguments.length===3||a.is.Blob(n)?(n=a.converters.Blob(n,i,`value`),r!==void 0&&(r=a.converters.USVString(r))):n=a.converters.USVString(n);let o=u(t,n,r),s=this.#e.findIndex(e=>e.name===t);s===-1?this.#e.push(o):this.#e=[...this.#e.slice(0,s),o,...this.#e.slice(s+1).filter(e=>e.name!==t)]}[o.inspect.custom](e,t){let n=this.#e.reduce((e,t)=>(e[t.name]?Array.isArray(e[t.name])?e[t.name].push(t.value):e[t.name]=[e[t.name],t.value]:e[t.name]=t.value,e),{__proto__:null});t.depth??=e,t.colors??=!0;let r=o.formatWithOptions(t,n);return`FormData ${r.slice(r.indexOf(`]`)+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}};let{getFormDataState:c,setFormDataState:l}=s;Reflect.deleteProperty(s,`getFormDataState`),Reflect.deleteProperty(s,`setFormDataState`),r(`FormData`,s,c,`name`,`value`),Object.defineProperties(s.prototype,{append:i,delete:i,get:i,getAll:i,has:i,set:i,[Symbol.toStringTag]:{value:`FormData`,configurable:!0}});function u(e,t,n){if(typeof t!=`string`&&(a.is.File(t)||(t=new File([t],`blob`,{type:t.type})),n!==void 0)){let e={type:t.type,lastModified:t.lastModified};t=new File([t],n,e)}return{name:e,value:t}}a.is.FormData=a.util.MakeTypeAssertion(s),n.exports={FormData:s,makeEntry:u,setFormDataState:l}})),Wi=n(((e,n)=>{let{bufferToLowerCasedHeaderName:r}=K(),{HTTP_TOKEN_CODEPOINTS:i}=Bi(),{makeEntry:a}=Ui(),{webidl:o}=Vi(),s=t(`node:assert`),{isomorphicDecode:c}=zi(),l=Buffer.from(`--`),u=new TextDecoder,d=new TextDecoder(`utf-8`,{ignoreBOM:!0});function f(e){for(let t=0;t<e.length;++t)if(e.charCodeAt(t)&-128)return!1;return!0}function p(e){let t=e.length;if(t<27||t>70)return!1;for(let n=0;n<t;++n){let t=e.charCodeAt(n);if(!(t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===39||t===45||t===95))return!1}return!0}function m(e,t){s(t!==`failure`&&t.essence===`multipart/form-data`);let n=t.parameters.get(`boundary`);if(n===void 0)throw b(`missing boundary in content-type header`);let r=Buffer.from(`--${n}`,`utf8`),i=[],c={position:0},u=e.indexOf(r);if(u===-1)throw b(`no boundary found in multipart body`);for(c.position=u;;){if(e.subarray(c.position,c.position+r.length).equals(r))c.position+=r.length;else throw b(`expected a value starting with -- and the boundary`);if(y(e,l,c))return i;if(e[c.position]!==13||e[c.position+1]!==10)throw b(`expected CRLF`);c.position+=2;let{name:t,filename:n,contentType:u,encoding:p}=g(e,c);c.position+=2;let m;{let t=e.indexOf(r.subarray(2),c.position);if(t===-1)throw b(`expected boundary after body`);m=e.subarray(c.position,t-4),c.position+=m.length,p===`base64`&&(m=Buffer.from(m.toString(),`base64`))}if(e[c.position]!==13||e[c.position+1]!==10)throw b(`expected CRLF`);c.position+=2;let h;n===null?h=d.decode(Buffer.from(m)):(u??=`text/plain`,f(u)||(u=``),h=new File([m],n,{type:u})),s(o.is.USVString(t)),s(typeof h==`string`&&o.is.USVString(h)||o.is.File(h)),i.push(a(t,h,n))}}function h(e,t){e[t.position]===59&&t.position++,_(e=>e===32||e===9,e,t);let n=_(e=>C(e)&&e!==61&&e!==42,e,t);if(n.length===0)return null;let r=n.toString(`ascii`).toLowerCase(),i=e[t.position]===42;if(i&&t.position++,e[t.position]!==61)return null;t.position++,_(e=>e===32||e===9,e,t);let a;if(i){let n=_(e=>e!==32&&e!==13&&e!==10&&e!==59,e,t);if(n[0]!==117&&n[0]!==85||n[1]!==116&&n[1]!==84||n[2]!==102&&n[2]!==70||n[3]!==45||n[4]!==56)throw b(`unknown encoding, expected utf-8''`);a=decodeURIComponent(u.decode(n.subarray(7)))}else if(e[t.position]===34){t.position++;let n=_(e=>e!==10&&e!==13&&e!==34,e,t);if(e[t.position]!==34)throw b(`Closing quote not found`);t.position++,a=u.decode(n).replace(/%0A/gi,`
|
|
121
|
+
`).replace(/%0D/gi,`\r`).replace(/%22/g,`"`)}else{let n=_(e=>C(e)&&e!==59,e,t);a=u.decode(n)}return{name:r,value:a}}function g(e,t){let n=null,a=null,o=null,s=null;for(;;){if(e[t.position]===13&&e[t.position+1]===10){if(n===null)throw b(`header name is null`);return{name:n,filename:a,contentType:o,encoding:s}}let l=_(e=>e!==10&&e!==13&&e!==58,e,t);if(l=v(l,!0,!0,e=>e===9||e===32),!i.test(l.toString()))throw b(`header name does not match the field-name token production`);if(e[t.position]!==58)throw b(`expected :`);switch(t.position++,_(e=>e===32||e===9,e,t),r(l)){case`content-disposition`:if(n=a=null,_(e=>C(e),e,t).toString(`ascii`).toLowerCase()!==`form-data`)throw b(`expected form-data for content-disposition header`);for(;t.position<e.length&&e[t.position]!==13&&e[t.position+1]!==10;){let r=h(e,t);if(!r)break;r.name===`name`?n=r.value:r.name===`filename`&&(a=r.value)}if(n===null)throw b(`name attribute is required in content-disposition header`);break;case`content-type`:{let n=_(e=>e!==10&&e!==13,e,t);n=v(n,!1,!0,e=>e===9||e===32),o=c(n);break}case`content-transfer-encoding`:{let n=_(e=>e!==10&&e!==13,e,t);n=v(n,!1,!0,e=>e===9||e===32),s=c(n);break}default:_(e=>e!==10&&e!==13,e,t)}if(e[t.position]!==13&&e[t.position+1]!==10)throw b(`expected CRLF`);t.position+=2}}function _(e,t,n){let r=n.position;for(;r<t.length&&e(t[r]);)++r;return t.subarray(n.position,n.position=r)}function v(e,t,n,r){let i=0,a=e.length-1;if(t)for(;i<e.length&&r(e[i]);)i++;if(n)for(;a>0&&r(e[a]);)a--;return i===0&&a===e.length-1?e:e.subarray(i,a+1)}function y(e,t,n){if(e.length<t.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[n.position+r])return!1;return!0}function b(e){return TypeError(`Failed to parse body as FormData.`,{cause:TypeError(e)})}function x(e){return e<=31||e===127}function S(e){return e===40||e===41||e===60||e===62||e===64||e===44||e===59||e===58||e===92||e===34||e===47||e===91||e===93||e===63||e===61}function C(e){return e<=127&&e!==32&&e!==9&&!x(e)&&!S(e)}n.exports={multipartFormDataParser:m,validateBoundary:p}})),Gi=n(((e,n)=>{let r={__proto__:null,"node:crypto":()=>t(`node:crypto`),"node:sqlite":()=>t(`node:sqlite`)};function i(e){try{return r[e](),!0}catch(e){if(e.code!==`ERR_UNKNOWN_BUILTIN_MODULE`&&e.code!==`ERR_NO_CRYPTO`)throw e;return!1}}let a=[`crypto`,`sqlite`];function o(e){if(a.includes(e))return i(`node:${e}`);throw TypeError(`unknown feature: ${e}`)}let s=new class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#t(e)}set(e,t){if(a.includes(e)===!1)throw TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#t(e){let t=o(e);return this.#e.set(e,t),t}};n.exports.runtimeFeatures=s,n.exports.default=s})),Ki=n(((e,n)=>{let r=K(),{ReadableStreamFrom:i,readableStreamClose:a,fullyReadBody:o,extractMimeType:s}=Hi(),{FormData:c,setFormDataState:l}=Ui(),{webidl:u}=Vi(),d=t(`node:assert`),{isErrored:f,isDisturbed:p}=t(`node:stream`),{isUint8Array:m}=t(`node:util/types`),{serializeAMimeType:h}=Bi(),{multipartFormDataParser:g}=Wi(),{parseJSONFromBytes:_}=zi(),{utf8DecodeBytes:v}=Ri(),{runtimeFeatures:y}=Gi(),b=y.has(`crypto`)?t(`node:crypto`).randomInt:e=>Math.floor(Math.random()*e),x=new TextEncoder;function S(){}let C=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&!p(t)&&!f(t)&&t.cancel(`Response object has been garbage collected`).catch(S)});function w(e,t=!1){let n=null,o=null;n=u.is.ReadableStream(e)?e:u.is.Blob(e)?e.stream():new ReadableStream({pull(){},start(e){o=e},cancel(){},type:`bytes`}),d(u.is.ReadableStream(n));let s=null,c=null,l=null,p=null;if(typeof e==`string`)c=e,p=`text/plain;charset=UTF-8`;else if(u.is.URLSearchParams(e))c=e.toString(),p=`application/x-www-form-urlencoded;charset=UTF-8`;else if(u.is.BufferSource(e))c=u.util.getCopyOfBytesHeldByBufferSource(e);else if(u.is.FormData(e)){let t=`----formdata-undici-0${`${b(1e11)}`.padStart(11,`0`)}`,n=`--${t}\r\nContent-Disposition: form-data`,r=e=>e.replace(/\n/g,`%0A`).replace(/\r/g,`%0D`).replace(/"/g,`%22`),i=e=>e.replace(/\r?\n|\r/g,`\r
|
|
122
|
+
`),a=[],o=new Uint8Array([13,10]);l=0;let u=!1;for(let[t,s]of e)if(typeof s==`string`){let e=x.encode(n+`; name="${r(i(t))}"\r\n\r\n${i(s)}\r\n`);a.push(e),l+=e.byteLength}else{let e=x.encode(`${n}; name="${r(i(t))}"`+(s.name?`; filename="${r(s.name)}"`:``)+`\r
|
|
123
|
+
Content-Type: ${s.type||`application/octet-stream`}\r\n\r\n`);a.push(e,s,o),typeof s.size==`number`?l+=e.byteLength+s.size+o.byteLength:u=!0}let d=x.encode(`--${t}--\r\n`);a.push(d),l+=d.byteLength,u&&(l=null),c=e,s=async function*(){for(let e of a)e.stream?yield*e.stream():yield e},p=`multipart/form-data; boundary=${t}`}else if(u.is.Blob(e))c=e,l=e.size,e.type&&(p=e.type);else if(typeof e[Symbol.asyncIterator]==`function`){if(t)throw TypeError(`keepalive`);if(r.isDisturbed(e)||e.locked)throw TypeError(`Response body object should not be disturbed or locked`);n=u.is.ReadableStream(e)?e:i(e)}return(typeof c==`string`||m(c))&&(s=()=>(l=typeof c==`string`?Buffer.byteLength(c):c.length,c)),s!=null&&(async()=>{let e=s(),t=e?.[Symbol.asyncIterator]?.();if(t)for await(let e of t){if(f(n))break;e.length&&o.enqueue(new Uint8Array(e))}else e?.length&&!f(n)&&o.enqueue(typeof e==`string`?x.encode(e):new Uint8Array(e));queueMicrotask(()=>a(o))})(),[{stream:n,source:c,length:l},p]}function T(e,t=!1){return u.is.ReadableStream(e)&&(d(!r.isDisturbed(e),`The body has already been consumed.`),d(!e.locked,`The stream is locked.`)),w(e,t)}function E(e){let{0:t,1:n}=e.stream.tee();return e.stream=t,{stream:n,length:e.length,source:e.source}}function D(e,t){return{blob(){return k(this,e=>{let n=j(t(this));return n===null?n=``:n&&=h(n),new Blob([e],{type:n})},e,t)},arrayBuffer(){return k(this,e=>new Uint8Array(e).buffer,e,t)},text(){return k(this,v,e,t)},json(){return k(this,_,e,t)},formData(){return k(this,e=>{let n=j(t(this));if(n!==null)switch(n.essence){case`multipart/form-data`:{let t=g(e,n),r=new c;return l(r,t),r}case`application/x-www-form-urlencoded`:{let t=new URLSearchParams(e.toString()),n=new c;for(let[e,r]of t)n.append(e,r);return n}}throw TypeError(`Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".`)},e,t)},bytes(){return k(this,e=>new Uint8Array(e),e,t)}}}function O(e,t){Object.assign(e.prototype,D(e,t))}function k(e,t,n,r){try{u.brandCheck(e,n)}catch(e){return Promise.reject(e)}if(e=r(e),A(e))return Promise.reject(TypeError(`Body is unusable: Body has already been read`));let i=Promise.withResolvers(),a=i.reject,s=e=>{try{i.resolve(t(e))}catch(e){a(e)}};return e.body==null?(s(Buffer.allocUnsafe(0)),i.promise):(o(e.body,s,a),i.promise)}function A(e){let t=e.body;return t!=null&&(t.stream.locked||r.isDisturbed(t.stream))}function j(e){let t=e.headersList,n=s(t);return n===`failure`?null:n}n.exports={extractBody:w,safelyExtractBody:T,cloneBody:E,mixinBody:O,streamRegistry:C,bodyUnusable:A}})),qi=n(((e,n)=>{let r=t(`node:assert`),i=K(),{channels:a}=Di(),o=Ci(),{RequestContentLengthMismatchError:s,ResponseContentLengthMismatchError:c,RequestAbortedError:l,HeadersTimeoutError:u,HeadersOverflowError:d,SocketError:f,InformationalError:p,BodyTimeoutError:m,HTTPParserError:h,ResponseExceededMaxSizeError:g}=G(),{kUrl:_,kReset:v,kClient:y,kParser:b,kBlocking:x,kRunning:S,kPending:C,kSize:w,kWriting:T,kQueue:E,kNoRef:D,kKeepAliveDefaultTimeout:O,kHostHeader:k,kPendingIdx:A,kRunningIdx:j,kError:M,kPipelining:N,kSocket:P,kKeepAliveTimeoutValue:F,kMaxHeadersSize:I,kKeepAliveMaxTimeout:ee,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:te,kBodyTimeout:R,kStrictContentLength:ne,kMaxRequests:re,kCounter:z,kMaxResponseSize:ie,kOnError:ae,kResume:B,kHTTPContext:V,kClosed:oe}=W(),se=Ni(),H=Buffer.alloc(0),ce=Buffer[Symbol.species],le=i.removeAllListeners,ue;function de(){let e=process.env.JEST_WORKER_ID?Pi():void 0,t,n=process.arch!==`ppc64`;if(process.env.UNDICI_NO_WASM_SIMD===`1`?n=!0:process.env.UNDICI_NO_WASM_SIMD===`0`&&(n=!1),n)try{t=new WebAssembly.Module(Fi())}catch{}return t||=new WebAssembly.Module(e||Pi()),new WebAssembly.Instance(t,{env:{wasm_on_url:(e,t,n)=>0,wasm_on_status:(e,t,n)=>{r(U.ptr===e);let i=t-he+pe.byteOffset;return U.onStatus(new ce(pe.buffer,i,n))},wasm_on_message_begin:e=>(r(U.ptr===e),U.onMessageBegin()),wasm_on_header_field:(e,t,n)=>{r(U.ptr===e);let i=t-he+pe.byteOffset;return U.onHeaderField(new ce(pe.buffer,i,n))},wasm_on_header_value:(e,t,n)=>{r(U.ptr===e);let i=t-he+pe.byteOffset;return U.onHeaderValue(new ce(pe.buffer,i,n))},wasm_on_headers_complete:(e,t,n,i)=>(r(U.ptr===e),U.onHeadersComplete(t,n===1,i===1)),wasm_on_body:(e,t,n)=>{r(U.ptr===e);let i=t-he+pe.byteOffset;return U.onBody(new ce(pe.buffer,i,n))},wasm_on_message_complete:e=>(r(U.ptr===e),U.onMessageComplete())}})}let fe=null,U=null,pe=null,me=0,he=null;var ge=class{constructor(e,t,{exports:n}){this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(se.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[I],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive=``,this.contentLength=``,this.connection=``,this.maxResponseSize=e[ie]}setTimeout(e,t){e!==this.timeoutValue||t&1^this.timeoutType&1?(this.timeout&&=(o.clearTimeout(this.timeout),null),e&&(t&1?this.timeout=o.setFastTimeout(_e,e,new WeakRef(this)):(this.timeout=setTimeout(_e,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||(r(this.ptr!=null),r(U===null),this.llhttp.llhttp_resume(this.ptr),r(this.timeoutType===5),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||H),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){r(U===null),r(this.ptr!=null),r(!this.paused);let{socket:t,llhttp:n}=this;e.length>me&&(he&&n.free(he),me=Math.ceil(e.length/4096)*4096,he=n.malloc(me)),new Uint8Array(n.memory.buffer,he,me).set(e);try{let r;try{pe=e,U=this,r=n.llhttp_execute(this.ptr,he,e.length)}finally{U=null,pe=null}if(r!==se.ERROR.OK){let i=e.subarray(n.llhttp_get_error_pos(this.ptr)-he);if(r===se.ERROR.PAUSED_UPGRADE)this.onUpgrade(i);else if(r===se.ERROR.PAUSED)this.paused=!0,t.unshift(i);else{let e=n.llhttp_get_error_reason(this.ptr),t=``;if(e){let r=new Uint8Array(n.memory.buffer,e).indexOf(0);t=`Response does not match the HTTP/1.1 protocol (`+Buffer.from(n.memory.buffer,e,r).toString()+`)`}throw new h(t,se.ERROR[r],i)}}}catch(e){i.destroy(t,e)}}destroy(){r(U===null),r(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&o.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 n=t[E][t[j]];return n?(n.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return t&1?this.headers[t-1]=Buffer.concat([this.headers[t-1],e]):this.headers.push(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 n=this.headers[t-2];if(n.length===10){let t=i.bufferToLowerCasedHeaderName(n);t===`keep-alive`?this.keepAlive+=e.toString():t===`connection`&&(this.connection+=e.toString())}else n.length===14&&i.bufferToLowerCasedHeaderName(n)===`content-length`&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&i.destroy(this.socket,new d)}onUpgrade(e){let{upgrade:t,client:n,socket:a,headers:o,statusCode:s}=this;r(t),r(n[P]===a),r(!a.destroyed),r(!this.paused),r((o.length&1)==0);let c=n[E][n[j]];r(c),r(c.upgrade||c.method===`CONNECT`),this.statusCode=0,this.statusText=``,this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,a.unshift(e),a[b].destroy(),a[b]=null,a[y]=null,a[M]=null,le(a),n[P]=null,n[V]=null,n[E][n[j]++]=null,n.emit(`disconnect`,n[_],[n],new p(`upgrade`));try{c.onRequestUpgrade(s,o,a)}catch(e){i.destroy(a,e)}n[B]()}onHeadersComplete(e,t,n){let{client:a,socket:o,headers:s,statusText:c}=this;if(o.destroyed)return-1;let l=a[E][a[j]];if(!l)return-1;if(r(!this.upgrade),r(this.statusCode<200),e===100)return i.destroy(o,new f(`bad response`,i.getSocketInfo(o))),-1;if(t&&!l.upgrade)return i.destroy(o,new f(`bad upgrade`,i.getSocketInfo(o))),-1;if(r(this.timeoutType===3),this.statusCode=e,this.shouldKeepAlive=n||l.method===`HEAD`&&!o[v]&&this.connection.toLowerCase()===`keep-alive`,this.statusCode>=200){let e=l.bodyTimeout==null?a[R]:l.bodyTimeout;this.setTimeout(e,5)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(l.method===`CONNECT`||t)return r(a[S]===1),this.upgrade=!0,2;if(r((this.headers.length&1)==0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&a[N]){let e=this.keepAlive?i.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){let t=Math.min(e-a[L],a[ee]);t<=0?o[v]=!0:a[F]=t}else a[F]=a[O]}else o[v]=!0;let u=l.onResponseStart(e,s,this.resume,c)===!1;return l.aborted?-1:l.method===`HEAD`||e<200?1:(o[x]&&(o[x]=!1,a[B]()),u?se.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:n,statusCode:a,maxResponseSize:o}=this;if(n.destroyed)return-1;let s=t[E][t[j]];return r(s),r(this.timeoutType===5),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),r(a>=200),o>-1&&this.bytesRead+e.length>o?(i.destroy(n,new g),-1):(this.bytesRead+=e.length,s.onResponseData(e)===!1?se.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:n,upgrade:a,headers:o,contentLength:s,bytesRead:l,shouldKeepAlive:u}=this;if(t.destroyed&&(!n||u))return-1;if(a)return 0;r(n>=100),r((this.headers.length&1)==0);let d=e[E][e[j]];return r(d),this.statusCode=0,this.statusText=``,this.bytesRead=0,this.contentLength=``,this.keepAlive=``,this.connection=``,this.headers=[],this.headersSize=0,n<200?0:d.method!==`HEAD`&&s&&l!==parseInt(s,10)?(i.destroy(t,new c),-1):(d.onResponseEnd(o),e[E][e[j]++]=null,t[T]?(r(e[S]===0),i.destroy(t,new p(`reset`)),se.ERROR.PAUSED):u?t[v]&&e[S]===0?(i.destroy(t,new p(`reset`)),se.ERROR.PAUSED):(e[N]==null||e[N]===1?setImmediate(e[B]):e[B](),0):(i.destroy(t,new p(`reset`)),se.ERROR.PAUSED))}};function _e(e){let t=e.deref();if(!t)return;let{socket:n,timeoutType:a,client:o,paused:s}=t;a===3?(!n[T]||n.writableNeedDrain||o[S]>1)&&(r(!s,`cannot be paused while waiting for headers`),i.destroy(n,new u)):a===5?s||i.destroy(n,new m):a===8&&(r(o[S]===0&&o[F]),i.destroy(n,new p(`socket idle timeout`)))}function ve(e,t){if(e[P]=t,fe||=de(),t.errored)throw t.errored;if(t.destroyed)throw new f(`destroyed`);return t[D]=!1,t[T]=!1,t[v]=!1,t[x]=!1,t[b]=new ge(e,t,fe),i.addListener(t,`error`,ye),i.addListener(t,`readable`,be),i.addListener(t,`end`,xe),i.addListener(t,`close`,Se),t[oe]=!1,t.on(`close`,Ce),{version:`h1`,defaultPipelining:1,write(t){return Ee(e,t)},resume(){we(e)},destroy(e,n){t[oe]?queueMicrotask(n):(t.on(`close`,n),t.destroy(e))},get destroyed(){return t.destroyed},busy(n){return!!(t[T]||t[v]||t[x]||n&&(e[S]>0&&!n.idempotent||e[S]>0&&(n.upgrade||n.method===`CONNECT`)||e[S]>0&&i.bodyLength(n.body)!==0&&(i.isStream(n.body)||i.isAsyncIterable(n.body)||i.isFormDataLike(n.body))))}}}function ye(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`);let t=this[b];if(e.code===`ECONNRESET`&&t.statusCode&&!t.shouldKeepAlive){t.onMessageComplete();return}this[M]=e,this[y][ae](e)}function be(){this[b]?.readMore()}function xe(){let e=this[b];if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}i.destroy(this,new f(`other side closed`,i.getSocketInfo(this)))}function Se(){let e=this[b];e&&(!this[M]&&e.statusCode&&!e.shouldKeepAlive&&e.onMessageComplete(),this[b].destroy(),this[b]=null);let t=this[M]||new f(`closed`,i.getSocketInfo(this)),n=this[y];if(n[P]=null,n[V]=null,n.destroyed){r(n[C]===0);let e=n[E].splice(n[j]);for(let r=0;r<e.length;r++){let a=e[r];i.errorRequest(n,a,t)}}else if(n[S]>0&&t.code!==`UND_ERR_INFO`){let e=n[E][n[j]];n[E][n[j]++]=null,i.errorRequest(n,e,t)}n[A]=n[j],r(n[S]===0),n.emit(`disconnect`,n[_],[n],t),n[B]()}function Ce(){this[oe]=!0}function we(e){let t=e[P];if(t&&!t.destroyed){if(e[w]===0?!t[D]&&t.unref&&(t.unref(),t[D]=!0):t[D]&&t.ref&&(t.ref(),t[D]=!1),e[w]===0)t[b].timeoutType!==8&&t[b].setTimeout(e[F],8);else if(e[S]>0&&t[b].statusCode<200&&t[b].timeoutType!==3){let n=e[E][e[j]],r=n.headersTimeout==null?e[te]:n.headersTimeout;t[b].setTimeout(r,3)}}}function Te(e){return e!==`GET`&&e!==`HEAD`&&e!==`OPTIONS`&&e!==`TRACE`&&e!==`CONNECT`}function Ee(e,t){let{method:n,path:o,host:c,upgrade:u,blocking:d,reset:f}=t,{body:m,headers:h,contentLength:g}=t,_=n===`PUT`||n===`POST`||n===`PATCH`||n===`QUERY`||n===`PROPFIND`||n===`PROPPATCH`;if(i.isFormDataLike(m)){ue||=Ki().extractBody;let[e,n]=ue(m);t.contentType??h.push(`content-type`,n),m=e.stream,g=e.length}else i.isBlobLike(m)&&t.contentType==null&&m.type&&h.push(`content-type`,m.type);m&&typeof m.read==`function`&&m.read(0);let y=i.bodyLength(m);if(g=y??g,g===null&&(g=t.contentLength),g===0&&!_&&(g=null),Te(n)&&g>0&&t.contentLength!==null&&t.contentLength!==g){if(e[ne])return i.errorRequest(e,t,new s),!1;process.emitWarning(new s)}let b=e[P],S=n=>{t.aborted||t.completed||(i.errorRequest(e,t,n||new l),i.destroy(m),i.destroy(b,new p(`aborted`)))};try{t.onRequestStart(S,null)}catch(n){i.errorRequest(e,t,n)}if(t.aborted)return!1;n===`HEAD`&&(b[v]=!0),(u||n===`CONNECT`)&&(b[v]=!0),f!=null&&(b[v]=f),e[re]&&b[z]++>=e[re]&&(b[v]=!0),d&&(b[x]=!0),b.setTypeOfService&&b.setTypeOfService(t.typeOfService);let C=`${n} ${o} HTTP/1.1\r\n`;if(typeof c==`string`?C+=`host: ${c}\r\n`:C+=e[k],u?C+=`connection: upgrade\r\nupgrade: ${u}\r\n`:e[N]&&!b[v]?C+=`connection: keep-alive\r
|
|
124
|
+
`:C+=`connection: close\r
|
|
125
|
+
`,Array.isArray(h))for(let e=0;e<h.length;e+=2){let t=h[e+0],n=h[e+1];if(Array.isArray(n))for(let e=0;e<n.length;e++)C+=`${t}: ${n[e]}\r\n`;else C+=`${t}: ${n}\r\n`}return a.sendHeaders.hasSubscribers&&a.sendHeaders.publish({request:t,headers:C,socket:b}),!m||y===0?Oe(S,null,e,t,b,g,C,_):i.isBuffer(m)?Oe(S,m,e,t,b,g,C,_):i.isBlobLike(m)?typeof m.stream==`function`?Ae(S,m.stream(),e,t,b,g,C,_):ke(S,m,e,t,b,g,C,_):i.isStream(m)?De(S,m,e,t,b,g,C,_):i.isIterable(m)?Ae(S,m,e,t,b,g,C,_):r(!1),!0}function De(e,t,n,a,o,s,c,u){r(s!==0||n[S]===0,`stream body cannot be pipelined`);let d=!1,f=new je({abort:e,socket:o,request:a,contentLength:s,client:n,expectsPayload:u,header:c}),p=function(e){if(!d)try{!f.write(e)&&this.pause&&this.pause()}catch(e){i.destroy(this,e)}},m=function(){d||t.resume&&t.resume()},h=function(){if(queueMicrotask(()=>{t.removeListener(`error`,g)}),!d){let e=new l;queueMicrotask(()=>g(e))}},g=function(e){if(!d){if(d=!0,r(o.destroyed||o[T]&&n[S]<=1),o.off(`drain`,m).off(`error`,g),t.removeListener(`data`,p).removeListener(`end`,g).removeListener(`close`,h),!e)try{f.end()}catch(t){e=t}f.destroy(e),e&&(e.code!==`UND_ERR_INFO`||e.message!==`reset`)?i.destroy(t,e):i.destroy(t)}};t.on(`data`,p).on(`end`,g).on(`error`,g).on(`close`,h),t.resume&&t.resume(),o.on(`drain`,m).on(`error`,g),t.errorEmitted??t.errored?setImmediate(g,t.errored):(t.endEmitted??t.readableEnded)&&setImmediate(g,null),(t.closeEmitted??t.closed)&&setImmediate(h)}function Oe(e,t,n,a,o,s,c,l){try{t?i.isBuffer(t)&&(r(s===t.byteLength,`buffer body must have content length`),o.cork(),o.write(`${c}content-length: ${s}\r\n\r\n`,`latin1`),o.write(t),o.uncork(),a.onBodySent(t),!l&&a.reset!==!1&&(o[v]=!0)):s===0?o.write(`${c}content-length: 0\r\n\r\n`,`latin1`):(r(s===null,`no body must not have content length`),o.write(`${c}\r\n`,`latin1`)),a.onRequestSent(),n[B]()}catch(t){e(t)}}async function ke(e,t,n,i,a,o,c,l){r(o===t.size,`blob body must have content length`);try{if(o!=null&&o!==t.size)throw new s;let e=Buffer.from(await t.arrayBuffer());a.cork(),a.write(`${c}content-length: ${o}\r\n\r\n`,`latin1`),a.write(e),a.uncork(),i.onBodySent(e),i.onRequestSent(),!l&&i.reset!==!1&&(a[v]=!0),n[B]()}catch(t){e(t)}}async function Ae(e,t,n,i,a,o,s,c){r(o!==0||n[S]===0,`iterator body cannot be pipelined`);let l=null;function u(){if(l){let e=l;l=null,e()}}let d=()=>new Promise((e,t)=>{r(l===null),a[M]?t(a[M]):l=e});a.on(`close`,u).on(`drain`,u);let f=new je({abort:e,socket:a,request:i,contentLength:o,client:n,expectsPayload:c,header:s});try{for await(let e of t){if(a[M])throw a[M];f.write(e)||await d()}f.end()}catch(e){f.destroy(e)}finally{a.off(`close`,u).off(`drain`,u)}}var je=class{constructor({abort:e,socket:t,request:n,contentLength:r,client:i,expectsPayload:a,header:o}){this.socket=t,this.request=n,this.contentLength=r,this.client=i,this.bytesWritten=0,this.expectsPayload=a,this.header=o,this.abort=e,t[T]=!0}write(e){let{socket:t,request:n,contentLength:r,client:i,bytesWritten:a,expectsPayload:o,header:c}=this;if(t[M])throw t[M];if(t.destroyed)return!1;let l=Buffer.byteLength(e);if(!l)return!0;if(r!==null&&a+l>r){if(i[ne])throw new s;process.emitWarning(new s)}t.cork(),a===0&&(!o&&n.reset!==!1&&(t[v]=!0),r===null?t.write(`${c}transfer-encoding: chunked\r\n`,`latin1`):t.write(`${c}content-length: ${r}\r\n\r\n`,`latin1`)),r===null&&t.write(`\r\n${l.toString(16)}\r\n`,`latin1`),this.bytesWritten+=l;let u=t.write(e);return t.uncork(),n.onBodySent(e),u||t[b].timeout&&t[b].timeoutType===3&&t[b].timeout.refresh&&t[b].timeout.refresh(),u}end(){let{socket:e,contentLength:t,client:n,bytesWritten:r,expectsPayload:i,header:a,request:o}=this;if(o.onRequestSent(),e[T]=!1,e[M])throw e[M];if(!e.destroyed){if(r===0?i?e.write(`${a}content-length: 0\r\n\r\n`,`latin1`):e.write(`${a}\r\n`,`latin1`):t===null&&e.write(`\r
|
|
126
|
+
0\r
|
|
127
|
+
\r
|
|
128
|
+
`,`latin1`),t!==null&&r!==t){if(n[ne])throw new s;process.emitWarning(new s)}e[b].timeout&&e[b].timeoutType===3&&e[b].timeout.refresh&&e[b].timeout.refresh(),n[B]()}}destroy(e){let{socket:t,client:n,abort:i}=this;t[T]=!1,e&&(r(n[S]<=1,`pipeline should only contain this request`),i(e))}};n.exports=ve})),Ji=n(((e,n)=>{let r=t(`node:assert`),{pipeline:i}=t(`node:stream`),a=K(),{RequestContentLengthMismatchError:o,RequestAbortedError:s,SocketError:c,InformationalError:l,InvalidArgumentError:u}=G(),{kUrl:d,kReset:f,kClient:p,kRunning:m,kPending:h,kQueue:g,kPendingIdx:_,kRunningIdx:v,kError:y,kSocket:b,kStrictContentLength:x,kOnError:S,kMaxConcurrentStreams:C,kPingInterval:w,kHTTP2Session:T,kHTTP2InitialWindowSize:E,kHTTP2ConnectionWindowSize:D,kResume:O,kSize:k,kHTTPContext:A,kClosed:j,kBodyTimeout:M,kEnableConnectProtocol:N,kRemoteSettings:P,kHTTP2Stream:F,kHTTP2SessionState:I}=W(),{channels:ee}=Di(),L=Symbol(`open streams`),te,R;try{R=t(`node:http2`)}catch{R={constants:{}}}let{constants:{HTTP2_HEADER_AUTHORITY:ne,HTTP2_HEADER_METHOD:re,HTTP2_HEADER_PATH:z,HTTP2_HEADER_SCHEME:ie,HTTP2_HEADER_CONTENT_LENGTH:ae,HTTP2_HEADER_EXPECT:B,HTTP2_HEADER_STATUS:V,HTTP2_HEADER_PROTOCOL:oe,NGHTTP2_REFUSED_STREAM:se,NGHTTP2_CANCEL:H}}=R;function ce(e){let t=[];for(let[n,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.push(Buffer.from(n),Buffer.from(e));else t.push(Buffer.from(n),Buffer.from(r));return t}function le(e,t){e[b]=t;let n=e[E],r=e[D],i=R.connect(e[d],{createConnection:()=>t,peerMaxConcurrentStreams:e[C],settings:{enablePush:!1,...n==null?null:{initialWindowSize:n}}});return e[b]=t,i[L]=0,i[p]=e,i[b]=t,i[I]={ping:{interval:e[w]===0?null:setInterval(U,e[w],i).unref()}},i[N]=!1,i[P]=!1,r&&a.addListener(i,`connect`,de.bind(i,r)),a.addListener(i,`error`,pe),a.addListener(i,`frameError`,me),a.addListener(i,`end`,he),a.addListener(i,`goaway`,ge),a.addListener(i,`close`,_e),a.addListener(i,`remoteSettings`,fe),i.unref(),e[T]=i,t[T]=i,a.addListener(t,`error`,ye),a.addListener(t,`end`,be),a.addListener(t,`close`,ve),t[j]=!1,t.on(`close`,xe),{version:`h2`,defaultPipelining:1/0,write(t){return Ce(e,t)},resume(){ue(e)},destroy(e,n){t[j]?queueMicrotask(n):t.destroy(e).on(`close`,n)},get destroyed(){return t.destroyed},busy(t){if(t!=null)if(e[m]>0){if(t.idempotent===!1||(t.upgrade===`websocket`||t.method===`CONNECT`)&&i[P]===!1||a.bodyLength(t.body)!==0&&(a.isStream(t.body)||a.isAsyncIterable(t.body)||a.isFormDataLike(t.body)))return!0}else return(t.upgrade===`websocket`||t.method===`CONNECT`)&&i[P]===!1;return!1}}}function ue(e){let t=e[b];t?.destroyed===!1&&(e[k]===0||e[C]===0?(t.unref(),e[T].unref()):(t.ref(),e[T].ref()))}function de(e){try{typeof this.setLocalWindowSize==`function`&&this.setLocalWindowSize(e)}catch{}}function fe(e){if(this[p][C]=e.maxConcurrentStreams??this[p][C],this[P]===!0&&this[N]===!0&&e.enableConnectProtocol===!1){let e=new l(`HTTP/2: Server disabled extended CONNECT protocol against RFC-8441`);this[b][y]=e,this[p][S](e);return}this[N]=e.enableConnectProtocol??this[N],this[P]=!0,this[p][O]()}function U(e){let t=e[I];if((e.closed||e.destroyed)&&t.ping.interval!=null){clearInterval(t.ping.interval),t.ping.interval=null;return}e.ping(n.bind(e));function n(e,t){let n=this[p],r=this[p];if(e!=null){let t=new l(`HTTP/2: "PING" errored - type ${e.message}`);r[y]=t,n[S](t)}else n.emit(`ping`,t)}}function pe(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`),this[b][y]=e,this[p][S](e)}function me(e,t,n){if(n===0){let n=new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[b][y]=n,this[p][S](n)}}function he(){let e=new c(`other side closed`,a.getSocketInfo(this[b]));this.destroy(e),a.destroy(this[b],e)}function ge(e){let t=this[y]||new c(`HTTP/2: "GOAWAY" frame received with code ${e}`,a.getSocketInfo(this[b])),n=this[p];if(n[b]=null,n[A]=null,this.close(),this[T]=null,a.destroy(this[b],t),n[v]<n[g].length){let e=n[g][n[v]];n[g][n[v]++]=null,a.errorRequest(n,e,t),n[_]=n[v]}r(n[m]===0),n.emit(`disconnect`,n[d],[n],t),n.emit(`connectionError`,n[d],[n],t),n[O]()}function _e(){let{[p]:e,[I]:t}=this,{[b]:n}=e,i=this[b][y]||this[y]||new c(`closed`,a.getSocketInfo(n));if(e[b]=null,e[A]=null,t.ping.interval!=null&&(clearInterval(t.ping.interval),t.ping.interval=null),e.destroyed){r(e[h]===0);let t=e[g].splice(e[v]);for(let n=0;n<t.length;n++){let r=t[n];a.errorRequest(e,r,i)}}}function ve(){let e=this[y]||new c(`closed`,a.getSocketInfo(this)),t=this[T][p];t[b]=null,t[A]=null,this[T]!==null&&this[T].destroy(e),t[_]=t[v],r(t[m]===0),t.emit(`disconnect`,t[d],[t],e),t[O]()}function ye(e){r(e.code!==`ERR_TLS_CERT_ALTNAME_INVALID`),this[y]=e,this[p][S](e)}function be(){a.destroy(this,new c(`other side closed`,a.getSocketInfo(this)))}function xe(){this[j]=!0}function Se(e){return e!==`GET`&&e!==`HEAD`&&e!==`OPTIONS`&&e!==`TRACE`&&e!==`CONNECT`}function Ce(e,t){let n=t.bodyTimeout??e[M],i=e[T],{method:c,path:f,host:p,upgrade:m,expectContinue:h,signal:y,protocol:C,headers:w}=t,{body:E}=t;if(m!=null&&m!==`websocket`)return a.errorRequest(e,t,new u(`Custom upgrade "${m}" not supported over HTTP/2`)),!1;let D={};for(let e=0;e<w.length;e+=2){let t=w[e+0],n=w[e+1];if(t===`cookie`){D[t]==null?D[t]=n:D[t]=Array.isArray(D[t])?(D[t].push(n),D[t]):[D[t],n];continue}if(Array.isArray(n))for(let e=0;e<n.length;e++)D[t]?D[t]+=`, ${n[e]}`:D[t]=n[e];else D[t]?D[t]+=`, ${n}`:D[t]=n}let k=null,{hostname:A,port:j}=e[d];D[ne]=p||`${A}${j?`:${j}`:``}`,D[re]=c;let P=n=>{t.aborted||t.completed||(n||=new s,a.errorRequest(e,t,n),k!=null&&(k.removeAllListeners(`data`),k.close(),e[S](n),e[O]()),a.destroy(E,n))};try{t.onRequestStart(P,null)}catch(n){a.errorRequest(e,t,n)}if(t.aborted)return!1;if(m||c===`CONNECT`)return i.ref(),m===`websocket`?i[N]===!1?(a.errorRequest(e,t,new l(`HTTP/2: Extended CONNECT protocol not supported by server`)),i.unref(),!1):(D[re]=`CONNECT`,D[oe]=`websocket`,D[z]=f,C===`ws:`||C===`wss:`?D[ie]=C===`ws:`?`http`:`https`:D[ie]=C===`http:`?`http`:`https`,k=i.request(D,{endStream:!1,signal:y}),k[F]=!0,k.once(`response`,(n,r)=>{let{[V]:a,...o}=n;t.onRequestUpgrade(a,ce(o),k),++i[L],e[g][e[v]++]=null}),k.on(`error`,()=>{(k.rstCode===se||k.rstCode===H)&&P(new l(`HTTP/2: "stream error" received - code ${k.rstCode}`))}),k.once(`close`,()=>{--i[L],i[L]===0&&i.unref()}),k.setTimeout(n),!0):(k=i.request(D,{endStream:!1,signal:y}),k[F]=!0,k.on(`response`,n=>{let{[V]:r,...a}=n;t.onRequestUpgrade(r,ce(a),k),++i[L],e[g][e[v]++]=null}),k.once(`close`,()=>{--i[L],i[L]===0&&i.unref()}),k.setTimeout(n),!0);D[z]=f,D[ie]=C===`http:`?`http`:`https`;let I=c===`PUT`||c===`POST`||c===`PATCH`;E&&typeof E.read==`function`&&E.read(0);let R=a.bodyLength(E);if(a.isFormDataLike(E)){te??=Ki().extractBody;let[e,t]=te(E);D[`content-type`]=t,E=e.stream,R=e.length}if(R??=t.contentLength,I||(R=null),Se(c)&&R>0&&t.contentLength!=null&&t.contentLength!==R){if(e[x])return a.errorRequest(e,t,new o),!1;process.emitWarning(new o)}if(R!=null&&(r(E||R===0,`no body must not have content length`),D[ae]=`${R}`),i.ref(),ee.sendHeaders.hasSubscribers){let e=``;for(let t in D)e+=`${t}: ${D[t]}\r\n`;ee.sendHeaders.publish({request:t,headers:e,socket:i[b]})}let le=c===`GET`||c===`HEAD`||E===null;h?(D[B]=`100-continue`,k=i.request(D,{endStream:le,signal:y}),k[F]=!0,k.once(`continue`,de)):(k=i.request(D,{endStream:le,signal:y}),k[F]=!0,de()),++i[L],k.setTimeout(n);let ue=!1;return k.once(`response`,e=>{let{[V]:n,...r}=e;if(t.onResponseStarted(),ue=!0,t.aborted){k.removeAllListeners(`data`);return}t.onResponseStart(Number(n),ce(r),k.resume.bind(k),``)===!1&&k.pause(),k.on(`data`,e=>{t.aborted||t.completed||t.onResponseData(e)===!1&&k.pause()})}),k.once(`end`,()=>{k.removeAllListeners(`data`),ue?(!t.aborted&&!t.completed&&t.onResponseEnd({}),e[g][e[v]++]=null,e[O]()):(P(new l(`HTTP/2: stream half-closed (remote)`)),e[g][e[v]++]=null,e[_]=e[v],e[O]())}),k.once(`close`,()=>{k.removeAllListeners(`data`),--i[L],i[L]===0&&i.unref()}),k.once(`error`,function(e){k.removeAllListeners(`data`),P(e)}),k.once(`frameError`,(e,t)=>{k.removeAllListeners(`data`),P(new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`))}),k.on(`aborted`,()=>{k.removeAllListeners(`data`)}),k.on(`timeout`,()=>{let e=new l(`HTTP/2: "stream timeout after ${n}"`);k.removeAllListeners(`data`),--i[L],i[L]===0&&i.unref(),P(e)}),k.once(`trailers`,e=>{t.aborted||t.completed||t.onResponseEnd(e)}),!0;function de(){!E||R===0?we(P,k,null,e,t,e[b],R,I):a.isBuffer(E)?we(P,k,E,e,t,e[b],R,I):a.isBlobLike(E)?typeof E.stream==`function`?De(P,k,E.stream(),e,t,e[b],R,I):Ee(P,k,E,e,t,e[b],R,I):a.isStream(E)?Te(P,e[b],I,k,E,e,t,R):a.isIterable(E)?De(P,k,E,e,t,e[b],R,I):r(!1)}}function we(e,t,n,i,o,s,c,l){try{n!=null&&a.isBuffer(n)&&(r(c===n.byteLength,`buffer body must have content length`),t.cork(),t.write(n),t.uncork(),t.end(),o.onBodySent(n)),l||(s[f]=!0),o.onRequestSent(),i[O]()}catch(t){e(t)}}function Te(e,t,n,o,s,c,l,u){r(u!==0||c[m]===0,`stream body cannot be pipelined`);let d=i(s,o,r=>{r?(a.destroy(d,r),e(r)):(a.removeAllListeners(d),l.onRequestSent(),n||(t[f]=!0),c[O]())});a.addListener(d,`data`,p);function p(e){l.onBodySent(e)}}async function Ee(e,t,n,i,a,s,c,l){r(c===n.size,`blob body must have content length`);try{if(c!=null&&c!==n.size)throw new o;let e=Buffer.from(await n.arrayBuffer());t.cork(),t.write(e),t.uncork(),t.end(),a.onBodySent(e),a.onRequestSent(),l||(s[f]=!0),i[O]()}catch(t){e(t)}}async function De(e,t,n,i,a,o,s,c){r(s!==0||i[m]===0,`iterator body cannot be pipelined`);let l=null;function u(){if(l){let e=l;l=null,e()}}let d=()=>new Promise((e,t)=>{r(l===null),o[y]?t(o[y]):l=e});t.on(`close`,u).on(`drain`,u);try{for await(let e of n){if(o[y])throw o[y];let n=t.write(e);a.onBodySent(e),n||await d()}t.end(),a.onRequestSent(),c||(o[f]=!0),i[O]()}catch(t){e(t)}finally{t.off(`close`,u).off(`drain`,u)}}n.exports=le})),Yi=n(((e,n)=>{let r=t(`node:assert`),i=t(`node:net`),a=t(`node:http`),o=K(),{ClientStats:s}=Ei(),{channels:c}=Di(),l=Oi(),u=Ai(),{InvalidArgumentError:d,InformationalError:f,ClientDestroyedError:p}=G(),m=ji(),{kUrl:h,kServerName:g,kClient:_,kBusy:v,kConnect:y,kResuming:b,kRunning:x,kPending:S,kSize:C,kQueue:w,kConnected:T,kConnecting:E,kNeedDrain:D,kKeepAliveDefaultTimeout:O,kHostHeader:k,kPendingIdx:A,kRunningIdx:j,kError:M,kPipelining:N,kKeepAliveTimeoutValue:P,kMaxHeadersSize:F,kKeepAliveMaxTimeout:I,kKeepAliveTimeoutThreshold:ee,kHeadersTimeout:L,kBodyTimeout:te,kStrictContentLength:R,kConnector:ne,kMaxRequests:re,kCounter:z,kClose:ie,kDestroy:ae,kDispatch:B,kLocalAddress:V,kMaxResponseSize:oe,kOnError:se,kHTTPContext:H,kMaxConcurrentStreams:ce,kHTTP2InitialWindowSize:le,kHTTP2ConnectionWindowSize:ue,kResume:de,kPingInterval:fe}=W(),U=qi(),pe=Ji(),me=Symbol(`kClosedResolve`),he=a&&a.maxHeaderSize&&Number.isInteger(a.maxHeaderSize)&&a.maxHeaderSize>0?()=>a.maxHeaderSize:()=>{throw new d(`http module not available or http.maxHeaderSize invalid`)},ge=()=>{};function _e(e){return e[N]??e[H]?.defaultPipelining??1}var ve=class extends u{constructor(e,{maxHeaderSize:t,headersTimeout:n,socketTimeout:r,requestTimeout:a,connectTimeout:s,bodyTimeout:c,idleTimeout:l,keepAlive:u,keepAliveTimeout:f,maxKeepAliveTimeout:p,keepAliveMaxTimeout:_,keepAliveTimeoutThreshold:v,socketPath:y,pipelining:x,tls:S,strictContentLength:C,maxCachedSessions:T,connect:E,maxRequestsPerClient:M,localAddress:z,maxResponseSize:ie,autoSelectFamily:ae,autoSelectFamilyAttemptTimeout:B,maxConcurrentStreams:U,allowH2:pe,useH2c:ge,initialWindowSize:_e,connectionWindowSize:ve,pingInterval:be,webSocket:xe}={}){if(u!==void 0)throw new d(`unsupported keepAlive, use pipelining=0 instead`);if(r!==void 0)throw new d(`unsupported socketTimeout, use headersTimeout & bodyTimeout instead`);if(a!==void 0)throw new d(`unsupported requestTimeout, use headersTimeout & bodyTimeout instead`);if(l!==void 0)throw new d(`unsupported idleTimeout, use keepAliveTimeout instead`);if(p!==void 0)throw new d(`unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead`);if(t!=null){if(!Number.isInteger(t)||t<1)throw new d(`invalid maxHeaderSize`)}else t=he();if(y!=null&&typeof y!=`string`)throw new d(`invalid socketPath`);if(s!=null&&(!Number.isFinite(s)||s<0))throw new d(`invalid connectTimeout`);if(f!=null&&(!Number.isFinite(f)||f<=0))throw new d(`invalid keepAliveTimeout`);if(_!=null&&(!Number.isFinite(_)||_<=0))throw new d(`invalid keepAliveMaxTimeout`);if(v!=null&&!Number.isFinite(v))throw new d(`invalid keepAliveTimeoutThreshold`);if(n!=null&&(!Number.isInteger(n)||n<0))throw new d(`headersTimeout must be a positive integer or zero`);if(c!=null&&(!Number.isInteger(c)||c<0))throw new d(`bodyTimeout must be a positive integer or zero`);if(E!=null&&typeof E!=`function`&&typeof E!=`object`)throw new d(`connect must be a function or an object`);if(M!=null&&(!Number.isInteger(M)||M<0))throw new d(`maxRequestsPerClient must be a positive number`);if(z!=null&&(typeof z!=`string`||i.isIP(z)===0))throw new d(`localAddress must be valid string IP address`);if(ie!=null&&(!Number.isInteger(ie)||ie<-1))throw new d(`maxResponseSize must be a positive number`);if(B!=null&&(!Number.isInteger(B)||B<-1))throw new d(`autoSelectFamilyAttemptTimeout must be a positive number`);if(pe!=null&&typeof pe!=`boolean`)throw new d(`allowH2 must be a valid boolean value`);if(U!=null&&(typeof U!=`number`||U<1))throw new d(`maxConcurrentStreams must be a positive integer, greater than 0`);if(ge!=null&&typeof ge!=`boolean`)throw new d(`useH2c must be a valid boolean value`);if(_e!=null&&(!Number.isInteger(_e)||_e<1))throw new d(`initialWindowSize must be a positive integer, greater than 0`);if(ve!=null&&(!Number.isInteger(ve)||ve<1))throw new d(`connectionWindowSize must be a positive integer, greater than 0`);if(be!=null&&(typeof be!=`number`||!Number.isInteger(be)||be<0))throw new d(`pingInterval must be a positive integer, greater or equal to 0`);if(super({webSocket:xe}),typeof E!=`function`)E=m({...S,maxCachedSessions:T,allowH2:pe,useH2c:ge,socketPath:y,timeout:s,...typeof ae==`boolean`?{autoSelectFamily:ae,autoSelectFamilyAttemptTimeout:B}:void 0,...E});else{let e=E;E=(t,n)=>e({...t,...y==null?null:{socketPath:y},...pe==null?null:{allowH2:pe}},n)}this[h]=o.parseOrigin(e),this[ne]=E,this[N]=x??1,this[F]=t,this[O]=f??4e3,this[I]=_??6e5,this[ee]=v??2e3,this[P]=this[O],this[g]=null,this[V]=z??null,this[b]=0,this[D]=0,this[k]=`host: ${this[h].hostname}${this[h].port?`:${this[h].port}`:``}\r\n`,this[te]=c??3e5,this[L]=n??3e5,this[R]=C??!0,this[re]=M,this[me]=null,this[oe]=ie>-1?ie:-1,this[H]=null,this[ce]=U??100,this[le]=_e??262144,this[ue]=ve??524288,this[fe]=be??6e4,this[w]=[],this[j]=0,this[A]=0,this[de]=e=>Ce(this,e),this[se]=e=>ye(this,e)}get pipelining(){return this[N]}set pipelining(e){this[N]=e,this[de](!0)}get stats(){return new s(this)}get[S](){return this[w].length-this[A]}get[x](){return this[A]-this[j]}get[C](){return this[w].length-this[j]}get[T](){return!!this[H]&&!this[E]&&!this[H].destroyed}get[v](){return!!(this[H]?.busy(null)||this[C]>=(_e(this)||1)||this[S]>0)}[y](e){be(this),this.once(`connect`,e)}[B](e,t){let n=new l(this[h].origin,e,t);return this[w].push(n),this[b]||(o.bodyLength(n.body)==null&&o.isIterable(n.body)?(this[b]=1,queueMicrotask(()=>Ce(this))):this[de](!0)),this[b]&&this[D]!==2&&this[v]&&(this[D]=2),this[D]<2}[ie](){return new Promise(e=>{this[C]?this[me]=e:e(null)})}[ae](e){return new Promise(t=>{let n=this[w].splice(this[A]);for(let t=0;t<n.length;t++){let r=n[t];o.errorRequest(this,r,e)}let r=()=>{this[me]&&(this[me](),this[me]=null),t(null)};this[H]?(this[H].destroy(e,r),this[H]=null):queueMicrotask(r),this[de]()})}};function ye(e,t){if(e[x]===0&&t.code!==`UND_ERR_INFO`&&t.code!==`UND_ERR_SOCKET`){r(e[A]===e[j]);let n=e[w].splice(e[j]);for(let r=0;r<n.length;r++){let i=n[r];o.errorRequest(e,i,t)}r(e[C]===0)}}function be(e){r(!e[E]),r(!e[H]);let{host:t,hostname:n,protocol:a,port:s}=e[h];if(n[0]===`[`){let e=n.indexOf(`]`);r(e!==-1);let t=n.substring(1,e);r(i.isIPv6(t)),n=t}e[E]=!0,c.beforeConnect.hasSubscribers&&c.beforeConnect.publish({connectParams:{host:t,hostname:n,protocol:a,port:s,version:e[H]?.version,servername:e[g],localAddress:e[V]},connector:e[ne]});try{e[ne]({host:t,hostname:n,protocol:a,port:s,servername:e[g],localAddress:e[V]},(i,l)=>{if(i){xe(e,i,{host:t,hostname:n,protocol:a,port:s}),e[de]();return}if(e.destroyed){o.destroy(l.on(`error`,ge),new p),e[de]();return}r(l);try{e[H]=l.alpnProtocol===`h2`?pe(e,l):U(e,l)}catch(r){l.destroy().on(`error`,ge),xe(e,r,{host:t,hostname:n,protocol:a,port:s}),e[de]();return}e[E]=!1,l[z]=0,l[re]=e[re],l[_]=e,l[M]=null,c.connected.hasSubscribers&&c.connected.publish({connectParams:{host:t,hostname:n,protocol:a,port:s,version:e[H]?.version,servername:e[g],localAddress:e[V]},connector:e[ne],socket:l}),e.emit(`connect`,e[h],[e]),e[de]()})}catch(r){xe(e,r,{host:t,hostname:n,protocol:a,port:s}),e[de]()}}function xe(e,t,{host:n,hostname:i,protocol:a,port:s}){if(!e.destroyed){if(e[E]=!1,c.connectError.hasSubscribers&&c.connectError.publish({connectParams:{host:n,hostname:i,protocol:a,port:s,version:e[H]?.version,servername:e[g],localAddress:e[V]},connector:e[ne],error:t}),t.code===`ERR_TLS_CERT_ALTNAME_INVALID`)for(r(e[x]===0);e[S]>0&&e[w][e[A]].servername===e[g];){let n=e[w][e[A]++];o.errorRequest(e,n,t)}else ye(e,t);e.emit(`connectionError`,e[h],[e],t)}}function Se(e){e[D]=0,e.emit(`drain`,e[h],[e])}function Ce(e,t){e[b]!==2&&(e[b]=2,we(e,t),e[b]=0,e[j]>256&&(e[w].splice(0,e[j]),e[A]-=e[j],e[j]=0))}function we(e,t){for(;;){if(e.destroyed){r(e[S]===0);return}if(e[me]&&!e[C]){e[me](),e[me]=null;return}if(e[H]&&e[H].resume(),e[v])e[D]=2;else if(e[D]===2){t?(e[D]=1,queueMicrotask(()=>Se(e))):Se(e);continue}if(e[S]===0||e[x]>=(_e(e)||1))return;let n=e[w][e[A]];if(n===null)return;if(e[h].protocol===`https:`&&e[g]!==n.servername){if(e[x]>0)return;e[g]=n.servername,e[H]?.destroy(new f(`servername changed`),()=>{e[H]=null,Ce(e)})}if(e[E])return;if(!e[H]){be(e);return}if(e[H].destroyed||e[H].busy(n))return;!n.aborted&&e[H].write(n)?e[A]++:e[w].splice(e[A],1)}}n.exports=ve})),Xi=n(((e,t)=>{let n=2048,r=n-1;var i=class{bottom=0;top=0;list=Array(n).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&r)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&r}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&r,e)}};t.exports=class{constructor(){this.head=this.tail=new i}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new i),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}}})),Zi=n(((e,t)=>{let{PoolStats:n}=Ei(),r=Ai(),i=Xi(),{kConnected:a,kSize:o,kRunning:s,kPending:c,kQueued:l,kBusy:u,kFree:d,kUrl:f,kClose:p,kDestroy:m,kDispatch:h}=W(),g=Symbol(`clients`),_=Symbol(`needDrain`),v=Symbol(`queue`),y=Symbol(`closed resolve`),b=Symbol(`onDrain`),x=Symbol(`onConnect`),S=Symbol(`onDisconnect`),C=Symbol(`onConnectionError`),w=Symbol(`get dispatcher`),T=Symbol(`add client`),E=Symbol(`remove client`);t.exports={PoolBase:class extends r{[v]=new i;[l]=0;[g]=[];[_]=!1;[b](e,t,n){let r=this[v],i=!1;for(;!i;){let t=r.shift();if(!t)break;this[l]--,i=!e.dispatch(t.opts,t.handler)}if(e[_]=i,!i&&this[_]&&(this[_]=!1,this.emit(`drain`,t,[this,...n])),this[y]&&r.isEmpty()){let e=[];for(let t=0;t<this[g].length;t++){let n=this[g][t];n.destroyed||e.push(n.close())}return Promise.all(e).then(this[y])}}[x]=(e,t)=>{this.emit(`connect`,e,[this,...t])};[S]=(e,t,n)=>{this.emit(`disconnect`,e,[this,...t],n)};[C]=(e,t,n)=>{this.emit(`connectionError`,e,[this,...t],n)};get[u](){return this[_]}get[a](){let e=0;for(let{[a]:t}of this[g])e+=t;return e}get[d](){let e=0;for(let{[a]:t,[_]:n}of this[g])e+=t&&!n;return e}get[c](){let e=this[l];for(let{[c]:t}of this[g])e+=t;return e}get[s](){let e=0;for(let{[s]:t}of this[g])e+=t;return e}get[o](){let e=this[l];for(let{[o]:t}of this[g])e+=t;return e}get stats(){return new n(this)}[p](){if(this[v].isEmpty()){let e=[];for(let t=0;t<this[g].length;t++){let n=this[g][t];n.destroyed||e.push(n.close())}return Promise.all(e)}else return new Promise(e=>{this[y]=e})}[m](e){for(;;){let t=this[v].shift();if(!t)break;t.handler.onResponseError(null,e)}let t=Array(this[g].length);for(let n=0;n<this[g].length;n++)t[n]=this[g][n].destroy(e);return Promise.all(t)}[h](e,t){let n=this[w]();return n?n.dispatch(e,t)||(n[_]=!0,this[_]=!this[w]()):(this[_]=!0,this[v].push({opts:e,handler:t}),this[l]++),!this[_]}[T](e){return e.on(`drain`,this[b].bind(this,e)).on(`connect`,this[x]).on(`disconnect`,this[S]).on(`connectionError`,this[C]),this[g].push(e),this[_]&&queueMicrotask(()=>{this[_]&&this[b](e,e[f],[e,this])}),this}[E](e){e.close(()=>{let t=this[g].indexOf(e);t!==-1&&this[g].splice(t,1)}),this[_]=this[g].some(e=>!e[_]&&e.closed!==!0&&e.destroyed!==!0)}},kClients:g,kNeedDrain:_,kAddClient:T,kRemoveClient:E,kGetDispatcher:w}})),Qi=n(((e,t)=>{let{PoolBase:n,kClients:r,kNeedDrain:i,kAddClient:a,kGetDispatcher:o,kRemoveClient:s}=Zi(),c=Yi(),{InvalidArgumentError:l}=G(),u=K(),{kUrl:d}=W(),f=ji(),p=Symbol(`options`),m=Symbol(`connections`),h=Symbol(`factory`);function g(e,t){return new c(e,t)}t.exports=class extends n{constructor(e,{connections:t,factory:n=g,connect:i,connectTimeout:a,tls:o,maxCachedSessions:s,socketPath:c,autoSelectFamily:_,autoSelectFamilyAttemptTimeout:v,allowH2:y,clientTtl:b,...x}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new l(`invalid connections`);if(typeof n!=`function`)throw new l(`factory must be a function.`);if(i!=null&&typeof i!=`function`&&typeof i!=`object`)throw new l(`connect must be a function or an object`);typeof i!=`function`&&(i=f({...o,maxCachedSessions:s,allowH2:y,socketPath:c,timeout:a,...typeof _==`boolean`?{autoSelectFamily:_,autoSelectFamilyAttemptTimeout:v}:void 0,...i})),super(x),this[m]=t||null,this[d]=u.parseOrigin(e),this[p]={...u.deepClone(x),connect:i,allowH2:y,clientTtl:b,socketPath:c},this[h]=n,this.on(`connect`,(e,t)=>{if(b!=null&&b>0)for(let e of t)Object.assign(e,{ttl:Date.now()})}),this.on(`connectionError`,(e,t,n)=>{for(let e of t){let t=this[r].indexOf(e);t!==-1&&this[r].splice(t,1)}})}[o](){let e=this[p].clientTtl;for(let t of this[r])if(e!=null&&e>0&&t.ttl&&Date.now()-t.ttl>e)this[s](t);else if(!t[i])return t;if(!this[m]||this[r].length<this[m]){let e=this[h](this[d],this[p]);return this[a](e),e}}}})),$i=n(((e,t)=>{let{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:r}=G(),{PoolBase:i,kClients:a,kNeedDrain:o,kAddClient:s,kRemoveClient:c,kGetDispatcher:l}=Zi(),u=Qi(),{kUrl:d}=W(),f=K(),p=Symbol(`factory`),m=Symbol(`options`),h=Symbol(`kGreatestCommonDivisor`),g=Symbol(`kCurrentWeight`),_=Symbol(`kIndex`),v=Symbol(`kWeight`),y=Symbol(`kMaxWeightPerServer`),b=Symbol(`kErrorPenalty`);function x(e,t){if(e===0)return t;for(;t!==0;){let n=t;t=e%t,e=n}return e}function S(e,t){return new u(e,t)}t.exports=class extends i{constructor(e=[],{factory:t=S,...n}={}){if(typeof t!=`function`)throw new r(`factory must be a function.`);super(),this[m]={...f.deepClone(n)},this[_]=-1,this[g]=0,this[y]=this[m].maxWeightPerServer||100,this[b]=this[m].errorPenalty||15,Array.isArray(e)||(e=[e]),this[p]=t;for(let t of e)this.addUpstream(t);this._updateBalancedPoolStats()}addUpstream(e){let t=f.parseOrigin(e).origin;if(this[a].find(e=>e[d].origin===t&&e.closed!==!0&&e.destroyed!==!0))return this;let n=this[p](t,this[m]);this[s](n),n.on(`connect`,()=>{n[v]=Math.min(this[y],n[v]+this[b])}),n.on(`connectionError`,()=>{n[v]=Math.max(1,n[v]-this[b]),this._updateBalancedPoolStats()}),n.on(`disconnect`,(...e)=>{let t=e[2];t&&t.code===`UND_ERR_SOCKET`&&(n[v]=Math.max(1,n[v]-this[b]),this._updateBalancedPoolStats())});for(let e of this[a])e[v]=this[y];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[a].length;t++)e=x(this[a][t][v],e);this[h]=e}removeUpstream(e){let t=f.parseOrigin(e).origin,n=this[a].find(e=>e[d].origin===t&&e.closed!==!0&&e.destroyed!==!0);return n&&this[c](n),this}getUpstream(e){let t=f.parseOrigin(e).origin;return this[a].find(e=>e[d].origin===t&&e.closed!==!0&&e.destroyed!==!0)}get upstreams(){return this[a].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[d].origin)}[l](){if(this[a].length===0)throw new n;if(!this[a].find(e=>!e[o]&&e.closed!==!0&&e.destroyed!==!0)||this[a].map(e=>e[o]).reduce((e,t)=>e&&t,!0))return;let e=0,t=this[a].findIndex(e=>!e[o]);for(;e++<this[a].length;){this[_]=(this[_]+1)%this[a].length;let e=this[a][this[_]];if(e[v]>this[a][t][v]&&!e[o]&&(t=this[_]),this[_]===0&&(this[g]=this[g]-this[h],this[g]<=0&&(this[g]=this[y])),e[v]>=this[g]&&!e[o])return e}return this[g]=this[a][t][v],this[_]=t,this[a][t]}}})),ea=n(((e,t)=>{let{PoolBase:n,kClients:r,kNeedDrain:i,kAddClient:a,kGetDispatcher:o,kRemoveClient:s}=Zi(),c=Yi(),{InvalidArgumentError:l}=G(),u=K(),{kUrl:d}=W(),f=ji(),p=Symbol(`options`),m=Symbol(`connections`),h=Symbol(`factory`),g=Symbol(`index`);function _(e,t){return new c(e,t)}t.exports=class extends n{constructor(e,{connections:t,factory:n=_,connect:i,connectTimeout:a,tls:o,maxCachedSessions:s,socketPath:c,autoSelectFamily:v,autoSelectFamilyAttemptTimeout:y,allowH2:b,clientTtl:x,...S}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new l(`invalid connections`);if(typeof n!=`function`)throw new l(`factory must be a function.`);if(i!=null&&typeof i!=`function`&&typeof i!=`object`)throw new l(`connect must be a function or an object`);typeof i!=`function`&&(i=f({...o,maxCachedSessions:s,allowH2:b,socketPath:c,timeout:a,...typeof v==`boolean`?{autoSelectFamily:v,autoSelectFamilyAttemptTimeout:y}:void 0,...i})),super(),this[m]=t||null,this[d]=u.parseOrigin(e),this[p]={...u.deepClone(S),connect:i,allowH2:b,clientTtl:x,socketPath:c},this[h]=n,this[g]=-1,this.on(`connect`,(e,t)=>{if(x!=null&&x>0)for(let e of t)Object.assign(e,{ttl:Date.now()})}),this.on(`connectionError`,(e,t,n)=>{for(let e of t){let t=this[r].indexOf(e);t!==-1&&this[r].splice(t,1)}})}[o](){let e=this[p].clientTtl,t=this[r].length;if(t===0){let e=this[h](this[d],this[p]);return this[a](e),e}let n=0;for(;n<t;){this[g]=(this[g]+1)%t;let a=this[r][this[g]];if(e!=null&&e>0&&a.ttl&&Date.now()-a.ttl>e){this[s](a),n++;continue}if(!a[i])return a;n++}if(!this[m]||t<this[m]){let e=this[h](this[d],this[p]);return this[a](e),e}}}})),ta=n(((e,t)=>{let{InvalidArgumentError:n,MaxOriginsReachedError:r}=G(),{kClients:i,kRunning:a,kClose:o,kDestroy:s,kDispatch:c,kUrl:l}=W(),u=Ai(),d=Qi(),f=Yi(),p=K(),m=Symbol(`onConnect`),h=Symbol(`onDisconnect`),g=Symbol(`onConnectionError`),_=Symbol(`onDrain`),v=Symbol(`factory`),y=Symbol(`options`),b=Symbol(`origins`);function x(e,t){return t&&t.connections===1?new f(e,t):new d(e,t)}t.exports=class extends u{constructor({factory:e=x,maxOrigins:t=1/0,connect:r,...a}={}){if(typeof e!=`function`)throw new n(`factory must be a function.`);if(r!=null&&typeof r!=`function`&&typeof r!=`object`)throw new n(`connect must be a function or an object`);if(typeof t!=`number`||Number.isNaN(t)||t<=0)throw new n(`maxOrigins must be a number greater than 0`);super(a),r&&typeof r!=`function`&&(r={...r}),this[y]={...p.deepClone(a),maxOrigins:t,connect:r},this[v]=e,this[i]=new Map,this[b]=new Set,this[_]=(e,t)=>{this.emit(`drain`,e,[this,...t])},this[m]=(e,t)=>{this.emit(`connect`,e,[this,...t])},this[h]=(e,t,n)=>{this.emit(`disconnect`,e,[this,...t],n)},this[g]=(e,t,n)=>{this.emit(`connectionError`,e,[this,...t],n)}}get[a](){let e=0;for(let{dispatcher:t}of this[i].values())e+=t[a];return e}[c](e,t){let a;if(e.origin&&(typeof e.origin==`string`||e.origin instanceof URL))a=String(e.origin);else throw new n(`opts.origin must be a non-empty string or URL.`);let o=e.allowH2??this[y].allowH2,s=o===!1?`${a}#http1-only`:a;if(this[b].size>=this[y].maxOrigins&&!this[b].has(a))throw new r;let c=this[i].get(s),l=c&&c.dispatcher;if(!l){let t=e=>{let t=this[i].get(s);if(t){e&&--t.count,t.count<=0&&(this[i].delete(s),t.dispatcher.destroyed||t.dispatcher.close());let n=!1;for(let e of this[i].values())if(e.origin===a){n=!0;break}n||this[b].delete(a)}};l=this[v](e.origin,o===!1?{...this[y],allowH2:!1}:this[y]).on(`drain`,this[_]).on(`connect`,(e,t)=>{let n=this[i].get(s);n&&(n.count+=1),this[m](e,t)}).on(`disconnect`,(e,n,r)=>{t(!0),this[h](e,n,r)}).on(`connectionError`,(e,n,r)=>{t(!1),this[g](e,n,r)}),this[i].set(s,{count:0,dispatcher:l,origin:a}),this[b].add(a)}return l.dispatch(e,t)}[o](){let e=[];for(let{dispatcher:t}of this[i].values())e.push(t.close());return this[i].clear(),Promise.all(e)}[s](e){let t=[];for(let{dispatcher:n}of this[i].values())t.push(n.destroy(e));return this[i].clear(),Promise.all(t)}get stats(){let e={};for(let{dispatcher:t}of this[i].values())t.stats&&(e[t[l].origin]=t.stats);return e}}})),na=n(((e,t)=>{let n=ki(),{InvalidArgumentError:r}=G(),{toRawHeaders:i}=K();var a=class{#e;constructor(e){this.#e=e}onRequestStart(e,t){this.#e.onConnect?.(t=>e.abort(t),t)}onRequestUpgrade(e,t,n,r){let a=e?.rawHeaders??i(n??{});this.#e.onUpgrade?.(t,a,r)}onResponseStart(e,t,n,r){let a=e?.rawHeaders??i(n??{});this.#e.onHeaders?.(t,a,()=>e.resume(),r)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let n=e?.rawTrailers??i(t??{});this.#e.onComplete?.(n)}onResponseError(e,t){if(!this.#e.onError)throw t;this.#e.onError(t)}onBodySent(e){this.#e.onBodySent?.(e)}onRequestSent(){this.#e.onRequestSent?.()}onResponseStarted(){this.#e.onResponseStarted?.()}};t.exports=class e extends n{#e;constructor(e){if(super(),!e||typeof e.dispatch!=`function`)throw new r(`Argument dispatcher must implement dispatch`);this.#e=e}static wrapHandler(e){if(!e||typeof e!=`object`)throw new r(`handler must be an object`);return typeof e.onRequestStart==`function`?e:new a(e)}dispatch(t,n){return t.allowH2!==!1&&(t={...t,allowH2:!1}),this.#e.dispatch(t,e.wrapHandler(n))}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}}})),ra=n(((e,n)=>{let{Buffer:r}=t(`node:buffer`),i=t(`node:net`),{InvalidArgumentError:a}=G();function o(e){if(i.isIPv4(e)){let t=e.split(`.`).map(Number);return{type:1,buffer:r.from(t)}}if(i.isIPv6(e))return{type:4,buffer:s(e)};let t=r.from(e,`utf8`);if(t.length>255)throw new a(`Domain name too long (max 255 bytes)`);return{type:3,buffer:r.concat([r.from([t.length]),t])}}function s(e){let t=r.alloc(16),n=e.split(`:`),i=0,a=0,o=e.indexOf(`::`);if(o!==-1){let e=8-n.filter(e=>e.length>0).length;for(let r=0;r<n.length;r++)if(n[r]===``&&r===o/3)a+=e*2;else if(n[r]!==``){let e=parseInt(n[r],16);t.writeUInt16BE(e,a),a+=2}}else for(let e of n){if(e===``)continue;let n=parseInt(e,16);t.writeUInt16BE(n,i*2),i++}return t}function c(e,t,n){let i=r.allocUnsafe(2);return i.writeUInt16BE(n,0),r.concat([r.from([e]),t,i])}function l(e,t=0){if(e.length<t+1)throw new a(`Buffer too small to contain address type`);let n=e[t],r,i=t+1;switch(n){case 1:if(e.length<i+6)throw new a(`Buffer too small for IPv4 address`);r=Array.from(e.subarray(i,i+4)).join(`.`),i+=4;break;case 3:{if(e.length<i+1)throw new a(`Buffer too small for domain length`);let t=e[i];if(i+=1,e.length<i+t+2)throw new a(`Buffer too small for domain address`);r=e.subarray(i,i+t).toString(`utf8`),i+=t;break}case 4:{if(e.length<i+18)throw new a(`Buffer too small for IPv6 address`);let t=[];for(let n=0;n<8;n++){let r=e.readUInt16BE(i+n*2);t.push(r.toString(16))}r=t.join(`:`),i+=16;break}default:throw new a(`Invalid address type: ${n}`)}if(e.length<i+2)throw new a(`Buffer too small for port`);let o=e.readUInt16BE(i);return i+=2,{address:r,port:o,bytesRead:i-t}}function u(e){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`}[e]||`Unknown SOCKS5 error code: ${e}`,n=Error(t);return n.code=`SOCKS5_${e}`,n}n.exports={parseAddress:o,parseIPv6:s,buildAddressBuffer:c,parseResponseAddress:l,createReplyError:u}})),ia=n(((e,n)=>{let{EventEmitter:r}=t(`node:events`),{Buffer:i}=t(`node:buffer`),{InvalidArgumentError:a,Socks5ProxyError:o}=G(),{debuglog:s}=t(`node:util`),{parseAddress:c}=ra(),l=s(`undici:socks5`),u={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},d={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},f={IPV4:1,DOMAIN:3,IPV6:4},p={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},m={INITIAL:`initial`,HANDSHAKING:`handshaking`,AUTHENTICATING:`authenticating`,CONNECTING:`connecting`,CONNECTED:`connected`,ERROR:`error`,CLOSED:`closed`};n.exports={Socks5Client:class extends r{constructor(e,t={}){if(super(),!e)throw new a(`socket is required`);this.socket=e,this.options=t,this.state=m.INITIAL,this.buffer=i.alloc(0),this.authMethods=[],t.username&&t.password&&this.authMethods.push(u.USERNAME_PASSWORD),this.authMethods.push(u.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){l(`received data`,e.length,`bytes in state`,this.state),this.buffer=i.concat([this.buffer,e]);try{switch(this.state){case m.HANDSHAKING:this.handleHandshakeResponse();break;case m.AUTHENTICATING:this.handleAuthResponse();break;case m.CONNECTING:this.handleConnectResponse();break}}catch(e){this.onError(e)}}onError(e){l(`socket error`,e),this.state=m.ERROR,this.emit(`error`,e),this.destroy()}onClose(){l(`socket closed`),this.state=m.CLOSED,this.emit(`close`)}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}handshake(){if(this.state!==m.INITIAL)throw new a(`Handshake already started`);l(`starting handshake with`,this.authMethods.length,`auth methods`),this.state=m.HANDSHAKING;let e=i.alloc(2+this.authMethods.length);e[0]=5,e[1]=this.authMethods.length,this.authMethods.forEach((t,n)=>{e[2+n]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==5)throw new o(`Invalid SOCKS version: ${e}`,`UND_ERR_SOCKS5_VERSION`);if(t===u.NO_ACCEPTABLE)throw new o(`No acceptable authentication method`,`UND_ERR_SOCKS5_AUTH_REJECTED`);if(this.buffer=this.buffer.subarray(2),l(`server selected auth method`,t),t===u.NO_AUTH)this.emit(`authenticated`);else if(t===u.USERNAME_PASSWORD)this.state=m.AUTHENTICATING,this.sendAuthRequest();else throw new o(`Unsupported authentication method: ${t}`,`UND_ERR_SOCKS5_AUTH_METHOD`)}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new a(`Username and password required for authentication`);l(`sending username/password auth`);let n=i.from(e),r=i.from(t);if(n.length>255||r.length>255)throw new a(`Username or password too long`);let o=i.alloc(3+n.length+r.length);o[0]=1,o[1]=n.length,n.copy(o,2),o[2+n.length]=r.length,r.copy(o,3+n.length),this.socket.write(o)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new o(`Invalid auth sub-negotiation version: ${e}`,`UND_ERR_SOCKS5_AUTH_VERSION`);if(t!==0)throw new o(`Authentication failed`,`UND_ERR_SOCKS5_AUTH_FAILED`);this.buffer=this.buffer.subarray(2),l(`authentication successful`),this.emit(`authenticated`)}connect(e,t){if(this.state===m.CONNECTED)throw new a(`Already connected`);l(`connecting to`,e,t),this.state=m.CONNECTING;let n=this.buildConnectRequest(d.CONNECT,e,t);this.socket.write(n)}buildConnectRequest(e,t,n){let{type:r,buffer:a}=c(t),o=i.alloc(4+a.length+2);return o[0]=5,o[1]=e,o[2]=0,o[3]=r,a.copy(o,4),o.writeUInt16BE(n,4+a.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],n=this.buffer[3];if(e!==5)throw new o(`Invalid SOCKS version in reply: ${e}`,`UND_ERR_SOCKS5_REPLY_VERSION`);let r=4;if(n===f.IPV4)r+=6;else if(n===f.DOMAIN){if(this.buffer.length<5)return;r+=1+this.buffer[4]+2}else if(n===f.IPV6)r+=18;else throw new o(`Invalid address type in reply: ${n}`,`UND_ERR_SOCKS5_ADDR_TYPE`);if(this.buffer.length<r)return;if(t!==p.SUCCEEDED)throw new o(`SOCKS5 connection failed: ${this.getReplyErrorMessage(t)}`,`UND_ERR_SOCKS5_REPLY_${t}`);let i,a=4;if(n===f.IPV4)i=Array.from(this.buffer.subarray(a,a+4)).join(`.`),a+=4;else if(n===f.DOMAIN){let e=this.buffer[a];a+=1,i=this.buffer.subarray(a,a+e).toString(),a+=e}else if(n===f.IPV6){let e=[];for(let t=0;t<8;t++){let n=this.buffer.readUInt16BE(a+t*2);e.push(n.toString(16))}i=e.join(`:`),a+=16}let s=this.buffer.readUInt16BE(a);this.buffer=this.buffer.subarray(r),this.state=m.CONNECTED,l(`connected, bound address:`,i,`port:`,s),this.emit(`connected`,{address:i,port:s})}getReplyErrorMessage(e){switch(e){case p.GENERAL_FAILURE:return`General SOCKS server failure`;case p.CONNECTION_NOT_ALLOWED:return`Connection not allowed by ruleset`;case p.NETWORK_UNREACHABLE:return`Network unreachable`;case p.HOST_UNREACHABLE:return`Host unreachable`;case p.CONNECTION_REFUSED:return`Connection refused`;case p.TTL_EXPIRED:return`TTL expired`;case p.COMMAND_NOT_SUPPORTED:return`Command not supported`;case p.ADDRESS_TYPE_NOT_SUPPORTED:return`Address type not supported`;default:return`Unknown error code: ${e}`}}},AUTH_METHODS:u,COMMANDS:d,ADDRESS_TYPES:f,REPLY_CODES:p,STATES:m}})),aa=n(((e,n)=>{let r=t(`node:net`),{URL:i}=t(`node:url`),a,o=Ai(),{InvalidArgumentError:s}=G(),{Socks5Client:c}=ia(),{kDispatch:l,kClose:u,kDestroy:d}=W(),f=Qi(),p=ji(),{debuglog:m}=t(`node:util`),h=m(`undici:socks5-proxy`),g=Symbol(`proxy url`),_=Symbol(`proxy headers`),v=Symbol(`proxy auth`),y=Symbol(`pool`),b=Symbol(`connector`),x=!1;n.exports=class extends o{constructor(e,t={}){if(super(),x||=(process.emitWarning(`SOCKS5 proxy support is experimental and subject to change`,`ExperimentalWarning`),!0),!e)throw new s(`Proxy URL is mandatory`);let n=typeof e==`string`?new i(e):e;if(n.protocol!==`socks5:`&&n.protocol!==`socks:`)throw new s(`Proxy URL must use socks5:// or socks:// protocol`);this[g]=n,this[_]=t.headers||{},this[v]={username:t.username||(n.username?decodeURIComponent(n.username):null),password:t.password||(n.password?decodeURIComponent(n.password):null)},this[b]=t.connect||p({...t.proxyTls,servername:t.proxyTls?.servername||n.hostname}),this[y]=null}async createSocks5Connection(e,t){let n=this[g].hostname,i=parseInt(this[g].port)||1080;h(`creating SOCKS5 connection to`,n,i);let a=Promise.withResolvers(),o=()=>{l.removeListener(`error`,s),a.resolve(l)},s=e=>{l.removeListener(`connect`,o),a.reject(e)},l=r.connect({host:n,port:i});l.once(`connect`,o),l.once(`error`,s),await a.promise;let u=new c(l,this[v]);u.on(`error`,e=>{h(`SOCKS5 error:`,e),l.destroy()}),await u.handshake();let d=Promise.withResolvers(),f=setTimeout(()=>{d.reject(Error(`SOCKS5 authentication timeout`))},5e3),p=()=>{clearTimeout(f),u.removeListener(`error`,m),d.resolve()},m=e=>{clearTimeout(f),u.removeListener(`authenticated`,p),d.reject(e)};u.state===`authenticated`?(clearTimeout(f),d.resolve()):(u.once(`authenticated`,p),u.once(`error`,m)),await d.promise,await u.connect(e,t);let _=Promise.withResolvers(),y=setTimeout(()=>{_.reject(Error(`SOCKS5 connection timeout`))},5e3),b=n=>{h(`SOCKS5 tunnel established to`,e,t,`via`,n),clearTimeout(y),u.removeListener(`error`,x),_.resolve()},x=e=>{clearTimeout(y),u.removeListener(`connected`,b),_.reject(e)};return u.once(`connected`,b),u.once(`error`,x),await _.promise,l}async[l](e,n){let{origin:r}=e;h(`dispatching request to`,r,`via SOCKS5`);try{return(!this[y]||this[y].destroyed||this[y].closed)&&(this[y]=new f(r,{pipelining:e.pipelining,connections:e.connections,connect:async(e,n)=>{try{let o=new i(r),s=o.hostname,c=parseInt(o.port)||(o.protocol===`https:`?443:80);h(`establishing SOCKS5 connection to`,s,c);let l=await this.createSocks5Connection(s,c),u=l;if(o.protocol===`https:`){a||=t(`node:tls`),h(`upgrading to TLS`),u=a.connect({socket:l,servername:s,...e.tls||{}});let n=Promise.withResolvers();u.once(`secureConnect`,n.resolve),u.once(`error`,n.reject),await n.promise}n(null,u)}catch(e){h(`SOCKS5 connection error:`,e),n(e)}}})),this[y][l](e,n)}catch(e){if(h(`dispatch error:`,e),typeof n.onError==`function`)n.onError(e);else throw e}}async[u](){this[y]&&await this[y].close()}async[d](e){this[y]&&await this[y].destroy(e)}}})),oa=n(((e,t)=>{let{kProxy:n,kClose:r,kDestroy:i,kDispatch:a}=W(),o=ta(),s=Qi(),c=Ai(),{InvalidArgumentError:l,RequestAbortedError:u,SecureProxyConnectionError:d}=G(),f=ji(),p=Yi(),{channels:m}=Di(),h=aa(),g=Symbol(`proxy agent`),_=Symbol(`proxy client`),v=Symbol(`proxy headers`),y=Symbol(`request tls settings`),b=Symbol(`proxy tls settings`),x=Symbol(`connect endpoint function`),S=Symbol(`connect endpoint function (http/1.1 only)`),C=Symbol(`tunnel proxy`);function w(e){return e===`https:`?443:80}function T(e,t){return new s(e,t)}let E=()=>{};function D(e,t){return t.connections===1?new p(e,t):new s(e,t)}var O=class extends c{#e;constructor(e,{headers:t={},connect:n,factory:r}){if(!e)throw new l(`Proxy URL is mandatory`);super(),this[v]=t,r?this.#e=r(e,{connect:n}):this.#e=new p(e,{connect:n})}[a](e,t){let n=t.onResponseStart;t.onResponseStart=function(e,r,i,a){if(r===407){typeof t.onResponseError==`function`&&t.onResponseError(e,new l(`Proxy Authentication Required (407)`));return}n&&n.call(this,e,r,i,a)};let{origin:r,path:i=`/`,headers:o={}}=e;if(e.path=r+i,!(`host`in o)&&!(`Host`in o)){let{host:e}=new URL(r);o.host=e}return e.headers={...this[v],...o},this.#e[a](e,t)}[r](){return this.#e.close()}[i](e){return this.#e.destroy(e)}},k=class extends c{constructor(e){if(!e||typeof e==`object`&&!(e instanceof URL)&&!e.uri)throw new l(`Proxy uri is mandatory`);let{clientFactory:t=T}=e;if(typeof t!=`function`)throw new l(`Proxy opts.clientFactory must be a function.`);let{proxyTunnel:r=!0,connectTimeout:i}=e;super();let a=this.#e(e),{href:s,origin:c,port:p,protocol:k,username:A,password:j,hostname:M}=a;if(this[n]={uri:s,protocol:k},this[y]=e.requestTls,this[b]=e.proxyTls,this[v]=e.headers||{},this[C]=r,e.auth&&e.token)throw new l(`opts.auth cannot be used in combination with opts.token`);e.auth?this[v][`proxy-authorization`]=`Basic ${e.auth}`:e.token?this[v][`proxy-authorization`]=e.token:A&&j&&(this[v][`proxy-authorization`]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(j)}`).toString(`base64`)}`);let N=f({timeout:i,...e.proxyTls});this[x]=f({timeout:i,...e.requestTls}),this[S]=f({timeout:i,...e.requestTls,allowH2:!1});let P=e.factory||D,F=(t,r)=>{let{protocol:i}=new URL(t);return this[n].protocol===`socks5:`||this[n].protocol===`socks:`?new h(this[n].uri,{headers:this[v],connect:N,factory:P,username:e.username||A,password:e.password||j,proxyTls:e.proxyTls}):!this[C]&&i===`http:`&&this[n].protocol===`http:`?new O(this[n].uri,{headers:this[v],connect:N,factory:P}):P(t,r)};k===`socks5:`||k===`socks:`?this[_]=null:this[_]=t(a,{connect:N}),this[g]=new o({...e,factory:F,connect:async(e,t)=>{if(!this[_]){t(new l(`Cannot establish tunnel connection without a proxy client`));return}let n=e.host;e.port||(n+=`:${w(e.protocol)}`);try{let r={origin:c,port:p,path:n,signal:e.signal,headers:{...this[v],host:e.host,...e.connections==null||e.connections>0?{"proxy-connection":`keep-alive`}:{}},servername:this[b]?.servername||M},{socket:i,statusCode:a}=await this[_].connect(r);if(a!==200){i.on(`error`,E).destroy(),t(new u(`Proxy response (${a}) !== 200 when HTTP Tunneling`));return}if(m.proxyConnected.hasSubscribers&&m.proxyConnected.publish({socket:i,connectParams:r}),e.protocol!==`https:`){t(null,i);return}let o;o=this[y]?this[y].servername:e.servername,(e.allowH2===!1?this[S]:this[x])({...e,servername:o,httpSocket:i},t)}catch(e){e.code===`ERR_TLS_CERT_ALTNAME_INVALID`?t(new d(e)):t(e)}}})}dispatch(e,t){let n=A(e.headers);if(j(n),n&&!(`host`in n)&&!(`Host`in n)){let{host:t}=new URL(e.origin);n.host=t}return this[g].dispatch({...e,headers:n},t)}#e(e){return typeof e==`string`?new URL(e):e instanceof URL?e:new URL(e.uri)}[r](){let e=[this[g].close()];return this[_]&&e.push(this[_].close()),Promise.all(e)}[i](){let e=[this[g].destroy()];return this[_]&&e.push(this[_].destroy()),Promise.all(e)}};function A(e){if(Array.isArray(e)){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}return e}function j(e){if(e&&Object.keys(e).find(e=>e.toLowerCase()===`proxy-authorization`))throw new l(`Proxy-Authorization should be sent in ProxyAgent constructor`)}t.exports=k})),sa=n(((e,t)=>{let n=Ai(),{kClose:r,kDestroy:i,kClosed:a,kDestroyed:o,kDispatch:s,kNoProxyAgent:c,kHttpProxyAgent:l,kHttpsProxyAgent:u}=W(),d=oa(),f=ta(),p={"http:":80,"https:":443};t.exports=class extends n{#e=null;#t=null;#n=null;constructor(e={}){super(),this.#n=e;let{httpProxy:t,httpsProxy:n,noProxy:r,...i}=e;this[c]=new f(i);let a=t??process.env.http_proxy??process.env.HTTP_PROXY;a?this[l]=new d({...i,uri:a}):this[l]=this[c];let o=n??process.env.https_proxy??process.env.HTTPS_PROXY;o?this[u]=new d({...i,uri:o}):this[u]=this[l],this.#a()}[s](e,t){let n=new URL(e.origin);return this.#r(n).dispatch(e,t)}[r](){return Promise.all([this[c].close(),!this[l][a]&&this[l].close(),!this[u][a]&&this[u].close()])}[i](e){return Promise.all([this[c].destroy(e),!this[l][o]&&this[l].destroy(e),!this[u][o]&&this[u].destroy(e)])}#r(e){let{protocol:t,host:n,port:r}=e;return n=n.replace(/:\d*$/,``).toLowerCase(),r=Number.parseInt(r,10)||p[t]||0,this.#i(n,r)?t===`https:`?this[u]:this[l]:this[c]}#i(e,t){if(this.#o&&this.#a(),this.#t.length===0)return!0;if(this.#e===`*`)return!1;for(let n=0;n<this.#t.length;n++){let r=this.#t[n];if(!(r.port&&r.port!==t)&&(e===r.hostname||e.slice(-(r.hostname.length+1))===`.${r.hostname}`))return!1}return!0}#a(){let e=this.#n.noProxy??this.#s,t=e.split(/[,\s]/),n=[];for(let e=0;e<t.length;e++){let r=t[e];if(!r)continue;let i=r.match(/^(.+):(\d+)$/);n.push({hostname:(i?i[1]:r).replace(/^\*?\./,``).toLowerCase(),port:i?Number.parseInt(i[2],10):0})}this.#e=e,this.#t=n}get#o(){return this.#n.noProxy===void 0?this.#e!==this.#s:!1}get#s(){return process.env.no_proxy??process.env.NO_PROXY??``}}})),ca=n(((e,n)=>{let r=t(`node:assert`),{kRetryHandlerDefaultRetry:i}=W(),{RequestRetryError:a}=G(),{isDisturbed:o,parseRangeHeader:s,wrapRequestBody:c}=K();function l(e){let t=new Date(e).getTime();return isNaN(t)?0:t-Date.now()}n.exports=class e{constructor(t,{dispatch:n,handler:r}){let{retryOptions:a,...o}=t,{retry:s,maxRetries:l,maxTimeout:u,minTimeout:d,timeoutFactor:f,methods:p,errorCodes:m,retryAfter:h,statusCodes:g,throwOnError:_}=a??{};this.error=null,this.dispatch=n,this.handler=r,this.opts={...o,body:c(t.body)},this.retryOpts={throwOnError:_??!0,retry:s??e[i],retryAfter:h??!0,maxTimeout:u??30*1e3,minTimeout:d??500,timeoutFactor:f??2,maxRetries:l??5,methods:p??[`GET`,`HEAD`,`OPTIONS`,`PUT`,`DELETE`,`TRACE`],statusCodes:g??[500,502,503,504,429],errorCodes:m??[`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,n,r,i){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,r)):this.error=i;return}if(o(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,r);return}function a(a){if(a){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,r),e.resume();return}this.error=i,e.resume()}e.pause(),this.retryOpts.retry(i,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},a.bind(this))}onRequestStart(e,t){this.headersSent||this.handler.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,r){this.handler.onRequestUpgrade?.(e,t,n,r)}static[i](e,{state:t,opts:n},r){let{statusCode:i,code:a,headers:o}=e,{method:s,retryOptions:c}=n,{maxRetries:u,minTimeout:d,maxTimeout:f,timeoutFactor:p,statusCodes:m,errorCodes:h,methods:g}=c,{counter:_}=t;if(a&&a!==`UND_ERR_REQ_RETRY`&&!h.includes(a)){r(e);return}if(Array.isArray(g)&&!g.includes(s)){r(e);return}if(i!=null&&Array.isArray(m)&&!m.includes(i)){r(e);return}if(_>u){r(e);return}let v=o?.[`retry-after`];v&&=(v=Number(v),Number.isNaN(v)?l(o[`retry-after`]):v*1e3);let y=Math.min(v>0?v:d*p**(_-1),f);setTimeout(()=>r(null),y)}onResponseStart(e,t,n,i){if(this.error=null,this.retryCount+=1,t>=300){let r=new a(`Request failed`,t,{headers:n,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,n,i,r);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new a(`server does not support the range header and the payload was partially consumed`,t,{headers:n,data:{count:this.retryCount}});let e=s(n[`content-range`]);if(!e)throw new a(`Content-Range mismatch`,t,{headers:n,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==n.etag)throw new a(`ETag mismatch`,t,{headers:n,data:{count:this.retryCount}});let{start:i,size:o,end:c=o?o-1:null}=e;r(this.start===i,`content-range mismatch`),r(this.end==null||this.end===c,`content-range mismatch`);return}if(this.end==null){if(t===206){let a=s(n[`content-range`]);if(a==null){this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,i);return}let{start:o,size:c,end:l=c?c-1:null}=a;r(o!=null&&Number.isFinite(o),`content-range mismatch`),r(l!=null&&Number.isFinite(l),`invalid content-length`),this.start=o,this.end=l}if(this.end==null){let e=n[`content-length`];this.end=e==null?null:Number(e)-1}r(Number.isFinite(this.start)),r(this.end==null||Number.isFinite(this.end),`invalid content-length`),this.resume=!0,this.etag=n.etag==null?null:n.etag,this.etag!=null&&this.etag[0]===`W`&&this.etag[1]===`/`&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(e,t,n,i)}else throw new a(`Request failed`,t,{headers:n,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 e={range:`bytes=${this.start}-${this.end??``}`};this.etag!=null&&(e[`if-match`]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...e}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(t){this.handler.onResponseError?.(e,t)}}onResponseError(e,t){if(e?.aborted||o(this.opts.body)){this.handler.onResponseError?.(e,t);return}function n(t){if(!t){this.retry(e);return}this.handler?.onResponseError?.(e,t)}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}},n.bind(this))}}})),la=n(((e,t)=>{let n=ki(),r=ca();t.exports=class extends n{#e=null;#t=null;constructor(e,t={}){super(t),this.#e=e,this.#t=t}dispatch(e,t){let n=new r({...e,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,n)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}}})),ua=n(((e,t)=>{let{InvalidArgumentError:n}=G(),r=Yi();t.exports=class extends r{constructor(e,t){if(typeof e==`string`&&(e=new URL(e)),e.protocol!==`http:`)throw new n(`h2c-client: Only h2c protocol is supported`);let{maxConcurrentStreams:r,pipelining:i,...a}=t??{},o=100,s=100;if(r!=null&&Number.isInteger(r)&&r>0&&(o=r),i!=null&&Number.isInteger(i)&&i>0&&(s=i),s>o)throw new n(`h2c-client: pipelining cannot be greater than maxConcurrentStreams`);super(e,{...a,maxConcurrentStreams:o,pipelining:s,allowH2:!0,useH2c:!0})}}})),da=n(((e,n)=>{let r=t(`node:assert`),{Readable:i}=t(`node:stream`),{RequestAbortedError:a,NotSupportedError:o,InvalidArgumentError:s,AbortError:c}=G(),l=K(),{ReadableStreamFrom:u}=K(),d=Symbol(`kConsume`),f=Symbol(`kReading`),p=Symbol(`kBody`),m=Symbol(`kAbort`),h=Symbol(`kContentType`),g=Symbol(`kContentLength`),_=Symbol(`kUsed`),v=Symbol(`kBytesRead`),y=()=>{};var b=class extends i{constructor({resume:e,abort:t,contentType:n=``,contentLength:r,highWaterMark:i=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:i}),this._readableState.dataEmitted=!1,this[m]=t,this[d]=null,this[v]=0,this[p]=null,this[_]=!1,this[h]=n,this[g]=Number.isFinite(r)?r:null,this[f]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new a),e&&this[m](),this[_]?t(e):setImmediate(t,e)}on(e,t){return(e===`data`||e===`readable`)&&(this[f]=!0,this[_]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let n=super.off(e,t);return(e===`data`||e===`readable`)&&(this[f]=this.listenerCount(`data`)>0||this.listenerCount(`readable`)>0),n}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[v]+=e.length,this[d])?(O(this[d],e),this[f]?super.push(e):!0):super.push(e)}text(){return C(this,`text`)}json(){return C(this,`json`)}blob(){return C(this,`blob`)}bytes(){return C(this,`bytes`)}arrayBuffer(){return C(this,`arrayBuffer`)}async formData(){throw new o}get bodyUsed(){return l.isDisturbed(this)}get body(){return this[p]||(this[p]=u(this),this[d]&&(this[p].getReader(),r(this[p].locked))),this[p]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!=`object`||!(`aborted`in t)))return Promise.reject(new s(`signal must be an AbortSignal`));let n=e?.limit&&Number.isFinite(e.limit)?e.limit:128*1024;return t?.aborted?Promise.reject(t.reason??new c):this._readableState.closeEmitted?Promise.resolve(null):new Promise((e,r)=>{if((this[g]&&this[g]>n||this[v]>n)&&this.destroy(new c),t){let n=()=>{this.destroy(t.reason??new c)};t.addEventListener(`abort`,n),this.on(`close`,function(){t.removeEventListener(`abort`,n),t.aborted?r(t.reason??new c):e(null)})}else this.on(`close`,e);this.on(`error`,y).on(`data`,()=>{this[v]>n&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&(this._readableState.encoding=e),this}};function x(e){return e[p]?.locked===!0||e[d]!==null}function S(e){return l.isDisturbed(e)||x(e)}function C(e,t){return r(!e[d]),new Promise((n,r)=>{if(S(e)){let t=e._readableState;t.destroyed&&t.closeEmitted===!1?e.on(`error`,r).on(`close`,()=>{r(TypeError(`unusable`))}):r(t.errored??TypeError(`unusable`))}else queueMicrotask(()=>{e[d]={type:t,stream:e,resolve:n,reject:r,length:0,body:[]},e.on(`error`,function(e){k(this[d],e)}).on(`close`,function(){this[d].body!==null&&k(this[d],new a)}),w(e[d])})})}function w(e){if(e.body===null)return;let{_readableState:t}=e.stream;if(t.bufferIndex){let n=t.bufferIndex,r=t.buffer.length;for(let i=n;i<r;i++)O(e,t.buffer[i])}else for(let n of t.buffer)O(e,n);for(t.endEmitted?D(this[d],this._readableState.encoding):e.stream.on(`end`,function(){D(this[d],this._readableState.encoding)}),e.stream.resume();e.stream.read()!=null;);}function T(e,t,n){if(e.length===0||t===0)return``;let r=e.length===1?e[0]:Buffer.concat(e,t),i=r.length,a=i>2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return!n||n===`utf8`||n===`utf-8`?r.utf8Slice(a,i):r.subarray(a,i).toString(n)}function E(e,t){if(e.length===0||t===0)return new Uint8Array;if(e.length===1)return new Uint8Array(e[0]);let n=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer),r=0;for(let t=0;t<e.length;++t){let i=e[t];n.set(i,r),r+=i.length}return n}function D(e,t){let{type:n,body:r,resolve:i,stream:a,length:o}=e;try{n===`text`?i(T(r,o,t)):n===`json`?i(JSON.parse(T(r,o,t))):n===`arrayBuffer`?i(E(r,o).buffer):n===`blob`?i(new Blob(r,{type:a[h]})):n===`bytes`&&i(E(r,o)),k(e)}catch(e){a.destroy(e)}}function O(e,t){e.length+=t.length,e.body.push(t)}function k(e,t){e.body!==null&&(t?e.reject(t):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}n.exports={Readable:b,chunksDecode:T}})),fa=n(((e,n)=>{let r=t(`node:assert`),{AsyncResource:i}=t(`node:async_hooks`),{Readable:a}=da(),{InvalidArgumentError:o,RequestAbortedError:s}=G(),c=K();function l(){}var u=class extends i{constructor(e,t){if(!e||typeof e!=`object`)throw new o(`invalid opts`);let{signal:n,method:r,opaque:i,body:a,onInfo:u,responseHeaders:d,highWaterMark:f}=e;try{if(typeof t!=`function`)throw new o(`invalid callback`);if(f&&(typeof f!=`number`||f<0))throw new o(`invalid highWaterMark`);if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new o(`signal must be an EventEmitter or EventTarget`);if(r===`CONNECT`)throw new o(`invalid method`);if(u&&typeof u!=`function`)throw new o(`invalid onInfo callback`);super(`UNDICI_REQUEST`)}catch(e){throw c.isStream(a)&&c.destroy(a.on(`error`,l),e),e}this.method=r,this.responseHeaders=d||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=a,this.trailers={},this.context=null,this.controller=null,this.onInfo=u||null,this.highWaterMark=f,this.reason=null,this.removeAbortListener=null,n?.aborted?this.reason=n.reason??new s:n&&(this.removeAbortListener=c.addAbortListener(n,()=>{this.reason=n.reason??new s,this.res?c.destroy(this.res.on(`error`,l),this.reason):this.abort&&this.abort(this.reason)}))}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.controller=e,this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{callback:i,opaque:o,context:s,responseHeaders:u,highWaterMark:d}=this,f=e?.rawHeaders,p=u===`raw`?Array.isArray(f)?c.parseRawHeaders(f):[]:n;if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:p});return}let m=n,h=m?.[`content-type`],g=m?.[`content-length`],_=new a({resume:()=>e.resume(),abort:t=>e.abort(t),contentType:h,contentLength:this.method!==`HEAD`&&g?Number(g):null,highWaterMark:d});if(this.removeAbortListener&&=(_.on(`close`,this.removeAbortListener),null),this.callback=null,this.res=_,i!==null)try{this.runInAsyncScope(i,null,null,{statusCode:t,statusText:r,headers:p,trailers:this.trailers,opaque:o,body:_,context:s})}catch(e){this.res=null,c.destroy(_.on(`error`,l),e),queueMicrotask(()=>{throw e})}}onResponseData(e,t){this.res&&this.res.push(t)===!1&&e.pause()}onResponseEnd(e,t){if(t&&typeof t==`object`)for(let e of Object.keys(t))e===`__proto__`?Object.defineProperty(this.trailers,e,{value:t[e],enumerable:!0,configurable:!0,writable:!0}):this.trailers[e]=t[e];this.res?.push(null)}onResponseError(e,t){let{res:n,callback:r,body:i,opaque:a}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:a})})),n&&(this.res=null,queueMicrotask(()=>{c.destroy(n.on(`error`,l),t)})),i&&(this.body=null,c.isStream(i)&&(i.on(`error`,l),c.destroy(i,t))),this.removeAbortListener&&=(this.removeAbortListener(),null)}};function d(e,t){if(t===void 0)return new Promise((t,n)=>{d.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new u(e,t);this.dispatch(e,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=d,n.exports.RequestHandler=u})),pa=n(((e,t)=>{let{addAbortListener:n}=K(),{RequestAbortedError:r}=G(),i=Symbol(`kListener`),a=Symbol(`kSignal`);function o(e){e.abort?e.abort(e[a]?.reason):e.reason=e[a]?.reason??new r,c(e)}function s(e,t){if(e.reason=null,e[a]=null,e[i]=null,t){if(t.aborted){o(e);return}e[a]=t,e[i]=()=>{o(e)},n(e[a],e[i])}}function c(e){e[a]&&(`removeEventListener`in e[a]?e[a].removeEventListener(`abort`,e[i]):e[a].removeListener(`abort`,e[i]),e[a]=null,e[i]=null)}t.exports={addSignal:s,removeSignal:c}})),ma=n(((e,n)=>{let r=t(`node:assert`),{finished:i}=t(`node:stream`),{AsyncResource:a}=t(`node:async_hooks`),{InvalidArgumentError:o,InvalidReturnValueError:s}=G(),c=K(),{addSignal:l,removeSignal:u}=pa();function d(){}var f=class extends a{constructor(e,t,n){if(!e||typeof e!=`object`)throw new o(`invalid opts`);let{signal:r,method:i,opaque:a,body:s,onInfo:u,responseHeaders:f}=e;try{if(typeof n!=`function`)throw new o(`invalid callback`);if(typeof t!=`function`)throw new o(`invalid factory`);if(r&&typeof r.on!=`function`&&typeof r.addEventListener!=`function`)throw new o(`signal must be an EventEmitter or EventTarget`);if(i===`CONNECT`)throw new o(`invalid method`);if(u&&typeof u!=`function`)throw new o(`invalid onInfo callback`);super(`UNDICI_STREAM`)}catch(e){throw c.isStream(s)&&c.destroy(s.on(`error`,d),e),e}this.responseHeaders=f||null,this.opaque=a||null,this.factory=t,this.callback=n,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=s,this.onInfo=u||null,c.isStream(s)&&s.on(`error`,e=>{this.onResponseError(this.controller,e)}),l(this,r)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.controller=e,this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{factory:a,opaque:o,context:l,responseHeaders:u}=this,d=e?.rawHeaders,f=u===`raw`?Array.isArray(d)?c.parseRawHeaders(d):[]:n;if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:f});return}if(this.factory=null,a===null)return;let p=this.runInAsyncScope(a,null,{statusCode:t,headers:f,opaque:o,context:l});if(!p||typeof p.write!=`function`||typeof p.end!=`function`||typeof p.on!=`function`)throw new s(`expected Writable`);i(p,{readable:!1},e=>{let{callback:t,res:n,opaque:r,trailers:i,abort:a}=this;this.res=null,(e||!n?.readable)&&c.destroy(n,e),this.callback=null,this.runInAsyncScope(t,null,e||null,{opaque:r,trailers:i}),e&&a()}),p.on(`drain`,()=>e.resume()),this.res=p,(p.writableNeedDrain===void 0?p._writableState?.needDrain:p.writableNeedDrain)===!0&&e.pause()}onResponseData(e,t){let{res:n}=this;n&&n.write(t)===!1&&e.pause()}onResponseEnd(e,t){let{res:n}=this;u(this),n&&(t&&typeof t==`object`&&(this.trailers=t),n.end())}onResponseError(e,t){let{res:n,callback:r,opaque:i,body:a}=this;u(this),this.factory=null,n?(this.res=null,c.destroy(n,t)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:i})})),a&&(this.body=null,c.destroy(a,t))}};function p(e,t,n){if(n===void 0)return new Promise((n,r)=>{p.call(this,e,t,(e,t)=>e?r(e):n(t))});try{let r=new f(e,t,n);this.dispatch(e,r)}catch(t){if(typeof n!=`function`)throw t;let r=e?.opaque;queueMicrotask(()=>n(t,{opaque:r}))}}n.exports=p})),ha=n(((e,n)=>{let{Readable:r,Duplex:i,PassThrough:a}=t(`node:stream`),o=t(`node:assert`),{AsyncResource:s}=t(`node:async_hooks`),{InvalidArgumentError:c,InvalidReturnValueError:l,RequestAbortedError:u}=G(),d=K(),{addSignal:f,removeSignal:p}=pa();function m(){}let h=Symbol(`resume`);var g=class extends r{constructor(){super({autoDestroy:!0}),this[h]=null}_read(){let{[h]:e}=this;e&&(this[h]=null,e())}_destroy(e,t){this._read(),t(e)}},_=class extends r{constructor(e){super({autoDestroy:!0}),this[h]=e}_read(){this[h]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new u),t(e)}},v=class extends s{constructor(e,t){if(!e||typeof e!=`object`)throw new c(`invalid opts`);if(typeof t!=`function`)throw new c(`invalid handler`);let{signal:n,method:r,opaque:a,onInfo:o,responseHeaders:s}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new c(`signal must be an EventEmitter or EventTarget`);if(r===`CONNECT`)throw new c(`invalid method`);if(o&&typeof o!=`function`)throw new c(`invalid onInfo callback`);super(`UNDICI_PIPELINE`),this.opaque=a||null,this.responseHeaders=s||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new g().on(`error`,m),this.ret=new i({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:e}=this;e?.resume&&e.resume()},write:(e,t,n)=>{let{req:r}=this;r.push(e,t)||r._readableState.destroyed?n():r[h]=n},destroy:(e,t)=>{let{body:n,req:r,res:i,ret:a,abort:o}=this;!e&&!a._readableState.endEmitted&&(e=new u),o&&e&&o(),d.destroy(n,e),d.destroy(r,e),d.destroy(i,e),p(this),t(e)}}).on(`prefinish`,()=>{let{req:e}=this;e.push(null)}),this.res=null,f(this,n)}onRequestStart(e,t){let{res:n}=this;if(this.reason){e.abort(this.reason);return}o(!n,`pipeline cannot be retried`),this.abort=t=>e.abort(t),this.context=t}onResponseStart(e,t,n,r){let{opaque:i,handler:a,context:o}=this;if(t<200){if(this.onInfo){let r=e?.rawHeaders,i=this.responseHeaders===`raw`?Array.isArray(r)?d.parseRawHeaders(r):[]:n;this.onInfo({statusCode:t,headers:i})}return}this.res=new _(()=>e.resume());let s;try{this.handler=null;let r=e?.rawHeaders,c=this.responseHeaders===`raw`?Array.isArray(r)?d.parseRawHeaders(r):[]:n;s=this.runInAsyncScope(a,null,{statusCode:t,headers:c,opaque:i,body:this.res,context:o})}catch(e){throw this.res.on(`error`,m),e}if(!s||typeof s.on!=`function`)throw new l(`expected Readable`);s.on(`data`,e=>{let{ret:t,body:n}=this;!t.push(e)&&n.pause&&n.pause()}).on(`error`,e=>{let{ret:t}=this;d.destroy(t,e)}).on(`end`,()=>{let{ret:e}=this;e.push(null)}).on(`close`,()=>{let{ret:e}=this;e._readableState.ended||d.destroy(e,new u)}),this.body=s}onResponseData(e,t){let{res:n}=this;n.push(t)===!1&&e.pause()}onResponseEnd(e,t){let{res:n}=this;n.push(null)}onResponseError(e,t){let{ret:n}=this;this.handler=null,d.destroy(n,t)}};function y(e,t){try{let n=new v(e,t);return this.dispatch({...e,body:n.req},n),n.ret}catch(e){return new a().destroy(e)}}n.exports=y})),ga=n(((e,n)=>{let{InvalidArgumentError:r,SocketError:i}=G(),{AsyncResource:a}=t(`node:async_hooks`),o=t(`node:assert`),s=K(),{kHTTP2Stream:c}=W(),{addSignal:l,removeSignal:u}=pa();var d=class extends a{constructor(e,t){if(!e||typeof e!=`object`)throw new r(`invalid opts`);if(typeof t!=`function`)throw new r(`invalid callback`);let{signal:n,opaque:i,responseHeaders:a}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new r(`signal must be an EventEmitter or EventTarget`);super(`UNDICI_UPGRADE`),this.responseHeaders=a||null,this.opaque=i||null,this.callback=t,this.abort=null,this.context=null,l(this,n)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}o(this.callback),this.abort=t=>e.abort(t),this.context=t}onResponseStart(){throw new i(`bad upgrade`,null)}onRequestUpgrade(e,t,n,r){o(r[c]===!0?t===200:t===101);let{callback:i,opaque:a,context:l}=this;u(this),this.callback=null;let d=e?.rawHeaders,f=this.responseHeaders===`raw`?Array.isArray(d)?s.parseRawHeaders(d):[]:n;this.runInAsyncScope(i,null,null,{headers:f,socket:r,opaque:a,context:l})}onResponseError(e,t){let{callback:n,opaque:r}=this;u(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:r})}))}};function f(e,t){if(t===void 0)return new Promise((t,n)=>{f.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new d(e,t),r={...e,method:e.method||`GET`,upgrade:e.protocol||`Websocket`};this.dispatch(r,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=f})),_a=n(((e,n)=>{let r=t(`node:assert`),{AsyncResource:i}=t(`node:async_hooks`),{InvalidArgumentError:a,SocketError:o}=G(),s=K(),{addSignal:c,removeSignal:l}=pa();var u=class extends i{constructor(e,t){if(!e||typeof e!=`object`)throw new a(`invalid opts`);if(typeof t!=`function`)throw new a(`invalid callback`);let{signal:n,opaque:r,responseHeaders:i}=e;if(n&&typeof n.on!=`function`&&typeof n.addEventListener!=`function`)throw new a(`signal must be an EventEmitter or EventTarget`);super(`UNDICI_CONNECT`),this.opaque=r||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,c(this,n)}onRequestStart(e,t){if(this.reason){e.abort(this.reason);return}r(this.callback),this.abort=t=>e.abort(t),this.context=t}onResponseStart(){throw new o(`bad connect`,null)}onRequestUpgrade(e,t,n,r){let{callback:i,opaque:a,context:o}=this;l(this),this.callback=null;let c=n,u=e?.rawHeaders;c!=null&&(c=this.responseHeaders===`raw`?Array.isArray(u)?s.parseRawHeaders(u):[]:n),this.runInAsyncScope(i,null,null,{statusCode:t,headers:c,socket:r,opaque:a,context:o})}onResponseError(e,t){let{callback:n,opaque:r}=this;l(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,t,{opaque:r})}))}};function d(e,t){if(t===void 0)return new Promise((t,n)=>{d.call(this,e,(e,r)=>e?n(e):t(r))});try{let n=new u(e,t),r={...e,method:`CONNECT`};this.dispatch(r,n)}catch(n){if(typeof t!=`function`)throw n;let r=e?.opaque;queueMicrotask(()=>t(n,{opaque:r}))}}n.exports=d})),va=n(((e,t)=>{t.exports.request=fa(),t.exports.stream=ma(),t.exports.pipeline=ha(),t.exports.upgrade=ga(),t.exports.connect=_a()})),ya=n(((e,t)=>{let{UndiciError:n}=G(),r=Symbol.for(`undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED`);t.exports={MockNotMatchedError:class extends n{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[r]===!0}get[r](){return!0}}}})),ba=n(((e,t)=>{t.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`)}})),xa=n(((e,n)=>{let{MockNotMatchedError:r}=ya(),{kDispatches:i,kMockAgent:a,kOriginalDispatch:o,kOrigin:s,kGetNetConnect:c,kTotalDispatchCount:l}=ba(),{serializePathWithQuery:u,parseHeaders:d}=K(),{STATUS_CODES:f}=t(`node:http`),{types:{isPromise:p}}=t(`node:util`),{InvalidArgumentError:m}=G();function h(e,t){return typeof e==`string`?e===t:e instanceof RegExp?e.test(t):typeof e==`function`?e(t)===!0:!1}function g(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function _(e,t){if(Array.isArray(e)){for(let n=0;n<e.length;n+=2)if(e[n].toLocaleLowerCase()===t.toLocaleLowerCase())return e[n+1];return}else if(typeof e.get==`function`)return e.get(t);else return g(e)[t.toLocaleLowerCase()]}function v(e){let t=e.slice(),n=[];for(let e=0;e<t.length;e+=2)n.push([t[e],t[e+1]]);return Object.fromEntries(n)}function y(e,t){if(typeof e.headers==`function`)return Array.isArray(t)&&(t=v(t)),e.headers(t?g(t):{});if(e.headers===void 0)return!0;if(typeof t!=`object`||typeof e.headers!=`object`)return!1;for(let[n,r]of Object.entries(e.headers))if(!h(r,_(t,n)))return!1;return!0}function b(e){if(typeof e!=`string`)return e;let t=new URLSearchParams(e),n=new URLSearchParams;for(let[e,r]of t.entries()){if(e=e.replace(`[]`,``),/^(['"]).*\1$/.test(r)){n.append(e,r);continue}if(r.includes(`,`)){let t=r.split(`,`);for(let r of t)n.append(e,r);continue}n.append(e,r)}return n}function x(e){if(typeof e!=`string`)return e;let t=e.split(`?`,3);if(t.length!==2)return e;let n=new URLSearchParams(t.pop());return n.sort(),[...t,n.toString()].join(`?`)}function S(e,{path:t,method:n,body:r,headers:i}){let a=h(e.path,t),o=h(e.method,n),s=e.body===void 0?!0:h(e.body,r),c=y(e,i);return a&&o&&s&&c}function C(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:typeof e==`object`?JSON.stringify(e):e?e.toString():``}function w(e,t){let n=t.query?u(t.path,t.query):t.path,i=typeof n==`string`?x(n):n,a=D(i),o=e.filter(({consumed:e})=>!e).filter(({path:e,ignoreTrailingSlash:t})=>t?h(D(x(e)),a):h(x(e),i));if(o.length===0)throw new r(`Mock dispatch not matched for path '${i}'`);if(o=o.filter(({method:e})=>h(e,t.method)),o.length===0)throw new r(`Mock dispatch not matched for method '${t.method}' on path '${i}'`);if(o=o.filter(({body:e})=>e===void 0?!0:h(e,t.body)),o.length===0)throw new r(`Mock dispatch not matched for body '${t.body}' on path '${i}'`);if(o=o.filter(e=>y(e,t.headers)),o.length===0)throw new r(`Mock dispatch not matched for headers '${typeof t.headers==`object`?JSON.stringify(t.headers):t.headers}' on path '${i}'`);return o[0]}function T(e,t,n,r){let i={timesInvoked:0,times:1,persist:!1,consumed:!1,...r},a=typeof n==`function`?{callback:n}:{...n},o={...i,...t,pending:!0,data:{error:null,...a}};return e.push(o),e[l]=(e[l]||0)+1,o}function E(e,t){let n=e.findIndex(e=>e.consumed?S(e,t):!1);n!==-1&&e.splice(n,1)}function D(e){for(;e.endsWith(`/`);)e=e.slice(0,-1);return e.length===0&&(e=`/`),e}function O(e){let{path:t,method:n,body:r,headers:i,query:a}=e;return{path:t,method:n,body:r,headers:i,query:a}}function k(e){let t=Object.keys(e),n=[];for(let r=0;r<t.length;++r){let i=t[r],a=e[i],o=Buffer.from(`${i}`);if(Array.isArray(a))for(let e=0;e<a.length;++e)n.push(o,Buffer.from(`${a[e]}`));else n.push(o,Buffer.from(`${a}`))}return n}function A(e){return f[e]||`unknown`}async function j(e){let t=[];for await(let n of e)t.push(n);return Buffer.concat(t).toString(`utf8`)}function M(e,t){let n=O(e),r=w(this[i],n);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(e)});let{data:{statusCode:a,data:o,headers:s,trailers:c,error:l},delay:u,persist:f}=r,{timesInvoked:m,times:h}=r;if(r.consumed=!f&&m>=h,r.pending=m<h,l!==null)return E(this[i],n),t.onResponseError(null,l),!0;let g=!1,_=null,y={paused:!1,rawHeaders:null,rawTrailers:null,pause(){this.paused=!0},resume(){this.paused=!1},abort:e=>{g||(g=!0,_!==null&&(clearTimeout(_),_=null),t.onResponseError?.(y,e))}};t.onRequestStart?.(y,null),typeof u==`number`&&u>0?_=setTimeout(()=>{_=null,b(this[i])},u):b(this[i]);function b(r,i=o){if(g)return;let l=Array.isArray(e.headers)?v(e.headers):e.headers,u=typeof i==`function`?i({...e,headers:l}):i;if(p(u))return u.then(e=>b(r,e));if(g)return;let f=C(u),m=k(s),h=k(c);y.rawHeaders=m,y.rawTrailers=h,t.onResponseStart?.(y,a,d(m),A(a)),t.onResponseData?.(y,Buffer.from(f)),t.onResponseEnd?.(y,d(h)),E(r,n)}return!0}function N(){let e=this[a],t=this[s],n=this[o];return function(a,o){if(e.isMockActive)try{M.call(this,a,o)}catch(s){if(s.code===`UND_MOCK_ERR_MOCK_NOT_MATCHED`){let u=e[c](),d=this[i][l]||this[i].length,f=`, ${this[i].filter(({consumed:e})=>!e).length} interceptor(s) remaining out of ${d} defined`;if(u===!1)throw new r(`${s.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)${f}`);if(P(u,t))n.call(this,a,o);else throw new r(`${s.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)${f}`)}else throw s}else n.call(this,a,o)}}function P(e,t){let n=new URL(t);return e===!0?!0:!!(Array.isArray(e)&&e.some(e=>h(e,n.host)))}function F(e){return typeof e!=`string`&&!(e instanceof URL)?e:e instanceof URL?e.origin:e.toLowerCase()}function I(e){let{agent:t,...n}=e;if(`enableCallHistory`in n&&typeof n.enableCallHistory!=`boolean`)throw new m(`options.enableCallHistory must to be a boolean`);if(`acceptNonStandardSearchParameters`in n&&typeof n.acceptNonStandardSearchParameters!=`boolean`)throw new m(`options.acceptNonStandardSearchParameters must to be a boolean`);if(`ignoreTrailingSlash`in n&&typeof n.ignoreTrailingSlash!=`boolean`)throw new m(`options.ignoreTrailingSlash must to be a boolean`);return n}n.exports={getResponseData:C,getMockDispatch:w,addMockDispatch:T,deleteMockDispatch:E,buildKey:O,generateKeyValues:k,matchValue:h,getResponse:j,getStatusText:A,mockDispatch:M,buildMockDispatch:N,checkNetConnect:P,buildAndValidateMockOptions:I,getHeaderByName:_,buildHeadersFromArray:v,normalizeSearchParams:b,normalizeOrigin:F}})),Sa=n(((e,t)=>{let{getResponseData:n,buildKey:r,addMockDispatch:i}=xa(),{kDispatches:a,kDispatchKey:o,kDefaultHeaders:s,kDefaultTrailers:c,kContentLength:l,kMockDispatch:u,kIgnoreTrailingSlash:d}=ba(),{InvalidArgumentError:f}=G(),{serializePathWithQuery:p}=K();var m=class{constructor(e){this[u]=e}delay(e){if(typeof e!=`number`||!Number.isInteger(e)||e<=0)throw new f(`waitInMs must be a valid integer > 0`);return this[u].delay=e,this}persist(){return this[u].persist=!0,this}times(e){if(typeof e!=`number`||!Number.isInteger(e)||e<=0)throw new f(`repeatTimes must be a valid integer > 0`);return this[u].times=e,this}},h=class{constructor(e,t){if(typeof e!=`object`)throw new f(`opts must be an object`);if(e.path===void 0)throw new f(`opts.path must be defined`);if(e.method===void 0&&(e.method=`GET`),typeof e.path==`string`)if(e.query)e.path=p(e.path,e.query);else{let t=new URL(e.path,`data://`);e.path=t.pathname+t.search}typeof e.method==`string`&&(e.method=e.method.toUpperCase()),this[o]=r(e),this[a]=t,this[d]=e.ignoreTrailingSlash??!1,this[s]={},this[c]={},this[l]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){let i=n(t),a=this[l]?{"content-length":i.length}:{};return{statusCode:e,data:t,headers:{...this[s],...a,...r.headers},trailers:{...this[c],...r.trailers}}}validateReplyParameters(e){if(e.statusCode===void 0)throw new f(`statusCode must be defined`);if(typeof e.responseOptions!=`object`||e.responseOptions===null)throw new f(`responseOptions must be an object`)}reply(e){if(typeof e==`function`)return new m(i(this[a],this[o],t=>{let n=e(t);if(typeof n!=`object`||!n)throw new f(`reply options callback must return an object`);let r={data:``,responseOptions:{},...n};return this.validateReplyParameters(r),{...this.createMockScopeDispatchData(r)}},{ignoreTrailingSlash:this[d]}));let t={statusCode:e,data:arguments[1]===void 0?``:arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let n=this.createMockScopeDispatchData(t);return new m(i(this[a],this[o],n,{ignoreTrailingSlash:this[d]}))}replyWithError(e){if(e===void 0)throw new f(`error must be defined`);return new m(i(this[a],this[o],{error:e},{ignoreTrailingSlash:this[d]}))}defaultReplyHeaders(e){if(e===void 0)throw new f(`headers must be defined`);return this[s]=e,this}defaultReplyTrailers(e){if(e===void 0)throw new f(`trailers must be defined`);return this[c]=e,this}replyContentLength(){return this[l]=!0,this}};t.exports.MockInterceptor=h,t.exports.MockScope=m})),Ca=n(((e,n)=>{let{promisify:r}=t(`node:util`),i=Yi(),{buildMockDispatch:a}=xa(),{kDispatches:o,kMockAgent:s,kClose:c,kOriginalClose:l,kOrigin:u,kOriginalDispatch:d,kConnected:f,kIgnoreTrailingSlash:p}=ba(),{MockInterceptor:m}=Sa(),h=W(),{InvalidArgumentError:g}=G();n.exports=class extends i{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!=`function`)throw new g(`Argument opts.agent must implement Agent`);super(e,t),this[s]=t.agent,this[u]=e,this[p]=t.ignoreTrailingSlash??!1,this[o]=[],this[f]=1,this[d]=this.dispatch,this[l]=this.close.bind(this),this.dispatch=a.call(this),this.close=this[c]}get[h.kConnected](){return this[f]}intercept(e){return new m(e&&{ignoreTrailingSlash:this[p],...e},this[o])}cleanMocks(){this[o]=[]}async[c](){await r(this[l])(),this[f]=0,this[s][h.kClients].delete(this[u])}}})),wa=n(((e,t)=>{let{kMockCallHistoryAddLog:n}=ba(),{InvalidArgumentError:r}=G();function i(e,t,n,i){switch(t.operator){case`OR`:return i.push(...n(e)),i;case`AND`:return n.call({logs:i},e);default:throw new r(`options.operator must to be a case insensitive string equal to 'OR' or 'AND'`)}}function a(e={}){let t={};if(`operator`in e){if(typeof e.operator!=`string`||e.operator.toUpperCase()!==`OR`&&e.operator.toUpperCase()!==`AND`)throw new r(`options.operator must to be a case insensitive string equal to 'OR' or 'AND'`);return{...t,operator:e.operator.toUpperCase()}}return t}function o(e){return t=>{if(typeof t==`string`||t==null)return this.logs.filter(n=>n[e]===t);if(t instanceof RegExp)return this.logs.filter(n=>t.test(n[e]));throw new r(`${e} parameter should be one of string, regexp, undefined or null`)}}function s(e){try{let t=new URL(e.path,e.origin);return t.search.length===0&&(t.search=new URLSearchParams(e.query).toString()),t}catch(e){throw new r(`An error occurred when computing MockCallHistoryLog.url`,{cause:e})}}var c=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=s(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((n,r)=>{(typeof n==`string`||n==null)&&(t=`${t}${r}${e.betweenKeyValueSeparator}${n}${e.betweenPairSeparator}`),(typeof n==`object`&&n||Array.isArray(n))&&(t=`${t}${r}${e.betweenKeyValueSeparator}${JSON.stringify(n)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},l=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 r(`nthCall must be called with a number`);if(!Number.isInteger(e))throw new r(`nthCall must be called with an integer`);if(Math.sign(e)!==1)throw new r(`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(t=>e.test(t.toString()));if(typeof e==`object`&&e){if(Object.keys(e).length===0)return this.logs;let n={operator:`OR`,...a(t)},r=[];return`protocol`in e&&(r=i(e.protocol,n,this.filterCallsByProtocol,r)),`host`in e&&(r=i(e.host,n,this.filterCallsByHost,r)),`port`in e&&(r=i(e.port,n,this.filterCallsByPort,r)),`origin`in e&&(r=i(e.origin,n,this.filterCallsByOrigin,r)),`path`in e&&(r=i(e.path,n,this.filterCallsByPath,r)),`hash`in e&&(r=i(e.hash,n,this.filterCallsByHash,r)),`fullUrl`in e&&(r=i(e.fullUrl,n,this.filterCallsByFullUrl,r)),`method`in e&&(r=i(e.method,n,this.filterCallsByMethod,r)),[...new Set(r)]}throw new r(`criteria parameter should be one of function, regexp, or object`)}filterCallsByProtocol=o.call(this,`protocol`);filterCallsByHost=o.call(this,`host`);filterCallsByPort=o.call(this,`port`);filterCallsByOrigin=o.call(this,`origin`);filterCallsByPath=o.call(this,`path`);filterCallsByHash=o.call(this,`hash`);filterCallsByFullUrl=o.call(this,`fullUrl`);filterCallsByMethod=o.call(this,`method`);clear(){this.logs=[]}[n](e){let t=new c(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};t.exports.MockCallHistory=l,t.exports.MockCallHistoryLog=c})),Ta=n(((e,n)=>{let{promisify:r}=t(`node:util`),i=Qi(),{buildMockDispatch:a}=xa(),{kDispatches:o,kMockAgent:s,kClose:c,kOriginalClose:l,kOrigin:u,kOriginalDispatch:d,kConnected:f,kIgnoreTrailingSlash:p}=ba(),{MockInterceptor:m}=Sa(),h=W(),{InvalidArgumentError:g}=G();n.exports=class extends i{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!=`function`)throw new g(`Argument opts.agent must implement Agent`);super(e,t),this[s]=t.agent,this[u]=e,this[p]=t.ignoreTrailingSlash??!1,this[o]=[],this[f]=1,this[d]=this.dispatch,this[l]=this.close.bind(this),this.dispatch=a.call(this),this.close=this[c]}get[h.kConnected](){return this[f]}intercept(e){return new m(e&&{ignoreTrailingSlash:this[p],...e},this[o])}cleanMocks(){this[o]=[]}async[c](){await r(this[l])(),this[f]=0,this[s][h.kClients].delete(this[u])}}})),Ea=n(((e,n)=>{let{Transform:r}=t(`node:stream`),{Console:i}=t(`node:console`),a=process.versions.icu?`✅`:`Y `,o=process.versions.icu?`❌`:`N `;n.exports=class{constructor({disableColors:e}={}){this.transform=new r({transform(e,t,n){n(null,e)}}),this.logger=new i({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:e,path:t,data:{statusCode:n},persist:r,times:i,timesInvoked:s,origin:c})=>({Method:e,Origin:c,Path:t,"Status code":n,Persistent:r?a:o,Invocations:s,Remaining:r?1/0:i-s}));return this.logger.table(t),this.transform.read().toString()}}})),Da=n(((e,t)=>{let{kClients:n}=W(),r=ta(),{kAgent:i,kMockAgentSet:a,kMockAgentGet:o,kDispatches:s,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:d,kFactory:f,kMockAgentRegisterCallHistory:p,kMockAgentIsCallHistoryEnabled:m,kMockAgentAddCallHistoryLog:h,kMockAgentMockCallHistoryInstance:g,kMockAgentAcceptsNonStandardSearchParameters:_,kMockCallHistoryAddLog:v,kIgnoreTrailingSlash:y}=ba(),b=Ca(),x=Ta(),{matchValue:S,normalizeSearchParams:C,buildAndValidateMockOptions:w,normalizeOrigin:T}=xa(),{InvalidArgumentError:E,UndiciError:D}=G(),O=ki(),k=Ea(),{MockCallHistory:A}=wa();t.exports=class extends O{constructor(e={}){super(e);let t=w(e);if(this[l]=!0,this[c]=!0,this[m]=t.enableCallHistory??!1,this[_]=t.acceptNonStandardSearchParameters??!1,this[y]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!=`function`)throw new E(`Argument opts.agent must implement Agent`);let a=e?.agent?e.agent:new r(e);this[i]=a,this[n]=a[n],this[d]=t,this[m]&&this[p]()}get(e){let t=T(e),n=this[y]?t.replace(/\/$/,``):t,r=this[o](n);return r||(r=this[f](n),this[a](n,r)),r}dispatch(e,t){e.origin=T(e.origin),this.get(e.origin),this[h](e);let n=this[_],r={...e};if(n&&r.path){let[e,t]=r.path.split(`?`);r.path=`${e}?${C(t,n)}`}return this[i].dispatch(r,t)}async close(){this.clearCallHistory(),await this[i].close(),this[n].clear()}deactivate(){this[c]=!1}activate(){this[c]=!0}enableNetConnect(e){if(typeof e==`string`||typeof e==`function`||e instanceof RegExp)Array.isArray(this[l])?this[l].push(e):this[l]=[e];else if(e===void 0)this[l]=!0;else throw new E(`Unsupported matcher. Must be one of String|Function|RegExp.`)}disableNetConnect(){this[l]=!1}enableCallHistory(){return this[m]=!0,this}disableCallHistory(){return this[m]=!1,this}getCallHistory(){return this[g]}clearCallHistory(){this[g]!==void 0&&this[g].clear()}get isMockActive(){return this[c]}[p](){this[g]===void 0&&(this[g]=new A)}[h](e){this[m]&&(this[p](),this[g][v](e))}[a](e,t){this[n].set(e,{count:0,dispatcher:t})}[f](e){let t=Object.assign({agent:this},this[d]);return this[d]&&this[d].connections===1?new b(e,t):new x(e,t)}[o](e){let t=this[n].get(e);if(t?.dispatcher)return t.dispatcher;if(typeof e!=`string`){let t=this[f](`http://localhost:9999`);return this[a](e,t),t}for(let[t,r]of Array.from(this[n]))if(r&&typeof t!=`string`&&S(t,e)){let t=this[f](e);return this[a](e,t),t[s]=r.dispatcher[s],t}}[u](){return this[l]}pendingInterceptors(){let e=this[n];return Array.from(e.entries()).flatMap(([e,t])=>t.dispatcher[s].map(t=>({...t,origin:e}))).filter(({pending:e})=>e)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new k}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new D(t.length===1?`1 interceptor is pending:\n\n${e.format(t)}`.trim():`${t.length} interceptors are pending:\n\n${e.format(t)}`.trim())}}})),Oa=n(((e,n)=>{let{InvalidArgumentError:r}=G(),{runtimeFeatures:i}=Gi();function a(e={}){let{ignoreHeaders:t=[],excludeHeaders:n=[],matchHeaders:r=[],caseSensitive:i=!1}=e;return{ignore:new Set(t.map(e=>i?e:e.toLowerCase())),exclude:new Set(n.map(e=>i?e:e.toLowerCase())),match:new Set(r.map(e=>i?e:e.toLowerCase()))}}let o=i.has(`crypto`)?t(`node:crypto`):null,s=o?.hash?e=>o.hash(`sha256`,e,`base64url`):e=>Buffer.from(e).toString(`base64url`);function c(e){return Array.isArray(e)&&(e.length&1)==0}function l(e=[]){return e.length===0?()=>!1:function(t){let n;for(let r of e)if(typeof r==`string`){if(n||=t.toLowerCase(),n.includes(r.toLowerCase()))return!0}else if(r instanceof RegExp&&r.test(t))return!0;return!1}}function u(e){let t={};if(!e)return t;if(c(e)){for(let n=0;n<e.length;n+=2){let r=e[n],i=e[n+1];if(r&&i!==void 0){let e=Buffer.isBuffer(r)?r.toString():r,n=Buffer.isBuffer(i)?i.toString():i;t[e.toLowerCase()]=n}}return t}if(e&&typeof e==`object`)for(let[n,r]of Object.entries(e))n&&typeof n==`string`&&(t[n.toLowerCase()]=Array.isArray(r)?r.join(`, `):String(r));return t}let d=[`record`,`playback`,`update`];function f(e){if(!d.includes(e))throw new r(`Invalid snapshot mode: ${e}. Must be one of: ${d.join(`, `)}`)}n.exports={createHeaderFilters:a,hashId:s,isUndiciHeaders:c,normalizeHeaders:u,isUrlExcludedFactory:l,validateSnapshotMode:f}})),ka=n(((e,n)=>{let{writeFile:r,readFile:i,mkdir:a}=t(`node:fs/promises`),{dirname:o,resolve:s}=t(`node:path`),{setTimeout:c,clearTimeout:l}=t(`node:timers`),{InvalidArgumentError:u,UndiciError:d}=G(),{hashId:f,isUrlExcludedFactory:p,normalizeHeaders:m,createHeaderFilters:h}=Oa();function g(e,t,n={}){let r=new URL(e.path,e.origin),i=e._normalizedHeaders||m(e.headers);return e._normalizedHeaders||=i,{method:e.method||`GET`,url:n.matchQuery===!1?`${r.origin}${r.pathname}`:r.toString(),headers:_(i,t,n),body:n.matchBody!==!1&&e.body?String(e.body):``}}function _(e,t,n={}){if(!e||typeof e!=`object`)return{};let{caseSensitive:r=!1}=n,i={},{ignore:a,exclude:o,match:s}=t;for(let[t,n]of Object.entries(e)){let e=r?t:t.toLowerCase();o.has(e)||a.has(e)||s.size!==0&&!s.has(e)||(i[e]=n)}return i}function v(e,t,n={}){if(!e||typeof e!=`object`)return{};let{caseSensitive:r=!1}=n,i={},{exclude:a}=t;for(let[t,n]of Object.entries(e)){let e=r?t:t.toLowerCase();a.has(e)||(i[e]=n)}return i}function y(e){let t=[e.method,e.url];if(e.headers&&typeof e.headers==`object`){let n=Object.keys(e.headers).sort();for(let r of n){let n=Array.isArray(e.headers[r])?e.headers[r]:[e.headers[r]];t.push(r);for(let e of n.sort())t.push(String(e))}}return t.push(e.body),f(t.join(`|`))}n.exports={SnapshotRecorder:class{#e;#t;#n=new Map;#r;#i=1/0;#a=!1;#o;constructor(e={}){this.#r=e.snapshotPath,this.#i=e.maxSnapshots||1/0,this.#a=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.#o=h(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#t=p(e.excludeUrls),this.#a&&this.#r&&this.#s()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let n=g(e,this.#o,this.matchOptions),r=y(n),i=m(t.headers),a={statusCode:t.statusCode,headers:v(i,this.#o,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString(`base64`):Buffer.from(String(t.body||``)).toString(`base64`),trailers:t.trailers};if(this.#n.size>=this.#i&&!this.#n.has(r)){let e=this.#n.keys().next().value;this.#n.delete(e)}let o=this.#n.get(r);o&&o.responses?(o.responses.push(a),o.timestamp=new Date().toISOString()):this.#n.set(r,{request:n,responses:[a],callCount:0,timestamp:new Date().toISOString()}),this.#a&&this.#r&&this.#l()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#t(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=y(g(e,this.#o,this.matchOptions)),n=this.#n.get(t);if(!n)return;let r=n.callCount||0,i=Math.min(r,n.responses.length-1);return n.callCount=r+1,{...n,response:n.responses[i]}}async loadSnapshots(e){let t=e||this.#r;if(!t)throw new u(`Snapshot path is required`);try{let e=await i(s(t),`utf8`),n=JSON.parse(e);if(Array.isArray(n)){this.#n.clear();for(let{hash:e,snapshot:t}of n)this.#n.set(e,t)}else this.#n=new Map(Object.entries(n))}catch(e){if(e.code===`ENOENT`)this.#n.clear();else throw new d(`Failed to load snapshots from ${t}`,{cause:e})}}async saveSnapshots(e){let t=e||this.#r;if(!t)throw new u(`Snapshot path is required`);let n=s(t);await a(o(n),{recursive:!0});let i=Array.from(this.#n.entries()).map(([e,t])=>({hash:e,snapshot:t}));await r(n,JSON.stringify(i,null,2),{flush:!0})}clear(){this.#n.clear()}getSnapshots(){return Array.from(this.#n.values())}size(){return this.#n.size}resetCallCounts(){for(let e of this.#n.values())e.callCount=0}deleteSnapshot(e){let t=y(g(e,this.#o,this.matchOptions));return this.#n.delete(t)}getSnapshotInfo(e){let t=y(g(e,this.#o,this.matchOptions)),n=this.#n.get(t);return n?{hash:t,request:n.request,responseCount:n.responses?n.responses.length:+!!n.response,callCount:n.callCount||0,timestamp:n.timestamp}:null}replaceSnapshots(e){if(this.#n.clear(),Array.isArray(e))for(let{hash:t,snapshot:n}of e)this.#n.set(t,n);else e&&typeof e==`object`&&(this.#n=new Map(Object.entries(e)))}#s(){return this.#l()}#c(){this.#e&&=(l(this.#e),this.saveSnapshots().catch(()=>{}),null)}#l(){this.#e=c(()=>{this.saveSnapshots().catch(()=>{}),this.#a?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#c(),this.#e&&=(l(this.#e),null)}async close(){this.#r&&this.#n.size!==0&&await this.saveSnapshots(),this.destroy()}},formatRequestKey:g,createRequestHash:y,filterHeadersForMatching:_,filterHeadersForStorage:v,createHeaderFilters:h}})),Aa=n(((e,t)=>{let n=ta(),r=Da(),{SnapshotRecorder:i}=ka(),{InvalidArgumentError:a,UndiciError:o}=G(),s=K(),{validateSnapshotMode:c}=Oa(),l=Symbol(`kSnapshotRecorder`),u=Symbol(`kSnapshotMode`),d=Symbol(`kSnapshotPath`),f=Symbol(`kSnapshotLoaded`),p=Symbol(`kRealAgent`),m=!1;t.exports=class extends r{constructor(e={}){m||=(process.emitWarning(`SnapshotAgent is experimental and subject to change`,`ExperimentalWarning`),!0);let{mode:t=`record`,snapshotPath:r=null,...o}=e;if(super(o),c(t),(t===`playback`||t===`update`)&&!r)throw new a(`snapshotPath is required when mode is '${t}'`);this[u]=t,this[d]=r,this[l]=new i({snapshotPath:this[d],mode:this[u],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[f]=!1,(this[u]===`record`||this[u]===`update`||this[u]===`playback`&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[p]=new n(e)),(this[u]===`playback`||this[u]===`update`)&&this[d]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){let n=this[u];if(this[l].isUrlExcluded(e))return this[p].dispatch(e,t);if(n===`playback`||n===`update`){if(!this[f])return this.#e(e,t);let r=this[l].findSnapshot(e);if(r)return this.#n(r,t);if(n===`update`)return this.#t(e,t);{let n=new o(`No snapshot found for ${e.method||`GET`} ${e.path}`);if(t.onResponseError){t.onResponseError(null,n);return}throw n}}else if(n===`record`)return this.#t(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#t(e,t){let n={statusCode:null,headers:{},trailers:{},body:[]},r=this;return this[p].dispatch(e,{onRequestStart(e,n){return t.onRequestStart(e,{...n,history:this.history})},onRequestUpgrade(e,n,r,i){return t.onRequestUpgrade(e,n,r,i)},onResponseStart(e,r,i,a){return n.statusCode=r,n.headers=i,t.onResponseStart(e,r,i,a)},onResponseData(e,r){return n.body.push(r),t.onResponseData(e,r)},onResponseEnd(i,a){n.trailers=a;let o=Buffer.concat(n.body);r[l].record(e,{statusCode:n.statusCode,headers:n.headers,body:o,trailers:n.trailers}).then(()=>t.onResponseEnd(i,a)).catch(e=>t.onResponseError(i,e))},onResponseError(e,n){return t.onResponseError(e,n)}})}#n(e,t){try{let{response:n}=e,r={rawHeaders:n.headers?s.toRawHeaders(n.headers):[],rawTrailers:n.trailers?s.toRawHeaders(n.trailers):[],pause(){},resume(){},abort(e){this.aborted=!0,this.reason=e},aborted:!1,paused:!1};t.onRequestStart(r),t.onResponseStart(r,n.statusCode,n.headers,n.statusMessage);let i=Buffer.from(n.body,`base64`);t.onResponseData(r,i),t.onResponseEnd(r,n.trailers)}catch(e){t.onResponseError?.(null,e)}}async loadSnapshots(e){await this[l].loadSnapshots(e||this[d]),this[f]=!0,this[u]===`playback`&&this.#r()}async saveSnapshots(e){return this[l].saveSnapshots(e||this[d])}#r(){for(let e of this[l].getSnapshots()){let{request:t,responses:n,response:r}=e,i=new URL(t.url),a=this.get(i.origin),o=n?n[0]:r;o&&a.intercept({path:i.pathname+i.search,method:t.method,headers:t.headers,body:t.body}).reply(o.statusCode,o.body,{headers:o.headers,trailers:o.trailers}).persist()}}getRecorder(){return this[l]}getMode(){return this[u]}clearSnapshots(){this[l].clear()}resetCallCounts(){this[l].resetCallCounts()}deleteSnapshot(e){return this[l].deleteSnapshot(e)}getSnapshotInfo(e){return this[l].getSnapshotInfo(e)}replaceSnapshots(e){this[l].replaceSnapshots(e)}async close(){await this[l].close(),await this[p]?.close(),await super.close()}}})),ja=n(((e,t)=>{let n=Symbol.for(`undici.globalDispatcher.2`),r=Symbol.for(`undici.globalDispatcher.1`),{InvalidArgumentError:i}=G(),a=ta(),o=na();c()===void 0&&s(new a);function s(e){if(!e||typeof e.dispatch!=`function`)throw new i(`Argument agent must implement Agent`);Object.defineProperty(globalThis,n,{value:e,writable:!0,enumerable:!1,configurable:!1});let t=e instanceof o?e:new o(e);Object.defineProperty(globalThis,r,{value:t,writable:!0,enumerable:!1,configurable:!1})}function c(){return globalThis[n]}t.exports={setGlobalDispatcher:s,getGlobalDispatcher:c,installedExports:[`fetch`,`Headers`,`Response`,`Request`,`FormData`,`WebSocket`,`CloseEvent`,`ErrorEvent`,`MessageEvent`,`EventSource`]}})),Ma=n(((e,n)=>{let r=t(`node:assert`);n.exports=class{#e;#t=!1;#n=!1;#r=!1;constructor(e){if(typeof e!=`object`||!e)throw TypeError(`handler must be an object`);this.#e=e}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return r(!this.#t),r(!this.#n),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return r(!this.#t),r(!this.#n),r(!this.#r),this.#r=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return r(!this.#t),r(!this.#n),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return r(!this.#t),r(!this.#n),this.#t=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#n=!0,this.#e.onResponseError?.(...e)}onBodySent(){}}})),Na=n(((e,n)=>{let r=K(),i=t(`node:assert`),{InvalidArgumentError:a}=G(),o=[300,301,302,303,307,308],s=()=>{};var c=class e{static buildDispatch(t,n){if(n!=null&&(!Number.isInteger(n)||n<0))throw new a(`maxRedirections must be a positive number`);let r=t.dispatch.bind(t);return(t,i)=>r(t,new e(r,n,t,i))}constructor(e,t,n,i){if(t!=null&&(!Number.isInteger(t)||t<0))throw new a(`maxRedirections must be a positive number`);this.dispatch=e,this.location=null;let{maxRedirections:o,...s}=n;this.opts=s,this.opts.body=r.wrapRequestBody(this.opts.body),this.maxRedirections=t,this.handler=i,this.history=[]}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onRequestUpgrade(e,t,n,r){this.handler.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,i){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw Error(`max redirects`);if((t===301||t===302)&&this.opts.method===`POST`&&(this.opts.method=`GET`,r.isStream(this.opts.body)&&r.destroy(this.opts.body.on(`error`,s)),this.opts.body=null),t===303&&this.opts.method!==`HEAD`&&(this.opts.method=`GET`,r.isStream(this.opts.body)&&r.destroy(this.opts.body.on(`error`,s)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||r.isDisturbed(this.opts.body)||o.indexOf(t)===-1?null:n.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(e,t,n,i);return}let{origin:c,pathname:l,search:d}=r.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),f=d?`${l}${d}`:l,p=`${c}${f}`;for(let e of this.history)if(e.toString()===p)throw new a(`Redirect loop detected. Cannot redirect to ${c}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=u(this.opts.headers,t===303,this.opts.origin!==c),this.opts.path=f,this.opts.origin=c,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 l(e,t,n){if(e.length===4)return r.headerNameToString(e)===`host`;if(t&&r.headerNameToString(e).startsWith(`content-`))return!0;if(n&&(e.length===13||e.length===6||e.length===19)){let t=r.headerNameToString(e);return t===`authorization`||t===`cookie`||t===`proxy-authorization`}return!1}function u(e,t,n){let a=[];if(Array.isArray(e))for(let r=0;r<e.length;r+=2)l(e[r],t,n)||a.push(e[r],e[r+1]);else if(e&&typeof e==`object`){let i=r.hasSafeIterator(e)?e:Object.entries(e);for(let[e,r]of i)l(e,t,n)||a.push(e,r)}else i(e==null,`headers must be an object or an array`);return a}n.exports=c})),Pa=n(((e,t)=>{let n=Na();function r({maxRedirections:e}={}){return t=>function(r,i){let{maxRedirections:a=e,...o}=r;if(a==null||a===0)return t(r,i);let s={...o};return t(s,new n(t,a,s,i))}}t.exports=r})),Fa=n(((e,t)=>{let n=Ma(),{ResponseError:r}=G();var i=class extends n{#e;#t;#n;#r;#i;constructor(e,{handler:t}){super(t)}#a(e){return(this.#t??``).indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#t=null,this.#n=null,this.#r=null,this.#i=``,super.onRequestStart(e,t)}onResponseStart(e,t,n,r){if(this.#e=t,this.#r=n,this.#t=n[`content-type`],this.#e<400)return super.onResponseStart(e,t,n,r);(this.#a(`application/json`)||this.#a(`text/plain`))&&(this.#n=new TextDecoder(`utf-8`))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#i+=this.#n?.decode(t,{stream:!0})??``}onResponseEnd(e,t){if(this.#e>=400){if(this.#i+=this.#n?.decode(void 0,{stream:!1})??``,this.#a(`application/json`))try{this.#i=JSON.parse(this.#i)}catch{}let t,n=Error.stackTraceLimit;Error.stackTraceLimit=0;try{t=new r(`Response Error`,this.#e,{body:this.#i,headers:this.#r})}finally{Error.stackTraceLimit=n}super.onResponseError(e,t)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};t.exports=()=>e=>function(t,n){return e(t,new i(t,{handler:n}))}})),Ia=n(((e,t)=>{let n=ca();t.exports=e=>t=>function(r,i){return t(r,new n({...r,retryOptions:{...e,...r.retryOptions}},{handler:i,dispatch:t}))}})),La=n(((e,t)=>{let{InvalidArgumentError:n,RequestAbortedError:r}=G(),i=Ma();var a=class extends i{#e=1024*1024;#t=!1;#n=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},r){if(e!=null&&(!Number.isFinite(e)||e<1))throw new n(`maxSize must be a number greater than 0`);super(r),this.#e=e??this.#e}#i(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#i.bind(this),this.#r=e,super.onRequestStart(e,t)}onResponseStart(e,t,n,i){let a=n[`content-length`];if(a!=null&&a>this.#e)throw new r(`Response size (${a}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(e,t,n,i)}onResponseError(e,t){this.#t||(t=this.#r?.reason??t,super.onResponseError(e,t))}onResponseData(e,t){return this.#n+=t.length,this.#n>=this.#e&&(this.#t=!0,this.aborted===!0?super.onResponseError(e,this.reason):super.onResponseEnd(e,{})),!0}onResponseEnd(e,t){if(!this.#t){if(this.#r.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,t)}}};function o({maxSize:e}={maxSize:1024*1024}){return t=>function(n,r){let{dumpMaxSize:i=e}=n;return t(n,new a({maxSize:i,signal:n.signal},r))}}t.exports=o})),Ra=n(((e,n)=>{let{isIP:r}=t(`node:net`),{lookup:i}=t(`node:dns`),a=Ma(),{InvalidArgumentError:o,InformationalError:s}=G(),c=2**31-1;function l(e){let t=Object.getPrototypeOf(e);return Object.hasOwn(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]==`function`}function u(e){return typeof e==`string`&&e.toLowerCase()===`host`}function d(e){if(e==null)return null;if(Array.isArray(e)){if(e.length===0||!Array.isArray(e[0]))return e;let t=[];for(let n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}if(typeof e==`object`&&l(e)){let t=[];for(let n of e)Array.isArray(n)&&n.length===2?t.push(n[0],n[1]):t.push(n);return t}return e}function f(e){if(e==null)return!1;if(Array.isArray(e)){if(e.length===0)return!1;for(let t=0;t<e.length;t+=2)if(u(e[t]))return!0;return!1}if(typeof e==`object`){for(let t in e)if(u(t))return!0}return!1}function p(e,t){let n=d(t);return f(n)?n:Array.isArray(n)?[`host`,e,...n]:n&&typeof n==`object`?{host:e,...n}:{host:e}}var m=class{#e=0;#t=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#t.size}get(e){return this.#t.get(e)??null}set(e,t){this.#t.set(e,t)}delete(e){this.#t.delete(e)}full(){return this.size>=this.#e}},h=class{#e=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#n,this.pick=e.pick??this.#r,this.storage=e.storage??new m(e)}runLookup(e,t,n){let r=this.storage.get(e.hostname);if(r==null&&this.storage.full()){n(null,e);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#t};if(r==null)this.lookup(e,i,(t,r)=>{if(t||r==null||r.length===0){n(t??new s(`No DNS entries found`));return}this.setRecords(e,r);let a=this.storage.get(e.hostname),o=this.pick(e,a,i.affinity),c;c=typeof o.port==`number`?`:${o.port}`:e.port===``?``:`:${e.port}`,n(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${c}`))});else{let a=this.pick(e,r,i.affinity);if(a==null){this.storage.delete(e.hostname),this.runLookup(e,t,n);return}let o;o=typeof a.port==`number`?`:${a.port}`:e.port===``?``:`:${e.port}`,n(null,new URL(`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${o}`))}}#n(e,t,n){i(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:`ipv4first`},(e,t)=>{if(e)return n(e);let r=new Map;for(let e of t)r.set(`${e.address}:${e.family}`,e);n(null,r.values())})}#r(e,t,n){let r=null,{records:i,offset:a}=t,o;if(this.dualStack?(n??(a==null||a===c?(t.offset=0,n=4):(t.offset++,n=(t.offset&1)==1?6:4)),o=i[n]!=null&&i[n].ips.length>0?i[n]:i[n===4?6:4]):o=i[n],o==null||o.ips.length===0)return r;o.offset==null||o.offset===c?o.offset=0:o.offset++;let s=o.offset%o.ips.length;return r=o.ips[s]??null,r==null?r:Date.now()-r.timestamp>r.ttl?(o.ips.splice(s,1),this.pick(e,t,n)):r}pickFamily(e,t){let n=this.storage.get(e.hostname)?.records;if(!n)return null;let r=n[t];if(!r)return null;r.offset==null||r.offset===c?r.offset=0:r.offset++;let i=r.offset%r.ips.length,a=r.ips[i]??null;return a==null||Date.now()-a.timestamp>a.ttl&&r.ips.splice(i,1),a}setRecords(e,t){let n=Date.now(),r={records:{4:null,6:null}},i=this.#e;for(let e of t){e.timestamp=n,typeof e.ttl==`number`?(e.ttl=Math.min(e.ttl,this.#e),i=Math.min(i,e.ttl)):e.ttl=this.#e;let t=r.records[e.family]??{ips:[]};t.ips.push(e),r.records[e.family]=t}this.storage.set(e.hostname,r,{ttl:i})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new g(this,e,t)}},g=class extends a{#e=null;#t=null;#n=null;#r=null;#i=null;#a=!0;constructor(e,{origin:t,handler:n,dispatch:r,newOrigin:i},a){super(n),this.#r=t,this.#i=i,this.#t={...a},this.#e=e,this.#n=r}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 n=this.#i.hostname[0]===`[`?4:6,r=this.#e.pickFamily(this.#r,n);if(r==null){super.onResponseError(e,t);return}let i;i=typeof r.port==`number`?`:${r.port}`:this.#r.port===``?``:`:${this.#r.port}`;let a={...this.#t,origin:`${this.#r.protocol}//${r.family===6?`[${r.address}]`:r.address}${i}`,headers:p(this.#r.host,this.#t.headers)};this.#n(a,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}}};n.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!=`number`||e?.maxTTL<0))throw new o(`Invalid maxTTL. Must be a positive number`);if(e?.maxItems!=null&&(typeof e?.maxItems!=`number`||e?.maxItems<1))throw new o(`Invalid maxItems. Must be a positive number and greater than zero`);if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new o(`Invalid affinity. Must be either 4 or 6`);if(e?.dualStack!=null&&typeof e?.dualStack!=`boolean`)throw new o(`Invalid dualStack. Must be a boolean`);if(e?.lookup!=null&&typeof e?.lookup!=`function`)throw new o(`Invalid lookup. Must be a function`);if(e?.pick!=null&&typeof e?.pick!=`function`)throw new o(`Invalid pick. Must be a function`);if(e?.storage!=null&&(typeof e?.storage?.get!=`function`||typeof e?.storage?.set!=`function`||typeof e?.storage?.full!=`function`||typeof e?.storage?.delete!=`function`))throw new o(`Invalid storage. Must be a object with methods: { get, set, full, delete }`);let t=e?.dualStack??!0,n;n=t?e?.affinity??null:e?.affinity??4;let i=new h({maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:n,maxItems:e?.maxItems??1/0,storage:e?.storage});return e=>function(t,n){let a=t.origin.constructor===URL?t.origin:new URL(t.origin);return r(a.hostname)===0?(i.runLookup(a,t,(r,o)=>{if(r)return n.onResponseError(null,r);e({...t,servername:a.hostname,origin:o.origin,headers:p(a.host,t.headers)},i.getHandler({origin:a,dispatch:e,handler:n,newOrigin:o},t))}),!0):e(t,n)}}})),za=n(((e,t)=>{let{safeHTTPMethods:n,pathHasQueryOrFragment:r,hasSafeIterator:i}=K(),{serializePathWithQuery:a}=K();function o(e){if(!e.origin)throw Error(`opts.origin is undefined`);let t=e.path||`/`;return e.query&&!r(e.path)&&(t=a(t,e.query)),{origin:e.origin.toString(),method:e.method,path:t,headers:e.headers}}function s(e){let t;if(e.headers==null)t={};else if(typeof e.headers==`object`)if(t={},i(e.headers))for(let n of e.headers){if(!Array.isArray(n))throw Error(`opts.headers is not a valid header map`);let[e,r]=n;if(typeof e!=`string`||typeof r!=`string`)throw Error(`opts.headers is not a valid header map`);t[e.toLowerCase()]=r}else for(let n of Object.keys(e.headers))t[n.toLowerCase()]=e.headers[n];else throw Error(`opts.headers is not an object`);return t}function c(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);for(let t of[`origin`,`method`,`path`])if(typeof e[t]!=`string`)throw TypeError(`expected key.${t} to be string, got ${typeof e[t]}`);if(e.headers!==void 0&&typeof e.headers!=`object`)throw TypeError(`expected headers to be object, got ${typeof e}`)}function l(e){if(typeof e!=`object`)throw TypeError(`expected value to be object, got ${typeof e}`);for(let t of[`statusCode`,`cachedAt`,`staleAt`,`deleteAt`])if(typeof e[t]!=`number`)throw TypeError(`expected value.${t} to be number, got ${typeof e[t]}`);if(typeof e.statusMessage!=`string`)throw TypeError(`expected value.statusMessage to be string, got ${typeof e.statusMessage}`);if(e.headers!=null&&typeof e.headers!=`object`)throw TypeError(`expected value.rawHeaders to be object, got ${typeof e.headers}`);if(e.vary!==void 0&&typeof e.vary!=`object`)throw TypeError(`expected value.vary to be object, got ${typeof e.vary}`);if(e.etag!==void 0&&typeof e.etag!=`string`)throw TypeError(`expected value.etag to be string, got ${typeof e.etag}`)}function u(e){let t={},n;if(Array.isArray(e)){n=[];for(let t of e)n.push(...t.split(`,`))}else n=e.split(`,`);for(let e=0;e<n.length;e++){let r=n[e].toLowerCase(),i=r.indexOf(`=`),a,o;switch(i===-1?a=r.trim():(a=r.substring(0,i).trimStart(),o=r.substring(i+1)),a){case`min-fresh`:case`max-stale`:case`max-age`:case`s-maxage`:case`stale-while-revalidate`:case`stale-if-error`:{if(o===void 0||o[0]===` `)continue;o.length>=2&&o[0]===`"`&&o[o.length-1]===`"`&&(o=o.substring(1,o.length-1));let e=parseInt(o,10);if(e!==e||a===`max-age`&&a in t&&t[a]>=e)continue;t[a]=e;break}case`private`:case`no-cache`:if(o){if(o[0]===`"`){let r=[o.substring(1)],i=o[o.length-1]===`"`;if(!i)for(let t=e+1;t<n.length;t++){let e=n[t],a=e.length;if(r.push(e.trim()),a!==0&&e[a-1]===`"`){i=!0;break}}if(i){let e=r[r.length-1];e[e.length-1]===`"`&&(e=e.substring(0,e.length-1),r[r.length-1]=e),a in t?t[a]=t[a].concat(r):t[a]=r}}else a in t?t[a]=t[a].concat(o):t[a]=[o];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(o)continue;t[a]=!0;break;default:continue}}return t}function d(e,t){if(typeof e==`string`&&e.includes(`*`))return t;let n={},r=typeof e==`string`?e.split(`,`):e;for(let e of r){let r=e.trim().toLowerCase();n[r]=t[r]??null}return n}function f(e){return e.length<=2?!1:e[0]===`"`&&e[e.length-1]===`"`?!(e[1]===`"`||e.startsWith(`"W/`)):e.startsWith(`W/"`)&&e[e.length-1]===`"`?e.length!==4:!1}function p(e,t=`CacheStore`){if(typeof e!=`object`||!e)throw TypeError(`expected type of ${t} to be a CacheStore, got ${e===null?`null`:typeof e}`);for(let n of[`get`,`createWriteStream`,`delete`])if(typeof e[n]!=`function`)throw TypeError(`${t} needs to have a \`${n}()\` function`)}function m(e,t=`CacheMethods`){if(!Array.isArray(e))throw TypeError(`expected type of ${t} needs to be an array, got ${e===null?`null`:typeof e}`);if(e.length===0)throw TypeError(`${t} needs to have at least one method`);for(let r of e)if(!n.includes(r))throw TypeError(`element of ${t}-array needs to be one of following values: ${n.join(`, `)}, got ${r}`)}function h(e,t){let n={};if(e.headers){let r=Object.keys(e.headers).sort();for(let i of r)t?.has(i.toLowerCase())||(n[i]=e.headers[i])}return JSON.stringify([e.origin,e.method,e.path,n])}t.exports={makeCacheKey:o,normalizeHeaders:s,assertCacheKey:c,assertCacheValue:l,parseCacheControlHeader:u,parseVaryHeader:d,isEtagUsable:f,assertCacheMethods:m,assertCacheStore:p,makeDeduplicationKey:h}})),Ba=n(((e,t)=>{function n(e){switch(e[3]){case`,`:return r(e);case` `:return i(e);default:return a(e)}}function r(e){if(e.length!==29||e[4]!==` `||e[7]!==` `||e[11]!==` `||e[16]!==` `||e[19]!==`:`||e[22]!==`:`||e[25]!==` `||e[26]!==`G`||e[27]!==`M`||e[28]!==`T`)return;let t=-1;if(e[0]===`S`&&e[1]===`u`&&e[2]===`n`)t=0;else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`)t=1;else if(e[0]===`T`&&e[1]===`u`&&e[2]===`e`)t=2;else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`)t=3;else if(e[0]===`T`&&e[1]===`h`&&e[2]===`u`)t=4;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`)t=5;else if(e[0]===`S`&&e[1]===`a`&&e[2]===`t`)t=6;else return;let n=0;if(e[5]===`0`){let t=e.charCodeAt(6);if(t<49||t>57)return;n=t-48}else{let t=e.charCodeAt(5);if(t<49||t>51)return;let r=e.charCodeAt(6);if(r<48||r>57)return;n=(t-48)*10+(r-48)}let r=-1;if(e[8]===`J`&&e[9]===`a`&&e[10]===`n`)r=0;else if(e[8]===`F`&&e[9]===`e`&&e[10]===`b`)r=1;else if(e[8]===`M`&&e[9]===`a`)if(e[10]===`r`)r=2;else if(e[10]===`y`)r=4;else return;else if(e[8]===`J`)if(e[9]===`a`&&e[10]===`n`)r=0;else if(e[9]===`u`)if(e[10]===`n`)r=5;else if(e[10]===`l`)r=6;else return;else return;else if(e[8]===`A`)if(e[9]===`p`&&e[10]===`r`)r=3;else if(e[9]===`u`&&e[10]===`g`)r=7;else return;else if(e[8]===`S`&&e[9]===`e`&&e[10]===`p`)r=8;else if(e[8]===`O`&&e[9]===`c`&&e[10]===`t`)r=9;else if(e[8]===`N`&&e[9]===`o`&&e[10]===`v`)r=10;else if(e[8]===`D`&&e[9]===`e`&&e[10]===`c`)r=11;else return;let i=e.charCodeAt(12);if(i<48||i>57)return;let a=e.charCodeAt(13);if(a<48||a>57)return;let o=e.charCodeAt(14);if(o<48||o>57)return;let s=e.charCodeAt(15);if(s<48||s>57)return;let c=(i-48)*1e3+(a-48)*100+(o-48)*10+(s-48),l=0;if(e[17]===`0`){let t=e.charCodeAt(18);if(t<48||t>57)return;l=t-48}else{let t=e.charCodeAt(17);if(t<48||t>50)return;let n=e.charCodeAt(18);if(n<48||n>57||t===50&&n>51)return;l=(t-48)*10+(n-48)}let u=0;if(e[20]===`0`){let t=e.charCodeAt(21);if(t<48||t>57)return;u=t-48}else{let t=e.charCodeAt(20);if(t<48||t>53)return;let n=e.charCodeAt(21);if(n<48||n>57)return;u=(t-48)*10+(n-48)}let d=0;if(e[23]===`0`){let t=e.charCodeAt(24);if(t<48||t>57)return;d=t-48}else{let t=e.charCodeAt(23);if(t<48||t>53)return;let n=e.charCodeAt(24);if(n<48||n>57)return;d=(t-48)*10+(n-48)}let f=new Date(Date.UTC(c,r,n,l,u,d));return f.getUTCDay()===t?f:void 0}function i(e){if(e.length!==24||e[7]!==` `||e[10]!==` `||e[19]!==` `)return;let t=-1;if(e[0]===`S`&&e[1]===`u`&&e[2]===`n`)t=0;else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`)t=1;else if(e[0]===`T`&&e[1]===`u`&&e[2]===`e`)t=2;else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`)t=3;else if(e[0]===`T`&&e[1]===`h`&&e[2]===`u`)t=4;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`)t=5;else if(e[0]===`S`&&e[1]===`a`&&e[2]===`t`)t=6;else return;let n=-1;if(e[4]===`J`&&e[5]===`a`&&e[6]===`n`)n=0;else if(e[4]===`F`&&e[5]===`e`&&e[6]===`b`)n=1;else if(e[4]===`M`&&e[5]===`a`)if(e[6]===`r`)n=2;else if(e[6]===`y`)n=4;else return;else if(e[4]===`J`)if(e[5]===`a`&&e[6]===`n`)n=0;else if(e[5]===`u`)if(e[6]===`n`)n=5;else if(e[6]===`l`)n=6;else return;else return;else if(e[4]===`A`)if(e[5]===`p`&&e[6]===`r`)n=3;else if(e[5]===`u`&&e[6]===`g`)n=7;else return;else if(e[4]===`S`&&e[5]===`e`&&e[6]===`p`)n=8;else if(e[4]===`O`&&e[5]===`c`&&e[6]===`t`)n=9;else if(e[4]===`N`&&e[5]===`o`&&e[6]===`v`)n=10;else if(e[4]===`D`&&e[5]===`e`&&e[6]===`c`)n=11;else return;let r=0;if(e[8]===` `){let t=e.charCodeAt(9);if(t<49||t>57)return;r=t-48}else{let t=e.charCodeAt(8);if(t<49||t>51)return;let n=e.charCodeAt(9);if(n<48||n>57)return;r=(t-48)*10+(n-48)}let i=0;if(e[11]===`0`){let t=e.charCodeAt(12);if(t<48||t>57)return;i=t-48}else{let t=e.charCodeAt(11);if(t<48||t>50)return;let n=e.charCodeAt(12);if(n<48||n>57||t===50&&n>51)return;i=(t-48)*10+(n-48)}let a=0;if(e[14]===`0`){let t=e.charCodeAt(15);if(t<48||t>57)return;a=t-48}else{let t=e.charCodeAt(14);if(t<48||t>53)return;let n=e.charCodeAt(15);if(n<48||n>57)return;a=(t-48)*10+(n-48)}let o=0;if(e[17]===`0`){let t=e.charCodeAt(18);if(t<48||t>57)return;o=t-48}else{let t=e.charCodeAt(17);if(t<48||t>53)return;let n=e.charCodeAt(18);if(n<48||n>57)return;o=(t-48)*10+(n-48)}let s=e.charCodeAt(20);if(s<48||s>57)return;let c=e.charCodeAt(21);if(c<48||c>57)return;let l=e.charCodeAt(22);if(l<48||l>57)return;let u=e.charCodeAt(23);if(u<48||u>57)return;let d=(s-48)*1e3+(c-48)*100+(l-48)*10+(u-48),f=new Date(Date.UTC(d,n,r,i,a,o));return f.getUTCDay()===t?f:void 0}function a(e){let t=-1,n=-1;if(e[0]===`S`)e[1]===`u`&&e[2]===`n`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`?(n=0,t=6):e[1]===`a`&&e[2]===`t`&&e[3]===`u`&&e[4]===`r`&&e[5]===`d`&&e[6]===`a`&&e[7]===`y`&&(n=6,t=8);else if(e[0]===`M`&&e[1]===`o`&&e[2]===`n`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`)n=1,t=6;else if(e[0]===`T`)e[1]===`u`&&e[2]===`e`&&e[3]===`s`&&e[4]===`d`&&e[5]===`a`&&e[6]===`y`?(n=2,t=7):e[1]===`h`&&e[2]===`u`&&e[3]===`r`&&e[4]===`s`&&e[5]===`d`&&e[6]===`a`&&e[7]===`y`&&(n=4,t=8);else if(e[0]===`W`&&e[1]===`e`&&e[2]===`d`&&e[3]===`n`&&e[4]===`e`&&e[5]===`s`&&e[6]===`d`&&e[7]===`a`&&e[8]===`y`)n=3,t=9;else if(e[0]===`F`&&e[1]===`r`&&e[2]===`i`&&e[3]===`d`&&e[4]===`a`&&e[5]===`y`)n=5,t=6;else return;if(e[t]!==`,`||e.length-t-1!=23||e[t+1]!==` `||e[t+4]!==`-`||e[t+8]!==`-`||e[t+11]!==` `||e[t+14]!==`:`||e[t+17]!==`:`||e[t+20]!==` `||e[t+21]!==`G`||e[t+22]!==`M`||e[t+23]!==`T`)return;let r=0;if(e[t+2]===`0`){let n=e.charCodeAt(t+3);if(n<49||n>57)return;r=n-48}else{let n=e.charCodeAt(t+2);if(n<49||n>51)return;let i=e.charCodeAt(t+3);if(i<48||i>57)return;r=(n-48)*10+(i-48)}let i=-1;if(e[t+5]===`J`&&e[t+6]===`a`&&e[t+7]===`n`)i=0;else if(e[t+5]===`F`&&e[t+6]===`e`&&e[t+7]===`b`)i=1;else if(e[t+5]===`M`&&e[t+6]===`a`&&e[t+7]===`r`)i=2;else if(e[t+5]===`A`&&e[t+6]===`p`&&e[t+7]===`r`)i=3;else if(e[t+5]===`M`&&e[t+6]===`a`&&e[t+7]===`y`)i=4;else if(e[t+5]===`J`&&e[t+6]===`u`&&e[t+7]===`n`)i=5;else if(e[t+5]===`J`&&e[t+6]===`u`&&e[t+7]===`l`)i=6;else if(e[t+5]===`A`&&e[t+6]===`u`&&e[t+7]===`g`)i=7;else if(e[t+5]===`S`&&e[t+6]===`e`&&e[t+7]===`p`)i=8;else if(e[t+5]===`O`&&e[t+6]===`c`&&e[t+7]===`t`)i=9;else if(e[t+5]===`N`&&e[t+6]===`o`&&e[t+7]===`v`)i=10;else if(e[t+5]===`D`&&e[t+6]===`e`&&e[t+7]===`c`)i=11;else return;let a=e.charCodeAt(t+9);if(a<48||a>57)return;let o=e.charCodeAt(t+10);if(o<48||o>57)return;let s=(a-48)*10+(o-48);s+=s<70?2e3:1900;let c=0;if(e[t+12]===`0`){let n=e.charCodeAt(t+13);if(n<48||n>57)return;c=n-48}else{let n=e.charCodeAt(t+12);if(n<48||n>50)return;let r=e.charCodeAt(t+13);if(r<48||r>57||n===50&&r>51)return;c=(n-48)*10+(r-48)}let l=0;if(e[t+15]===`0`){let n=e.charCodeAt(t+16);if(n<48||n>57)return;l=n-48}else{let n=e.charCodeAt(t+15);if(n<48||n>53)return;let r=e.charCodeAt(t+16);if(r<48||r>57)return;l=(n-48)*10+(r-48)}let u=0;if(e[t+18]===`0`){let n=e.charCodeAt(t+19);if(n<48||n>57)return;u=n-48}else{let n=e.charCodeAt(t+18);if(n<48||n>53)return;let r=e.charCodeAt(t+19);if(r<48||r>57)return;u=(n-48)*10+(r-48)}let d=new Date(Date.UTC(s,i,r,c,l,u));return d.getUTCDay()===n?d:void 0}t.exports={parseHttpDate:n}})),Va=n(((e,t)=>{let n=K(),{parseCacheControlHeader:r,parseVaryHeader:i,isEtagUsable:a}=za(),{parseHttpDate:o}=Ba();function s(){}let c=[200,203,204,206,300,301,308,404,405,410,414,501],l=[206];var u=class{#e;#t;#n;#r;#i;#a;constructor({store:e,type:t,cacheByDefault:n},r,i){this.#r=e,this.#t=t,this.#n=n,this.#e=r,this.#i=i}onRequestStart(e,t){this.#a?.destroy(),this.#a=void 0,this.#i.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,r){this.#i.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,l,u){let g=()=>this.#i.onResponseStart?.(e,t,l,u),_=this;if(!n.safeHTTPMethods.includes(this.#e.method)&&t>=200&&t<=399){try{this.#r.delete(this.#e)?.catch?.(s)}catch{}return g()}let v=l[`cache-control`],y=l[`last-modified`]&&c.includes(t);if(!v&&!l.expires&&!y&&!this.#n)return g();let b=v?r(v):{};if(!d(this.#t,t,l,b,this.#e.headers))return g();let x=Date.now(),S=l.age?f(l.age):void 0;if(S&&S>=2147483647e3)return g();let C=typeof l.date==`string`?o(l.date):void 0,w=p(this.#t,x,S,l,C,b)??this.#n;if(w===void 0||S&&S>w)return g();let T=C?C.getTime():x,E=w+T;if(x>=E)return g();let D;if(this.#e.headers&&l.vary&&(D=i(l.vary,this.#e.headers),!D))return g();let O=S?x-S:x,k=m(T,O,b,E),A=h(l,b),j={statusCode:t,statusMessage:u,headers:A,vary:D,cacheControlDirectives:b,cachedAt:O,staleAt:E,deleteAt:k};if(t===304){let t=t=>{if(!t)return g();if(j.statusCode=t.statusCode,j.statusMessage=t.statusMessage,j.etag=t.etag,j.headers={...t.headers,...A},g(),this.#a=this.#r.createWriteStream(this.#e,j),!(!this.#a||!t?.body))if(typeof t.body.values==`function`){let n=t.body.values(),r=()=>{for(let t of n){let n=this.#a.write(t)===!1;if(this.#i.onResponseData?.(e,t),n)break}};this.#a.on(`error`,function(){_.#a=void 0,_.#r.delete(_.#e)}).on(`drain`,()=>{r()}).on(`close`,function(){_.#a===this&&(_.#a=void 0)}),r()}else typeof t.body.on==`function`&&(t.body.on(`data`,t=>{this.#a.write(t),this.#i.onResponseData?.(e,t)}).on(`end`,()=>{this.#a.end()}).on(`error`,()=>{this.#a=void 0,this.#r.delete(this.#e)}),this.#a.on(`error`,function(){_.#a=void 0,_.#r.delete(_.#e)}).on(`close`,function(){_.#a===this&&(_.#a=void 0)}))},n=this.#r.get(this.#e);n&&typeof n.then==`function`?n.then(t):t(n)}else{if(typeof l.etag==`string`&&a(l.etag)&&(j.etag=l.etag),this.#a=this.#r.createWriteStream(this.#e,j),!this.#a)return g();this.#a.on(`drain`,()=>e.resume()).on(`error`,function(){_.#a=void 0,_.#r.delete(_.#e)}).on(`close`,function(){_.#a===this&&(_.#a=void 0),e.resume()}),g()}}onResponseData(e,t){this.#a?.write(t)===!1&&e.pause(),this.#i.onResponseData?.(e,t)}onResponseEnd(e,t){this.#a?.end(),this.#i.onResponseEnd?.(e,t)}onResponseError(e,t){this.#a?.destroy(t),this.#a=void 0,this.#i.onResponseError?.(e,t)}};function d(e,t,n,r,i){return!(t<200||l.includes(t)||!c.includes(t)&&!n.expires&&!r.public&&r[`max-age`]===void 0&&!(r.private&&e===`private`)&&!(r[`s-maxage`]!==void 0&&e===`shared`)||r[`no-store`]||e===`shared`&&r.private===!0||n.vary?.includes(`*`)||i?.authorization&&(!r.public&&!r[`s-maxage`]&&!r[`must-revalidate`]||typeof i.authorization!=`string`||Array.isArray(r[`no-cache`])&&r[`no-cache`].includes(`authorization`)||Array.isArray(r.private)&&r.private.includes(`authorization`)))}function f(e){let t=parseInt(Array.isArray(e)?e[0]:e);return isNaN(t)?void 0:t*1e3}function p(e,t,n,r,i,a){if(e===`shared`){let e=a[`s-maxage`];if(e!==void 0)return e>0?e*1e3:void 0}let s=a[`max-age`];if(s!==void 0)return s>0?s*1e3:void 0;if(typeof r.expires==`string`){let e=o(r.expires);if(e)return t>=e.getTime()||i&&(i>=e||n!==void 0&&n>e-i)?void 0:e.getTime()-t}if(typeof r[`last-modified`]==`string`){let e=new Date(r[`last-modified`]);if(g(e))return e.getTime()>=t?void 0:(t-e.getTime())*.1}if(a.immutable)return 31536e3}function m(e,t,n,r){let i=-1/0,a=-1/0,o=-1/0;if(n[`stale-while-revalidate`]&&(i=r+n[`stale-while-revalidate`]*1e3),n[`stale-if-error`]&&(a=r+n[`stale-if-error`]*1e3),n.immutable&&i===-1/0&&a===-1/0&&(o=t+31536e6),i===-1/0&&a===-1/0&&o===-1/0){let n=r-e,i=Math.min(Math.max(t-e,0),1e3);return r+n+i}return Math.max(r,i,a,o)}function h(e,t){let n=[`connection`,`proxy-authenticate`,`proxy-authentication-info`,`proxy-authorization`,`proxy-connection`,`te`,`transfer-encoding`,`upgrade`,`age`];e.connection&&(Array.isArray(e.connection)?n.push(...e.connection.map(e=>e.trim())):n.push(...e.connection.split(`,`).map(e=>e.trim()))),Array.isArray(t[`no-cache`])&&n.push(...t[`no-cache`]),Array.isArray(t.private)&&n.push(...t.private);let r;for(let t of n)e[t]&&(r??={...e},delete r[t]);return r??e}function g(e){return e instanceof Date&&Number.isFinite(e.valueOf())}t.exports=u})),Ha=n(((e,n)=>{let{Writable:r}=t(`node:stream`),{EventEmitter:i}=t(`node:events`),{assertCacheKey:a,assertCacheValue:o}=za();var s=class extends i{#e=1024;#t=104857600;#n=5242880;#r=0;#i=0;#a=new Map;#o=!1;constructor(e){if(super(),e){if(typeof e!=`object`)throw 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 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 TypeError(`MemoryCacheStore options.maxSize must be a non-negative integer`);this.#t=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!=`number`||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw TypeError(`MemoryCacheStore options.maxEntrySize must be a non-negative integer`);this.#n=e.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#t||this.#i>=this.#e}get(e){a(e);let t=`${e.origin}:${e.path}`,n=Date.now(),r=this.#a.get(t),i=r?c(e,r,n):null;return i==null?void 0:{statusMessage:i.statusMessage,statusCode:i.statusCode,headers:i.headers,body:i.body,vary:i.vary?i.vary:void 0,etag:i.etag,cacheControlDirectives:i.cacheControlDirectives,cachedAt:i.cachedAt,staleAt:i.staleAt,deleteAt:i.deleteAt}}createWriteStream(e,t){a(e),o(t);let n=`${e.origin}:${e.path}`,i=this,s={...e,...t,body:[],size:0};return new r({write(e,t,n){typeof e==`string`&&(e=Buffer.from(e,t)),s.size+=e.byteLength,s.size>=i.#n?this.destroy():s.body.push(e),n(null)},final(t){let r=i.#a.get(n);r||(r=[],i.#a.set(n,r));let a=c(e,r,Date.now());if(a){let e=r.indexOf(a);r.splice(e,1,s),i.#r-=a.size}else r.push(s),i.#i+=1;if(i.#r+=s.size,i.#r>i.#t||i.#i>i.#e){i.#o||=(i.emit(`maxSizeExceeded`,{size:i.#r,maxSize:i.#t,count:i.#i,maxCount:i.#e}),!0);for(let[e,t]of i.#a){for(let e of t.splice(0,t.length/2))i.#r-=e.size,--i.#i;t.length===0&&i.#a.delete(e)}i.#r<i.#t&&i.#i<i.#e&&(i.#o=!1)}t(null)}})}delete(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let e of this.#a.get(t)??[])this.#r-=e.size,--this.#i;this.#a.delete(t)}};function c(e,t,n){return t.find(t=>t.deleteAt>n&&t.method===e.method&&(t.vary==null||Object.keys(t.vary).every(n=>t.vary[n]===null?e.headers[n]===void 0:t.vary[n]===e.headers[n])))}n.exports=s})),Ua=n(((e,n)=>{let r=t(`node:assert`);n.exports=class{#e=!1;#t;#n;#r;#i;constructor(e,t,n){if(typeof e!=`function`)throw TypeError(`callback must be a function`);this.#t=e,this.#n=t,this.#i=n}onRequestStart(e,t){this.#e=!1,this.#r=t}onRequestUpgrade(e,t,n,r){this.#n.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,i){if(r(this.#t!=null),this.#e=t===304||this.#i&&t>=500&&t<=504,this.#t(this.#e,this.#r),this.#t=null,this.#e)return!0;this.#n.onRequestStart?.(e,this.#r),this.#n.onResponseStart?.(e,t,n,i)}onResponseData(e,t){if(!this.#e)return this.#n.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#n.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e)if(this.#t&&=(this.#t(!1),null),typeof this.#n.onResponseError==`function`)this.#n.onResponseError(e,t);else throw t}}})),Wa=n(((e,n)=>{let r=t(`node:assert`),{Readable:i}=t(`node:stream`),a=K(),o=Va(),s=Ha(),c=Ua(),{assertCacheStore:l,assertCacheMethods:u,makeCacheKey:d,normalizeHeaders:f,parseCacheControlHeader:p}=za(),{AbortError:m}=G();function h(e,t){if(e!==void 0){if(!Array.isArray(e))throw TypeError(`expected ${t} to be an array or undefined, got ${typeof e}`);for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=`string`&&!(r instanceof RegExp))throw TypeError(`expected ${t}[${n}] to be a string or RegExp, got ${typeof r}`)}}}let g=()=>{};function _(e,t,{headers:n={}}){return!!(t?.[`no-cache`]||e.cacheControlDirectives?.[`no-cache`]&&!Array.isArray(e.cacheControlDirectives[`no-cache`])||n[`if-modified-since`]||n[`if-none-match`])}function v(e,t){let n=Date.now();return n>e.staleAt?t?.[`max-stale`]?n>e.staleAt+t[`max-stale`]*1e3:!0:t?.[`min-fresh`]?e.staleAt-n<=t[`min-fresh`]*1e3:!1}function y(e){let t=e.cacheControlDirectives?.[`stale-while-revalidate`];return t?Date.now()<=e.staleAt+t*1e3:!1}function b(e,t,n,r,i,a){if(a?.[`only-if-cached`]){let e=!1,t={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:n=>{e=!0,r.onResponseError?.(t,n??new m)}};try{if(r.onRequestStart?.(t,null),e||(r.onResponseStart?.(t,504,{},`Gateway Timeout`),e))return;r.onResponseEnd?.(t,{})}catch(e){typeof r.onResponseError==`function`&&r.onResponseError(t,e)}return!0}return e(i,new o(t,n,r))}function x(e,t,n,o,s,c){let l=a.isStream(n.body)?n.body:i.from(n.body??[]);r(!l.destroyed,`stream should not be destroyed`),r(!l.readableDidRead,`stream should not be readableDidRead`);let u={rawHeaders:[],rawTrailers:[],resume(){l.resume()},pause(){l.pause()},get paused(){return l.isPaused()},get aborted(){return l.destroyed},get reason(){return l.errored},abort(e){l.destroy(e??new m)}};if(l.on(`error`,function(t){if(!this.readableEnded)if(typeof e.onResponseError==`function`)e.onResponseError(u,t);else throw t}).on(`close`,function(){this.errored||e.onResponseEnd?.(u,{})}),e.onRequestStart?.(u,s),l.destroyed)return;let d={...n.headers,age:String(o)};c&&(d.warning=`110 - "response is stale"`),u.rawHeaders=a.toRawHeaders(d),e.onResponseStart?.(u,n.statusCode,d,n.statusMessage),t.method===`HEAD`?l.destroy():l.on(`data`,function(t){e.onResponseData?.(u,t)})}function S(e,t,n,r,i,s,l){if(!l)return b(e,t,n,r,i,s);let u=Date.now();if(u>l.deleteAt)return e(i,new o(t,n,r));let d=Math.round((u-l.cachedAt)/1e3);if(s?.[`max-age`]&&d>=s[`max-age`])return e(i,r);let f=v(l,s),p=_(l,s,i);if(f||p){if(a.isStream(i.body)&&a.bodyLength(i.body)!==0)return e(i,new o(t,n,r));if(!p&&y(l))return x(r,i,l,d,null,!0),queueMicrotask(()=>{let r={...i.headers,"if-modified-since":new Date(l.cachedAt).toUTCString()};if(l.etag&&(r[`if-none-match`]=l.etag),l.vary)for(let e in l.vary)l.vary[e]!=null&&(r[e]=l.vary[e]);e({...i,headers:r},new o(t,n,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let m=!1,h=l.cacheControlDirectives[`stale-if-error`]??s?.[`stale-if-error`];h&&(m=u<l.staleAt+h*1e3);let _={...i.headers,"if-modified-since":new Date(l.cachedAt).toUTCString()};if(l.etag&&(_[`if-none-match`]=l.etag),l.vary)for(let e in l.vary)l.vary[e]!=null&&(_[e]=l.vary[e]);return e({...i,headers:_},new c((e,t)=>{e?x(r,i,l,d,t,f):a.isStream(l.body)&&l.body.on(`error`,g).destroy()},new o(t,n,r),m))}a.isStream(i.body)&&i.body.on(`error`,g).destroy(),x(r,i,l,d,null,!1)}n.exports=(e={})=>{let{store:t=new s,methods:n=[`GET`],cacheByDefault:r=void 0,type:i=`shared`,origins:o=void 0}=e;if(typeof e!=`object`||!e)throw TypeError(`expected type of opts to be an Object, got ${e===null?`null`:typeof e}`);if(l(t,`opts.store`),u(n,`opts.methods`),h(o,`opts.origins`),r!==void 0&&typeof r!=`number`)throw TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof r}`);if(i!==void 0&&i!==`shared`&&i!==`private`)throw TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof i}`);let c={store:t,methods:n,cacheByDefault:r,type:i},m=a.safeHTTPMethods.filter(e=>n.includes(e)===!1);return e=>(n,r)=>{if(!n.origin||m.includes(n.method))return e(n,r);if(o!==void 0){let t=n.origin.toString().toLowerCase(),i=!1;for(let e=0;e<o.length;e++){let n=o[e];if(typeof n==`string`){if(n.toLowerCase()===t){i=!0;break}}else if(n.test(t)){i=!0;break}}if(!i)return e(n,r)}n={...n,headers:f(n)};let i=n.headers?.[`cache-control`]?p(n.headers[`cache-control`]):void 0;if(i?.[`no-store`])return e(n,r);let a=d(n),s=t.get(a);return s&&typeof s.then==`function`?s.then(t=>S(e,c,a,r,n,i,t)):S(e,c,a,r,n,i,s)}}})),Ga=n(((e,n)=>{let{createInflate:r,createGunzip:i,createBrotliDecompress:a,createZstdDecompress:o}=t(`node:zlib`),{pipeline:s}=t(`node:stream`),c=Ma(),l={gzip:i,"x-gzip":i,br:a,deflate:r,compress:r,"x-compress":r,zstd:o},u=[204,304],d=!1;var f=class extends c{#e=[];#t;#n;constructor(e,{skipStatusCodes:t=u,skipErrorResponses:n=!0}={}){super(e),this.#t=t,this.#n=n}#r(e,t){return!!(!e||t<200||this.#t.includes(t)||this.#n&&t>=400)}#i(e){let t=e.split(`,`);if(t.length>5)throw Error(`too many content-encodings in response: ${t.length}, maximum allowed is 5`);let n=[];for(let e=t.length-1;e>=0;e--){let r=t[e].trim();if(r){if(!l[r])return n.length=0,n;n.push(l[r]())}}return n}#a(e,t){e.on(`readable`,()=>{let n;for(;(n=e.read())!==null&&super.onResponseData(t,n)!==!1;);}),e.on(`error`,e=>{super.onResponseError(t,e)})}#o(e){let t=this.#e[0];this.#a(t,e),t.on(`end`,()=>{super.onResponseEnd(e,{})})}#s(e){let t=this.#e[this.#e.length-1];this.#a(t,e),s(this.#e,t=>{if(t){super.onResponseError(e,t);return}super.onResponseEnd(e,{})})}#c(){this.#e.length=0}onResponseStart(e,t,n,r){let i=n[`content-encoding`];if(this.#r(i,t))return super.onResponseStart(e,t,n,r);let a=this.#i(i.toLowerCase());if(a.length===0)return this.#c(),super.onResponseStart(e,t,n,r);this.#e=a;let{"content-encoding":o,"content-length":s,...c}=n;if(e?.rawHeaders){let t=e.rawHeaders;if(Array.isArray(t)){let n=[];for(let e=0;e<t.length;e+=2){let r=t[e],i=(Buffer.isBuffer(r)?r.toString(`latin1`):`${r}`).toLowerCase();i===`content-encoding`||i===`content-length`||n.push(t[e],t[e+1])}e.rawHeaders=n}else if(typeof t==`object`)for(let e of Object.keys(t)){let n=e.toLowerCase();(n===`content-encoding`||n===`content-length`)&&delete t[e]}}return this.#e.length===1?this.#o(e):this.#s(e),super.onResponseStart(e,t,c,r)}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.#c();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(this.#e.length>0){for(let e of this.#e)e.destroy(t);this.#c()}super.onResponseError(e,t)}};function p(e={}){return d||=(process.emitWarning(`DecompressInterceptor is experimental and subject to change`,`ExperimentalWarning`),!0),t=>(n,r)=>t(n,new f(r,e))}n.exports=p})),Ka=n(((e,t)=>{let{RequestAbortedError:n}=G(),r=5*1024*1024;t.exports=class{#e;#t=[];#n=r;#r=0;#i={};#a=``;#o=!1;#s=!1;#c=!1;#l=!1;#u=null;#d=null;constructor(e,t,n=r){this.#e=e,this.#d=t,this.#n=n}addWaitingHandler(e){if(this.#l||this.#c)return!1;let t=this.#f(e),n=t.controller;try{if(e.onRequestStart?.(n,null),n.aborted)return t.done=!0,!0;this.#s&&e.onResponseStart?.(n,this.#r,this.#i,this.#a)}catch{return t.done=!0,!0}return n.aborted||this.#t.push(t),!0}onRequestStart(e,t){this.#u=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,n,r){this.#e.onRequestUpgrade?.(e,t,n,r)}onResponseStart(e,t,n,r){this.#s=!0,this.#r=t,this.#i=n,this.#a=r,this.#e.onResponseStart?.(e,t,n,r);for(let e of this.#t){let{handler:i,controller:a}=e;if(e.done||a.aborted){e.done=!0;continue}try{i.onResponseStart?.(a,t,n,r)}catch{}a.aborted&&(e.done=!0)}this.#g()}onResponseData(e,t){if(!(this.#o||this.#l)){this.#c=!0,this.#e.onResponseData?.(e,t);for(let e of this.#t){let{handler:n,controller:r}=e;if(e.done||r.aborted){e.done=!0;continue}if(r.paused){this.#p(e,t);continue}try{n.onResponseData?.(r,t)}catch{}r.aborted&&(e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0)}this.#g()}}onResponseEnd(e,t){if(!(this.#o||this.#l)){this.#l=!0,this.#e.onResponseEnd?.(e,t);for(let e of this.#t){if(e.done||e.controller.aborted){e.done=!0;continue}if(this.#m(e),e.done||e.controller.aborted){e.done=!0;continue}if(e.controller.paused&&e.bufferedChunks.length>0){e.pendingTrailers=t;continue}try{e.handler.onResponseEnd?.(e.controller,t)}catch{}e.done=!0}this.#g(),this.#d?.()}}onResponseError(e,t){if(!this.#l){this.#o=!0,this.#l=!0,this.#e.onResponseError?.(e,t);for(let e of this.#t)this.#h(e,t);this.#t=[],this.#d?.()}}#f(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},n={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!n.aborted){if(n.paused=!1,this.#m(t),this.#l&&t.pendingTrailers&&t.bufferedChunks.length===0&&!n.paused&&!n.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#g()}},pause:()=>{n.aborted||(n.paused=!0)},get paused(){return n.paused},get aborted(){return n.aborted},get reason(){return n.reason},abort:e=>{n.aborted=!0,n.reason=e??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0}},t}#p(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.#n){let t=new n(`Deduplicated waiting handler exceeded maxBufferSize (${this.#n} bytes) while paused`);this.#h(e,t)}}#m(e){let{handler:t,controller:n}=e;for(;!e.done&&!n.aborted&&!n.paused&&e.bufferedChunks.length>0;){let r=e.bufferedChunks.shift();e.bufferedBytes-=r.length;try{t.onResponseData?.(n,r)}catch{}if(n.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#h(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{}}}#g(){this.#t=this.#t.filter(e=>e.done===!1)}}})),qa=n(((e,n)=>{let r=t(`node:diagnostics_channel`),i=K(),a=Ka(),{normalizeHeaders:o,makeCacheKey:s,makeDeduplicationKey:c}=za(),l=r.channel(`undici:request:pending-requests`);n.exports=(e={})=>{let{methods:t=[`GET`],skipHeaderNames:n=[],excludeHeaderNames:r=[],maxBufferSize:u=5*1024*1024}=e;if(typeof e!=`object`||!e)throw TypeError(`expected type of opts to be an Object, got ${e===null?`null`:typeof e}`);if(!Array.isArray(t))throw TypeError(`expected opts.methods to be an array, got ${typeof t}`);for(let e of t)if(!i.safeHTTPMethods.includes(e))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${e}`);if(!Array.isArray(n))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof n}`);if(!Array.isArray(r))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof r}`);if(!Number.isFinite(u)||u<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${u}`);let d=new Set(n.map(e=>e.toLowerCase())),f=new Set(r.map(e=>e.toLowerCase())),p=new Map;return e=>(n,r)=>{if(!n.origin||t.includes(n.method)===!1)return e(n,r);if(n={...n,headers:o(n)},d.size>0){for(let t of Object.keys(n.headers))if(d.has(t.toLowerCase()))return e(n,r)}let i=c(s(n),f),m=p.get(i);if(m)return m.addWaitingHandler(r)?!0:e(n,r);let h=new a(r,()=>{p.delete(i),l.hasSubscribers&&l.publish({size:p.size,key:i,type:`removed`})},u);return p.set(i,h),l.hasSubscribers&&l.publish({size:p.size,key:i,type:`added`}),e(n,h)}}})),Ja=n(((e,n)=>{let{Writable:r}=t(`node:stream`),{assertCacheKey:i,assertCacheValue:a}=za(),o,s=2*1e3*1e3*1e3;n.exports=class{#e=s;#t=1/0;#n;#r;#i;#a;#o;#s;#c;#l;constructor(e){if(e){if(typeof e!=`object`)throw 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 TypeError(`SqliteCacheStore options.maxEntrySize must be a non-negative integer`);if(e.maxEntrySize>s)throw 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 TypeError(`SqliteCacheStore options.maxCount must be a non-negative integer`);this.#t=e.maxCount}}o||=t(`node:sqlite`).DatabaseSync,this.#n=new o(e?.location??`:memory:`),this.#n.exec(`
|
|
129
|
+
PRAGMA journal_mode = WAL;
|
|
130
|
+
PRAGMA synchronous = NORMAL;
|
|
131
|
+
PRAGMA temp_store = memory;
|
|
132
|
+
PRAGMA optimize;
|
|
133
|
+
|
|
134
|
+
CREATE TABLE IF NOT EXISTS cacheInterceptorV3 (
|
|
135
|
+
-- Data specific to us
|
|
136
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
137
|
+
url TEXT NOT NULL,
|
|
138
|
+
method TEXT NOT NULL,
|
|
139
|
+
|
|
140
|
+
-- Data returned to the interceptor
|
|
141
|
+
body BUF NULL,
|
|
142
|
+
deleteAt INTEGER NOT NULL,
|
|
143
|
+
statusCode INTEGER NOT NULL,
|
|
144
|
+
statusMessage TEXT NOT NULL,
|
|
145
|
+
headers TEXT NULL,
|
|
146
|
+
cacheControlDirectives TEXT NULL,
|
|
147
|
+
etag TEXT NULL,
|
|
148
|
+
vary TEXT NULL,
|
|
149
|
+
cachedAt INTEGER NOT NULL,
|
|
150
|
+
staleAt INTEGER NOT NULL
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV3_getValuesQuery ON cacheInterceptorV3(url, method, deleteAt);
|
|
154
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV3_deleteByUrlQuery ON cacheInterceptorV3(deleteAt);
|
|
155
|
+
`),this.#r=this.#n.prepare(`
|
|
156
|
+
SELECT
|
|
157
|
+
id,
|
|
158
|
+
body,
|
|
159
|
+
deleteAt,
|
|
160
|
+
statusCode,
|
|
161
|
+
statusMessage,
|
|
162
|
+
headers,
|
|
163
|
+
etag,
|
|
164
|
+
cacheControlDirectives,
|
|
165
|
+
vary,
|
|
166
|
+
cachedAt,
|
|
167
|
+
staleAt
|
|
168
|
+
FROM cacheInterceptorV3
|
|
169
|
+
WHERE
|
|
170
|
+
url = ?
|
|
171
|
+
AND method = ?
|
|
172
|
+
ORDER BY
|
|
173
|
+
deleteAt ASC
|
|
174
|
+
`),this.#i=this.#n.prepare(`
|
|
175
|
+
UPDATE cacheInterceptorV3 SET
|
|
176
|
+
body = ?,
|
|
177
|
+
deleteAt = ?,
|
|
178
|
+
statusCode = ?,
|
|
179
|
+
statusMessage = ?,
|
|
180
|
+
headers = ?,
|
|
181
|
+
etag = ?,
|
|
182
|
+
cacheControlDirectives = ?,
|
|
183
|
+
cachedAt = ?,
|
|
184
|
+
staleAt = ?
|
|
185
|
+
WHERE
|
|
186
|
+
id = ?
|
|
187
|
+
`),this.#a=this.#n.prepare(`
|
|
188
|
+
INSERT INTO cacheInterceptorV3 (
|
|
189
|
+
url,
|
|
190
|
+
method,
|
|
191
|
+
body,
|
|
192
|
+
deleteAt,
|
|
193
|
+
statusCode,
|
|
194
|
+
statusMessage,
|
|
195
|
+
headers,
|
|
196
|
+
etag,
|
|
197
|
+
cacheControlDirectives,
|
|
198
|
+
vary,
|
|
199
|
+
cachedAt,
|
|
200
|
+
staleAt
|
|
201
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
202
|
+
`),this.#s=this.#n.prepare(`DELETE FROM cacheInterceptorV3 WHERE url = ?`),this.#c=this.#n.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV3`),this.#o=this.#n.prepare(`DELETE FROM cacheInterceptorV3 WHERE deleteAt <= ?`),this.#l=this.#t===1/0?null:this.#n.prepare(`
|
|
203
|
+
DELETE FROM cacheInterceptorV3
|
|
204
|
+
WHERE id IN (
|
|
205
|
+
SELECT
|
|
206
|
+
id
|
|
207
|
+
FROM cacheInterceptorV3
|
|
208
|
+
ORDER BY cachedAt DESC
|
|
209
|
+
LIMIT ?
|
|
210
|
+
)
|
|
211
|
+
`)}close(){this.#n.close()}get(e){i(e);let t=this.#f(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){i(e);let n=this.#d(e),r=Array.isArray(t.body)?Buffer.concat(t.body):t.body,a=r?.byteLength;if(a&&a>this.#e)return;let o=this.#f(e,!0);o?this.#i.run(r,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.#u(),this.#a.run(n,e.method,r,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){i(e),a(t);let n=0,o=[],s=this;return new r({decodeStrings:!0,write(e,t,r){n+=e.byteLength,n<s.#e?o.push(e):this.destroy(),r()},final(n){s.set(e,{...t,body:o}),n()}})}delete(e){if(typeof e!=`object`)throw TypeError(`expected key to be object, got ${typeof e}`);this.#s.run(this.#d(e))}#u(){if(Number.isFinite(this.#t)&&this.size<=this.#t)return 0;{let e=this.#o.run(Date.now()).changes;if(e)return e}{let e=this.#l?.run(Math.max(Math.floor(this.#t*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#c.get();return e}#d(e){return`${e.origin}/${e.path}`}#f(e,t=!1){let n=this.#d(e),{headers:r,method:i}=e,a=this.#r.all(n,i);if(a.length===0)return;let o=Date.now();for(let e of a){if(o>=e.deleteAt&&!t)return;let n=!0;if(e.vary){let t=JSON.parse(e.vary);for(let e in t)if(!c(r[e],t[e])){n=!1;break}}if(n)return e}}};function c(e,t){return e==null&&t==null?!0:e==null&&t!=null||e!=null&&t==null?!1:Array.isArray(e)&&Array.isArray(t)?e.length===t.length?e.every((e,n)=>e===t[n]):!1:e===t}})),Ya=n(((e,n)=>{let{kConstruct:r}=W(),{kEnumerableProperty:i}=K(),{iteratorMixin:a,isValidHeaderName:o,isValidHeaderValue:s}=Hi(),{webidl:c}=Vi(),l=t(`node:assert`),u=t(`node:util`);function d(e){return e===10||e===13||e===9||e===32}function f(e){let t=0,n=e.length;for(;n>t&&d(e.charCodeAt(n-1));)--n;for(;n>t&&d(e.charCodeAt(t));)++t;return t===0&&n===e.length?e:e.substring(t,n)}function p(e,t){if(Array.isArray(t))for(let n=0;n<t.length;++n){let r=t[n];if(r.length!==2)throw c.errors.exception({header:`Headers constructor`,message:`expected name/value pair to be length 2, found ${r.length}.`});m(e,r[0],r[1])}else if(typeof t==`object`&&t){let n=Object.keys(t);for(let r=0;r<n.length;++r)m(e,n[r],t[n[r]])}else throw c.errors.conversionFailed({prefix:`Headers constructor`,argument:`Argument 1`,types:[`sequence<sequence<ByteString>>`,`record<ByteString, ByteString>`]})}function m(e,t,n){if(n=f(n),!o(t))throw c.errors.invalidArgument({prefix:`Headers.append`,value:t,type:`header name`});if(!s(n))throw c.errors.invalidArgument({prefix:`Headers.append`,value:n,type:`header value`});if(y(e)===`immutable`)throw TypeError(`immutable`);return x(e).append(t,n,!1)}function h(e){let t=x(e);if(!t)return[];if(t.sortedMap)return t.sortedMap;let n=[],r=t.toSortedArray(),i=t.cookies;if(i===null||i.length===1)return t.sortedMap=r;for(let e=0;e<r.length;++e){let{0:t,1:a}=r[e];if(t===`set-cookie`)for(let e=0;e<i.length;++e)n.push([t,i[e]]);else n.push([t,a])}return t.sortedMap=n}function g(e,t){return e[0]<t[0]?-1:1}var _=class e{cookies=null;sortedMap;headersMap;constructor(t){t instanceof e?(this.headersMap=new Map(t.headersMap),this.sortedMap=t.sortedMap,this.cookies=t.cookies===null?null:[...t.cookies]):(this.headersMap=new Map(t),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,n){this.sortedMap=null;let r=n?e:e.toLowerCase(),i=this.headersMap.get(r);if(i){let e=r===`cookie`?`; `:`, `;this.headersMap.set(r,{name:i.name,value:`${i.value}${e}${t}`})}else this.headersMap.set(r,{name:e,value:t});r===`set-cookie`&&(this.cookies??=[]).push(t)}set(e,t,n){this.sortedMap=null;let r=n?e:e.toLowerCase();r===`set-cookie`&&(this.cookies=[t]),this.headersMap.set(r,{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:n}of this.headersMap.values())e[t]=n;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:n,value:r}}of this.headersMap)if(t===`set-cookie`)for(let t of this.cookies)e.push([n,t]);else e.push([n,r]);return e}toSortedArray(){let e=this.headersMap.size,t=Array(e);if(e<=32){if(e===0)return t;let n=this.headersMap[Symbol.iterator](),r=n.next().value;t[0]=[r[0],r[1].value],l(r[1].value!==null);for(let r=1,i=0,a=0,o=0,s=0,c,u;r<e;++r){for(u=n.next().value,c=t[r]=[u[0],u[1].value],l(c[1]!==null),o=0,a=r;o<a;)s=o+(a-o>>1),t[s][0]<=c[0]?o=s+1:a=s;if(r!==s){for(i=r;i>o;)t[i]=t[--i];t[o]=c}}if(!n.next().done)throw TypeError(`Unreachable`);return t}else{let e=0;for(let{0:n,1:{value:r}}of this.headersMap)t[e++]=[n,r],l(r!==null);return t.sort(g)}}},v=class e{#e;#t;constructor(e=void 0){c.util.markAsUncloneable(this),e!==r&&(this.#t=new _,this.#e=`none`,e!==void 0&&(e=c.converters.HeadersInit(e,`Headers constructor`,`init`),p(this,e)))}append(t,n){c.brandCheck(this,e),c.argumentLengthCheck(arguments,2,`Headers.append`);let r=`Headers.append`;return t=c.converters.ByteString(t,r,`name`),n=c.converters.ByteString(n,r,`value`),m(this,t,n)}delete(t){if(c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.delete`),t=c.converters.ByteString(t,`Headers.delete`,`name`),!o(t))throw c.errors.invalidArgument({prefix:`Headers.delete`,value:t,type:`header name`});if(this.#e===`immutable`)throw TypeError(`immutable`);this.#t.contains(t,!1)&&this.#t.delete(t,!1)}get(t){c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.get`);let n=`Headers.get`;if(t=c.converters.ByteString(t,n,`name`),!o(t))throw c.errors.invalidArgument({prefix:n,value:t,type:`header name`});return this.#t.get(t,!1)}has(t){c.brandCheck(this,e),c.argumentLengthCheck(arguments,1,`Headers.has`);let n=`Headers.has`;if(t=c.converters.ByteString(t,n,`name`),!o(t))throw c.errors.invalidArgument({prefix:n,value:t,type:`header name`});return this.#t.contains(t,!1)}set(t,n){c.brandCheck(this,e),c.argumentLengthCheck(arguments,2,`Headers.set`);let r=`Headers.set`;if(t=c.converters.ByteString(t,r,`name`),n=c.converters.ByteString(n,r,`value`),n=f(n),!o(t))throw c.errors.invalidArgument({prefix:r,value:t,type:`header name`});if(!s(n))throw c.errors.invalidArgument({prefix:r,value:n,type:`header value`});if(this.#e===`immutable`)throw TypeError(`immutable`);this.#t.set(t,n,!1)}getSetCookie(){c.brandCheck(this,e);let t=this.#t.cookies;return t?[...t]:[]}[u.inspect.custom](e,t){return t.depth??=e,`Headers ${u.formatWithOptions(t,this.#t.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#t}static setHeadersList(e,t){e.#t=t}};let{getHeadersGuard:y,setHeadersGuard:b,getHeadersList:x,setHeadersList:S}=v;Reflect.deleteProperty(v,`getHeadersGuard`),Reflect.deleteProperty(v,`setHeadersGuard`),Reflect.deleteProperty(v,`getHeadersList`),Reflect.deleteProperty(v,`setHeadersList`),a(`Headers`,v,h,0,1),Object.defineProperties(v.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,[Symbol.toStringTag]:{value:`Headers`,configurable:!0},[u.inspect.custom]:{enumerable:!1}}),c.converters.HeadersInit=function(e,t,n){if(c.util.Type(e)===c.util.Types.OBJECT){let r=Reflect.get(e,Symbol.iterator);if(!u.types.isProxy(e)&&r===v.prototype.entries)try{return x(e).entriesList}catch{}return typeof r==`function`?c.converters[`sequence<sequence<ByteString>>`](e,t,n,r.bind(e)):c.converters[`record<ByteString, ByteString>`](e,t,n)}throw c.errors.conversionFailed({prefix:`Headers constructor`,argument:`Argument 1`,types:[`sequence<sequence<ByteString>>`,`record<ByteString, ByteString>`]})},n.exports={fill:p,compareHeaderName:g,Headers:v,HeadersList:_,getHeadersGuard:y,setHeadersGuard:b,setHeadersList:S,getHeadersList:x}})),Xa=n(((e,n)=>{let{Headers:r,HeadersList:i,fill:a,getHeadersGuard:o,setHeadersGuard:s,setHeadersList:c}=Ya(),{extractBody:l,cloneBody:u,mixinBody:d,streamRegistry:f,bodyUnusable:p}=Ki(),m=K(),h=t(`node:util`),{kEnumerableProperty:g}=m,{isValidReasonPhrase:_,isCancelled:v,isAborted:y,isErrorLike:b,environmentSettingsObject:x}=Hi(),{redirectStatusSet:S,nullBodyStatus:C}=Ii(),{webidl:w}=Vi(),{URLSerializer:T}=Bi(),{kConstruct:E}=W(),D=t(`node:assert`),{isomorphicEncode:O,serializeJavascriptValueToJSONString:k}=zi(),A=new TextEncoder(`utf-8`);var j=class e{#e;#t;static error(){return ie(L(),`immutable`)}static json(e,t=void 0){w.argumentLengthCheck(arguments,1,`Response.json`),t!==null&&(t=w.converters.ResponseInit(t));let n=l(A.encode(k(e))),r=ie(ee({}),`response`);return z(r,t,{body:n[0],type:`application/json`}),r}static redirect(e,t=302){w.argumentLengthCheck(arguments,1,`Response.redirect`),e=w.converters.USVString(e),t=w.converters[`unsigned short`](t);let n;try{n=new URL(e,x.settingsObject.baseUrl)}catch(t){throw TypeError(`Failed to parse URL from ${e}`,{cause:t})}if(!S.has(t))throw RangeError(`Invalid status code ${t}`);let r=ie(ee({}),`immutable`);r.#t.status=t;let i=O(T(n));return r.#t.headersList.append(`location`,i,!0),r}constructor(e=null,t=void 0){if(w.util.markAsUncloneable(this),e===E)return;e!==null&&(e=w.converters.BodyInit(e,`Response`,`body`)),t=w.converters.ResponseInit(t),this.#t=ee({}),this.#e=new r(E),s(this.#e,`response`),c(this.#e,this.#t.headersList);let n=null;if(e!=null){let[t,r]=l(e);n={body:t,type:r}}z(this,t,n)}get type(){return w.brandCheck(this,e),this.#t.type}get url(){w.brandCheck(this,e);let t=this.#t.urlList,n=t[t.length-1]??null;return n===null?``:T(n,!0)}get redirected(){return w.brandCheck(this,e),this.#t.urlList.length>1}get status(){return w.brandCheck(this,e),this.#t.status}get ok(){return w.brandCheck(this,e),this.#t.status>=200&&this.#t.status<=299}get statusText(){return w.brandCheck(this,e),this.#t.statusText}get headers(){return w.brandCheck(this,e),this.#e}get body(){return w.brandCheck(this,e),this.#t.body?this.#t.body.stream:null}get bodyUsed(){return w.brandCheck(this,e),!!this.#t.body&&m.isDisturbed(this.#t.body.stream)}clone(){if(w.brandCheck(this,e),p(this.#t))throw w.errors.exception({header:`Response.clone`,message:`Body has already been consumed.`});let t=I(this.#t);return this.#t.urlList.length!==0&&this.#t.body?.stream&&f.register(this,new WeakRef(this.#t.body.stream)),ie(t,o(this.#e))}[h.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={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 ${h.formatWithOptions(t,n)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#t}static setResponseState(e,t){e.#t=t}};let{getResponseHeaders:M,setResponseHeaders:N,getResponseState:P,setResponseState:F}=j;Reflect.deleteProperty(j,`getResponseHeaders`),Reflect.deleteProperty(j,`setResponseHeaders`),Reflect.deleteProperty(j,`getResponseState`),Reflect.deleteProperty(j,`setResponseState`),d(j,P),Object.defineProperties(j.prototype,{type:g,url:g,status:g,ok:g,redirected:g,statusText:g,headers:g,clone:g,body:g,bodyUsed:g,[Symbol.toStringTag]:{value:`Response`,configurable:!0}}),Object.defineProperties(j,{json:g,redirect:g,error:g});function I(e){if(e.internalResponse)return ne(I(e.internalResponse),e.type);let t=ee({...e,body:null});return e.body!=null&&(t.body=u(e.body)),t}function ee(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:`default`,status:200,timingInfo:null,cacheState:``,statusText:``,...e,headersList:e?.headersList?new i(e?.headersList):new i,urlList:e?.urlList?[...e.urlList]:[]}}function L(e){return ee({type:`error`,status:0,error:b(e)?e:Error(e&&String(e)),aborted:e&&e.name===`AbortError`})}function te(e){return e.type===`error`&&e.status===0}function R(e,t){return t={internalResponse:e,...t},new Proxy(e,{get(e,n){return n in t?t[n]:e[n]},set(e,n,r){return D(!(n in t)),e[n]=r,!0}})}function ne(e,t){if(t===`basic`)return R(e,{type:`basic`,headersList:e.headersList});if(t===`cors`)return R(e,{type:`cors`,headersList:e.headersList});if(t===`opaque`)return R(e,{type:`opaque`,urlList:[],status:0,statusText:``,body:null});if(t===`opaqueredirect`)return R(e,{type:`opaqueredirect`,status:0,statusText:``,headersList:[],body:null});D(!1)}function re(e,t=null){return D(v(e)),y(e)?L(Object.assign(new DOMException(`The operation was aborted.`,`AbortError`),{cause:t})):L(Object.assign(new DOMException(`Request was cancelled.`),{cause:t}))}function z(e,t,n){if(t.status!==null&&(t.status<200||t.status>599))throw RangeError(`init["status"] must be in the range of 200 to 599, inclusive.`);if(`statusText`in t&&t.statusText!=null&&!_(String(t.statusText)))throw TypeError(`Invalid statusText`);if(`status`in t&&t.status!=null&&(P(e).status=t.status),`statusText`in t&&t.statusText!=null&&(P(e).statusText=t.statusText),`headers`in t&&t.headers!=null&&a(M(e),t.headers),n){if(C.includes(e.status))throw w.errors.exception({header:`Response constructor`,message:`Invalid response status code ${e.status}`});P(e).body=n.body,n.type!=null&&!P(e).headersList.contains(`content-type`,!0)&&P(e).headersList.append(`content-type`,n.type,!0)}}function ie(e,t){let n=new j(E);F(n,e);let i=new r(E);return N(n,i),c(i,e.headersList),s(i,t),e.urlList.length!==0&&e.body?.stream&&f.register(n,new WeakRef(e.body.stream)),n}w.converters.XMLHttpRequestBodyInit=function(e,t,n){return typeof e==`string`?w.converters.USVString(e,t,n):w.is.Blob(e)||w.is.BufferSource(e)||w.is.FormData(e)||w.is.URLSearchParams(e)?e:w.converters.DOMString(e,t,n)},w.converters.BodyInit=function(e,t,n){return w.is.ReadableStream(e)||e?.[Symbol.asyncIterator]?e:w.converters.XMLHttpRequestBodyInit(e,t,n)},w.converters.ResponseInit=w.dictionaryConverter([{key:`status`,converter:w.converters[`unsigned short`],defaultValue:()=>200},{key:`statusText`,converter:w.converters.ByteString,defaultValue:()=>``},{key:`headers`,converter:w.converters.HeadersInit}]),w.is.Response=w.util.MakeTypeAssertion(j),n.exports={isNetworkError:te,makeNetworkError:L,makeResponse:ee,makeAppropriateNetworkError:re,filterResponse:ne,Response:j,cloneResponse:I,fromInnerResponse:ie,getResponseState:P}})),Za=n(((e,n)=>{let{extractBody:r,mixinBody:i,cloneBody:a,bodyUnusable:o}=Ki(),{Headers:s,fill:c,HeadersList:l,setHeadersGuard:u,getHeadersGuard:d,setHeadersList:f,getHeadersList:p}=Ya(),m=K(),h=t(`node:util`),{isValidHTTPToken:g,sameOrigin:_,environmentSettingsObject:v}=Hi(),{forbiddenMethodsSet:y,corsSafeListedMethodsSet:b,referrerPolicy:x,requestRedirect:S,requestMode:C,requestCredentials:w,requestCache:T,requestDuplex:E}=Ii(),{kEnumerableProperty:D,normalizedMethodRecordsBase:O,normalizedMethodRecords:k}=m,{webidl:A}=Vi(),{URLSerializer:j}=Bi(),{kConstruct:M}=W(),N=t(`node:assert`),{getMaxListeners:P,setMaxListeners:F,defaultMaxListeners:I}=t(`node:events`),ee=Symbol(`abortController`),L=new FinalizationRegistry(({signal:e,abort:t})=>{e.removeEventListener(`abort`,t)}),te=new WeakMap,R;try{R=P(new AbortController().signal)>0}catch{R=!1}function ne(e){return t;function t(){let n=e.deref();if(n!==void 0){L.unregister(t),this.removeEventListener(`abort`,t),n.abort(this.reason);let e=te.get(n.signal);if(e!==void 0){if(e.size!==0){for(let t of e){let e=t.deref();e!==void 0&&e.abort(this.reason)}e.clear()}te.delete(n.signal)}}}}let re=!1;var z=class e{#e;#t;#n;#r;constructor(e,t=void 0){if(A.util.markAsUncloneable(this),e===M)return;A.argumentLengthCheck(arguments,1,`Request constructor`),e=A.converters.RequestInfo(e),t=A.converters.RequestInit(t);let n=null,i=null,a=v.settingsObject.baseUrl,d=null;if(typeof e==`string`){this.#t=t.dispatcher;let r;try{r=new URL(e,a)}catch(t){throw TypeError(`Failed to parse URL from `+e,{cause:t})}if(r.username||r.password)throw TypeError(`Request cannot be constructed from a URL that includes credentials: `+e);n=H({urlList:[r]}),i=`cors`}else N(A.is.Request(e)),n=e.#r,d=e.#e,this.#t=t.dispatcher||e.#t;let h=v.settingsObject.origin,x=`client`;if(n.window?.constructor?.name===`EnvironmentSettingsObject`&&_(n.window,h)&&(x=n.window),t.window!=null)throw TypeError(`'window' option '${x}' must be null`);`window`in t&&(x=`no-window`),n=H({method:n.method,headersList:n.headersList,unsafeRequest:n.unsafeRequest,client:v.settingsObject,window:x,priority:n.priority,origin:n.origin,referrer:n.referrer,referrerPolicy:n.referrerPolicy,mode:n.mode,credentials:n.credentials,cache:n.cache,redirect:n.redirect,integrity:n.integrity,keepalive:n.keepalive,reloadNavigation:n.reloadNavigation,historyNavigation:n.historyNavigation,urlList:[...n.urlList]});let S=Object.keys(t).length!==0;if(S&&(n.mode===`navigate`&&(n.mode=`same-origin`),n.reloadNavigation=!1,n.historyNavigation=!1,n.origin=`client`,n.referrer=`client`,n.referrerPolicy=``,n.url=n.urlList[n.urlList.length-1],n.urlList=[n.url]),t.referrer!==void 0){let e=t.referrer;if(e===``)n.referrer=`no-referrer`;else{let t;try{t=new URL(e,a)}catch(t){throw TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}t.protocol===`about:`&&t.hostname===`client`||h&&!_(t,v.settingsObject.baseUrl)?n.referrer=`client`:n.referrer=t}}t.referrerPolicy!==void 0&&(n.referrerPolicy=t.referrerPolicy);let C;if(C=t.mode===void 0?i:t.mode,C===`navigate`)throw A.errors.exception({header:`Request constructor`,message:`invalid request mode navigate.`});if(C!=null&&(n.mode=C),t.credentials!==void 0&&(n.credentials=t.credentials),t.cache!==void 0&&(n.cache=t.cache),n.cache===`only-if-cached`&&n.mode!==`same-origin`)throw TypeError(`'only-if-cached' can be set only with 'same-origin' mode`);if(t.redirect!==void 0&&(n.redirect=t.redirect),t.integrity!=null&&(n.integrity=String(t.integrity)),t.keepalive!==void 0&&(n.keepalive=!!t.keepalive),t.method!==void 0){let e=t.method,r=k[e];if(r!==void 0)n.method=r;else{if(!g(e))throw TypeError(`'${e}' is not a valid HTTP method.`);let t=e.toUpperCase();if(y.has(t))throw TypeError(`'${e}' HTTP method is unsupported.`);e=O[t]??e,n.method=e}!re&&n.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`}),re=!0)}t.signal!==void 0&&(d=t.signal),this.#r=n;let w=new AbortController;if(this.#e=w.signal,d!=null)if(d.aborted)w.abort(d.reason);else{this[ee]=w;let e=ne(new WeakRef(w));R&&P(d)===I&&F(1500,d),m.addAbortListener(d,e),L.register(w,{signal:d,abort:e},e)}if(this.#n=new s(M),f(this.#n,n.headersList),u(this.#n,`request`),C===`no-cors`){if(!b.has(n.method))throw TypeError(`'${n.method} is unsupported in no-cors mode.`);u(this.#n,`request-no-cors`)}if(S){let e=p(this.#n),n=t.headers===void 0?new l(e):t.headers;if(e.clear(),n instanceof l){for(let{name:t,value:r}of n.rawValues())e.append(t,r,!1);e.cookies=n.cookies}else c(this.#n,n)}let T=A.is.Request(e)?e.#r.body:null;if((t.body!=null||T!=null)&&(n.method===`GET`||n.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);let E=null;if(t.body!=null){let[e,i]=r(t.body,n.keepalive);E=e,i&&!p(this.#n).contains(`content-type`,!0)&&this.#n.append(`content-type`,i,!0)}let D=E??T;if(D!=null&&D.source==null){if(E!=null&&t.duplex==null)throw TypeError(`RequestInit: duplex option is required when sending a body.`);if(n.mode!==`same-origin`&&n.mode!==`cors`)throw TypeError(`If request is made from ReadableStream, mode should be "same-origin" or "cors"`);n.useCORSPreflightFlag=!0}let j=D;if(E==null&&T!=null){if(o(e.#r))throw TypeError(`Cannot construct a Request with a Request object that has already been used.`);let t=new TransformStream;T.stream.pipeThrough(t),j={source:T.source,length:T.length,stream:t.readable}}this.#r.body=j}get method(){return A.brandCheck(this,e),this.#r.method}get url(){return A.brandCheck(this,e),j(this.#r.url)}get headers(){return A.brandCheck(this,e),this.#n}get destination(){return A.brandCheck(this,e),this.#r.destination}get referrer(){return A.brandCheck(this,e),this.#r.referrer===`no-referrer`?``:this.#r.referrer===`client`?`about:client`:this.#r.referrer.toString()}get referrerPolicy(){return A.brandCheck(this,e),this.#r.referrerPolicy}get mode(){return A.brandCheck(this,e),this.#r.mode}get credentials(){return A.brandCheck(this,e),this.#r.credentials}get cache(){return A.brandCheck(this,e),this.#r.cache}get redirect(){return A.brandCheck(this,e),this.#r.redirect}get integrity(){return A.brandCheck(this,e),this.#r.integrity}get keepalive(){return A.brandCheck(this,e),this.#r.keepalive}get isReloadNavigation(){return A.brandCheck(this,e),this.#r.reloadNavigation}get isHistoryNavigation(){return A.brandCheck(this,e),this.#r.historyNavigation}get signal(){return A.brandCheck(this,e),this.#e}get body(){return A.brandCheck(this,e),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return A.brandCheck(this,e),!!this.#r.body&&m.isDisturbed(this.#r.body.stream)}get duplex(){return A.brandCheck(this,e),`half`}clone(){if(A.brandCheck(this,e),o(this.#r))throw TypeError(`unusable`);let t=ce(this.#r),n=new AbortController;if(this.signal.aborted)n.abort(this.signal.reason);else{let e=te.get(this.signal);e===void 0&&(e=new Set,te.set(this.signal,e));let t=new WeakRef(n);e.add(t),m.addAbortListener(n.signal,ne(t))}return le(t,this.#t,n.signal,d(this.#n))}[h.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.colors??=!0;let n={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 ${h.formatWithOptions(t,n)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#t}static setRequestDispatcher(e,t){e.#t=t}static setRequestHeaders(e,t){e.#n=t}static getRequestState(e){return e.#r}static setRequestState(e,t){e.#r=t}};let{setRequestSignal:ie,getRequestDispatcher:ae,setRequestDispatcher:B,setRequestHeaders:V,getRequestState:oe,setRequestState:se}=z;Reflect.deleteProperty(z,`setRequestSignal`),Reflect.deleteProperty(z,`getRequestDispatcher`),Reflect.deleteProperty(z,`setRequestDispatcher`),Reflect.deleteProperty(z,`setRequestHeaders`),Reflect.deleteProperty(z,`getRequestState`),Reflect.deleteProperty(z,`setRequestState`),i(z,oe);function H(e){return{method:e.method??`GET`,localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??``,window:e.window??`client`,keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??`all`,initiator:e.initiator??``,destination:e.destination??``,priority:e.priority??null,origin:e.origin??`client`,policyContainer:e.policyContainer??`client`,referrer:e.referrer??`client`,referrerPolicy:e.referrerPolicy??``,mode:e.mode??`no-cors`,useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??`same-origin`,useCredentials:e.useCredentials??!1,cache:e.cache??`default`,redirect:e.redirect??`follow`,integrity:e.integrity??``,cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??``,parserMetadata:e.parserMetadata??``,reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??`basic`,preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,useURLCredentials:e.useURLCredentials??void 0,traversableForUserPrompts:e.traversableForUserPrompts??`client`,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new l(e.headersList):new l}}function ce(e){let t=H({...e,body:null});return e.body!=null&&(t.body=a(e.body)),t}function le(e,t,n,r){let i=new z(M);se(i,e),B(i,t),ie(i,n);let a=new s(M);return V(i,a),f(a,e.headersList),u(a,r),i}Object.defineProperties(z.prototype,{method:D,url:D,headers:D,redirect:D,clone:D,signal:D,duplex:D,destination:D,body:D,bodyUsed:D,isHistoryNavigation:D,isReloadNavigation:D,keepalive:D,integrity:D,cache:D,credentials:D,attribute:D,referrerPolicy:D,referrer:D,mode:D,[Symbol.toStringTag]:{value:`Request`,configurable:!0}}),A.is.Request=A.util.MakeTypeAssertion(z),A.converters.RequestInfo=function(e){return typeof e==`string`?A.converters.USVString(e):A.is.Request(e)?e:A.converters.USVString(e)},A.converters.RequestInit=A.dictionaryConverter([{key:`method`,converter:A.converters.ByteString},{key:`headers`,converter:A.converters.HeadersInit},{key:`body`,converter:A.nullableConverter(A.converters.BodyInit)},{key:`referrer`,converter:A.converters.USVString},{key:`referrerPolicy`,converter:A.converters.DOMString,allowedValues:x},{key:`mode`,converter:A.converters.DOMString,allowedValues:C},{key:`credentials`,converter:A.converters.DOMString,allowedValues:w},{key:`cache`,converter:A.converters.DOMString,allowedValues:T},{key:`redirect`,converter:A.converters.DOMString,allowedValues:S},{key:`integrity`,converter:A.converters.DOMString},{key:`keepalive`,converter:A.converters.boolean},{key:`signal`,converter:A.nullableConverter(e=>A.converters.AbortSignal(e,`RequestInit`,`signal`))},{key:`window`,converter:A.converters.any},{key:`duplex`,converter:A.converters.DOMString,allowedValues:E},{key:`dispatcher`,converter:A.converters.any},{key:`priority`,converter:A.converters.DOMString,allowedValues:[`high`,`low`,`auto`],defaultValue:()=>`auto`}]),n.exports={Request:z,makeRequest:H,fromInnerRequest:le,cloneRequest:ce,getRequestDispatcher:ae,getRequestState:oe}})),Qa=n(((e,n)=>{let r=t(`node:assert`),{runtimeFeatures:i}=Gi(),a=new Map([[`sha256`,0],[`sha384`,1],[`sha512`,2]]),o;if(i.has(`crypto`)){o=t(`node:crypto`);let e=o.getHashes();e.length===0&&a.clear();for(let t of a.keys())e.includes(t)===!1&&a.delete(t)}else a.clear();let s=Map.prototype.get.bind(a),c=Map.prototype.has.bind(a),l=i.has(`crypto`)===!1||a.size===0?()=>!0:(e,t)=>{let n=d(t);if(n.length===0)return!0;let r=u(n);for(let t of r){let n=t.alg,r=t.val;if(p(f(n,e),r))return!0}return!1};function u(e){let t=[],n=null;for(let i of e){if(r(c(i.alg),`Invalid SRI hash algorithm token`),t.length===0){t.push(i),n=i;continue}let e=n.alg,a=s(e),o=i.alg,l=s(o);l<a||(l>a?(n=i,t[0]=i,t.length=1):t.push(i))}return t}function d(e){let t=[];for(let n of e.split(` `)){let e=n.split(`?`,1)[0],r=``,i=[e.slice(0,6),e.slice(7)],a=i[0];if(!c(a))continue;i[1]&&(r=i[1]);let o={alg:a,val:r};t.push(o)}return t}let f=(e,t)=>o.hash(e,t,`base64`);function p(e,t){let n=e.length;n!==0&&e[n-1]===`=`&&--n,n!==0&&e[n-1]===`=`&&--n;let r=t.length;if(r!==0&&t[r-1]===`=`&&--r,r!==0&&t[r-1]===`=`&&--r,n!==r)return!1;for(let r=0;r<n;++r)if(!(e[r]===t[r]||e[r]===`+`&&t[r]===`-`||e[r]===`/`&&t[r]===`_`))return!1;return!0}n.exports={applyAlgorithmToBytes:f,bytesMatch:l,caseSensitiveMatch:p,isValidSRIHashAlgorithm:c,getStrongestMetadata:u,parseMetadata:d}})),$a=n(((e,n)=>{let{makeNetworkError:r,makeAppropriateNetworkError:i,filterResponse:a,makeResponse:o,fromInnerResponse:s,getResponseState:c}=Xa(),{HeadersList:l}=Ya(),{Request:u,cloneRequest:d,getRequestDispatcher:f,getRequestState:p}=Za(),m=t(`node:zlib`),{makePolicyContainer:h,clonePolicyContainer:g,requestBadPort:_,TAOCheck:v,appendRequestOriginHeader:y,responseLocationURL:b,requestCurrentURL:x,setRequestReferrerPolicyOnRedirect:S,tryUpgradeRequestToAPotentiallyTrustworthyURL:C,createOpaqueTimingInfo:w,appendFetchMetadata:T,corsCheck:E,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:O,coarsenedSharedCurrentTime:k,sameOrigin:A,isCancelled:j,isAborted:M,isErrorLike:N,fullyReadBody:P,readableStreamClose:F,urlIsLocal:I,urlIsHttpHttpsScheme:ee,urlHasHttpsScheme:L,clampAndCoarsenConnectionTimingInfo:te,simpleRangeHeaderValue:R,buildContentRange:ne,createInflate:re,extractMimeType:z,hasAuthenticationEntry:ie,includesCredentials:ae,isTraversableNavigable:B}=Hi(),V=t(`node:assert`),{safelyExtractBody:oe,extractBody:se}=Ki(),{redirectStatusSet:H,nullBodyStatus:ce,safeMethodsSet:le,requestBodyHeader:ue,subresourceSet:de}=Ii(),fe=t(`node:events`),{Readable:U,pipeline:pe,finished:me,isErrored:he,isReadable:ge}=t(`node:stream`),{addAbortListener:_e,bufferToLowerCasedHeaderName:ve}=K(),{dataURLProcessor:ye,serializeAMimeType:be,minimizeSupportedMimeType:xe}=Bi(),{getGlobalDispatcher:Se}=ja(),{webidl:Ce}=Vi(),{STATUS_CODES:we}=t(`node:http`),{bytesMatch:Te}=Qa(),{isomorphicEncode:Ee}=zi(),De=[`GET`,`HEAD`],Oe=typeof __UNDICI_IS_NODE__<`u`||typeof esbuildDetection<`u`?`node`:`undici`,ke;var Ae=class extends fe{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||=new DOMException(`The operation was aborted.`,`AbortError`),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit(`terminated`,e))}};function je(e){Ne(e,`fetch`)}function Me(e,t=void 0){Ce.argumentLengthCheck(arguments,1,`globalThis.fetch`);let n=Promise.withResolvers(),r;try{r=new u(e,t)}catch(e){return n.reject(e),n.promise}let i=p(r);if(r.signal.aborted)return Fe(n,i,null,r.signal.reason,null),n.promise;i.client.globalObject?.constructor?.name===`ServiceWorkerGlobalScope`&&(i.serviceWorkers=`none`);let a=null,o=!1,c=null;return _e(r.signal,()=>{o=!0,V(c!=null),c.abort(r.signal.reason);let e=a?.deref();Fe(n,i,e,r.signal.reason,c.controller)}),c=Ie({request:i,processResponseEndOfBody:je,processResponse:e=>{if(!o){if(e.aborted){Fe(n,i,a,c.serializedAbortReason,c.controller);return}if(e.type===`error`){n.reject(TypeError(`fetch failed`,{cause:e.error}));return}a=new WeakRef(s(e,`immutable`)),n.resolve(a.deref()),n=null}},dispatcher:f(r),requestObject:r}),n.promise}function Ne(e,t=`other`){if(e.type===`error`&&e.aborted||!e.urlList?.length)return;let n=e.urlList[0],r=e.timingInfo,i=e.cacheState;ee(n)&&r!==null&&(e.timingAllowPassed||(r=w({startTime:r.startTime}),i=``),r.endTime=k(),e.timingInfo=r,Pe(r,n.href,t,globalThis,i,``,e.status))}let Pe=performance.markResourceTiming;function Fe(e,t,n,r,i){if(e&&e.reject(r),t.body?.stream!=null&&ge(t.body.stream)&&t.body.stream.cancel(r).catch(e=>{if(e.code!==`ERR_INVALID_STATE`)throw e}),n==null)return;let a=c(n);a.body?.stream!=null&&ge(a.body.stream)&&i.error(r)}function Ie({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:r,processResponseEndOfBody:i,processResponseConsumeBody:a,useParallelQueue:o=!1,dispatcher:s=Se(),requestObject:c=null}){V(s);let l=null,u=!1;e.client!=null&&(l=e.client.globalObject,u=e.client.crossOriginIsolatedCapability);let d=w({startTime:k(u)}),f={controller:new Ae(s),request:e,timingInfo:d,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:r,processResponseConsumeBody:a,processResponseEndOfBody:i,taskDestination:l,crossOriginIsolatedCapability:u,requestObject:c};return V(!e.body||e.body.stream),e.window===`client`&&(e.window=e.client?.globalObject?.constructor?.name===`Window`?e.client:`no-window`),e.origin===`client`&&(e.origin=e.client.origin),e.policyContainer===`client`&&(e.client==null?e.policyContainer=h():e.policyContainer=g(e.client.policyContainer)),e.headersList.contains(`accept`,!0)||e.headersList.append(`accept`,`*/*`,!0),e.headersList.contains(`accept-language`,!0)||e.headersList.append(`accept-language`,`*`,!0),e.priority,de.has(e.destination),Le(f,!1),f.controller}async function Le(e,t){try{let n=e.request,i=null;if(n.localURLsOnly&&!I(x(n))&&(i=r(`local URLs only`)),C(n),_(n)===`blocked`&&(i=r(`bad port`)),n.referrerPolicy===``&&(n.referrerPolicy=n.policyContainer.referrerPolicy),n.referrer!==`no-referrer`&&(n.referrer=O(n)),i===null){let t=x(n);A(t,n.url)&&n.responseTainting===`basic`||t.protocol===`data:`||n.mode===`navigate`||n.mode===`websocket`?(n.responseTainting=`basic`,i=await Re(e)):n.mode===`same-origin`?i=r(`request mode cannot be "same-origin"`):n.mode===`no-cors`?n.redirect===`follow`?(n.responseTainting=`opaque`,i=await Re(e)):i=r(`redirect mode cannot be "follow" for "no-cors" request`):ee(x(n))?(n.responseTainting=`cors`,i=await Ve(e)):i=r(`URL scheme must be a HTTP(S) scheme`)}if(t)return i;i.status!==0&&!i.internalResponse&&(n.responseTainting,n.responseTainting===`basic`?i=a(i,`basic`):n.responseTainting===`cors`?i=a(i,`cors`):n.responseTainting===`opaque`?i=a(i,`opaque`):V(!1));let o=i.status===0?i:i.internalResponse;if(o.urlList.length===0&&o.urlList.push(...n.urlList),n.timingAllowFailed||(i.timingAllowPassed=!0),i.type===`opaque`&&o.status===206&&o.rangeRequested&&!n.headers.contains(`range`,!0)&&(i=o=r()),i.status!==0&&(n.method===`HEAD`||n.method===`CONNECT`||ce.includes(o.status))&&(o.body=null,e.controller.dump=!0),n.integrity){let t=t=>Be(e,r(t));if(n.responseTainting===`opaque`||i.body==null){t(i.error);return}P(i.body,r=>{if(!Te(r,n.integrity)){t(`integrity mismatch`);return}i.body=oe(r)[0],Be(e,i)},t)}else Be(e,i)}catch(t){e.controller.terminate(t)}}function Re(e){if(j(e)&&e.request.redirectCount===0)return Promise.resolve(i(e));let{request:n}=e,{protocol:a}=x(n);switch(a){case`about:`:return Promise.resolve(r(`about scheme is not supported`));case`blob:`:{ke||=t(`node:buffer`).resolveObjectURL;let e=x(n);if(e.search.length!==0)return Promise.resolve(r(`NetworkError when attempting to fetch resource.`));let i=ke(e.toString());if(n.method!==`GET`||!Ce.is.Blob(i))return Promise.resolve(r(`invalid method`));let a=o(),s=i.size,c=Ee(`${s}`),l=i.type;if(n.headersList.contains(`range`,!0)){a.rangeRequested=!0;let e=R(n.headersList.get(`range`,!0),!0);if(e===`failure`)return Promise.resolve(r(`failed to fetch the data URL`));let{rangeStartValue:t,rangeEndValue:o}=e;if(t===null)t=s-o,o=t+o-1;else{if(t>=s)return Promise.resolve(r(`Range start is greater than the blob's size.`));(o===null||o>=s)&&(o=s-1)}let c=i.slice(t,o+1,l);a.body=se(c)[0];let u=Ee(`${c.size}`),d=ne(t,o,s);a.status=206,a.statusText=`Partial Content`,a.headersList.set(`content-length`,u,!0),a.headersList.set(`content-type`,l,!0),a.headersList.set(`content-range`,d,!0)}else{let e=se(i);a.statusText=`OK`,a.body=e[0],a.headersList.set(`content-length`,c,!0),a.headersList.set(`content-type`,l,!0)}return Promise.resolve(a)}case`data:`:{let e=ye(x(n));if(e===`failure`)return Promise.resolve(r(`failed to fetch the data URL`));let t=be(e.mimeType);return Promise.resolve(o({statusText:`OK`,headersList:[[`content-type`,{name:`Content-Type`,value:t}]],body:oe(e.body)[0]}))}case`file:`:return Promise.resolve(r(`not implemented... yet...`));case`http:`:case`https:`:return Ve(e).catch(e=>r(e));default:return Promise.resolve(r(`unknown scheme`))}}function ze(e,t){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(t))}function Be(e,t){let n=e.timingInfo,r=()=>{let r=Date.now();e.request.destination===`document`&&(e.controller.fullTimingInfo=n),e.controller.reportTimingSteps=()=>{if(!ee(e.request.url))return;n.endTime=r;let i=t.cacheState,a=t.bodyInfo;t.timingAllowPassed||(n=w(n),i=``);let o=0;if(e.request.mode!==`navigator`||!t.hasCrossOriginRedirects){o=t.status;let e=z(t.headersList);e!==`failure`&&(a.contentType=xe(e))}e.request.initiatorType!=null&&Pe(n,e.request.url.href,e.request.initiatorType,globalThis,i,a,o)};let i=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(t)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>i())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(t),e.processResponse=null});let i=t.type===`error`?t:t.internalResponse??t;i.body==null?r():me(i.body.stream,()=>{r()})}async function Ve(e){let t=e.request,n=null,i=null,a=e.timingInfo;if(t.serviceWorkers,n===null){if(t.redirect===`follow`&&(t.serviceWorkers=`none`),i=n=await Ue(e),t.responseTainting===`cors`&&E(t,n)===`failure`)return r(`cors failure`);v(t,n)===`failure`&&(t.timingAllowFailed=!0)}return(t.responseTainting===`opaque`||n.type===`opaque`)&&D(t.origin,t.client,t.destination,i)===`blocked`?r(`blocked`):(H.has(i.status)&&(t.redirect!==`manual`&&e.controller.connection.destroy(void 0,!1),t.redirect===`error`?n=r(`unexpected redirect`):t.redirect===`manual`?n=i:t.redirect===`follow`?n=await He(e,n):V(!1)),n.timingInfo=a,n)}function He(e,t){let n=e.request,i=t.internalResponse?t.internalResponse:t,a;try{if(a=b(i,x(n).hash),a==null)return t}catch(e){return Promise.resolve(r(e))}if(!ee(a))return Promise.resolve(r(`URL scheme must be a HTTP(S) scheme`));if(n.redirectCount===20)return Promise.resolve(r(`redirect count exceeded`));if(n.redirectCount+=1,n.mode===`cors`&&(a.username||a.password)&&!A(n,a))return Promise.resolve(r(`cross origin not allowed for request mode "cors"`));if(n.responseTainting===`cors`&&(a.username||a.password))return Promise.resolve(r(`URL cannot contain credentials for request mode "cors"`));if(i.status!==303&&n.body!=null&&n.body.source==null)return Promise.resolve(r());if([301,302].includes(i.status)&&n.method===`POST`||i.status===303&&!De.includes(n.method)){n.method=`GET`,n.body=null;for(let e of ue)n.headersList.delete(e)}A(x(n),a)||(n.headersList.delete(`authorization`,!0),n.headersList.delete(`proxy-authorization`,!0),n.headersList.delete(`cookie`,!0),n.headersList.delete(`host`,!0)),n.body!=null&&(V(n.body.source!=null),n.body=oe(n.body.source)[0]);let o=e.timingInfo;return o.redirectEndTime=o.postRedirectStartTime=k(e.crossOriginIsolatedCapability),o.redirectStartTime===0&&(o.redirectStartTime=o.startTime),n.urlList.push(a),S(n,i),Le(e,!0)}async function Ue(e,t=!1,n=!1){let a=e.request,o=null,s=null,c=null;a.window===`no-window`&&a.redirect===`error`?(o=e,s=a):(s=d(a),o={...e},o.request=s);let l=a.credentials===`include`||a.credentials===`same-origin`&&a.responseTainting===`basic`,u=s.body?s.body.length:null,f=null;if(s.body==null&&[`POST`,`PUT`].includes(s.method)&&(f=`0`),u!=null&&(f=Ee(`${u}`)),f!=null&&s.headersList.append(`content-length`,f,!0),u!=null&&s.keepalive,Ce.is.URL(s.referrer)&&s.headersList.append(`referer`,Ee(s.referrer.href),!0),y(s),T(s),s.headersList.contains(`user-agent`,!0)||s.headersList.append(`user-agent`,Oe,!0),s.cache===`default`&&(s.headersList.contains(`if-modified-since`,!0)||s.headersList.contains(`if-none-match`,!0)||s.headersList.contains(`if-unmodified-since`,!0)||s.headersList.contains(`if-match`,!0)||s.headersList.contains(`if-range`,!0))&&(s.cache=`no-store`),s.cache===`no-cache`&&!s.preventNoCacheCacheControlHeaderModification&&!s.headersList.contains(`cache-control`,!0)&&s.headersList.append(`cache-control`,`max-age=0`,!0),(s.cache===`no-store`||s.cache===`reload`)&&(s.headersList.contains(`pragma`,!0)||s.headersList.append(`pragma`,`no-cache`,!0),s.headersList.contains(`cache-control`,!0)||s.headersList.append(`cache-control`,`no-cache`,!0)),s.headersList.contains(`range`,!0)&&s.headersList.append(`accept-encoding`,`identity`,!0),s.headersList.contains(`accept-encoding`,!0)||(L(x(s))?s.headersList.append(`accept-encoding`,`br, gzip, deflate`,!0):s.headersList.append(`accept-encoding`,`gzip, deflate`,!0)),s.headersList.delete(`host`,!0),l&&!s.headersList.contains(`authorization`,!0)){let e=null;if(!(ie(s)&&(s.useURLCredentials===void 0||!ae(x(s))))&&ae(x(s))&&t){let{username:t,password:n}=x(s);e=`Basic ${Buffer.from(`${t}:${n}`).toString(`base64`)}`}e!==null&&s.headersList.append(`Authorization`,e,!1)}if(s.cache=`no-store`,s.cache!==`no-store`&&s.cache,c==null){if(s.cache===`only-if-cached`)return r(`only if cached`);let e=await We(o,l,n);!le.has(s.method)&&e.status>=200&&e.status,c??=e}if(c.urlList=[...s.urlList],s.headersList.contains(`range`,!0)&&(c.rangeRequested=!0),c.requestIncludesCredentials=l,c.status===401&&s.responseTainting!==`cors`&&l&&(a.useURLCredentials!==void 0||B(a.traversableForUserPrompts))){if(a.body!=null){if(a.body.source==null)return c;a.body=oe(a.body.source)[0]}if(a.useURLCredentials===void 0||t)return j(e)?i(e):c;e.controller.connection.destroy(),c=await Ue(e,!0)}if(c.status===407)return a.window===`no-window`?r():j(e)?i(e):r(`proxy authentication required`);if(c.status===421&&!n&&(a.body==null||a.body.source!=null)){if(j(e))return i(e);e.controller.connection.destroy(),c=await Ue(e,t,!0)}return c}async function We(e,t=!1,n=!1){V(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(e,t=!0){this.destroyed||(this.destroyed=!0,t&&this.abort?.(e??new DOMException(`The operation was aborted.`,`AbortError`)))}};let a=e.request,s=null,c=e.timingInfo;a.cache=`no-store`,a.mode;let u=null;if(a.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(a.body!=null){let t=async function*(t){j(e)||(yield t,e.processRequestBodyChunkLength?.(t.byteLength))},n=()=>{j(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},r=t=>{j(e)||(t.name===`AbortError`?e.controller.abort():e.controller.terminate(t))};u=(async function*(){try{for await(let e of a.body.stream)yield*t(e);n()}catch(e){r(e)}})()}try{let{body:t,status:n,statusText:r,headersList:i,socket:a}=await p({body:u});if(a)s=o({status:n,statusText:r,headersList:i,socket:a});else{let a=t[Symbol.asyncIterator]();e.controller.next=()=>a.next(),s=o({status:n,statusText:r,headersList:i})}}catch(t){return t.name===`AbortError`?(e.controller.connection.destroy(),i(e,t)):r(t)}let d=new ReadableStream({start(t){e.controller.controller=t},pull:()=>e.controller.resume(),cancel:t=>{j(e)||e.controller.abort(t)},type:`bytes`});s.body={stream:d,source:null,length:null},e.controller.resume||e.controller.on(`terminated`,f),e.controller.resume=async()=>{for(;;){let t,n;try{let{done:n,value:r}=await e.controller.next();if(M(e))break;t=n?void 0:r}catch(r){e.controller.ended&&!c.encodedBodySize?t=void 0:(t=r,n=!0)}if(t===void 0){F(e.controller.controller),ze(e,s);return}if(c.decodedBodySize+=t?.byteLength??0,n){e.controller.terminate(t);return}let r=new Uint8Array(t);if(r.byteLength&&e.controller.controller.enqueue(r),he(d)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function f(t){M(e)?(s.aborted=!0,ge(d)&&e.controller.controller.error(e.controller.serializedAbortReason)):ge(d)&&e.controller.controller.error(TypeError(`terminated`,{cause:N(t)?t:void 0})),e.controller.connection.destroy()}return s;function p({body:t}){let n=x(a),r=e.controller.dispatcher,i=n.pathname+n.search,o=n.search.length===0&&n.href[n.href.length-n.hash.length-1]===`?`;return s(t);function s(t,u){return new Promise((d,f)=>r.dispatch({path:o?`${i}?`:i,origin:n.origin,method:a.method,body:r.isMockActive?a.body&&(a.body.source||a.body.stream):t,headers:a.headersList.entries,maxRedirections:0,upgrade:a.mode===`websocket`?`websocket`:void 0,...u===!1?{allowH2:u}:null},{body:null,abort:null,onRequestStart(t){let{connection:n}=e.controller;c.finalConnectionTimingInfo=te(void 0,c.postRedirectStartTime,e.crossOriginIsolatedCapability);let r=e=>t.abort(e);n.destroyed?r(new DOMException(`The operation was aborted.`,`AbortError`)):(e.controller.on(`terminated`,r),this.abort=n.abort=r),c.finalNetworkRequestStartTime=k(e.crossOriginIsolatedCapability)},onResponseStarted(){c.finalNetworkResponseStartTime=k(e.crossOriginIsolatedCapability)},onResponseStart(e,t,n,r){if(t<200)return;let i=e?.rawHeaders??[],o=new l;for(let e=0;e<i.length;e+=2){let t=ve(i[e]),n=i[e+1];if(Array.isArray(n)&&!Buffer.isBuffer(i[e+1]))for(let e of n)o.append(t,e.toString(`latin1`),!0);else o.append(t,n.toString(`latin1`),!0)}let s=o.get(`location`,!0);this.body=new U({read:()=>e.resume()});let c=s&&a.redirect===`follow`&&H.has(t),u=[];if(a.method!==`HEAD`&&a.method!==`CONNECT`&&!ce.includes(t)&&!c){let e=o.get(`content-encoding`,!0),t=e?e.toLowerCase().split(`,`):[];if(t.length>5){f(Error(`too many content-encodings in response: ${t.length}, maximum allowed is 5`));return}for(let e=t.length-1;e>=0;--e){let n=t[e].trim();if(n===`x-gzip`||n===`gzip`)u.push(m.createGunzip({flush:m.constants.Z_SYNC_FLUSH,finishFlush:m.constants.Z_SYNC_FLUSH}));else if(n===`deflate`)u.push(re({flush:m.constants.Z_SYNC_FLUSH,finishFlush:m.constants.Z_SYNC_FLUSH}));else if(n===`br`)u.push(m.createBrotliDecompress({flush:m.constants.BROTLI_OPERATION_FLUSH,finishFlush:m.constants.BROTLI_OPERATION_FLUSH}));else if(n===`zstd`)u.push(m.createZstdDecompress({flush:m.constants.ZSTD_e_continue,finishFlush:m.constants.ZSTD_e_end}));else{u.length=0;break}}}let p=t=>this.onResponseError(e,t);d({status:t,statusText:r,headersList:o,body:u.length?pe(this.body,...u,t=>{t&&this.onResponseError(e,t)}).on(`error`,p):this.body.on(`error`,p)})},onResponseData(t,n){if(e.controller.dump)return;let r=n;c.encodedBodySize+=r.byteLength,this.body.push(r)===!1&&t.pause()},onResponseEnd(){this.abort&&e.controller.off(`terminated`,this.abort),e.controller.ended=!0,this.body?.push(null)},onResponseError(n,r){if(this.abort&&e.controller.off(`terminated`,this.abort),a.mode===`websocket`&&u!==!1&&r?.code===`UND_ERR_INFO`&&r?.message===`HTTP/2: Extended CONNECT protocol not supported by server`){d(s(t,!1));return}this.body?.destroy(r),e.controller.terminate(r),f(r)},onRequestUpgrade(e,t,n,r){if(r.session!=null&&t!==200||r.session==null&&t!==101)return!1;let i=e?.rawHeaders??[],a=new l;for(let e=0;e<i.length;e+=2){let t=ve(i[e]),n=i[e+1];if(Array.isArray(n)&&!Buffer.isBuffer(i[e+1]))for(let e of n)a.append(t,e.toString(`latin1`),!0);else a.append(t,n.toString(`latin1`),!0)}return d({status:t,statusText:we[t],headersList:a,socket:r}),!0}}))}}}n.exports={fetch:Me,Fetch:Ae,fetching:Ie,finalizeAndReportTiming:Ne}})),eo=n(((e,n)=>{let r=t(`node:assert`),{URLSerializer:i}=Bi(),{isValidHeaderName:a}=Hi();function o(e,t,n=!1){return i(e,n)===i(t,n)}function s(e){r(e!==null);let t=[];for(let n of e.split(`,`))n=n.trim(),a(n)&&t.push(n);return t}n.exports={urlEquals:o,getFieldValues:s}})),to=n(((e,n)=>{let r=t(`node:assert`),{kConstruct:i}=W(),{urlEquals:a,getFieldValues:o}=eo(),{kEnumerableProperty:s,isDisturbed:c}=K(),{webidl:l}=Vi(),{cloneResponse:u,fromInnerResponse:d,getResponseState:f}=Xa(),{Request:p,fromInnerRequest:m,getRequestState:h}=Za(),{fetching:g}=$a(),{urlIsHttpHttpsScheme:_,readAllBytes:v}=Hi();var y=class e{#e;constructor(){arguments[0]!==i&&l.illegalConstructor(),l.util.markAsUncloneable(this),this.#e=arguments[1]}async match(t,n={}){l.brandCheck(this,e);let r=`Cache.match`;l.argumentLengthCheck(arguments,1,r),t=l.converters.RequestInfo(t),n=l.converters.CacheQueryOptions(n,r,`options`);let i=this.#i(t,n,1);if(i.length!==0)return i[0]}async matchAll(t=void 0,n={}){return l.brandCheck(this,e),t!==void 0&&(t=l.converters.RequestInfo(t)),n=l.converters.CacheQueryOptions(n,`Cache.matchAll`,`options`),this.#i(t,n)}async add(t){l.brandCheck(this,e),l.argumentLengthCheck(arguments,1,`Cache.add`),t=l.converters.RequestInfo(t);let n=[t];return await this.addAll(n)}async addAll(t){l.brandCheck(this,e);let n=`Cache.addAll`;l.argumentLengthCheck(arguments,1,n);let r=[],i=[];for(let e of t){if(e===void 0)throw l.errors.conversionFailed({prefix:n,argument:`Argument 1`,types:[`undefined is not allowed`]});if(e=l.converters.RequestInfo(e),typeof e==`string`)continue;let t=h(e);if(!_(t.url)||t.method!==`GET`)throw l.errors.exception({header:n,message:`Expected http/s scheme when method is not GET.`})}let a=[];for(let e of t){let t=h(new p(e));if(!_(t.url))throw l.errors.exception({header:n,message:`Expected http/s scheme.`});t.initiator=`fetch`,t.destination=`subresource`,i.push(t);let s=Promise.withResolvers();a.push(g({request:t,processResponse(e){if(e.type===`error`||e.status===206||e.status<200||e.status>299)s.reject(l.errors.exception({header:`Cache.addAll`,message:`Received an invalid status code or the request failed.`}));else if(e.headersList.contains(`vary`)){let t=o(e.headersList.get(`vary`));for(let e of t)if(e===`*`){s.reject(l.errors.exception({header:`Cache.addAll`,message:`invalid vary field value`}));for(let e of a)e.abort();return}}},processResponseEndOfBody(e){if(e.aborted){s.reject(new DOMException(`aborted`,`AbortError`));return}s.resolve(e)}})),r.push(s.promise)}let s=await Promise.all(r),c=[],u=0;for(let e of s){let t={type:`put`,request:i[u],response:e};c.push(t),u++}let d=Promise.withResolvers(),f=null;try{this.#t(c)}catch(e){f=e}return queueMicrotask(()=>{f===null?d.resolve(void 0):d.reject(f)}),d.promise}async put(t,n){l.brandCheck(this,e);let r=`Cache.put`;l.argumentLengthCheck(arguments,2,r),t=l.converters.RequestInfo(t),n=l.converters.Response(n,r,`response`);let i=null;if(i=l.is.Request(t)?h(t):h(new p(t)),!_(i.url)||i.method!==`GET`)throw l.errors.exception({header:r,message:`Expected an http/s scheme when method is not GET`});let a=f(n);if(a.status===206)throw l.errors.exception({header:r,message:`Got 206 status`});if(a.headersList.contains(`vary`)){let e=o(a.headersList.get(`vary`));for(let t of e)if(t===`*`)throw l.errors.exception({header:r,message:`Got * vary field value`})}if(a.body&&(c(a.body.stream)||a.body.stream.locked))throw l.errors.exception({header:r,message:`Response body is locked or disturbed`});let s=u(a),d=Promise.withResolvers();a.body==null?d.resolve(void 0):v(a.body.stream.getReader(),d.resolve,d.reject);let m=[],g={type:`put`,request:i,response:s};m.push(g);let y=await d.promise;s.body!=null&&(s.body.source=y);let b=Promise.withResolvers(),x=null;try{this.#t(m)}catch(e){x=e}return queueMicrotask(()=>{x===null?b.resolve():b.reject(x)}),b.promise}async delete(t,n={}){l.brandCheck(this,e);let i=`Cache.delete`;l.argumentLengthCheck(arguments,1,i),t=l.converters.RequestInfo(t),n=l.converters.CacheQueryOptions(n,i,`options`);let a=null;if(l.is.Request(t)){if(a=h(t),a.method!==`GET`&&!n.ignoreMethod)return!1}else r(typeof t==`string`),a=h(new p(t));let o=[],s={type:`delete`,request:a,options:n};o.push(s);let c=Promise.withResolvers(),u=null,d;try{d=this.#t(o)}catch(e){u=e}return queueMicrotask(()=>{u===null?c.resolve(!!d?.length):c.reject(u)}),c.promise}async keys(t=void 0,n={}){l.brandCheck(this,e),t!==void 0&&(t=l.converters.RequestInfo(t)),n=l.converters.CacheQueryOptions(n,`Cache.keys`,`options`);let r=null;if(t!==void 0)if(l.is.Request(t)){if(r=h(t),r.method!==`GET`&&!n.ignoreMethod)return[]}else typeof t==`string`&&(r=h(new p(t)));let i=Promise.withResolvers(),a=[];if(t===void 0)for(let e of this.#e)a.push(e[0]);else{let e=this.#n(r,n);for(let t of e)a.push(t[0])}return queueMicrotask(()=>{let e=[];for(let t of a){let n=m(t,void 0,new AbortController().signal,`immutable`);e.push(n)}i.resolve(Object.freeze(e))}),i.promise}#t(e){let t=this.#e,n=[...t],i=[],a=[];try{for(let n of e){if(n.type!==`delete`&&n.type!==`put`)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`operation type does not match "delete" or "put"`});if(n.type===`delete`&&n.response!=null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`delete operation should not have an associated response`});if(this.#n(n.request,n.options,i).length)throw new DOMException(`???`,`InvalidStateError`);let e;if(n.type===`delete`){if(e=this.#n(n.request,n.options),e.length===0)return[];for(let n of e){let e=t.indexOf(n);r(e!==-1),t.splice(e,1)}}else if(n.type===`put`){if(n.response==null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`put operation should have an associated response`});let a=n.request;if(!_(a.url))throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`expected http or https scheme`});if(a.method!==`GET`)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`not get method`});if(n.options!=null)throw l.errors.exception({header:`Cache.#batchCacheOperations`,message:`options must not be defined`});e=this.#n(n.request);for(let n of e){let e=t.indexOf(n);r(e!==-1),t.splice(e,1)}t.push([n.request,n.response]),i.push([n.request,n.response])}a.push([n.request,n.response])}return a}catch(e){throw this.#e.length=0,this.#e=n,e}}#n(e,t,n){let r=[],i=n??this.#e;for(let n of i){let[i,a]=n;this.#r(e,i,a,t)&&r.push(n)}return r}#r(e,t,n=null,r){let i=new URL(e.url),s=new URL(t.url);if(r?.ignoreSearch&&(s.search=``,i.search=``),!a(i,s,!0))return!1;if(n==null||r?.ignoreVary||!n.headersList.contains(`vary`))return!0;let c=o(n.headersList.get(`vary`));for(let n of c)if(n===`*`||t.headersList.get(n)!==e.headersList.get(n))return!1;return!0}#i(e,t,n=1/0){let r=null;if(e!==void 0)if(l.is.Request(e)){if(r=h(e),r.method!==`GET`&&!t.ignoreMethod)return[]}else typeof e==`string`&&(r=h(new p(e)));let i=[];if(e===void 0)for(let e of this.#e)i.push(e[1]);else{let e=this.#n(r,t);for(let t of e)i.push(t[1])}let a=[];for(let e of i){let t=d(u(e),`immutable`);if(a.push(t),a.length>=n)break}return Object.freeze(a)}};Object.defineProperties(y.prototype,{[Symbol.toStringTag]:{value:`Cache`,configurable:!0},match:s,matchAll:s,add:s,addAll:s,put:s,delete:s,keys:s});let b=[{key:`ignoreSearch`,converter:l.converters.boolean,defaultValue:()=>!1},{key:`ignoreMethod`,converter:l.converters.boolean,defaultValue:()=>!1},{key:`ignoreVary`,converter:l.converters.boolean,defaultValue:()=>!1}];l.converters.CacheQueryOptions=l.dictionaryConverter(b),l.converters.MultiCacheQueryOptions=l.dictionaryConverter([...b,{key:`cacheName`,converter:l.converters.DOMString}]),l.converters.Response=l.interfaceConverter(l.is.Response,`Response`),l.converters[`sequence<RequestInfo>`]=l.sequenceConverter(l.converters.RequestInfo),n.exports={Cache:y}})),no=n(((e,t)=>{let{Cache:n}=to(),{webidl:r}=Vi(),{kEnumerableProperty:i}=K(),{kConstruct:a}=W();var o=class e{#e=new Map;constructor(){arguments[0]!==a&&r.illegalConstructor(),r.util.markAsUncloneable(this)}async match(t,i={}){if(r.brandCheck(this,e),r.argumentLengthCheck(arguments,1,`CacheStorage.match`),t=r.converters.RequestInfo(t),i=r.converters.MultiCacheQueryOptions(i),i.cacheName!=null){if(this.#e.has(i.cacheName))return await new n(a,this.#e.get(i.cacheName)).match(t,i)}else for(let e of this.#e.values()){let r=await new n(a,e).match(t,i);if(r!==void 0)return r}}async has(t){r.brandCheck(this,e);let n=`CacheStorage.has`;return r.argumentLengthCheck(arguments,1,n),t=r.converters.DOMString(t,n,`cacheName`),this.#e.has(t)}async open(t){r.brandCheck(this,e);let i=`CacheStorage.open`;if(r.argumentLengthCheck(arguments,1,i),t=r.converters.DOMString(t,i,`cacheName`),this.#e.has(t))return new n(a,this.#e.get(t));let o=[];return this.#e.set(t,o),new n(a,o)}async delete(t){r.brandCheck(this,e);let n=`CacheStorage.delete`;return r.argumentLengthCheck(arguments,1,n),t=r.converters.DOMString(t,n,`cacheName`),this.#e.delete(t)}async keys(){return r.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{value:`CacheStorage`,configurable:!0},match:i,has:i,open:i,delete:i,keys:i}),t.exports={CacheStorage:o}})),ro=n(((e,t)=>{t.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}})),io=n(((e,t)=>{function n(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n>=0&&n<=8||n>=10&&n<=31||n===127)return!0}return!1}function r(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<33||n>126||n===34||n===40||n===41||n===60||n===62||n===64||n===44||n===59||n===58||n===92||n===47||n===91||n===93||n===63||n===61||n===123||n===125)throw Error(`Invalid cookie name`)}}function i(e){let t=e.length,n=0;if(e[0]===`"`){if(t===1||e[t-1]!==`"`)throw Error(`Invalid cookie value`);--t,++n}for(;n<t;){let t=e.charCodeAt(n++);if(t<33||t>126||t===34||t===44||t===59||t===92)throw Error(`Invalid cookie value`)}}function a(e){for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<32||n===127||n===59)throw Error(`Invalid cookie path`)}}function o(e){if(e.startsWith(`-`)||e.endsWith(`.`)||e.endsWith(`-`))throw Error(`Invalid cookie domain`)}let s=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],c=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],l=Array(61).fill(0).map((e,t)=>t.toString().padStart(2,`0`));function u(e){return typeof e==`number`&&(e=new Date(e)),`${s[e.getUTCDay()]}, ${l[e.getUTCDate()]} ${c[e.getUTCMonth()]} ${e.getUTCFullYear()} ${l[e.getUTCHours()]}:${l[e.getUTCMinutes()]}:${l[e.getUTCSeconds()]} GMT`}function d(e){if(e<0)throw Error(`Invalid cookie max-age`)}function f(e){if(e.name.length===0)return null;r(e.name),i(e.value);let t=[`${e.name}=${e.value}`];e.name.startsWith(`__Secure-`)&&(e.secure=!0),e.name.startsWith(`__Host-`)&&(e.secure=!0,e.domain=null,e.path=`/`),e.secure&&t.push(`Secure`),e.httpOnly&&t.push(`HttpOnly`),typeof e.maxAge==`number`&&(d(e.maxAge),t.push(`Max-Age=${e.maxAge}`)),e.domain&&(o(e.domain),t.push(`Domain=${e.domain}`)),e.path&&(a(e.path),t.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!==`Invalid Date`&&t.push(`Expires=${u(e.expires)}`),e.sameSite&&t.push(`SameSite=${e.sameSite}`);for(let n of e.unparsed){if(!n.includes(`=`))throw Error(`Invalid unparsed`);let[e,...r]=n.split(`=`);t.push(`${e.trim()}=${r.join(`=`)}`)}return t.join(`; `)}t.exports={isCTLExcludingHtab:n,validateCookieName:r,validateCookiePath:a,validateCookieValue:i,toIMFDate:u,stringify:f}})),ao=n(((e,n)=>{let{collectASequenceOfCodePointsFast:r}=zi(),{maxNameValuePairSize:i,maxAttributeValueSize:a}=ro(),{isCTLExcludingHtab:o}=io(),s=t(`node:assert`),{unescape:c}=t(`node:querystring`);function l(e){if(o(e))return null;let t=``,n=``,a=``,s=``;if(e.includes(`;`)){let i={position:0};t=r(`;`,e,i),n=e.slice(i.position)}else t=e;if(!t.includes(`=`))s=t;else{let e={position:0};a=r(`=`,t,e),s=t.slice(e.position+1)}return a=a.trim(),s=s.trim(),a.length+s.length>i?null:{name:a,value:c(s),...u(n)}}function u(e,t={}){if(e.length===0)return t;s(e[0]===`;`),e=e.slice(1);let n=``;e.includes(`;`)?(n=r(`;`,e,{position:0}),e=e.slice(n.length)):(n=e,e=``);let i=``,o=``;if(n.includes(`=`)){let e={position:0};i=r(`=`,n,e),o=n.slice(e.position+1)}else i=n;if(i=i.trim(),o=o.trim(),o.length>a)return u(e,t);let c=i.toLowerCase();if(c===`expires`)t.expires=new Date(o);else if(c===`max-age`){let n=o.charCodeAt(0);if((n<48||n>57)&&o[0]!==`-`||!/^\d+$/.test(o))return u(e,t);t.maxAge=Number(o)}else if(c===`domain`){let e=o;e[0]===`.`&&(e=e.slice(1)),e=e.toLowerCase(),t.domain=e}else if(c===`path`){let e=``;e=o.length===0||o[0]!==`/`?`/`:o,t.path=e}else if(c===`secure`)t.secure=!0;else if(c===`httponly`)t.httpOnly=!0;else if(c===`samesite`){let e=`Default`,n=o.toLowerCase();n.includes(`none`)&&(e=`None`),n.includes(`strict`)&&(e=`Strict`),n.includes(`lax`)&&(e=`Lax`),t.sameSite=e}else t.unparsed??=[],t.unparsed.push(`${i}=${o}`);return u(e,t)}n.exports={parseSetCookie:l,parseUnparsedAttributes:u}})),oo=n(((e,t)=>{let{parseSetCookie:n}=ao(),{stringify:r}=io(),{webidl:i}=Vi(),{Headers:a}=Ya(),o=i.brandCheckMultiple([a,globalThis.Headers].filter(Boolean));function s(e){i.argumentLengthCheck(arguments,1,`getCookies`),o(e);let t=e.get(`cookie`),n={};if(!t)return n;for(let e of t.split(`;`)){let[t,...r]=e.split(`=`);n[t.trim()]=r.join(`=`)}return n}function c(e,t,n){o(e);let r=`deleteCookie`;i.argumentLengthCheck(arguments,2,r),t=i.converters.DOMString(t,r,`name`),n=i.converters.DeleteCookieAttributes(n),d(e,{name:t,value:``,expires:new Date(0),...n})}function l(e){i.argumentLengthCheck(arguments,1,`getSetCookies`),o(e);let t=e.getSetCookie();return t?t.map(e=>n(e)):[]}function u(e){return e=i.converters.DOMString(e),n(e)}function d(e,t){i.argumentLengthCheck(arguments,2,`setCookie`),o(e),t=i.converters.Cookie(t);let n=r(t);n&&e.append(`set-cookie`,n,!0)}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:`path`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`domain`,defaultValue:()=>null}]),i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:`name`},{converter:i.converters.DOMString,key:`value`},{converter:i.nullableConverter(e=>typeof e==`number`?i.converters[`unsigned long long`](e):new Date(e)),key:`expires`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters[`long long`]),key:`maxAge`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`domain`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.DOMString),key:`path`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.boolean),key:`secure`,defaultValue:()=>null},{converter:i.nullableConverter(i.converters.boolean),key:`httpOnly`,defaultValue:()=>null},{converter:i.converters.USVString,key:`sameSite`,allowedValues:[`Strict`,`Lax`,`None`]},{converter:i.sequenceConverter(i.converters.DOMString),key:`unparsed`,defaultValue:()=>[]}]),t.exports={getCookies:s,deleteCookie:c,getSetCookies:l,setCookie:d,parseCookie:u}})),so=n(((e,t)=>{let{webidl:n}=Vi(),{kEnumerableProperty:r}=K(),{kConstruct:i}=W();var a=class e extends Event{#e;constructor(e,t={}){if(e===i){super(arguments[1],arguments[2]),n.util.markAsUncloneable(this);return}let r=`MessageEvent constructor`;n.argumentLengthCheck(arguments,1,r),e=n.converters.DOMString(e,r,`type`),t=n.converters.MessageEventInit(t,r,`eventInitDict`),super(e,t),this.#e=t,n.util.markAsUncloneable(this)}get data(){return n.brandCheck(this,e),this.#e.data}get origin(){return n.brandCheck(this,e),this.#e.origin}get lastEventId(){return n.brandCheck(this,e),this.#e.lastEventId}get source(){return n.brandCheck(this,e),this.#e.source}get ports(){return n.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(t,r=!1,i=!1,a=null,o=``,s=``,c=null,l=[]){return n.brandCheck(this,e),n.argumentLengthCheck(arguments,1,`MessageEvent.initMessageEvent`),new e(t,{bubbles:r,cancelable:i,data:a,origin:o,lastEventId:s,source:c,ports:l})}static createFastMessageEvent(t,n){let r=new e(i,t,n);return r.#e=n,r.#e.data??=null,r.#e.origin??=``,r.#e.lastEventId??=``,r.#e.source??=null,r.#e.ports??=[],r}};let{createFastMessageEvent:o}=a;delete a.createFastMessageEvent;var s=class e extends Event{#e;constructor(e,t={}){let r=`CloseEvent constructor`;n.argumentLengthCheck(arguments,1,r),e=n.converters.DOMString(e,r,`type`),t=n.converters.CloseEventInit(t),super(e,t),this.#e=t,n.util.markAsUncloneable(this)}get wasClean(){return n.brandCheck(this,e),this.#e.wasClean}get code(){return n.brandCheck(this,e),this.#e.code}get reason(){return n.brandCheck(this,e),this.#e.reason}},c=class e extends Event{#e;constructor(e,t){let r=`ErrorEvent constructor`;n.argumentLengthCheck(arguments,1,r),super(e,t),n.util.markAsUncloneable(this),e=n.converters.DOMString(e,r,`type`),t=n.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return n.brandCheck(this,e),this.#e.message}get filename(){return n.brandCheck(this,e),this.#e.filename}get lineno(){return n.brandCheck(this,e),this.#e.lineno}get colno(){return n.brandCheck(this,e),this.#e.colno}get error(){return n.brandCheck(this,e),this.#e.error}};Object.defineProperties(a.prototype,{[Symbol.toStringTag]:{value:`MessageEvent`,configurable:!0},data:r,origin:r,lastEventId:r,source:r,ports:r,initMessageEvent:r}),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{value:`CloseEvent`,configurable:!0},reason:r,code:r,wasClean:r}),Object.defineProperties(c.prototype,{[Symbol.toStringTag]:{value:`ErrorEvent`,configurable:!0},message:r,filename:r,lineno:r,colno:r,error:r}),n.converters.MessagePort=n.interfaceConverter(n.is.MessagePort,`MessagePort`),n.converters[`sequence<MessagePort>`]=n.sequenceConverter(n.converters.MessagePort);let l=[{key:`bubbles`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`cancelable`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`composed`,converter:n.converters.boolean,defaultValue:()=>!1}];n.converters.MessageEventInit=n.dictionaryConverter([...l,{key:`data`,converter:n.converters.any,defaultValue:()=>null},{key:`origin`,converter:n.converters.USVString,defaultValue:()=>``},{key:`lastEventId`,converter:n.converters.DOMString,defaultValue:()=>``},{key:`source`,converter:n.nullableConverter(n.converters.MessagePort),defaultValue:()=>null},{key:`ports`,converter:n.converters[`sequence<MessagePort>`],defaultValue:()=>[]}]),n.converters.CloseEventInit=n.dictionaryConverter([...l,{key:`wasClean`,converter:n.converters.boolean,defaultValue:()=>!1},{key:`code`,converter:n.converters[`unsigned short`],defaultValue:()=>0},{key:`reason`,converter:n.converters.USVString,defaultValue:()=>``}]),n.converters.ErrorEventInit=n.dictionaryConverter([...l,{key:`message`,converter:n.converters.DOMString,defaultValue:()=>``},{key:`filename`,converter:n.converters.USVString,defaultValue:()=>``},{key:`lineno`,converter:n.converters[`unsigned long`],defaultValue:()=>0},{key:`colno`,converter:n.converters[`unsigned long`],defaultValue:()=>0},{key:`error`,converter:n.converters.any}]),t.exports={MessageEvent:a,CloseEvent:s,ErrorEvent:c,createFastMessageEvent:o}})),co=n(((e,t)=>{t.exports={uid:`258EAFA5-E914-47DA-95CA-C5AB0DC85B11`,sentCloseFrameState:{SENT:1,RECEIVED:2},staticPropertyDescriptors:{enumerable:!0,writable:!1,configurable:!1},states:{CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},opcodes:{CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},maxUnsigned16Bit:65535,parserStates:{INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},emptyBuffer:Buffer.allocUnsafe(0),sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}}})),lo=n(((e,n)=>{let{states:r,opcodes:i}=co(),{isUtf8:a}=t(`node:buffer`),{removeHTTPWhitespace:o}=Bi(),{collectASequenceOfCodePointsFast:s}=zi();function c(e){return e===r.CONNECTING}function l(e){return e===r.OPEN}function u(e){return e===r.CLOSING}function d(e){return e===r.CLOSED}function f(e,t,n=(e,t)=>new Event(e,t),r={}){let i=n(e,r);t.dispatchEvent(i)}function p(e,t,n){e.onMessage(t,n)}function m(e){return e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function h(e){if(e.length===0)return!1;for(let t=0;t<e.length;++t){let n=e.charCodeAt(t);if(n<33||n>126||n===34||n===40||n===41||n===44||n===47||n===58||n===59||n===60||n===61||n===62||n===63||n===64||n===91||n===92||n===93||n===123||n===125)return!1}return!0}function g(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function _(e){return e===i.CLOSE||e===i.PING||e===i.PONG}function v(e){return e===i.CONTINUATION}function y(e){return e===i.TEXT||e===i.BINARY}function b(e){return y(e)||v(e)||_(e)}function x(e){let t={position:0},n=new Map;for(;t.position<e.length;){let[r,i=``]=s(`;`,e,t).split(`=`,2);n.set(o(r,!0,!1),o(i,!1,!0)),t.position++}return n}function S(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}let t=Number.parseInt(e,10);return t>=8&&t<=15}function C(e,t){let n;try{n=new URL(e,t)}catch(e){throw new DOMException(e,`SyntaxError`)}if(n.protocol===`http:`?n.protocol=`ws:`:n.protocol===`https:`&&(n.protocol=`wss:`),n.protocol!==`ws:`&&n.protocol!==`wss:`)throw new DOMException(`expected a ws: or wss: url`,`SyntaxError`);if(n.hash.length||n.href.endsWith(`#`))throw new DOMException(`hash`,`SyntaxError`);return n}function w(e,t){if(e!==null&&e!==1e3&&(e<3e3||e>4999))throw new DOMException(`invalid code`,`InvalidAccessError`);if(t!==null){let e=Buffer.byteLength(t);if(e>123)throw new DOMException(`Reason must be less than 123 bytes; received ${e}`,`SyntaxError`)}}n.exports={isConnecting:c,isEstablished:l,isClosing:u,isClosed:d,fireEvent:f,isValidSubprotocol:h,isValidStatusCode:g,websocketMessageReceived:p,utf8Decode:(()=>{if(typeof process.versions.icu==`string`){let e=new TextDecoder(`utf-8`,{fatal:!0});return e.decode.bind(e)}return function(e){if(a(e))return e.toString(`utf-8`);throw TypeError(`Invalid utf-8 received.`)}})(),isControlFrame:_,isContinuationFrame:v,isTextBinaryFrame:y,isValidOpcode:b,parseExtensions:x,isValidClientWindowBits:S,toArrayBuffer:m,getURLRecord:C,validateCloseCodeAndReason:w}})),uo=n(((e,n)=>{let{runtimeFeatures:r}=Gi(),{maxUnsigned16Bit:i,opcodes:a}=co(),o=8*1024,s=null,c=o,l=r.has(`crypto`)?t(`node:crypto`).randomFillSync:function(e,t,n){for(let t=0;t<e.length;++t)e[t]=Math.random()*255|0;return e};function u(){return c===o&&(c=0,l(s??=Buffer.allocUnsafeSlow(o),0,o)),[s[c++],s[c++],s[c++],s[c++]]}n.exports={WebsocketFrameSend:class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,n=u(),r=t?.byteLength??0,a=r,o=6;r>i?(o+=8,a=127):r>125&&(o+=2,a=126);let s=Buffer.allocUnsafe(r+o);s[0]=s[1]=0,s[0]|=128,s[0]=(s[0]&240)+e,s[o-4]=n[0],s[o-3]=n[1],s[o-2]=n[2],s[o-1]=n[3],s[1]=a,a===126?s.writeUInt16BE(r,2):a===127&&(s[2]=s[3]=0,s.writeUIntBE(r,4,6)),s[1]|=128;for(let e=0;e<r;++e)s[o+e]=t[e]^n[e&3];return s}static createFastTextFrame(e){let t=u(),n=e.length;for(let r=0;r<n;++r)e[r]^=t[r&3];let r=n,o=6;n>i?(o+=8,r=127):n>125&&(o+=2,r=126);let s=Buffer.allocUnsafeSlow(o);return s[0]=128|a.TEXT,s[1]=r|128,s[o-4]=t[0],s[o-3]=t[1],s[o-2]=t[2],s[o-1]=t[3],r===126?s.writeUInt16BE(n,2):r===127&&(s[2]=s[3]=0,s.writeUIntBE(n,4,6)),[s,e]}},generateMask:u}})),fo=n(((e,n)=>{let{uid:r,states:i,sentCloseFrameState:a,emptyBuffer:o,opcodes:s}=co(),{parseExtensions:c,isClosed:l,isClosing:u,isEstablished:d,isConnecting:f,validateCloseCodeAndReason:p}=lo(),{makeRequest:m}=Za(),{fetching:h}=$a(),{Headers:g,getHeadersList:_}=Ya(),{getDecodeSplit:v}=Hi(),{WebsocketFrameSend:y}=uo(),b=t(`node:assert`),{runtimeFeatures:x}=Gi(),S=x.has(`crypto`)?t(`node:crypto`):null,C=!1;function w(e,t,n,i,a){let o=e;o.protocol=e.protocol===`ws:`?`http:`:`https:`;let s=m({urlList:[o],client:n,serviceWorkers:`none`,referrer:`no-referrer`,mode:`websocket`,credentials:`include`,cache:`no-store`,redirect:`error`,useURLCredentials:!0});a.headers&&(s.headersList=_(new g(a.headers)));let l=S.randomBytes(16).toString(`base64`);s.headersList.append(`sec-websocket-key`,l,!0),s.headersList.append(`sec-websocket-version`,`13`,!0);for(let e of t)s.headersList.append(`sec-websocket-protocol`,e,!0);return s.headersList.append(`sec-websocket-extensions`,`permessage-deflate; client_max_window_bits`,!0),h({request:s,useParallelQueue:!0,dispatcher:a.dispatcher,processResponse(e){if(e.type===`error`||e.status!==101){if(e.socket?.session==null){E(i,1002,`Received network error or non-101 status code.`,e.error);return}if(e.status!==200){E(i,1002,`Received network error or non-200 status code.`,e.error);return}}if(C===!1&&e.socket?.session!=null&&(process.emitWarning(`WebSocket over HTTP2 is experimental, and subject to change.`,`ExperimentalWarning`),C=!0),t.length!==0&&!e.headersList.get(`Sec-WebSocket-Protocol`)){E(i,1002,`Server did not respond with sent protocols.`);return}if(e.socket.session==null&&e.headersList.get(`Upgrade`)?.toLowerCase()!==`websocket`){E(i,1002,`Server did not set Upgrade header to "websocket".`);return}if(e.socket.session==null&&e.headersList.get(`Connection`)?.toLowerCase()!==`upgrade`){E(i,1002,`Server did not set Connection header to "upgrade".`);return}if(e.headersList.get(`Sec-WebSocket-Accept`)!==S.hash(`sha1`,l+r,`base64`)){E(i,1002,`Incorrect hash received in Sec-WebSocket-Accept header.`);return}let n=e.headersList.get(`Sec-WebSocket-Extensions`),a;if(n!==null&&(a=c(n),!a.has(`permessage-deflate`))){E(i,1002,`Sec-WebSocket-Extensions header does not match.`);return}let o=e.headersList.get(`Sec-WebSocket-Protocol`);if(o!==null&&!v(`sec-websocket-protocol`,s.headersList).includes(o)){E(i,1002,`Protocol was not set in the opening handshake.`);return}e.socket.on(`data`,i.onSocketData),e.socket.on(`close`,i.onSocketClose),e.socket.on(`error`,i.onSocketError),i.wasEverConnected=!0,i.onConnectionEstablished(e,a)}})}function T(e,t,n,r=!1){if(t??=null,n??=``,r&&p(t,n),!(l(e.readyState)||u(e.readyState)))if(!d(e.readyState))E(e),e.readyState=i.CLOSING;else if(!e.closeState.has(a.SENT)&&!e.closeState.has(a.RECEIVED)){let r=new y;n.length!==0&&t===null&&(t=1e3),b(t===null||Number.isInteger(t)),t===null&&n.length===0?r.frameData=o:t!==null&&n===null?(r.frameData=Buffer.allocUnsafe(2),r.frameData.writeUInt16BE(t,0)):t!==null&&n!==null?(r.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(n)),r.frameData.writeUInt16BE(t,0),r.frameData.write(n,2,`utf-8`)):r.frameData=o,e.socket.write(r.createFrame(s.CLOSE)),e.closeState.add(a.SENT),e.readyState=i.CLOSING}else e.readyState=i.CLOSING}function E(e,t,n,r){d(e.readyState)&&T(e,t,n,!1),e.controller.abort(),f(e.readyState)?e.onSocketClose():e.socket?.destroyed===!1&&e.socket.destroy()}n.exports={establishWebSocketConnection:w,failWebsocketConnection:E,closeWebSocketConnection:T}})),po=n(((e,n)=>{let{createInflateRaw:r,Z_DEFAULT_WINDOWBITS:i}=t(`node:zlib`),{isValidClientWindowBits:a}=lo(),{MessageSizeExceededError:o}=G(),s=Buffer.from([0,0,255,255]),c=Symbol(`kBuffer`),l=Symbol(`kLength`);n.exports={PerMessageDeflate:class{#e;#t={};#n=0;constructor(e,t){this.#t.serverNoContextTakeover=e.has(`server_no_context_takeover`),this.#t.serverMaxWindowBits=e.get(`server_max_window_bits`),this.#n=t.maxPayloadSize}decompress(e,t,n){if(!this.#e){let e=i;if(this.#t.serverMaxWindowBits){if(!a(this.#t.serverMaxWindowBits)){n(Error(`Invalid server_max_window_bits`));return}e=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=r({windowBits:e})}catch(e){n(e);return}this.#e[c]=[],this.#e[l]=0,this.#e.on(`data`,e=>{if(this.#e[l]+=e.length,this.#n>0&&this.#e[l]>this.#n){n(new o),this.#e.removeAllListeners(),this.#e=null;return}this.#e[c].push(e)}),this.#e.on(`error`,e=>{this.#e=null,n(e)})}this.#e.write(e),t&&this.#e.write(s),this.#e.flush(()=>{if(!this.#e)return;let e=Buffer.concat(this.#e[c],this.#e[l]);this.#e[c].length=0,this.#e[l]=0,n(null,e)})}}}})),mo=n(((e,n)=>{let{Writable:r}=t(`node:stream`),i=t(`node:assert`),{parserStates:a,opcodes:o,states:s,emptyBuffer:c,sentCloseFrameState:l}=co(),{isValidStatusCode:u,isValidOpcode:d,websocketMessageReceived:f,utf8Decode:p,isControlFrame:m,isTextBinaryFrame:h,isContinuationFrame:g}=lo(),{failWebsocketConnection:_}=fo(),{WebsocketFrameSend:v}=uo(),{PerMessageDeflate:y}=po(),{MessageSizeExceededError:b}=G();n.exports={ByteParser:class extends r{#e=[];#t=0;#n=0;#r=!1;#i=a.INFO;#a={};#o=[];#s;#c;#l;constructor(e,t,n={}){super(),this.#c=e,this.#s=t??new Map,this.#l=n.maxPayloadSize??0,this.#s.has(`permessage-deflate`)&&this.#s.set(`permessage-deflate`,new y(t,n))}_write(e,t,n){this.#e.push(e),this.#n+=e.length,this.#r=!0,this.run(n)}#u(){return this.#l>0&&!m(this.#a.opcode)&&this.#a.payloadLength>this.#l?(_(this.#c,1009,`Payload size exceeds maximum allowed size`),!1):!0}run(e){for(;this.#r;)if(this.#i===a.INFO){if(this.#n<2)return e();let t=this.consume(2),n=(t[0]&128)!=0,r=t[0]&15,i=(t[1]&128)==128,s=!n&&r!==o.CONTINUATION,c=t[1]&127,l=t[0]&64,u=t[0]&32,f=t[0]&16;if(!d(r))return _(this.#c,1002,`Invalid opcode received`),e();if(i)return _(this.#c,1002,`Frame cannot be masked`),e();if(l!==0&&!this.#s.has(`permessage-deflate`)){_(this.#c,1002,`Expected RSV1 to be clear.`);return}if(u!==0||f!==0){_(this.#c,1002,`RSV1, RSV2, RSV3 must be clear`);return}if(s&&!h(r)){_(this.#c,1002,`Invalid frame type was fragmented.`);return}if(h(r)&&this.#o.length>0){_(this.#c,1002,`Expected continuation frame`);return}if(this.#a.fragmented&&s){_(this.#c,1002,`Fragmented frame exceeded 125 bytes.`);return}if((c>125||s)&&m(r)){_(this.#c,1002,`Control frame either too large or fragmented`);return}if(g(r)&&this.#o.length===0&&!this.#a.compressed){_(this.#c,1002,`Unexpected continuation frame`);return}if(c<=125){if(this.#a.payloadLength=c,this.#i=a.READ_DATA,!this.#u())return}else c===126?this.#i=a.PAYLOADLENGTH_16:c===127&&(this.#i=a.PAYLOADLENGTH_64);h(r)&&(this.#a.binaryType=r,this.#a.compressed=l!==0),this.#a.opcode=r,this.#a.masked=i,this.#a.fin=n,this.#a.fragmented=s}else if(this.#i===a.PAYLOADLENGTH_16){if(this.#n<2)return e();let t=this.consume(2);if(this.#a.payloadLength=t.readUInt16BE(0),this.#i=a.READ_DATA,!this.#u())return}else if(this.#i===a.PAYLOADLENGTH_64){if(this.#n<8)return e();let t=this.consume(8),n=t.readUInt32BE(0),r=t.readUInt32BE(4);if(n!==0||r>2**31-1){_(this.#c,1009,`Received payload length > 2^31 bytes.`);return}if(this.#a.payloadLength=r,this.#i=a.READ_DATA,!this.#u())return}else if(this.#i===a.READ_DATA){if(this.#n<this.#a.payloadLength)return e();let t=this.consume(this.#a.payloadLength);if(m(this.#a.opcode))this.#r=this.parseControlFrame(t),this.#i=a.INFO;else if(!this.#a.compressed)this.writeFragments(t),!this.#a.fragmented&&this.#a.fin&&f(this.#c,this.#a.binaryType,this.consumeFragments()),this.#i=a.INFO;else{this.#s.get(`permessage-deflate`).decompress(t,this.#a.fin,(t,n)=>{if(t){let e=t instanceof b?1009:1007;_(this.#c,e,t.message);return}if(this.writeFragments(n),this.#l>0&&this.#t>this.#l){_(this.#c,1009,new b().message);return}if(!this.#a.fin){this.#i=a.INFO,this.#r=!0,this.run(e);return}f(this.#c,this.#a.binaryType,this.consumeFragments()),this.#r=!0,this.#i=a.INFO,this.run(e)},this.#t),this.#r=!1;break}}}consume(e){if(e>this.#n)throw Error(`Called consume() before buffers satiated.`);if(e===0)return c;this.#n-=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 t=0,n=Buffer.allocUnsafeSlow(e);for(;t!==e;){let r=this.#e[0],i=r.length;if(i+t===e){n.set(this.#e.shift(),t);break}else if(i+t>e){n.set(r.subarray(0,e-t),t),this.#e[0]=r.subarray(e-t);break}else n.set(this.#e.shift(),t),t+=i}return n}}writeFragments(e){this.#t+=e.length,this.#o.push(e)}consumeFragments(){let e=this.#o;if(e.length===1)return this.#t=0,e.shift();let t=0,n=Buffer.allocUnsafeSlow(this.#t);for(let r=0;r<e.length;++r){let i=e[r];n.set(i,t),t+=i.length}return this.#o=[],this.#t=0,n}parseCloseBody(e){i(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!u(t))return{code:1002,reason:`Invalid status code`,error:!0};let n=e.subarray(2);n[0]===239&&n[1]===187&&n[2]===191&&(n=n.subarray(3));try{n=p(n)}catch{return{code:1007,reason:`Invalid UTF-8`,error:!0}}return{code:t,reason:n,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:n}=this.#a;if(t===o.CLOSE){if(n===1)return _(this.#c,1002,`Received close frame with a 1-byte body.`),!1;if(this.#a.closeInfo=this.parseCloseBody(e),this.#a.closeInfo.error){let{code:e,reason:t}=this.#a.closeInfo;return _(this.#c,e,t),!1}if(!this.#c.closeState.has(l.SENT)&&!this.#c.closeState.has(l.RECEIVED)){let e=c;this.#a.closeInfo.code&&(e=Buffer.allocUnsafe(2),e.writeUInt16BE(this.#a.closeInfo.code,0));let t=new v(e);this.#c.socket.write(t.createFrame(o.CLOSE)),this.#c.closeState.add(l.SENT)}return this.#c.readyState=s.CLOSING,this.#c.closeState.add(l.RECEIVED),!1}else if(t===o.PING){if(!this.#c.closeState.has(l.RECEIVED)){let t=new v(e);this.#c.socket.write(t.createFrame(o.PONG)),this.#c.onPing(e)}}else t===o.PONG&&this.#c.onPong(e);return!0}get closingInfo(){return this.#a.closeInfo}}}})),ho=n(((e,t)=>{let{WebsocketFrameSend:n}=uo(),{opcodes:r,sendHints:i}=co(),a=Xi();var o=class{#e=new a;#t=!1;#n;constructor(e){this.#n=e}add(e,t,r){if(r!==i.blob){if(this.#t){let n={promise:null,callback:t,frame:s(e,r)};this.#e.push(n)}else if(r===i.text){let{0:r,1:i}=n.createFastTextFrame(e);this.#n.cork(),this.#n.write(r),this.#n.write(i,t),this.#n.uncork()}else this.#n.write(s(e,r),t);return}let a={promise:e.arrayBuffer().then(e=>{a.promise=null,a.frame=s(e,r)}),callback:t,frame:null};this.#e.push(a),this.#t||this.#r()}async#r(){this.#t=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#n.write(t.frame,t.callback),t.callback=t.frame=null}this.#t=!1}};function s(e,t){return new n(c(e,t)).createFrame(t===i.text?r.TEXT:r.BINARY)}function c(e,t){switch(t){case i.text:case i.typedArray:return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);case i.arrayBuffer:case i.blob:return new Uint8Array(e)}}t.exports={SendQueue:o}})),go=n(((e,n)=>{let{isArrayBuffer:r}=t(`node:util/types`),{webidl:i}=Vi(),{URLSerializer:a}=Bi(),{environmentSettingsObject:o}=Hi(),{staticPropertyDescriptors:s,states:c,sentCloseFrameState:l,sendHints:u,opcodes:d}=co(),{isConnecting:f,isEstablished:p,isClosing:m,isClosed:h,isValidSubprotocol:g,fireEvent:_,utf8Decode:v,toArrayBuffer:y,getURLRecord:b}=lo(),{establishWebSocketConnection:x,closeWebSocketConnection:S,failWebsocketConnection:C}=fo(),{ByteParser:w}=mo(),{kEnumerableProperty:T}=K(),{getGlobalDispatcher:E}=ja(),{ErrorEvent:D,CloseEvent:O,createFastMessageEvent:k}=so(),{SendQueue:A}=ho(),{WebsocketFrameSend:j}=uo(),{channels:M}=Di();function N(e){return typeof e?.address==`function`?e.address():typeof e?.session?.socket?.address==`function`?e.session.socket.address():null}var P=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#n=``;#r=``;#i;#a={onConnectionEstablished:(e,t)=>this.#l(e,t),onMessage:(e,t)=>this.#u(e,t),onParserError:e=>C(this.#a,null,e.message),onParserDrain:()=>this.#d(),onSocketData:e=>{this.#c.write(e)||this.#a.socket.pause()},onSocketError:e=>{this.#a.readyState=c.CLOSING,M.socketError.hasSubscribers&&M.socketError.publish(e),this.#a.socket.destroy()},onSocketClose:()=>this.#f(),onPing:e=>{M.ping.hasSubscribers&&M.ping.publish({payload:e,websocket:this})},onPong:e=>{M.pong.hasSubscribers&&M.pong.publish({payload:e,websocket:this})},readyState:c.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#o;#s;#c;constructor(t,n=[]){super(),i.util.markAsUncloneable(this);let r=`WebSocket constructor`;i.argumentLengthCheck(arguments,1,r);let a=i.converters[`DOMString or sequence<DOMString> or WebSocketInit`](n,r,`options`);t=i.converters.USVString(t),n=a.protocols;let s=o.settingsObject.baseUrl,c=b(t,s);if(typeof n==`string`&&(n=[n]),n.length!==new Set(n.map(e=>e.toLowerCase())).size||n.length>0&&!n.every(e=>g(e)))throw new DOMException(`Invalid Sec-WebSocket-Protocol value`,`SyntaxError`);this.#o=new URL(c.href);let l=o.settingsObject;this.#a.controller=x(c,n,l,this.#a,a),this.#a.readyState=e.CONNECTING,this.#s=`blob`}close(t=void 0,n=void 0){i.brandCheck(this,e),t!==void 0&&(t=i.converters[`unsigned short`](t,`WebSocket.close`,`code`,i.attributes.Clamp)),n!==void 0&&(n=i.converters.USVString(n)),t??=null,n??=``,S(this.#a,t,n,!0)}send(t){i.brandCheck(this,e);let n=`WebSocket.send`;if(i.argumentLengthCheck(arguments,1,n),t=i.converters.WebSocketSendData(t,n,`data`),f(this.#a.readyState))throw new DOMException(`Sent before connected.`,`InvalidStateError`);if(!(!p(this.#a.readyState)||m(this.#a.readyState)))if(typeof t==`string`){let e=Buffer.from(t);this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},u.text)}else r(t)?(this.#t+=t.byteLength,this.#i.add(t,()=>{this.#t-=t.byteLength},u.arrayBuffer)):ArrayBuffer.isView(t)?(this.#t+=t.byteLength,this.#i.add(t,()=>{this.#t-=t.byteLength},u.typedArray)):i.is.Blob(t)&&(this.#t+=t.size,this.#i.add(t,()=>{this.#t-=t.size},u.blob))}get readyState(){return i.brandCheck(this,e),this.#a.readyState}get bufferedAmount(){return i.brandCheck(this,e),this.#t}get url(){return i.brandCheck(this,e),a(this.#o)}get extensions(){return i.brandCheck(this,e),this.#r}get protocol(){return i.brandCheck(this,e),this.#n}get onopen(){return i.brandCheck(this,e),this.#e.open}set onopen(t){i.brandCheck(this,e),this.#e.open&&this.removeEventListener(`open`,this.#e.open);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.open=null:(this.addEventListener(`open`,n),this.#e.open=t)}get onerror(){return i.brandCheck(this,e),this.#e.error}set onerror(t){i.brandCheck(this,e),this.#e.error&&this.removeEventListener(`error`,this.#e.error);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.error=null:(this.addEventListener(`error`,n),this.#e.error=t)}get onclose(){return i.brandCheck(this,e),this.#e.close}set onclose(t){i.brandCheck(this,e),this.#e.close&&this.removeEventListener(`close`,this.#e.close);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.close=null:(this.addEventListener(`close`,n),this.#e.close=t)}get onmessage(){return i.brandCheck(this,e),this.#e.message}set onmessage(t){i.brandCheck(this,e),this.#e.message&&this.removeEventListener(`message`,this.#e.message);let n=i.converters.EventHandlerNonNull(t);n===null?this.#e.message=null:(this.addEventListener(`message`,n),this.#e.message=t)}get binaryType(){return i.brandCheck(this,e),this.#s}set binaryType(t){i.brandCheck(this,e),t!==`blob`&&t!==`arraybuffer`?this.#s=`blob`:this.#s=t}#l(e,t){this.#a.socket=e.socket;let n=this.#a.controller.dispatcher?.webSocketOptions?.maxPayloadSize,r=new w(this.#a,t,{maxPayloadSize:n});r.on(`drain`,()=>this.#a.onParserDrain()),r.on(`error`,e=>this.#a.onParserError(e)),this.#c=r,this.#i=new A(e.socket),this.#a.readyState=c.OPEN;let i=e.headersList.get(`sec-websocket-extensions`);i!==null&&(this.#r=i);let a=e.headersList.get(`sec-websocket-protocol`);if(a!==null&&(this.#n=a),_(`open`,this),M.open.hasSubscribers){let t=e.headersList.entries;M.open.publish({address:N(e.socket),protocol:this.#n,extensions:this.#r,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:t}})}}#u(e,t){if(this.#a.readyState!==c.OPEN)return;let n;if(e===d.TEXT)try{n=v(t)}catch{C(this.#a,1007,`Received invalid UTF-8 in text frame.`);return}else e===d.BINARY&&(n=this.#s===`blob`?new Blob([t]):y(t));_(`message`,this,k,{origin:this.#o.origin,data:n})}#d(){this.#a.socket.resume()}#f(){let e=this.#a.closeState.has(l.SENT)&&this.#a.closeState.has(l.RECEIVED),t=1005,n=``,r=this.#c?.closingInfo;r&&!r.error&&(t=r.code??1005,n=r.reason),this.#a.readyState=c.CLOSED,this.#a.closeState.has(l.RECEIVED)||(t=1006,_(`error`,this,(e,t)=>new D(e,t),{error:TypeError(n)})),_(`close`,this,(e,t)=>new O(e,t),{wasClean:e,code:t,reason:n}),M.close.hasSubscribers&&M.close.publish({websocket:this,code:t,reason:n})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw TypeError(`A PING frame cannot have a body larger than 125 bytes.`)}else if(t!==void 0)throw TypeError(`Expected buffer payload`);let n=e.#a.readyState;if(p(n)&&!m(n)&&!h(n)){let n=new j(t);e.#a.socket.write(n.createFrame(d.PING))}}};let{ping:F}=P;Reflect.deleteProperty(P,`ping`),P.CONNECTING=P.prototype.CONNECTING=c.CONNECTING,P.OPEN=P.prototype.OPEN=c.OPEN,P.CLOSING=P.prototype.CLOSING=c.CLOSING,P.CLOSED=P.prototype.CLOSED=c.CLOSED,Object.defineProperties(P.prototype,{CONNECTING:s,OPEN:s,CLOSING:s,CLOSED:s,url:T,readyState:T,bufferedAmount:T,onopen:T,onerror:T,onclose:T,close:T,onmessage:T,binaryType:T,send:T,extensions:T,protocol:T,[Symbol.toStringTag]:{value:`WebSocket`,writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(P,{CONNECTING:s,OPEN:s,CLOSING:s,CLOSED:s}),i.converters[`sequence<DOMString>`]=i.sequenceConverter(i.converters.DOMString),i.converters[`DOMString or sequence<DOMString>`]=function(e,t,n){return i.util.Type(e)===i.util.Types.OBJECT&&Symbol.iterator in e?i.converters[`sequence<DOMString>`](e):i.converters.DOMString(e,t,n)},i.converters.WebSocketInit=i.dictionaryConverter([{key:`protocols`,converter:i.converters[`DOMString or sequence<DOMString>`],defaultValue:()=>[]},{key:`dispatcher`,converter:i.converters.any,defaultValue:()=>E()},{key:`headers`,converter:i.nullableConverter(i.converters.HeadersInit)}]),i.converters[`DOMString or sequence<DOMString> or WebSocketInit`]=function(e){return i.util.Type(e)===i.util.Types.OBJECT&&!(Symbol.iterator in e)?i.converters.WebSocketInit(e):{protocols:i.converters[`DOMString or sequence<DOMString>`](e)}},i.converters.WebSocketSendData=function(e){return i.util.Type(e)===i.util.Types.OBJECT&&(i.is.Blob(e)||i.is.BufferSource(e))?e:i.converters.USVString(e)},n.exports={WebSocket:P,ping:F}})),_o=n(((e,t)=>{let{webidl:n}=Vi(),{validateCloseCodeAndReason:r}=lo(),{kConstruct:i}=W(),{kEnumerableProperty:a}=K();function o(){class e extends DOMException{get reason(){return``}}return new e().reason===void 0?new Proxy(DOMException,{construct(e,t,n){let r=Reflect.construct(e,t,e);return Object.setPrototypeOf(r,n.prototype),r}}):DOMException}var s=class e extends o(){#e;#t;constructor(e=``,t=void 0){if(e=n.converters.DOMString(e,`WebSocketError`,`message`),super(e,`WebSocketError`),t===i)return;t!==null&&(t=n.converters.WebSocketCloseInfo(t));let a=t.closeCode??null,o=t.reason??``;r(a,o),o.length!==0&&a===null&&(a=1e3),this.#e=a,this.#t=o}get closeCode(){return this.#e}get reason(){return this.#t}static createUnvalidatedWebSocketError(t,n,r){let a=new e(t,i);return a.#e=n,a.#t=r,a}};let{createUnvalidatedWebSocketError:c}=s;delete s.createUnvalidatedWebSocketError,Object.defineProperties(s.prototype,{closeCode:a,reason:a,[Symbol.toStringTag]:{value:`WebSocketError`,writable:!1,enumerable:!1,configurable:!0}}),n.is.WebSocketError=n.util.MakeTypeAssertion(s),t.exports={WebSocketError:s,createUnvalidatedWebSocketError:c}})),vo=n(((e,t)=>{let{environmentSettingsObject:n}=Hi(),{states:r,opcodes:i,sentCloseFrameState:a}=co(),{webidl:o}=Vi(),{getURLRecord:s,isValidSubprotocol:c,isEstablished:l,utf8Decode:u}=lo(),{establishWebSocketConnection:d,failWebsocketConnection:f,closeWebSocketConnection:p}=fo(),{channels:m}=Di(),{WebsocketFrameSend:h}=uo(),{ByteParser:g}=mo(),{WebSocketError:_,createUnvalidatedWebSocketError:v}=_o(),{kEnumerableProperty:y}=K(),{utf8DecodeBytes:b}=Ri(),x=!1;var S=class{#e;#t;#n;#r;#i;#a;#o=!1;#s={onConnectionEstablished:(e,t)=>this.#u(e,t),onMessage:(e,t)=>this.#d(e,t),onParserError:e=>f(this.#s,null,e.message),onParserDrain:()=>this.#s.socket.resume(),onSocketData:e=>{this.#c.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=r.CLOSING,m.socketError.hasSubscribers&&m.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#f(),onPing:()=>{},onPong:()=>{},readyState:r.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#c;constructor(e,t=void 0){x||=(process.emitWarning(`WebSocketStream is experimental! Expect it to change at any time.`,{code:`UNDICI-WSS`}),!0),o.argumentLengthCheck(arguments,1,`WebSocket`),e=o.converters.USVString(e),t!==null&&(t=o.converters.WebSocketStreamOptions(t));let i=n.settingsObject.baseUrl,a=s(e,i),u=t.protocols;if(u.length!==new Set(u.map(e=>e.toLowerCase())).size||u.length>0&&!u.every(e=>c(e)))throw new DOMException(`Invalid Sec-WebSocket-Protocol value`,`SyntaxError`);if(this.#e=a.toString(),this.#t=Promise.withResolvers(),this.#n=Promise.withResolvers(),t.signal!=null){let e=t.signal;if(e.aborted){this.#t.reject(e.reason),this.#n.reject(e.reason);return}e.addEventListener(`abort`,()=>{l(this.#s.readyState)||(f(this.#s),this.#s.readyState=r.CLOSING,this.#t.reject(e.reason),this.#n.reject(e.reason),this.#o=!0)},{once:!0})}let p=n.settingsObject;this.#s.controller=d(a,u,p,this.#s,t)}get url(){return this.#e.toString()}get opened(){return this.#t.promise}get closed(){return this.#n.promise}close(e=void 0){e!==null&&(e=o.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,n=e.reason;p(this.#s,t,n,!0)}#l(e){e=o.converters.WebSocketStreamWrite(e);let t=Promise.withResolvers(),n=null,r=null;if(o.is.BufferSource(e))n=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),r=i.BINARY;else{let a;try{a=o.converters.DOMString(e)}catch(e){return t.reject(e),t.promise}n=new TextEncoder().encode(a),r=i.TEXT}if(!this.#s.closeState.has(a.SENT)&&!this.#s.closeState.has(a.RECEIVED)){let e=new h(n);this.#s.socket.write(e.createFrame(r),()=>{t.resolve(void 0)})}return t.promise}#u(e,t){this.#s.socket=e.socket;let n=new g(this.#s,t);n.on(`drain`,()=>this.#s.onParserDrain()),n.on(`error`,e=>this.#s.onParserError(e)),this.#c=n,this.#s.readyState=r.OPEN;let i=t??``,a=e.headersList.get(`sec-websocket-protocol`)??``,o=new ReadableStream({start:e=>{this.#i=e},cancel:e=>this.#m(e)}),s=new WritableStream({write:e=>this.#l(e),close:()=>p(this.#s,null,null),abort:e=>this.#p(e)});this.#r=o,this.#a=s,this.#t.resolve({extensions:i,protocol:a,readable:o,writable:s})}#d(e,t){if(this.#s.readyState!==r.OPEN)return;let n;if(e===i.TEXT)try{n=u(t)}catch{f(this.#s,`Received invalid UTF-8 in text frame.`);return}else e===i.BINARY&&(n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#i.enqueue(n)}#f(){let e=this.#s.closeState.has(a.SENT)&&this.#s.closeState.has(a.RECEIVED);if(this.#s.readyState=r.CLOSED,this.#o)return;this.#s.wasEverConnected||this.#t.reject(new _(`Socket never opened`));let t=this.#c?.closingInfo,n=t?.code??1005;!this.#s.closeState.has(a.SENT)&&!this.#s.closeState.has(a.RECEIVED)&&(n=1006);let i=t?.reason==null?``:b(Buffer.from(t.reason));if(e)this.#i.close(),this.#a.locked||this.#a.abort(new DOMException(`A closed WebSocketStream cannot be written to`,`InvalidStateError`)),this.#n.resolve({closeCode:n,reason:i});else{let e=v(`unclean close`,n,i);this.#i?.error(e),this.#a?.abort(e),this.#n.reject(e)}}#p(e){let t=null,n=``;o.is.WebSocketError(e)&&(t=e.closeCode,n=e.reason),p(this.#s,t,n)}#m(e){this.#p(e)}};Object.defineProperties(S.prototype,{url:y,opened:y,closed:y,close:y,[Symbol.toStringTag]:{value:`WebSocketStream`,writable:!1,enumerable:!1,configurable:!0}}),o.converters.WebSocketStreamOptions=o.dictionaryConverter([{key:`protocols`,converter:o.sequenceConverter(o.converters.USVString),defaultValue:()=>[]},{key:`signal`,converter:o.nullableConverter(o.converters.AbortSignal),defaultValue:()=>null}]),o.converters.WebSocketCloseInfo=o.dictionaryConverter([{key:`closeCode`,converter:e=>o.converters[`unsigned short`](e,o.attributes.EnforceRange)},{key:`reason`,converter:o.converters.USVString,defaultValue:()=>``}]),o.converters.WebSocketStreamWrite=function(e){return typeof e==`string`?o.converters.USVString(e):o.converters.BufferSource(e)},t.exports={WebSocketStream:S}})),yo=n(((e,t)=>{function n(e){return e.indexOf(`\0`)===-1}function r(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(e.charCodeAt(t)<48||e.charCodeAt(t)>57)return!1;return!0}t.exports={isValidLastEventId:n,isASCIINumber:r}})),bo=n(((e,n)=>{let{Transform:r}=t(`node:stream`),{isASCIINumber:i,isValidLastEventId:a}=yo(),o=[239,187,191];n.exports={EventSourceStream:class extends r{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,n){if(e.length===0){n();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]===o[0]){n();return}this.checkBOM=!1,n();return;case 2:if(this.buffer[0]===o[0]&&this.buffer[1]===o[1]){n();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===o[0]&&this.buffer[1]===o[1]&&this.buffer[2]===o[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,n();return}this.checkBOM=!1;break;default:this.buffer[0]===o[0]&&this.buffer[1]===o[1]&&this.buffer[2]===o[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]===10){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===10||this.buffer[this.pos]===13){this.buffer[this.pos]===13&&(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]===10||this.buffer[this.pos]===13){this.buffer[this.pos]===13&&(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++}n()}parseLine(e,t){if(e.length===0)return;let n=e.indexOf(58);if(n===0)return;let r=``,o=``;if(n!==-1){r=e.subarray(0,n).toString(`utf8`);let t=n+1;e[t]===32&&++t,o=e.subarray(t).toString(`utf8`)}else r=e.toString(`utf8`),o=``;switch(r){case`data`:t[r]===void 0?t[r]=o:t[r]+=`\n${o}`;break;case`retry`:i(o)&&(t[r]=o);break;case`id`:a(o)&&(t[r]=o);break;case`event`:o.length>0&&(t[r]=o);break}}processEvent(e){e.retry&&i(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id!==void 0&&a(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}}}}})),xo=n(((e,n)=>{let{pipeline:r}=t(`node:stream`),{fetching:i}=$a(),{makeRequest:a}=Za(),{webidl:o}=Vi(),{EventSourceStream:s}=bo(),{parseMIMEType:c}=Bi(),{createFastMessageEvent:l}=so(),{isNetworkError:u}=Xa(),{kEnumerableProperty:d}=K(),{environmentSettingsObject:f}=Hi(),p=!1,m=3e3;var h=class e extends EventTarget{#e={open:null,error:null,message:null};#t;#n=!1;#r=0;#i=null;#a=null;#o;#s;constructor(e,t={}){super(),o.util.markAsUncloneable(this);let n=`EventSource constructor`;o.argumentLengthCheck(arguments,1,n),p||(p=!0,process.emitWarning(`EventSource is experimental, expect them to change at any time.`,{code:`UNDICI-ES`})),e=o.converters.USVString(e),t=o.converters.EventSourceInitDict(t,n,`eventSourceInitDict`),this.#o=t.node.dispatcher||t.dispatcher,this.#s={lastEventId:``,reconnectionTime:t.node.reconnectionTime};let r=f,i;try{i=new URL(e,r.settingsObject.baseUrl),this.#s.origin=i.origin}catch(e){throw new DOMException(e,`SyntaxError`)}this.#t=i.href;let s=`anonymous`;t.withCredentials===!0&&(s=`use-credentials`,this.#n=!0);let c={redirect:`follow`,keepalive:!0,mode:`cors`,credentials:s===`anonymous`?`same-origin`:`omit`,referrer:`no-referrer`};c.client=f.settingsObject,c.headersList=[[`accept`,{name:`accept`,value:`text/event-stream`}]],c.cache=`no-store`,c.initiator=`other`,c.urlList=[new URL(this.#t)],this.#i=a(c),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===2)return;this.#r=0;let e={request:this.#i,dispatcher:this.#o};e.processResponseEndOfBody=e=>{if(!u(e))return this.#l()},e.processResponse=e=>{if(u(e))if(e.aborted){this.close(),this.dispatchEvent(new Event(`error`));return}else{this.#l();return}let t=e.headersList.get(`content-type`,!0),n=t===null?`failure`:c(t),i=n!==`failure`&&n.essence===`text/event-stream`;if(e.status!==200||i===!1){this.close(),this.dispatchEvent(new Event(`error`));return}this.#r=1,this.dispatchEvent(new Event(`open`)),this.#s.origin=e.urlList[e.urlList.length-1].origin;let a=new s({eventSourceSettings:this.#s,push:e=>{this.dispatchEvent(l(e.type,e.options))}});r(e.body.stream,a,e=>{e?.aborted===!1&&(this.close(),this.dispatchEvent(new Event(`error`)))})},this.#a=i(e)}#l(){this.#r!==2&&(this.#r=0,this.dispatchEvent(new Event(`error`)),setTimeout(()=>{this.#r===0&&(this.#s.lastEventId.length&&this.#i.headersList.set(`last-event-id`,this.#s.lastEventId,!0),this.#c())},this.#s.reconnectionTime)?.unref())}close(){o.brandCheck(this,e),this.#r!==2&&(this.#r=2,this.#a.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener(`open`,this.#e.open);let t=o.converters.EventHandlerNonNull(e);t===null?this.#e.open=null:(this.addEventListener(`open`,t),this.#e.open=e)}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener(`message`,this.#e.message);let t=o.converters.EventHandlerNonNull(e);t===null?this.#e.message=null:(this.addEventListener(`message`,t),this.#e.message=e)}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener(`error`,this.#e.error);let t=o.converters.EventHandlerNonNull(e);t===null?this.#e.error=null:(this.addEventListener(`error`,t),this.#e.error=e)}};let g={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:0,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:1,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:2,writable:!1}};Object.defineProperties(h,g),Object.defineProperties(h.prototype,g),Object.defineProperties(h.prototype,{close:d,onerror:d,onmessage:d,onopen:d,readyState:d,url:d,withCredentials:d}),o.converters.EventSourceInitDict=o.dictionaryConverter([{key:`withCredentials`,converter:o.converters.boolean,defaultValue:()=>!1},{key:`dispatcher`,converter:o.converters.any},{key:`node`,converter:o.dictionaryConverter([{key:`reconnectionTime`,converter:o.converters[`unsigned long`],defaultValue:()=>m},{key:`dispatcher`,converter:o.converters.any}]),defaultValue:()=>({})}]),n.exports={EventSource:h,defaultReconnectionTime:m}})),So=n(((e,t)=>{let n=Yi(),r=ki(),i=Qi(),a=$i(),o=ea(),s=ta(),c=na(),l=oa(),u=aa(),d=sa(),f=la(),p=ua(),m=G(),h=K(),{InvalidArgumentError:g}=m,_=va(),v=ji(),y=Ca(),{MockCallHistory:b,MockCallHistoryLog:x}=wa(),S=Da(),C=Ta(),w=Aa(),T=ya(),E=ca(),{getGlobalDispatcher:D,setGlobalDispatcher:O}=ja(),k=Ma(),A=Na();Object.assign(r.prototype,_),t.exports.Dispatcher=r,t.exports.Client=n,t.exports.Pool=i,t.exports.BalancedPool=a,t.exports.RoundRobinPool=o,t.exports.Agent=s,t.exports.Dispatcher1Wrapper=c,t.exports.ProxyAgent=l,t.exports.Socks5ProxyAgent=u,t.exports.EnvHttpProxyAgent=d,t.exports.RetryAgent=f,t.exports.H2CClient=p,t.exports.RetryHandler=E,t.exports.DecoratorHandler=k,t.exports.RedirectHandler=A,t.exports.interceptors={redirect:Pa(),responseError:Fa(),retry:Ia(),dump:La(),dns:Ra(),cache:Wa(),decompress:Ga(),deduplicate:qa()},t.exports.cacheStores={MemoryCacheStore:Ha()};let j=Ja();t.exports.cacheStores.SqliteCacheStore=j,t.exports.buildConnector=v,t.exports.errors=m,t.exports.util={parseHeaders:h.parseHeaders,headerNameToString:h.headerNameToString};function M(e){return(t,n,r)=>{if(typeof n==`function`&&(r=n,n=null),!t||typeof t!=`string`&&typeof t!=`object`&&!(t instanceof URL))throw new g(`invalid url`);if(n!=null&&typeof n!=`object`)throw new g(`invalid opts`);if(n&&n.path!=null){if(typeof n.path!=`string`)throw new g(`invalid opts.path`);let e=n.path;n.path.startsWith(`/`)||(e=`/${e}`),t=new URL(h.parseOrigin(t).origin+e)}else n||=typeof t==`object`?t:{},t=h.parseURL(t);let{agent:i,dispatcher:a=D(),...o}=n;if(i)throw new g(`unsupported opts.agent. Did you mean opts.client?`);return e.call(a,{...o,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:n.method||(n.body?`PUT`:`GET`)},r)}}t.exports.setGlobalDispatcher=O,t.exports.getGlobalDispatcher=D;let N=$a().fetch,P=typeof __filename<`u`?__filename:void 0;function F(e,t){if(!e||typeof e!=`object`)return;let n=typeof e.stack==`string`?e.stack:``,r=t.replace(/\\/g,`/`);if(n&&(n.includes(t)||n.includes(r)))return;let i={};if(Error.captureStackTrace(i,F),!i.stack)return;let a=i.stack.split(`
|
|
212
|
+
`).slice(1).join(`
|
|
213
|
+
`);e.stack=n?`${n}\n${a}`:i.stack}t.exports.fetch=function(e,n=void 0){return N(e,n).catch(e=>{throw P?F(e,P):e&&typeof e==`object`&&Error.captureStackTrace(e,t.exports.fetch),e})},t.exports.Headers=Ya().Headers,t.exports.Response=Xa().Response,t.exports.Request=Za().Request,t.exports.FormData=Ui().FormData;let{setGlobalOrigin:I,getGlobalOrigin:ee}=Li();t.exports.setGlobalOrigin=I,t.exports.getGlobalOrigin=ee;let{CacheStorage:L}=no(),{kConstruct:te}=W();t.exports.caches=new L(te);let{deleteCookie:R,getCookies:ne,getSetCookies:re,setCookie:z,parseCookie:ie}=oo();t.exports.deleteCookie=R,t.exports.getCookies=ne,t.exports.getSetCookies=re,t.exports.setCookie=z,t.exports.parseCookie=ie;let{parseMIMEType:ae,serializeAMimeType:B}=Bi();t.exports.parseMIMEType=ae,t.exports.serializeAMimeType=B;let{CloseEvent:V,ErrorEvent:oe,MessageEvent:se}=so(),{WebSocket:H,ping:ce}=go();t.exports.WebSocket=H,t.exports.CloseEvent=V,t.exports.ErrorEvent=oe,t.exports.MessageEvent=se,t.exports.ping=ce,t.exports.WebSocketStream=vo().WebSocketStream,t.exports.WebSocketError=_o().WebSocketError,t.exports.request=M(_.request),t.exports.stream=M(_.stream),t.exports.pipeline=M(_.pipeline),t.exports.connect=M(_.connect),t.exports.upgrade=M(_.upgrade),t.exports.MockClient=y,t.exports.MockCallHistory=b,t.exports.MockCallHistoryLog=x,t.exports.MockPool=C,t.exports.MockAgent=S,t.exports.SnapshotAgent=w,t.exports.mockErrors=T;let{EventSource:le}=xo();t.exports.EventSource=le;function ue(){globalThis.fetch=t.exports.fetch,globalThis.Headers=t.exports.Headers,globalThis.Response=t.exports.Response,globalThis.Request=t.exports.Request,globalThis.FormData=t.exports.FormData,globalThis.WebSocket=t.exports.WebSocket,globalThis.CloseEvent=t.exports.CloseEvent,globalThis.ErrorEvent=t.exports.ErrorEvent,globalThis.MessageEvent=t.exports.MessageEvent,globalThis.EventSource=t.exports.EventSource}t.exports.install=ue})),Co=So();let wo=!1;function To(e){let t=e?.constructor?.name;return typeof t!=`string`||t.length===0?`unsupported`:t.includes(`EnvHttpProxyAgent`)?`env-proxy`:t.includes(`ProxyAgent`)?`unsupported`:t.includes(`Agent`)?`agent`:`unsupported`}function Eo(){let e;try{e=(0,Co.getGlobalDispatcher)()}catch{return null}let t=To(e);return t===`unsupported`?null:t}function Do(){if(!ri(`https`))return;if(wo){if(Eo()===`env-proxy`)return;wo=!1}let e=Eo();if(e!==null){if(e===`env-proxy`){wo=!0;return}try{(0,Co.setGlobalDispatcher)(new Co.EnvHttpProxyAgent),wo=!0}catch{}}}const Oo=new Set([`reasoning_content`,`reasoning`,`reasoning_details`,`reasoning_text`]);function ko(e){let t=e.slice(0,65536);return/"id"\s*:\s*"rs_/.test(t)&&/"type"\s*:\s*"reasoning(?:[."])/.test(t)}function Ao(e){if(!e)return!1;if(typeof e==`string`){if(Oo.has(e))return!0;let t=e.trim();if(!t.startsWith(`{`)||!t.endsWith(`}`))return!1;if(t.length>2048)return ko(t);try{return Ao(JSON.parse(t))}catch{return!1}}if(typeof e!=`object`)return!1;let t=e,n=typeof t.id==`string`?t.id:``,r=typeof t.type==`string`?t.type:``;return n.startsWith(`rs_`)&&(r===`reasoning`||r.startsWith(`reasoning.`))}function jo(e){if(lr(e).trim()||!Array.isArray(e.content))return!1;let t=0;for(let n of e.content){if(t+=1,t>50)break;if(!n||typeof n!=`object`)continue;let e=n;if(e.type===`thinking`&&typeof e.thinking==`string`&&Ao(e.thinkingSignature))return!0}return!1}function Mo(e){let t=e.message.stopReason,n=e.message.errorMessage?.trim();if(t===`error`||t===`aborted`)throw Error(n?`Image model failed (${e.provider}/${e.model}): ${n}`:`Image model failed (${e.provider}/${e.model})`);if(n)throw Error(`Image model failed (${e.provider}/${e.model}): ${n}`);let r=lr(e.message);if(r.trim())return r.trim();throw Error(`Image model returned no text (${e.provider}/${e.model}).`)}function No(e){return e===`minimax`||e===`minimax-portal`}function Po(e,t){return No(e)&&t.trim()===`MiniMax-VL-01`}function Fo(e){let t=e.env??process.env,n=e.apiHost?.trim()||t.MINIMAX_API_HOST?.trim()||e.modelBaseUrl?.trim()||`https://api.minimax.io`;try{return new URL(n).origin}catch{}try{return new URL(`https://${n}`).origin}catch{return`https://api.minimax.io`}}function Io(e,t){let n=e[t];return typeof n==`string`?n:``}async function Lo(e){let t=Ce(e.apiKey);if(!t)throw Error(`MiniMax VLM: apiKey required`);let n=e.prompt.trim();if(!n)throw Error(`MiniMax VLM: prompt required`);let r=e.imageDataUrl.trim();if(!r)throw Error(`MiniMax VLM: imageDataUrl required`);if(!/^data:image\/(png|jpeg|webp);base64,/i.test(r))throw Error(`MiniMax VLM: imageDataUrl must be a base64 data:image/(png|jpeg|webp) URL`);let i=Fo({apiHost:e.apiHost,modelBaseUrl:e.modelBaseUrl}),a=new URL(`/v1/coding_plan/vlm`,i).toString();Do();let o=await fetch(a,{method:`POST`,headers:{Authorization:`Bearer ${t}`,"Content-Type":`application/json`,"MM-API-Source":`OpenClaw`},signal:AbortSignal.timeout(6e4),body:JSON.stringify({prompt:n,image_url:r})}),c=o.headers.get(`Trace-Id`)??``;if(!o.ok){let e=await o.text().catch(()=>``),t=c?` Trace-Id: ${c}`:``;throw Error(`MiniMax VLM request failed (${o.status} ${o.statusText}).${t}${e?` Body: ${e.slice(0,400)}`:``}`)}let l=await o.json().catch(()=>null);if(!s(l)){let e=c?` Trace-Id: ${c}`:``;throw Error(`MiniMax VLM response was not JSON.${e}`)}let u=s(l.base_resp)?l.base_resp:{},d=typeof u.status_code==`number`?u.status_code:-1;if(d!==0){let e=(u.status_msg??``).trim(),t=c?` Trace-Id: ${c}`:``;throw Error(`MiniMax VLM API error (${d})${e?`: ${e}`:``}.${t}`)}let f=Io(l,`content`).trim();if(!f){let e=c?` Trace-Id: ${c}`:``;throw Error(`MiniMax VLM returned no content.${e}`)}return f}const Ro=new Set([`__proto__`,`prototype`,`constructor`]);function zo(...e){let t={},n=!1;for(let r of e)r&&(n=!0,r.headers&&(t.headers=Object.assign({},t.headers,r.headers)),r.auth&&(t.auth=r.auth),r.proxy&&(t.proxy=r.proxy),r.tls&&(t.tls=r.tls));return n?t:void 0}function Bo(...e){let t=zo(...e);for(let n of e)n?.allowPrivateNetwork!==void 0&&(t??={},t.allowPrivateNetwork=n.allowPrivateNetwork);return t}function Vo(e,t){let n=e?.trim()||t?.trim();if(n)return n.replace(/\/+$/,``)}function Ho(...e){let t,n=new Map;for(let r of e)if(r){t||=Object.create(null);for(let[e,i]of Object.entries(r)){let r=a(e);if(Ro.has(r))continue;let o=n.get(r);o&&o!==e&&delete t[o],t[e]=i,n.set(r,e)}}return t&&Object.keys(t).length>0?t:void 0}function Uo(e){if(!e)return{configured:!1};if(e.insecureSkipVerify===!0)throw Error(`Provider transport overrides do not allow insecureSkipVerify`);let t=e.ca?.trim(),n=e.cert?.trim(),r=e.key?.trim(),i=e.passphrase?.trim(),a=e.serverName?.trim(),o=e.insecureSkipVerify===!1?!0:void 0;return!t&&!n&&!r&&!i&&!a&&o===void 0?{configured:!1}:{configured:!0,...t?{ca:t}:{},...n?{cert:n}:{},...r?{key:r}:{},...i?{passphrase:i}:{},...a?{serverName:a}:{},...o===void 0?{}:{rejectUnauthorized:o}}}function Wo(e){let t=e.request?.auth;if(t?.mode===`authorization-bearer`){let e=t.token.trim();if(e)return{configured:!0,mode:`authorization-bearer`,headerName:`Authorization`,value:e,injectAuthorizationHeader:!0}}if(t?.mode===`header`){let e=t.headerName.trim(),n=t.value.trim(),r=t.prefix?.trim();if(e&&n)return{configured:!0,mode:`header`,headerName:e,value:n,...r?{prefix:r}:{},injectAuthorizationHeader:!1}}return{configured:!1,mode:e.authHeader?`authorization-bearer`:`provider-default`,injectAuthorizationHeader:e.authHeader===!0}}function Go(e){let t=e?.proxy;if(!t)return{configured:!1};let n=Uo(t.tls);if(t.mode===`env-proxy`)return{configured:!0,mode:`env-proxy`,tls:n};let r=t.url.trim();return r?{configured:!0,mode:`explicit-proxy`,proxyUrl:r,tls:n}:{configured:!1}}function Ko(e,t){if(!t.configured)return e;let n=Ho(e)??Object.create(null),r=new Set([a(t.headerName)]);t.mode===`header`&&r.add(`authorization`);for(let e of Object.keys(n))r.has(a(e))&&delete n[e];return n[t.headerName]=t.mode===`authorization-bearer`?`Bearer ${t.value}`:`${t.prefix??``}${t.value}`,Object.keys(n).length>0?n:void 0}function qo(e){if(!e.configured)return;let t={};return e.ca&&(t.ca=e.ca),e.cert&&(t.cert=e.cert),e.key&&(t.key=e.key),e.passphrase&&(t.passphrase=e.passphrase),e.serverName&&(t.servername=e.serverName),e.rejectUnauthorized!==void 0&&(t.rejectUnauthorized=e.rejectUnauthorized),Object.keys(t).length>0?t:void 0}function Jo(e){let t=qo(e.tls);if(!e.proxy.configured)return t?{mode:`direct`,connect:t}:void 0;let n=qo(e.proxy.tls);return e.proxy.mode===`env-proxy`?{mode:`env-proxy`,...t?{connect:{...t}}:{},...n?{proxyTls:{...n}}:{}}:{mode:`explicit-proxy`,proxyUrl:e.proxy.proxyUrl,...n?{proxyTls:n}:{}}}function Yo(e){let t=Vo(e.baseUrl,e.defaultBaseUrl),n=e.capability??`llm`,r=e.transport??`http`,i={provider:e.provider,api:e.api,baseUrl:t,capability:n,transport:r},o=p(i),s=f({...i,compat:e.compat,modelId:e.modelId}),c=Wo({authHeader:e.authHeader,request:e.request}),l=Ko(Ho(e.discoveredHeaders,e.providerHeaders,e.modelHeaders,e.request?.headers),c),u=new Set(Object.keys(o.attributionHeaders??{}).map(e=>a(e))),d=e.callerHeaders?Object.fromEntries(Object.entries(e.callerHeaders).filter(([e])=>!u.has(a(e)))):void 0,m=Ho(l,o.attributionHeaders),h=e.precedence===`caller-wins`?Ho(m,d):Ho(d,m);return{api:e.api,baseUrl:t,headers:h,extraHeaders:{configured:!!l,headers:l},auth:c,proxy:Go(e.request),tls:Uo(e.request?.tls),policy:o,capabilities:s,allowPrivateNetwork:e.allowPrivateNetwork??e.request?.allowPrivateNetwork??!1}}const Xo=Symbol.for(`openclaw.modelProviderRequestTransport`);function Zo(e){return e[Xo]}const Qo=new Set([`patternProperties`,`additionalProperties`,`$schema`,`$id`,`$ref`,`$defs`,`definitions`,`examples`,`minLength`,`maxLength`,`minimum`,`maximum`,`multipleOf`,`pattern`,`format`,`minItems`,`maxItems`,`uniqueItems`,`minProperties`,`maxProperties`,`not`]),$o=[`description`,`title`,`default`];function es(e,t){for(let n of $o)n in e&&e[n]!==void 0&&(t[n]=e[n])}function ts(e){if(e.length===0)return null;let t=[],n=null;for(let r of e){if(!r||typeof r!=`object`)return null;let e=r,i;if(`const`in e)i=e.const;else if(Array.isArray(e.enum)&&e.enum.length===1)i=e.enum[0];else return null;let a=typeof e.type==`string`?e.type:null;if(!a)return null;if(n===null)n=a;else if(n!==a)return null;t.push(i)}return n&&t.length>0?{type:n,enum:t}:null}function ns(e){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;if(`const`in t&&t.const===null)return!0;if(Array.isArray(t.enum)&&t.enum.length===1)return t.enum[0]===null;let n=t.type;return!!(n===`null`||Array.isArray(n)&&n.length===1&&n[0]===`null`)}function rs(e){if(e.length===0)return{variants:e,stripped:!1};let t=e.filter(e=>!ns(e));return{variants:t,stripped:t.length!==e.length}}function is(e,t){let n=t.$defs&&typeof t.$defs==`object`&&!Array.isArray(t.$defs)?t.$defs:void 0,r=t.definitions&&typeof t.definitions==`object`&&!Array.isArray(t.definitions)?t.definitions:void 0;if(!n&&!r)return e;let i=e?new Map(e):new Map;if(n)for(let[e,t]of Object.entries(n))i.set(e,t);if(r)for(let[e,t]of Object.entries(r))i.set(e,t);return i}function as(e){return e.replaceAll(`~1`,`/`).replaceAll(`~0`,`~`)}function os(e,t){if(!t)return;let n=e.match(/^#\/(?:\$defs|definitions)\/(.+)$/);if(!n)return;let r=as(n[1]??``);if(r)return t.get(r)}function ss(e){let{obj:t,variants:n}=e,{variants:r,stripped:i}=rs(n),a=ts(r);if(a){let e={type:a.type,enum:a.enum};return es(t,e),{variants:r,simplified:e}}if(i&&r.length===1){let e=r[0];if(e&&typeof e==`object`&&!Array.isArray(e)){let n={...e};return es(t,n),{variants:r,simplified:n}}return{variants:r,simplified:e}}return{variants:i?r:n}}function cs(e){if(!Array.isArray(e.required))return e;if(!e.properties||typeof e.properties!=`object`||Array.isArray(e.properties))return e.type===`object`&&delete e.required,e;let t=e.properties,n=e.required.filter(e=>typeof e==`string`&&Object.hasOwn(t,e));return n.length>0?e.required=n:delete e.required,e}function ls(e,t,n){if(!e||typeof e!=`object`)return e;if(Array.isArray(e))return e.map(e=>ls(e,t,n));let r=e,i=is(t,r),a=typeof r.$ref==`string`?r.$ref:void 0;if(a){if(n?.has(a))return{};let e=os(a,i);if(e){let t=n?new Set(n):new Set;t.add(a);let o=ls(e,i,t);if(!o||typeof o!=`object`||Array.isArray(o))return o;let s={...o};return es(r,s),s}let t={};return es(r,t),t}let o=`anyOf`in r&&Array.isArray(r.anyOf),s=`oneOf`in r&&Array.isArray(r.oneOf),c=o?r.anyOf.map(e=>ls(e,i,n)):void 0,l=s?r.oneOf.map(e=>ls(e,i,n)):void 0;if(o){let e=ss({obj:r,variants:c??[]});if(c=e.variants,`simplified`in e)return e.simplified}if(s){let e=ss({obj:r,variants:l??[]});if(l=e.variants,`simplified`in e)return e.simplified}let u={};for(let[e,t]of Object.entries(r))if(!Qo.has(e)){if(e===`const`){u.enum=[t];continue}if(!(e===`required`&&Array.isArray(t)&&t.length===0)&&!(e===`type`&&(o||s))){if(e===`type`&&Array.isArray(t)&&t.every(e=>typeof e==`string`)){let e=t.filter(e=>e!==`null`);u.type=e.length===1?e[0]:e;continue}e===`properties`?t&&typeof t==`object`&&!Array.isArray(t)?u[e]=Object.fromEntries(Object.entries(t).map(([e,t])=>[e,ls(t,i,n)])):u[e]={}:e===`items`&&t?Array.isArray(t)?u[e]=t.map(e=>ls(e,i,n)):typeof t==`object`?u[e]=ls(t,i,n):u[e]=t:e===`anyOf`&&Array.isArray(t)?u[e]=c??t.map(e=>ls(e,i,n)):e===`oneOf`&&Array.isArray(t)?u[e]=l??t.map(e=>ls(e,i,n)):e===`allOf`&&Array.isArray(t)?u[e]=t.map(e=>ls(e,i,n)):u[e]=t}}if(u.anyOf&&Array.isArray(u.anyOf)){let e=us(u,u.anyOf);if(e)return cs(e)}if(u.oneOf&&Array.isArray(u.oneOf)){let e=us(u,u.oneOf);if(e)return cs(e)}return cs(u)}function us(e,t){let n=t.filter(e=>!!e&&typeof e==`object`);if(n.length===0)return;let r=new Set(n.map(e=>e.type).filter(Boolean));if(n.length===1){let t={...n[0]};return es(e,t),t}if(r.size===1){let t={type:Array.from(r)[0]};return es(e,t),t}let i=n[0];if(i?.type){let t={type:i.type};return es(e,t),t}let a={};return es(e,a),a}function ds(e){return!e||typeof e!=`object`?e:Array.isArray(e)?e.map(ds):ls(e,is(void 0,e),void 0)}function fs(e,t){if(!e||typeof e!=`object`)return e;if(Array.isArray(e))return e.map(e=>fs(e,t));let n=e,r={};for(let[e,i]of Object.entries(n))if(!t.has(e)){if(e===`properties`&&i&&typeof i==`object`&&!Array.isArray(i)){r[e]=Object.fromEntries(Object.entries(i).map(([e,n])=>[e,fs(n,t)]));continue}if(e===`items`&&i&&typeof i==`object`){r[e]=Array.isArray(i)?i.map(e=>fs(e,t)):fs(i,t);continue}if((e===`anyOf`||e===`oneOf`||e===`allOf`)&&Array.isArray(i)){r[e]=i.map(e=>fs(e,t));continue}r[e]=i}return r}function ps(e){if(!e||typeof e!=`object`)return;let t=e;if(Array.isArray(t.enum))return t.enum;if(`const`in t)return[t.const];let n=Array.isArray(t.anyOf)?t.anyOf:Array.isArray(t.oneOf)?t.oneOf:null;if(n){let e=n.flatMap(e=>ps(e)??[]);return e.length>0?e:void 0}}function ms(e,t){if(!e)return t;if(!t)return e;let n=ps(e),r=ps(t);if(n||r){let i=Array.from(new Set([...n??[],...r??[]])),a={};for(let n of[e,t]){if(!n||typeof n!=`object`)continue;let e=n;for(let t of[`title`,`description`,`default`])!(t in a)&&t in e&&(a[t]=e[t])}let o=new Set(i.map(e=>typeof e));return o.size===1&&(a.type=Array.from(o)[0]),a.enum=i,a}return e}function hs(e,t){return Array.isArray(e[t])}function gs(e){return hs(e,`anyOf`)?`anyOf`:hs(e,`oneOf`)?`oneOf`:null}function _s(e){return gs(e)??(hs(e,`allOf`)?`allOf`:null)}function vs(e,t){return`type`in e&&`properties`in e&&t===null}function ys(e,t){return!(`type`in e)&&(typeof e.properties==`object`||Array.isArray(e.required))&&t===null}function bs(e,t){return`type`in e&&!(`properties`in e)&&t===null}function xs(e){return Object.keys(e).length===0}function Ss(e,t){let n=e&&typeof e==`object`?e:void 0;if(!n)return e;let r=a(t?.modelProvider),i=r.includes(`google`)||r.includes(`gemini`),o=r.includes(`anthropic`),s=Ve(t?.modelCompat);function c(e){return i&&!o?ds(e):s.size>0?fs(e,s):e}let l=_s(n),u=gs(n);if(vs(n,l))return c(n);if(ys(n,l))return c({...n,type:`object`});if(bs(n,l))return c({...n,properties:{}});if(!u)return xs(n)?c({type:`object`,properties:{}}):c(e);let d=n[u],f={},p=new Map,m=0;for(let e of d){if(!e||typeof e!=`object`)continue;let t=e.properties;if(!t||typeof t!=`object`)continue;m+=1;for(let[e,n]of Object.entries(t)){if(!(e in f)){f[e]=n;continue}f[e]=ms(f[e],n)}let n=Array.isArray(e.required)?e.required:[];for(let e of n)typeof e==`string`&&p.set(e,(p.get(e)??0)+1)}let h=Array.isArray(n.required)?n.required.filter(e=>typeof e==`string`):void 0,g=h&&h.length>0?h:m>0?Array.from(p.entries()).filter(([,e])=>e===m).map(([e])=>e):void 0,_={...n};return c({type:`object`,...typeof _.title==`string`?{title:_.title}:{},...typeof _.description==`string`?{description:_.description}:{},properties:Object.keys(f).length>0?f:n.properties??{},...g&&g.length>0?{required:g}:{},additionalProperties:`additionalProperties`in n?n.additionalProperties:!0})}const Cs=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`],ws=[`minimal`,`low`,`medium`,`high`],Ts=[`none`,`low`,`medium`,`high`],Es=[`none`,`low`,`medium`,`high`,`xhigh`],Ds=[`low`,`medium`,`high`,`xhigh`],Os=[`medium`,`high`,`xhigh`],ks=[`high`],As=[`none`,`medium`,`high`,`xhigh`],js=[`medium`],Ms=[`low`,`medium`,`high`];function Ns(e){return a(e??``).replace(/-\d{4}-\d{2}-\d{2}$/u,``)}function Ps(e){return e===`minimal`?`minimal`:e}function Fs(e){if(!e||typeof e!=`object`)return;let t=e.supportedReasoningEfforts;if(!Array.isArray(t))return;let n=t.filter(e=>Cs.includes(e));return n.length>0?n:void 0}function Is(e){let t=Fs(e.compat);if(t)return t;let n=a(typeof e.provider==`string`?e.provider:``),r=Ns(typeof e.id==`string`?e.id:void 0);return r===`gpt-5.1-codex-mini`?js:r===`gpt-5.1-codex-max`?As:/^gpt-5(?:\.\d+)?-codex(?:-|$)/u.test(r)||n===`openai-codex`?Ds:r===`gpt-5-pro`?ks:/^gpt-5\.[2-9](?:\.\d+)?-pro(?:-|$)/u.test(r)?Os:/^gpt-5\.[2-9](?:\.\d+)?(?:-|$)/u.test(r)?Es:/^gpt-5\.1(?:-|$)/u.test(r)?Ts:/^gpt-5(?:-|$)/u.test(r)?ws:Ms}function Ls(e,t){return Is(e).includes(Ps(t))}function Rs(e){let t=Ps(e.effort),n=Ps(e.fallbackMap?.[t]??t),r=Is(e.model);if(r.includes(n))return n;if(t!==`none`)return t===`minimal`&&r.includes(`low`)?`low`:(t===`minimal`||t===`low`)&&r.includes(`medium`)?`medium`:t===`xhigh`&&r.includes(`high`)?`high`:r.find(e=>e!==`none`)}function zs(e){if(!Array.isArray(e))return e;let t=[];for(let n of e){if(!n||typeof n!=`object`||n.type!==`text`||typeof n.text!=`string`)return e;t.push(n.text)}return t.join(`
|
|
214
|
+
`)}function Bs(e){return e.map(e=>{if(!e||typeof e!=`object`)return e;let t=e.content,n=zs(t);return n===t?e:{...e,content:n}})}function Vs(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.floor(e);if(typeof e==`string`){let t=Number.parseInt(e,10);if(Number.isFinite(t)&&t>0)return t}}function Hs(e){let t=Vs(e.contextWindow);return t?Math.max(1e3,Math.floor(t*.7)):8e4}function Us(e,t,n){let r=n?.responsesServerCompaction;return r===!1||e!==!0?!1:r===!0?!0:t===`openai`}function Ws(e){let t=e.reasoning;if(t===`none`){delete e.reasoning;return}!t||typeof t!=`object`||Array.isArray(t)||t.effort===`none`&&delete e.reasoning}function Gs(e,t={}){let n=Yo({provider:i(e.provider),api:i(e.api),baseUrl:i(e.baseUrl),compat:e.compat,capability:`llm`,transport:`stream`}).capabilities,r=t.storeMode??`provider-policy`,a=r===`preserve`?void 0:r===`disable`?n.supportsResponsesStoreField?!1:void 0:n.allowsResponsesStore?!0:void 0,o=b(i(e.api)),s=o&&(!n.usesKnownNativeOpenAIRoute||!Ls(e,`none`));return{allowsServiceTier:n.allowsOpenAIServiceTier,compactThreshold:Vs(t.extraParams?.responsesCompactThreshold)??Hs(e),explicitStore:a,shouldStripDisabledReasoningPayload:s,shouldStripPromptCache:t.enablePromptCacheStripping===!0&&n.shouldStripResponsesPromptCache,shouldStripStore:a!==!0&&e.compat?.supportsStore===!1&&o,useServerCompaction:t.enableServerCompaction===!0&&Us(a,e.provider,t.extraParams)}}function Ks(e,t){t.explicitStore!==void 0&&(e.store=t.explicitStore),t.shouldStripStore&&delete e.store,t.shouldStripPromptCache&&(delete e.prompt_cache_key,delete e.prompt_cache_retention),t.useServerCompaction&&e.context_management===void 0&&(e.context_management=[{type:`compaction`,compact_threshold:t.compactThreshold}]),t.shouldStripDisabledReasoningPayload&&Ws(e)}const qs=`
|
|
215
|
+
<!-- OPENCLAW_CACHE_BOUNDARY -->
|
|
216
|
+
`;function Js(e){return e.replaceAll(qs,`
|
|
217
|
+
`)}function Ys(e){let t=e.indexOf(qs);if(t!==-1)return{stablePrefix:e.slice(0,t).trimEnd(),dynamicSuffix:e.slice(t+34).trimStart()}}function Xs(e){try{return new URL(e).hostname}catch{return}}function Zs(e){if(typeof e!=`string`)return!1;let t=Xs(e);return t?t===`api.anthropic.com`||t===`aiplatform.googleapis.com`||t.endsWith(`-aiplatform.googleapis.com`):!1}function Qs(e,t){let n=t??(process.env.PI_CACHE_RETENTION===`long`?`long`:`short`);if(n===`none`)return;let r=n===`long`&&(t===`long`||Zs(e))?`1h`:void 0;return{type:`ephemeral`,...r?{ttl:r}:{}}}function $s(e,t){if(!Array.isArray(e))return;let n=[];for(let r of e){if(!r||typeof r!=`object`){n.push(r);continue}let e=r;if(e.type!==`text`||typeof e.text!=`string`){n.push(r);continue}let i=Ys(e.text);if(!i){e.cache_control===void 0&&(e.cache_control=t),n.push(e);continue}let{cache_control:a,...o}=e;i.stablePrefix&&n.push({...o,text:i.stablePrefix,cache_control:a??t}),i.dynamicSuffix&&n.push({...o,text:i.dynamicSuffix})}e.splice(0,e.length,...n)}function ec(e){if(Array.isArray(e))for(let t of e){if(!t||typeof t!=`object`)continue;let e=t;e.type===`text`&&typeof e.text==`string`&&(e.text=Js(e.text))}}function tc(e,t){if(!Array.isArray(e)||e.length===0)return;let n=e[e.length-1];if(!n||typeof n!=`object`)return;let r=n;if(r.role!==`user`)return;let i=r.content;if(Array.isArray(i)){let e=i[i.length-1];if(!e||typeof e!=`object`)return;let n=e;(n.type===`text`||n.type===`image`||n.type===`tool_result`)&&(n.cache_control=t);return}typeof i==`string`&&(r.content=[{type:`text`,text:i,cache_control:t}])}function nc(e){return{allowsServiceTier:f({provider:e.provider,api:e.api,baseUrl:e.baseUrl,capability:`llm`,transport:`stream`}).allowsAnthropicServiceTier,cacheControl:e.enableCacheControl===!0?Qs(e.baseUrl,e.cacheRetention):void 0,serviceTier:e.serviceTier}}function rc(e,t){t.allowsServiceTier&&t.serviceTier!==void 0&&e.service_tier===void 0&&(e.service_tier=t.serviceTier),t.cacheControl?$s(e.system,t.cacheControl):ec(e.system),t.cacheControl&&tc(e.messages,t.cacheControl)}function ic(e){let t=e[e.length-1];return t&&t.role!==`user`?`agent`:`user`}function ac(e){return e.some(e=>e.role===`user`&&Array.isArray(e.content)||e.role===`toolResult`&&Array.isArray(e.content)?e.content.some(e=>e.type===`image`):!1)}function oc(e={}){return{"Editor-Version":`vscode/1.96.2`,"User-Agent":`GitHubCopilotChat/0.26.7`,...e.includeApiVersion?{"X-Github-Api-Version":`2025-04-01`}:{}}}function sc(e){return{...oc(),"X-Initiator":ic(e.messages),"Openai-Intent":`conversation-edits`,...e.hasImages?{"Copilot-Vision-Request":`true`}:{}}}function cc(e){let t=e.get(`retry-after-ms`);if(t){let e=Number.parseFloat(t);if(Number.isFinite(e)&&e>=0)return e/1e3}let n=e.get(`retry-after`);if(!n)return;let r=Number.parseFloat(n);if(Number.isFinite(r)&&r>=0)return r;let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,(i-Date.now())/1e3)}function lc(){let e=process.env.OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS?.trim();if(!e)return 60;if(/^(?:0|false|off|none|disabled)$/i.test(e))return;let t=Number.parseFloat(e);return Number.isFinite(t)&&t>0?t:60}function uc(e){let t=lc();if(t===void 0)return!1;let n=e.status;if(!(n===408||n===409||n===429||n>=500))return!1;let r=cc(e.headers);return r!==void 0&&r>t}function dc(e,t){if(!e.body)return t(),e;let n=e.body,r,i=!1,a=async()=>{i||(i=!0,await t().catch(()=>void 0))},o=new ReadableStream({start(){r=n.getReader()},async pull(e){try{let t=await r?.read();if(!t||t.done){e.close(),await a();return}e.enqueue(t.value)}catch(t){e.error(t),await a()}},async cancel(e){try{await r?.cancel(e)}finally{await a()}}});return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}function fc(e){let t=jr(),n;if(t.enabled&&t.proxyUrl)try{new URL(e.baseUrl).protocol===`https:`&&(n=t.proxyUrl)}catch{}let r=Bo(Zo(e),{proxy:n?{mode:`explicit-proxy`,url:n}:void 0});return Yo({provider:e.provider,api:e.api,baseUrl:e.baseUrl,capability:`llm`,transport:`stream`,request:r,allowPrivateNetwork:r?.allowPrivateNetwork===!0})}function pc(e){let t=fc(e),n=Jo(t);return async(r,i)=>{let a=r instanceof Request?new Request(r,i):void 0,o=await Si({url:a?.url??(r instanceof URL?r.toString():typeof r==`string`?r:(()=>{throw Error(`Unsupported fetch input for transport-aware model request`)})()),init:(a&&{method:a.method,headers:a.headers,body:a.body??void 0,redirect:a.redirect,signal:a.signal,...a.body?{duplex:`half`}:{}})??i,capture:{meta:{provider:e.provider,api:e.api,model:e.id}},dispatcherPolicy:n,allowCrossOriginUnsafeRedirectReplay:!1,...t.allowPrivateNetwork?{policy:{allowPrivateNetwork:!0}}:{}}),s=o.response;if(uc(s)){let e=new Headers(s.headers);e.set(`x-should-retry`,`false`),s=new Response(s.body,{status:s.status,statusText:s.statusText,headers:e})}return dc(s,o.release)}}function mc(e,t,n){for(let r of t)n.has(r.id)||e.push({role:`toolResult`,toolCallId:r.id,toolName:r.name,content:[{type:`text`,text:`No result provided`}],isError:!0,timestamp:Date.now()})}function hc(e,t,n){let r=new Map,i=e.map(e=>{if(e.role===`user`)return e;if(e.role===`toolResult`){let t=r.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if(e.role!==`assistant`)return e;let i=e.provider===t.provider&&e.api===t.api&&e.model===t.id,a=[];for(let o of e.content){if(o.type===`thinking`){if(o.redacted){i&&a.push(o);continue}if(i&&o.thinkingSignature){a.push(o);continue}if(!o.thinking.trim())continue;a.push(i?o:{type:`text`,text:o.thinking});continue}if(o.type===`text`){a.push(i?o:{type:`text`,text:o.text});continue}if(o.type!==`toolCall`){a.push(o);continue}let s=o;if(!i&&o.thoughtSignature&&(s={...s},delete s.thoughtSignature),!i&&n){let i=n(o.id,t,e);i!==o.id&&(r.set(o.id,i),s={...s,id:i})}a.push(s)}return{...e,content:a}}),a=[],o=[],s=new Set;for(let e of i){if(e.role===`assistant`){if(o.length>0&&(mc(a,o,s),o=[],s=new Set),e.stopReason===`error`||e.stopReason===`aborted`)continue;let t=e.content.filter(e=>e.type===`toolCall`);t.length>0&&(o=t.map(e=>({id:e.id,name:e.name})),s=new Set),a.push(e);continue}if(e.role===`toolResult`){s.add(e.toolCallId),a.push(e);continue}o.length>0&&(mc(a,o,s),o=[],s=new Set),a.push(e)}return a}function gc(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,``)}function _c(e){if(e&&typeof e==`object`&&!Array.isArray(e))return e;if(typeof e==`string`)try{let t=JSON.parse(e);if(t&&typeof t==`object`&&!Array.isArray(t))return t}catch{}return{}}function vc(...e){let t={};for(let n of e)n&&Object.assign(t,n);return Object.keys(t).length>0?t:void 0}function yc(e,t){if(!t||Object.keys(t).length===0)return e;let n=e.metadata&&typeof e.metadata==`object`&&!Array.isArray(e.metadata)?e.metadata:void 0;return{...e,metadata:{...n,...t}}}function bc(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}function xc(){let e=B();return{eventStream:e,stream:e}}function Sc(e){let{stream:t,output:n,signal:r}=e;if(r?.aborted)throw Error(`Request was aborted`);if(n.stopReason===`aborted`||n.stopReason===`error`)throw Error(`An unknown error occurred`);t.push({type:`done`,reason:n.stopReason,message:n}),t.end()}function Cc(e){let{stream:t,output:n,signal:r,error:i,cleanup:a}=e;a?.(),n.stopReason=r?.aborted?`aborted`:`error`,n.errorMessage=i instanceof Error?i.message:JSON.stringify(i),t.push({type:`error`,reason:n.stopReason,error:n}),t.end()}function q(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function J(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let wc=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return wc=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function Tc(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const Ec=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var Y=class extends Error{},Dc=class e extends Y{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new kc({message:r,cause:Ec(n)});let a=n?.error;return t===400?new jc(t,a,r,i):t===401?new Mc(t,a,r,i):t===403?new Nc(t,a,r,i):t===404?new Pc(t,a,r,i):t===409?new Fc(t,a,r,i):t===422?new Ic(t,a,r,i):t===429?new Lc(t,a,r,i):t>=500?new Rc(t,a,r,i):new e(t,a,r,i)}},Oc=class extends Dc{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},kc=class extends Dc{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},Ac=class extends kc{constructor({message:e}={}){super({message:e??`Request timed out.`})}},jc=class extends Dc{},Mc=class extends Dc{},Nc=class extends Dc{},Pc=class extends Dc{},Fc=class extends Dc{},Ic=class extends Dc{},Lc=class extends Dc{},Rc=class extends Dc{},zc=class extends Y{constructor(){super(`Could not parse response content as the length limit was reached`)}},Bc=class extends Y{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},Vc=class extends Error{constructor(e){super(e)}},Hc=class extends Dc{constructor(e,t,n){let r=`OAuth2 authentication error`,i;if(t&&typeof t==`object`){let e=t;i=e.error;let n=e.error_description;n&&typeof n==`string`?r=n:i&&(r=i)}super(e,t,r,n),this.error_code=i}},Uc=class extends Y{constructor(e,t,n){super(e),this.provider=t,this.cause=n}};const Wc=/^[a-z][a-z0-9+.-]*:/i,Gc=e=>Wc.test(e);let Kc=e=>(Kc=Array.isArray,Kc(e)),qc=Kc;function Jc(e){return typeof e==`object`?e??{}:{}}function Yc(e){if(!e)return!0;for(let t in e)return!1;return!0}function Xc(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Zc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Qc=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new Y(`${e} must be an integer`);if(t<0)throw new Y(`${e} must be a positive integer`);return t},$c=e=>{try{return JSON.parse(e)}catch{return}},el=e=>new Promise(t=>setTimeout(t,e)),tl=`6.34.0`,nl=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function rl(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}const il=()=>{let e=rl();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":tl,"X-Stainless-OS":sl(Deno.build.os),"X-Stainless-Arch":ol(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":tl,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":tl,"X-Stainless-OS":sl(globalThis.process.platform??`unknown`),"X-Stainless-Arch":ol(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=al();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":tl,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":tl,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function al(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}const ol=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,sl=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`);let cl;const ll=()=>cl??=il();function ul(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function dl(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function fl(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return dl({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function pl(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function ml(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}const hl=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),gl=`RFC3986`,_l=e=>String(e),vl={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:_l};let yl=(e,t)=>(yl=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),yl(e,t));const bl=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),xl=1024,Sl=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=xl){let t=a.length>=xl?a.slice(e,e+xl):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)){n[n.length]=t.charAt(e);continue}if(r<128){n[n.length]=bl[r];continue}if(r<2048){n[n.length]=bl[192|r>>6]+bl[128|r&63];continue}if(r<55296||r>=57344){n[n.length]=bl[224|r>>12]+bl[128|r>>6&63]+bl[128|r&63];continue}e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=bl[240|r>>18]+bl[128|r>>12&63]+bl[128|r>>6&63]+bl[128|r&63]}o+=n.join(``)}return o};function Cl(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function wl(e,t){if(Kc(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}const Tl={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},El=function(e,t){Array.prototype.push.apply(e,Kc(t)?t:[t])};let Dl;const Ol={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:Sl,encodeValuesOnly:!1,format:gl,formatter:_l,indices:!1,serializeDate(e){return(Dl??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function kl(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}const Al={};function jl(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,b=0,x=!1;for(;(y=y.get(Al))!==void 0&&!x;){let t=y.get(e);if(b+=1,t!==void 0){if(t===b)throw RangeError(`Cyclic object value`);x=!0}y.get(Al)===void 0&&(b=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&Kc(v)&&(v=wl(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,Ol.encoder,g,`key`,p):t;v=``}if(kl(v)||Cl(v)){if(c){let e=h?t:c(t,Ol.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,Ol.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let S=[];if(v===void 0)return S;let C;if(n===`comma`&&Kc(v))h&&c&&(v=wl(v,c)),C=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(Kc(l))C=l;else{let e=Object.keys(v);C=u?e.sort(u):e}let w=s?String(t).replace(/\./g,`%2E`):String(t),T=r&&Kc(v)&&v.length===1?w+`[]`:w;if(i&&Kc(v)&&v.length===0)return T+`[]`;for(let t=0;t<C.length;++t){let y=C[t],x=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&x===null)continue;let w=d&&s?y.replace(/\./g,`%2E`):y,E=Kc(v)?typeof n==`function`?n(T,w):T:T+(d?`.`+w:`[`+w+`]`);_.set(e,b);let D=new WeakMap;D.set(Al,_),El(S,jl(x,E,n,r,i,a,o,s,n===`comma`&&h&&Kc(v)?null:c,l,u,d,f,p,m,h,g,D))}return S}function Ml(e=Ol){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||Ol.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=gl;if(e.format!==void 0){if(!yl(vl,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=vl[n],i=Ol.filter;(typeof e.filter==`function`||Kc(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in Tl?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:Ol.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:Ol.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:Ol.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:Ol.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:Ol.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?Ol.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:Ol.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:Ol.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:Ol.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:Ol.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:Ol.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:Ol.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:Ol.strictNullHandling}}function Nl(e,t={}){let n=e,r=Ml(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):Kc(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=Tl[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||El(o,jl(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function Pl(e){return Nl(e,{arrayFormat:`brackets`})}function Fl(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}let Il;function Ll(e){let t;return(Il??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let Rl;function zl(e){let t;return(Rl??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var Bl,Vl,Hl=class{constructor(){Bl.set(this,void 0),Vl.set(this,void 0),q(this,Bl,new Uint8Array,`f`),q(this,Vl,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?Ll(e):e;q(this,Bl,Fl([J(this,Bl,`f`),t]),`f`);let n=[],r;for(;(r=Ul(J(this,Bl,`f`),J(this,Vl,`f`)))!=null;){if(r.carriage&&J(this,Vl,`f`)==null){q(this,Vl,r.index,`f`);continue}if(J(this,Vl,`f`)!=null&&(r.index!==J(this,Vl,`f`)+1||r.carriage)){n.push(zl(J(this,Bl,`f`).subarray(0,J(this,Vl,`f`)-1))),q(this,Bl,J(this,Bl,`f`).subarray(J(this,Vl,`f`)),`f`),q(this,Vl,null,`f`);continue}let e=J(this,Vl,`f`)===null?r.preceding:r.preceding-1,t=zl(J(this,Bl,`f`).subarray(0,e));n.push(t),q(this,Bl,J(this,Bl,`f`).subarray(r.index),`f`),q(this,Vl,null,`f`)}return n}flush(){return J(this,Bl,`f`).length?this.decode(`
|
|
218
|
+
`):[]}};Bl=new WeakMap,Vl=new WeakMap,Hl.NEWLINE_CHARS=new Set([`
|
|
219
|
+
`,`\r`]),Hl.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ul(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Wl(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}const Gl={off:0,error:200,warn:300,info:400,debug:500},Kl=(e,t,n)=>{if(e){if(Xc(Gl,e))return e;Zl(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Gl))}`)}};function ql(){}function Jl(e,t,n){return!t||Gl[e]>Gl[n]?ql:t[e].bind(t)}const Yl={error:ql,warn:ql,info:ql,debug:ql};let Xl=new WeakMap;function Zl(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Yl;let r=Xl.get(t);if(r&&r[0]===n)return r[1];let i={error:Jl(`error`,t,n),warn:Jl(`warn`,t,n),info:Jl(`info`,t,n),debug:Jl(`debug`,t,n)};return Xl.set(t,[n,i]),i}const Ql=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);var $l,eu=class e{constructor(e,t,n){this.iterator=e,$l.set(this,void 0),this.controller=t,q(this,$l,n,`f`)}static fromSSEResponse(t,n,r,i){let a=!1,o=r?Zl(r):console;async function*s(){if(a)throw new Y("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");a=!0;let e=!1;try{for await(let r of tu(t,n))if(!e){if(r.data.startsWith(`[DONE]`)){e=!0;continue}if(r.event===null||!r.event.startsWith(`thread.`)){let e;try{e=JSON.parse(r.data)}catch(e){throw o.error(`Could not parse message into JSON:`,r.data),o.error(`From chunk:`,r.raw),e}if(e&&e.error)throw new Dc(void 0,e.error,void 0,t.headers);yield i?{event:r.event,data:e}:e}else{let e;try{e=JSON.parse(r.data)}catch(e){throw console.error(`Could not parse message into JSON:`,r.data),console.error(`From chunk:`,r.raw),e}if(r.event==`error`)throw new Dc(void 0,e.error,e.message,void 0);yield{event:r.event,data:e}}}e=!0}catch(e){if(Tc(e))return;throw e}finally{e||n.abort()}}return new e(s,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new Hl,n=pl(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*o(){if(i)throw new Y("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(Tc(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[($l=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,J(this,$l,`f`)),new e(()=>i(n),this.controller,J(this,$l,`f`))]}toReadableStream(){let e=this,t;return dl({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=Ll(JSON.stringify(n)+`
|
|
220
|
+
`);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*tu(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new Y(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new Y(`Attempted to iterate over a response with no body`);let n=new ru,r=new Hl,i=pl(e.body);for await(let e of nu(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*nu(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Ll(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=Wl(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var ru=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
221
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(`:`))return null;let[t,n,r]=iu(e,`:`);return r.startsWith(` `)&&(r=r.substring(1)),t===`event`?this.event=r:t===`data`&&this.data.push(r),null}};function iu(e,t){let n=e.indexOf(t);return n===-1?[e,``,``]:[e.substring(0,n),t,e.substring(n+t.length)]}async function au(e,t){let{response:n,requestLogID:r,retryOfRequestLogID:i,startTime:a}=t,o=await(async()=>{if(t.options.stream)return Zl(e).debug(`response`,n.status,n.url,n.headers,n.body),t.options.__streamClass?t.options.__streamClass.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData):eu.fromSSEResponse(n,t.controller,e,t.options.__synthesizeEventData);if(n.status===204)return null;if(t.options.__binaryResponse)return n;let r=n.headers.get(`content-type`)?.split(`;`)[0]?.trim();return r?.includes(`application/json`)||r?.endsWith(`+json`)?n.headers.get(`content-length`)===`0`?void 0:ou(await n.json(),n):await n.text()})();return Zl(e).debug(`[${r}] response parsed`,Ql({retryOfRequestLogID:i,url:n.url,status:n.status,body:o,durationMs:Date.now()-a})),o}function ou(e,t){return!e||typeof e!=`object`||Array.isArray(e)?e:Object.defineProperty(e,`_request_id`,{value:t.headers.get(`x-request-id`),enumerable:!1})}var su,cu=class e extends Promise{constructor(e,t,n=au){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=n,su.set(this,void 0),q(this,su,e,`f`)}_thenUnwrap(t){return new e(J(this,su,`f`),this.responsePromise,async(e,n)=>ou(t(await this.parseResponse(e,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get(`x-request-id`)}}parse(){return this.parsedPromise||=this.responsePromise.then(e=>this.parseResponse(J(this,su,`f`),e)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};su=new WeakMap;var lu,uu=class{constructor(e,t,n,r){lu.set(this,void 0),q(this,lu,e,`f`),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new Y("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await J(this,lu,`f`).requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(lu=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},du=class extends cu{constructor(e,t,n){super(e,t,async(e,t)=>new n(e,t.response,await au(e,t),t.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},fu=class extends uu{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},pu=class extends uu{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.getPaginatedItems(),t=e[e.length-1]?.id;return t?{...this.options,query:{...Jc(this.options.query),after:t}}:null}},mu=class extends uu{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1,this.last_id=n.last_id||``}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.last_id;return e?{...this.options,query:{...Jc(this.options.query),after:e}}:null}};const hu={jwt:`urn:ietf:params:oauth:token-type:jwt`,id:`urn:ietf:params:oauth:token-type:id_token`};var gu=class{constructor(e,t){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl=`https://auth.openai.com/oauth/token`,this.config=e,this.fetch=t??ul()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let e=await this.config.provider.getToken(),t=await this.fetch(this.tokenExchangeUrl,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({grant_type:`urn:ietf:params:oauth:grant-type:token-exchange`,client_id:this.config.clientId,subject_token:e,subject_token_type:hu[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId})});if(!t.ok){let e=await t.text(),n;try{n=JSON.parse(e)}catch{}throw t.status===400||t.status===401||t.status===403?new Hc(t.status,n,t.headers):Dc.generate(t.status,n,`Token exchange failed with status ${t.status}`,t.headers)}let n=await t.json(),r=n.expires_in||3600,i=Date.now()+r*1e3;return this.cachedToken={token:n.access_token,expiresAt:i},n.access_token}isTokenExpired(e){return Date.now()>=e.expiresAt}needsRefresh(e){let t=(this.config.refreshBufferSeconds??1200)*1e3;return Date.now()>=e.expiresAt-t}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}};const _u=()=>{if(typeof File>`u`){let{process:e}=globalThis,t=typeof e?.versions?.node==`string`&&parseInt(e.versions.node.split(`.`))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":``))}};function vu(e,t,n){return _u(),new File(e,t??`unknown_file`,n)}function yu(e){return(typeof e==`object`&&!!e&&(`name`in e&&e.name&&String(e.name)||`url`in e&&e.url&&String(e.url)||`filename`in e&&e.filename&&String(e.filename)||`path`in e&&e.path&&String(e.path))||``).split(/[\\/]/).pop()||void 0}const bu=e=>typeof e==`object`&&!!e&&typeof e[Symbol.asyncIterator]==`function`,xu=async(e,t)=>Ou(e.body)?{...e,body:await Tu(e.body,t)}:e,Su=async(e,t)=>({...e,body:await Tu(e.body,t)}),Cu=new WeakMap;function wu(e){let t=typeof e==`function`?e:e.fetch,n=Cu.get(t);if(n)return n;let r=(async()=>{try{let e=`Response`in t?t.Response:(await t(`data:,`)).constructor,n=new FormData;return n.toString()!==await new e(n).text()}catch{return!0}})();return Cu.set(t,r),r}const Tu=async(e,t)=>{if(!await wu(t))throw TypeError(`The provided fetch function does not support file uploads with the current global FormData class.`);let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>ku(n,e,t))),n},Eu=e=>e instanceof Blob&&`name`in e,Du=e=>typeof e==`object`&&!!e&&(e instanceof Response||bu(e)||Eu(e)),Ou=e=>{if(Du(e))return!0;if(Array.isArray(e))return e.some(Ou);if(e&&typeof e==`object`){for(let t in e)if(Ou(e[t]))return!0}return!1},ku=async(e,t,n)=>{if(n!==void 0){if(n==null)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof n==`string`||typeof n==`number`||typeof n==`boolean`)e.append(t,String(n));else if(n instanceof Response)e.append(t,vu([await n.blob()],yu(n)));else if(bu(n))e.append(t,vu([await new Response(fl(n)).blob()],yu(n)));else if(Eu(n))e.append(t,n,yu(n));else if(Array.isArray(n))await Promise.all(n.map(n=>ku(e,t+`[]`,n)));else if(typeof n==`object`)await Promise.all(Object.entries(n).map(([n,r])=>ku(e,`${t}[${n}]`,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${n} instead`)}},Au=e=>typeof e==`object`&&!!e&&typeof e.size==`number`&&typeof e.type==`string`&&typeof e.text==`function`&&typeof e.slice==`function`&&typeof e.arrayBuffer==`function`,ju=e=>typeof e==`object`&&!!e&&typeof e.name==`string`&&typeof e.lastModified==`number`&&Au(e),Mu=e=>typeof e==`object`&&!!e&&typeof e.url==`string`&&typeof e.blob==`function`;async function Nu(e,t,n){if(_u(),e=await e,ju(e))return e instanceof File?e:vu([await e.arrayBuffer()],e.name);if(Mu(e)){let r=await e.blob();return t||=new URL(e.url).pathname.split(/[\\/]/).pop(),vu(await Pu(r),t,n)}let r=await Pu(e);if(t||=yu(e),!n?.type){let e=r.find(e=>typeof e==`object`&&`type`in e&&e.type);typeof e==`string`&&(n={...n,type:e})}return vu(r,t,n)}async function Pu(e){let t=[];if(typeof e==`string`||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(Au(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(bu(e))for await(let n of e)t.push(...await Pu(n));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:``}${Fu(e)}`)}return t}function Fu(e){return typeof e!=`object`||!e?``:`; props: [${Object.getOwnPropertyNames(e).map(e=>`"${e}"`).join(`, `)}]`}var X=class{constructor(e){this._client=e}};function Iu(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const Lu=Object.freeze(Object.create(null)),Z=((e=Iu)=>function(t,...n){if(t.length===1)return t[0];let r=!1,i=[],a=t.reduce((t,a,o)=>{/[?#]/.test(a)&&(r=!0);let s=n[o],c=(r?encodeURIComponent:e)(``+s);return o!==n.length&&(s==null||typeof s==`object`&&s.toString===Object.getPrototypeOf(Object.getPrototypeOf(s.hasOwnProperty??Lu)??Lu)?.toString)&&(c=s+``,i.push({start:t.length+a.length,length:c.length,error:`Value of type ${Object.prototype.toString.call(s).slice(8,-1)} is not a valid path parameter`})),t+a+(o===n.length?``:c)},``),o=a.split(/[?#]/,1)[0],s=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,c;for(;(c=s.exec(o))!==null;)i.push({start:c.index,length:c[0].length,error:`Value "${c[0]}" can\'t be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,n)=>{let r=` `.repeat(n.start-e),i=`^`.repeat(n.length);return e=n.start+n.length,t+r+i},``);throw new Y(`Path parameters result in path with invalid segments:\n${i.map(e=>e.error).join(`
|
|
222
|
+
`)}\n${a}\n${t}`)}return a})(Iu);var Ru=class extends X{list(e,t={},n){return this._client.getAPIList(Z`/chat/completions/${e}/messages`,pu,{query:t,...n})}};function zu(e){return e!==void 0&&`function`in e&&e.function!==void 0}function Bu(e){return e?.$brand===`auto-parseable-response-format`}function Vu(e){return e?.$brand===`auto-parseable-tool`}function Hu(e,t){return!t||!qu(t)?{...e,choices:e.choices.map(e=>(Ju(e.message.tool_calls),{...e,message:{...e.message,parsed:null,...e.message.tool_calls?{tool_calls:e.message.tool_calls}:void 0}}))}:Uu(e,t)}function Uu(e,t){let n=e.choices.map(e=>{if(e.finish_reason===`length`)throw new zc;if(e.finish_reason===`content_filter`)throw new Bc;return Ju(e.message.tool_calls),{...e,message:{...e.message,...e.message.tool_calls?{tool_calls:e.message.tool_calls?.map(e=>Gu(t,e))??void 0}:void 0,parsed:e.message.content&&!e.message.refusal?Wu(t,e.message.content):null}}});return{...e,choices:n}}function Wu(e,t){return e.response_format?.type===`json_schema`&&e.response_format?.type===`json_schema`?`$parseRaw`in e.response_format?e.response_format.$parseRaw(t):JSON.parse(t):null}function Gu(e,t){let n=e.tools?.find(e=>zu(e)&&e.function?.name===t.function.name);return{...t,function:{...t.function,parsed_arguments:Vu(n)?n.$parseRaw(t.function.arguments):n?.function.strict?JSON.parse(t.function.arguments):null}}}function Ku(e,t){if(!e||!(`tools`in e)||!e.tools)return!1;let n=e.tools?.find(e=>zu(e)&&e.function?.name===t.function.name);return zu(n)&&(Vu(n)||n?.function.strict||!1)}function qu(e){return Bu(e.response_format)?!0:e.tools?.some(e=>Vu(e)||e.type===`function`&&e.function.strict===!0)??!1}function Ju(e){for(let t of e||[])if(t.type!==`function`)throw new Y(`Currently only \`function\` tool calls are supported; Received \`${t.type}\``)}function Yu(e){for(let t of e??[]){if(t.type!==`function`)throw new Y(`Currently only \`function\` tool types support auto-parsing; Received \`${t.type}\``);if(t.function.strict!==!0)throw new Y(`The \`${t.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}const Xu=e=>e?.role===`assistant`,Zu=e=>e?.role===`tool`;var Qu,$u,ed,td,nd,rd,id,ad,od,sd,cd,ld,ud,dd=class{constructor(){Qu.add(this),this.controller=new AbortController,$u.set(this,void 0),ed.set(this,()=>{}),td.set(this,()=>{}),nd.set(this,void 0),rd.set(this,()=>{}),id.set(this,()=>{}),ad.set(this,{}),od.set(this,!1),sd.set(this,!1),cd.set(this,!1),ld.set(this,!1),q(this,$u,new Promise((e,t)=>{q(this,ed,e,`f`),q(this,td,t,`f`)}),`f`),q(this,nd,new Promise((e,t)=>{q(this,rd,e,`f`),q(this,id,t,`f`)}),`f`),J(this,$u,`f`).catch(()=>{}),J(this,nd,`f`).catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit(`end`)},J(this,Qu,`m`,ud).bind(this))},0)}_connected(){this.ended||(J(this,ed,`f`).call(this),this._emit(`connect`))}get ended(){return J(this,od,`f`)}get errored(){return J(this,sd,`f`)}get aborted(){return J(this,cd,`f`)}abort(){this.controller.abort()}on(e,t){return(J(this,ad,`f`)[e]||(J(this,ad,`f`)[e]=[])).push({listener:t}),this}off(e,t){let n=J(this,ad,`f`)[e];if(!n)return this;let r=n.findIndex(e=>e.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(J(this,ad,`f`)[e]||(J(this,ad,`f`)[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{q(this,ld,!0,`f`),e!==`error`&&this.once(`error`,n),this.once(e,t)})}async done(){q(this,ld,!0,`f`),await J(this,nd,`f`)}_emit(e,...t){if(J(this,od,`f`))return;e===`end`&&(q(this,od,!0,`f`),J(this,rd,`f`).call(this));let n=J(this,ad,`f`)[e];if(n&&(J(this,ad,`f`)[e]=n.filter(e=>!e.once),n.forEach(({listener:e})=>e(...t))),e===`abort`){let e=t[0];!J(this,ld,`f`)&&!n?.length&&Promise.reject(e),J(this,td,`f`).call(this,e),J(this,id,`f`).call(this,e),this._emit(`end`);return}if(e===`error`){let e=t[0];!J(this,ld,`f`)&&!n?.length&&Promise.reject(e),J(this,td,`f`).call(this,e),J(this,id,`f`).call(this,e),this._emit(`end`)}}_emitFinal(){}};$u=new WeakMap,ed=new WeakMap,td=new WeakMap,nd=new WeakMap,rd=new WeakMap,id=new WeakMap,ad=new WeakMap,od=new WeakMap,sd=new WeakMap,cd=new WeakMap,ld=new WeakMap,Qu=new WeakSet,ud=function(e){if(q(this,sd,!0,`f`),e instanceof Error&&e.name===`AbortError`&&(e=new Oc),e instanceof Oc)return q(this,cd,!0,`f`),this._emit(`abort`,e);if(e instanceof Y)return this._emit(`error`,e);if(e instanceof Error){let t=new Y(e.message);return t.cause=e,this._emit(`error`,t)}return this._emit(`error`,new Y(String(e)))};function fd(e){return typeof e.parse==`function`}var pd,md,hd,gd,_d,vd,yd,bd,xd=class extends dd{constructor(){super(...arguments),pd.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit(`chatCompletion`,e);let t=e.choices[0]?.message;return t&&this._addMessage(t),e}_addMessage(e,t=!0){if(`content`in e||(e.content=null),this.messages.push(e),t){if(this._emit(`message`,e),Zu(e)&&e.content)this._emit(`functionToolCallResult`,e.content);else if(Xu(e)&&e.tool_calls)for(let t of e.tool_calls)t.type===`function`&&this._emit(`functionToolCall`,t.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new Y(`stream ended without producing a ChatCompletion`);return e}async finalContent(){return await this.done(),J(this,pd,`m`,md).call(this)}async finalMessage(){return await this.done(),J(this,pd,`m`,hd).call(this)}async finalFunctionToolCall(){return await this.done(),J(this,pd,`m`,gd).call(this)}async finalFunctionToolCallResult(){return await this.done(),J(this,pd,`m`,_d).call(this)}async totalUsage(){return await this.done(),J(this,pd,`m`,vd).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit(`finalChatCompletion`,e);let t=J(this,pd,`m`,hd).call(this);t&&this._emit(`finalMessage`,t);let n=J(this,pd,`m`,md).call(this);n&&this._emit(`finalContent`,n);let r=J(this,pd,`m`,gd).call(this);r&&this._emit(`finalFunctionToolCall`,r);let i=J(this,pd,`m`,_d).call(this);i!=null&&this._emit(`finalFunctionToolCallResult`,i),this._chatCompletions.some(e=>e.usage)&&this._emit(`totalUsage`,J(this,pd,`m`,vd).call(this))}async _createChatCompletion(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener(`abort`,()=>this.controller.abort())),J(this,pd,`m`,yd).call(this,t);let i=await e.chat.completions.create({...t,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Uu(i,t))}async _runChatCompletion(e,t,n){for(let e of t.messages)this._addMessage(e,!1);return await this._createChatCompletion(e,t,n)}async _runTools(e,t,n){let r=`tool`,{tool_choice:i=`auto`,stream:a,...o}=t,s=typeof i!=`string`&&i.type===`function`&&i?.function?.name,{maxChatCompletions:c=10}=n||{},l=t.tools.map(e=>{if(Vu(e)){if(!e.$callback)throw new Y("Tool given to `.runTools()` that does not have an associated function");return{type:`function`,function:{function:e.$callback,name:e.function.name,description:e.function.description||``,parameters:e.function.parameters,parse:e.$parseRaw,strict:!0}}}return e}),u={};for(let e of l)e.type===`function`&&(u[e.function.name||e.function.function.name]=e.function);let d=`tools`in t?l.map(e=>e.type===`function`?{type:`function`,function:{name:e.function.name||e.function.function.name,parameters:e.function.parameters,description:e.function.description,strict:e.function.strict}}:e):void 0;for(let e of t.messages)this._addMessage(e,!1);for(let t=0;t<c;++t){let t=(await this._createChatCompletion(e,{...o,tool_choice:i,tools:d,messages:[...this.messages]},n)).choices[0]?.message;if(!t)throw new Y(`missing message in ChatCompletion response`);if(!t.tool_calls?.length)return;for(let e of t.tool_calls){if(e.type!==`function`)continue;let t=e.id,{name:n,arguments:i}=e.function,a=u[n];if(!a){let e=`Invalid tool_call: ${JSON.stringify(n)}. Available options are: ${Object.keys(u).map(e=>JSON.stringify(e)).join(`, `)}. Please try again`;this._addMessage({role:r,tool_call_id:t,content:e});continue}else if(s&&s!==n){let e=`Invalid tool_call: ${JSON.stringify(n)}. ${JSON.stringify(s)} requested. Please try again`;this._addMessage({role:r,tool_call_id:t,content:e});continue}let o;try{o=fd(a)?await a.parse(i):i}catch(e){let n=e instanceof Error?e.message:String(e);this._addMessage({role:r,tool_call_id:t,content:n});continue}let c=await a.function(o,this),l=J(this,pd,`m`,bd).call(this,c);if(this._addMessage({role:r,tool_call_id:t,content:l}),s)return}}}};pd=new WeakSet,md=function(){return J(this,pd,`m`,hd).call(this).content??null},hd=function(){let e=this.messages.length;for(;e-- >0;){let t=this.messages[e];if(Xu(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new Y(`stream ended without producing a ChatCompletionMessage with role=assistant`)},gd=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(Xu(t)&&t?.tool_calls?.length)return t.tool_calls.filter(e=>e.type===`function`).at(-1)?.function}},_d=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(Zu(t)&&t.content!=null&&typeof t.content==`string`&&this.messages.some(e=>e.role===`assistant`&&e.tool_calls?.some(e=>e.type===`function`&&e.id===t.tool_call_id)))return t.content}},vd=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},yd=function(e){if(e.n!=null&&e.n>1)throw new Y(`ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.`)},bd=function(e){return typeof e==`string`?e:e===void 0?`undefined`:JSON.stringify(e)};var Sd=class e extends xd{static runTools(t,n,r){let i=new e,a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`runTools`}};return i._run(()=>i._runTools(t,n,a)),i}_addMessage(e,t=!0){super._addMessage(e,t),Xu(e)&&e.content&&this._emit(`content`,e.content)}};const Cd={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};var wd=class extends Error{},Td=class extends Error{};function Ed(e,t=Cd.ALL){if(typeof e!=`string`)throw TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw Error(`${e} is empty`);return Dd(e.trim(),t)}const Dd=(e,t)=>{let n=e.length,r=0,i=e=>{throw new wd(`${e} at position ${r}`)},a=e=>{throw new Td(`${e} at position ${r}`)},o=()=>(d(),r>=n&&i(`Unexpected end of input`),e[r]===`"`?s():e[r]===`{`?c():e[r]===`[`?l():e.substring(r,r+4)===`null`||Cd.NULL&t&&n-r<4&&`null`.startsWith(e.substring(r))?(r+=4,null):e.substring(r,r+4)===`true`||Cd.BOOL&t&&n-r<4&&`true`.startsWith(e.substring(r))?(r+=4,!0):e.substring(r,r+5)===`false`||Cd.BOOL&t&&n-r<5&&`false`.startsWith(e.substring(r))?(r+=5,!1):e.substring(r,r+8)===`Infinity`||Cd.INFINITY&t&&n-r<8&&`Infinity`.startsWith(e.substring(r))?(r+=8,1/0):e.substring(r,r+9)===`-Infinity`||Cd.MINUS_INFINITY&t&&1<n-r&&n-r<9&&`-Infinity`.startsWith(e.substring(r))?(r+=9,-1/0):e.substring(r,r+3)===`NaN`||Cd.NAN&t&&n-r<3&&`NaN`.startsWith(e.substring(r))?(r+=3,NaN):u()),s=()=>{let o=r,s=!1;for(r++;r<n&&(e[r]!==`"`||s&&e[r-1]===`\\`);)s=e[r]===`\\`?!s:!1,r++;if(e.charAt(r)==`"`)try{return JSON.parse(e.substring(o,++r-Number(s)))}catch(e){a(String(e))}else if(Cd.STR&t)try{return JSON.parse(e.substring(o,r-Number(s))+`"`)}catch{return JSON.parse(e.substring(o,e.lastIndexOf(`\\`))+`"`)}i(`Unterminated string literal`)},c=()=>{r++,d();let a={};try{for(;e[r]!==`}`;){if(d(),r>=n&&Cd.OBJ&t)return a;let i=s();d(),r++;try{let e=o();Object.defineProperty(a,i,{value:e,writable:!0,enumerable:!0,configurable:!0})}catch(e){if(Cd.OBJ&t)return a;throw e}d(),e[r]===`,`&&r++}}catch{if(Cd.OBJ&t)return a;i(`Expected '}' at end of object`)}return r++,a},l=()=>{r++;let n=[];try{for(;e[r]!==`]`;)n.push(o()),d(),e[r]===`,`&&r++}catch{if(Cd.ARR&t)return n;i(`Expected ']' at end of array`)}return r++,n},u=()=>{if(r===0){e===`-`&&Cd.NUM&t&&i(`Not sure what '-' is`);try{return JSON.parse(e)}catch(n){if(Cd.NUM&t)try{return e[e.length-1]===`.`?JSON.parse(e.substring(0,e.lastIndexOf(`.`))):JSON.parse(e.substring(0,e.lastIndexOf(`e`)))}catch{}a(String(n))}}let o=r;for(e[r]===`-`&&r++;e[r]&&!`,]}`.includes(e[r]);)r++;r==n&&!(Cd.NUM&t)&&i(`Unterminated number literal`);try{return JSON.parse(e.substring(o,r))}catch{e.substring(o,r)===`-`&&Cd.NUM&t&&i(`Not sure what '-' is`);try{return JSON.parse(e.substring(o,e.lastIndexOf(`e`)))}catch(e){a(String(e))}}},d=()=>{for(;r<n&&`
|
|
223
|
+
\r `.includes(e[r]);)r++};return o()},Od=e=>Ed(e,Cd.ALL^Cd.NUM);var kd,Ad,jd,Md,Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd=class e extends xd{constructor(e){super(),kd.add(this),Ad.set(this,void 0),jd.set(this,void 0),Md.set(this,void 0),q(this,Ad,e,`f`),q(this,jd,[],`f`)}get currentChatCompletionSnapshot(){return J(this,Md,`f`)}static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static createChatCompletion(t,n,r){let i=new e(n);return i._run(()=>i._runChatCompletion(t,{...n,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),i}async _createChatCompletion(e,t,n){super._createChatCompletion;let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener(`abort`,()=>this.controller.abort())),J(this,kd,`m`,Nd).call(this);let i=await e.chat.completions.create({...t,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(let e of i)J(this,kd,`m`,Fd).call(this,e);if(i.controller.signal?.aborted)throw new Oc;return this._addChatCompletion(J(this,kd,`m`,Rd).call(this))}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener(`abort`,()=>this.controller.abort())),J(this,kd,`m`,Nd).call(this),this._connected();let r=eu.fromReadableStream(e,this.controller),i;for await(let e of r)i&&i!==e.id&&this._addChatCompletion(J(this,kd,`m`,Rd).call(this)),J(this,kd,`m`,Fd).call(this,e),i=e.id;if(r.controller.signal?.aborted)throw new Oc;return this._addChatCompletion(J(this,kd,`m`,Rd).call(this))}[(Ad=new WeakMap,jd=new WeakMap,Md=new WeakMap,kd=new WeakSet,Nd=function(){this.ended||q(this,Md,void 0,`f`)},Pd=function(e){let t=J(this,jd,`f`)[e.index];return t||(t={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},J(this,jd,`f`)[e.index]=t,t)},Fd=function(e){if(this.ended)return;let t=J(this,kd,`m`,Bd).call(this,e);this._emit(`chunk`,e,t);for(let n of e.choices){let e=t.choices[n.index];n.delta.content!=null&&e.message?.role===`assistant`&&e.message?.content&&(this._emit(`content`,n.delta.content,e.message.content),this._emit(`content.delta`,{delta:n.delta.content,snapshot:e.message.content,parsed:e.message.parsed})),n.delta.refusal!=null&&e.message?.role===`assistant`&&e.message?.refusal&&this._emit(`refusal.delta`,{delta:n.delta.refusal,snapshot:e.message.refusal}),n.logprobs?.content!=null&&e.message?.role===`assistant`&&this._emit(`logprobs.content.delta`,{content:n.logprobs?.content,snapshot:e.logprobs?.content??[]}),n.logprobs?.refusal!=null&&e.message?.role===`assistant`&&this._emit(`logprobs.refusal.delta`,{refusal:n.logprobs?.refusal,snapshot:e.logprobs?.refusal??[]});let r=J(this,kd,`m`,Pd).call(this,e);e.finish_reason&&(J(this,kd,`m`,Ld).call(this,e),r.current_tool_call_index!=null&&J(this,kd,`m`,Id).call(this,e,r.current_tool_call_index));for(let t of n.delta.tool_calls??[])r.current_tool_call_index!==t.index&&(J(this,kd,`m`,Ld).call(this,e),r.current_tool_call_index!=null&&J(this,kd,`m`,Id).call(this,e,r.current_tool_call_index)),r.current_tool_call_index=t.index;for(let t of n.delta.tool_calls??[]){let n=e.message.tool_calls?.[t.index];n?.type&&(n?.type===`function`?this._emit(`tool_calls.function.arguments.delta`,{name:n.function?.name,index:t.index,arguments:n.function.arguments,parsed_arguments:n.function.parsed_arguments,arguments_delta:t.function?.arguments??``}):n?.type)}}},Id=function(e,t){if(J(this,kd,`m`,Pd).call(this,e).done_tool_calls.has(t))return;let n=e.message.tool_calls?.[t];if(!n)throw Error(`no tool call snapshot`);if(!n.type)throw Error("tool call snapshot missing `type`");if(n.type===`function`){let e=J(this,Ad,`f`)?.tools?.find(e=>zu(e)&&e.function.name===n.function.name);this._emit(`tool_calls.function.arguments.done`,{name:n.function.name,index:t,arguments:n.function.arguments,parsed_arguments:Vu(e)?e.$parseRaw(n.function.arguments):e?.function.strict?JSON.parse(n.function.arguments):null})}else n.type},Ld=function(e){let t=J(this,kd,`m`,Pd).call(this,e);if(e.message.content&&!t.content_done){t.content_done=!0;let n=J(this,kd,`m`,zd).call(this);this._emit(`content.done`,{content:e.message.content,parsed:n?n.$parseRaw(e.message.content):null})}e.message.refusal&&!t.refusal_done&&(t.refusal_done=!0,this._emit(`refusal.done`,{refusal:e.message.refusal})),e.logprobs?.content&&!t.logprobs_content_done&&(t.logprobs_content_done=!0,this._emit(`logprobs.content.done`,{content:e.logprobs.content})),e.logprobs?.refusal&&!t.logprobs_refusal_done&&(t.logprobs_refusal_done=!0,this._emit(`logprobs.refusal.done`,{refusal:e.logprobs.refusal}))},Rd=function(){if(this.ended)throw new Y(`stream has ended, this shouldn't happen`);let e=J(this,Md,`f`);if(!e)throw new Y(`request ended without sending any chunks`);return q(this,Md,void 0,`f`),q(this,jd,[],`f`),Hd(e,J(this,Ad,`f`))},zd=function(){let e=J(this,Ad,`f`)?.response_format;return Bu(e)?e:null},Bd=function(e){var t,n,r,i;let a=J(this,Md,`f`),{choices:o,...s}=e;a?Object.assign(a,s):a=q(this,Md,{...s,choices:[]},`f`);for(let{delta:o,finish_reason:s,index:c,logprobs:l=null,...u}of e.choices){let e=a.choices[c];if(e||=a.choices[c]={finish_reason:s,index:c,message:{},logprobs:l,...u},l)if(!e.logprobs)e.logprobs=Object.assign({},l);else{let{content:r,refusal:i,...a}=l;Object.assign(e.logprobs,a),r&&((t=e.logprobs).content??(t.content=[]),e.logprobs.content.push(...r)),i&&((n=e.logprobs).refusal??(n.refusal=[]),e.logprobs.refusal.push(...i))}if(s&&(e.finish_reason=s,J(this,Ad,`f`)&&qu(J(this,Ad,`f`)))){if(s===`length`)throw new zc;if(s===`content_filter`)throw new Bc}if(Object.assign(e,u),!o)continue;let{content:d,refusal:f,function_call:p,role:m,tool_calls:h,...g}=o;if(Object.assign(e.message,g),f&&(e.message.refusal=(e.message.refusal||``)+f),m&&(e.message.role=m),p&&(e.message.function_call?(p.name&&(e.message.function_call.name=p.name),p.arguments&&((r=e.message.function_call).arguments??(r.arguments=``),e.message.function_call.arguments+=p.arguments)):e.message.function_call=p),d&&(e.message.content=(e.message.content||``)+d,!e.message.refusal&&J(this,kd,`m`,zd).call(this)&&(e.message.parsed=Od(e.message.content))),h){e.message.tool_calls||(e.message.tool_calls=[]);for(let{index:t,id:n,type:r,function:a,...o}of h){let s=(i=e.message.tool_calls)[t]??(i[t]={});Object.assign(s,o),n&&(s.id=n),r&&(s.type=r),a&&(s.function??={name:a.name??``,arguments:``}),a?.name&&(s.function.name=a.name),a?.arguments&&(s.function.arguments+=a.arguments,Ku(J(this,Ad,`f`),s)&&(s.function.parsed_arguments=Od(s.function.arguments)))}}}return a},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`chunk`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new eu(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function Hd(e,t){let{id:n,choices:r,created:i,model:a,system_fingerprint:o,...s}=e;return Hu({...s,id:n,choices:r.map(({message:t,finish_reason:n,index:r,logprobs:i,...a})=>{if(!n)throw new Y(`missing finish_reason for choice ${r}`);let{content:o=null,function_call:s,tool_calls:c,...l}=t,u=t.role;if(!u)throw new Y(`missing role for choice ${r}`);if(s){let{arguments:e,name:c}=s;if(e==null)throw new Y(`missing function_call.arguments for choice ${r}`);if(!c)throw new Y(`missing function_call.name for choice ${r}`);return{...a,message:{content:o,function_call:{arguments:e,name:c},role:u,refusal:t.refusal??null},finish_reason:n,index:r,logprobs:i}}return c?{...a,index:r,finish_reason:n,logprobs:i,message:{...l,role:u,content:o,refusal:t.refusal??null,tool_calls:c.map((t,n)=>{let{function:i,type:a,id:o,...s}=t,{arguments:c,name:l,...u}=i||{};if(o==null)throw new Y(`missing choices[${r}].tool_calls[${n}].id\n${Ud(e)}`);if(a==null)throw new Y(`missing choices[${r}].tool_calls[${n}].type\n${Ud(e)}`);if(l==null)throw new Y(`missing choices[${r}].tool_calls[${n}].function.name\n${Ud(e)}`);if(c==null)throw new Y(`missing choices[${r}].tool_calls[${n}].function.arguments\n${Ud(e)}`);return{...s,id:o,type:a,function:{...u,name:l,arguments:c}}})}}:{...a,message:{...l,content:o,role:u,refusal:t.refusal??null},finish_reason:n,index:r,logprobs:i}}),created:i,model:a,object:`chat.completion`,...o?{system_fingerprint:o}:{}},t)}function Ud(e){return JSON.stringify(e)}var Wd=class e extends Vd{static fromReadableStream(t){let n=new e(null);return n._run(()=>n._fromReadableStream(t)),n}static runTools(t,n,r){let i=new e(n),a={...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`runTools`}};return i._run(()=>i._runTools(t,n,a)),i}},Gd=class extends X{constructor(){super(...arguments),this.messages=new Ru(this._client)}create(e,t){return this._client.post(`/chat/completions`,{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(Z`/chat/completions/${e}`,t)}update(e,t,n){return this._client.post(Z`/chat/completions/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList(`/chat/completions`,pu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/chat/completions/${e}`,t)}parse(e,t){return Yu(e.tools),this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":`chat.completions.parse`}})._thenUnwrap(t=>Uu(t,e))}runTools(e,t){return e.stream?Wd.runTools(this._client,e,t):Sd.runTools(this._client,e,t)}stream(e,t){return Vd.createChatCompletion(this._client,e,t)}};Gd.Messages=Ru;var Kd=class extends X{constructor(){super(...arguments),this.completions=new Gd(this._client)}};Kd.Completions=Gd;const qd=Symbol(`brand.privateNullableHeaders`);function*Jd(e){if(!e)return;if(qd in e){let{values:t,nulls:n}=e;yield*t.entries();for(let e of n)yield[e,null];return}let t=!1,n;e instanceof Headers?n=e.entries():qc(e)?n=e:(t=!0,n=Object.entries(e??{}));for(let e of n){let n=e[0];if(typeof n!=`string`)throw TypeError(`expected header name to be a string`);let r=qc(e[1])?e[1]:[e[1]],i=!1;for(let e of r)e!==void 0&&(t&&!i&&(i=!0,yield[n,null]),yield[n,e])}}const Q=e=>{let t=new Headers,n=new Set;for(let r of e){let e=new Set;for(let[i,a]of Jd(r)){let r=i.toLowerCase();e.has(r)||(t.delete(i),e.add(r)),a===null?(t.delete(i),n.add(r)):(t.append(i,a),n.delete(r))}}return{[qd]:!0,values:t,nulls:n}};var Yd=class extends X{create(e,t){return this._client.post(`/audio/speech`,{body:e,...t,headers:Q([{Accept:`application/octet-stream`},t?.headers]),__binaryResponse:!0})}},Xd=class extends X{create(e,t){return this._client.post(`/audio/transcriptions`,Su({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}},Zd=class extends X{create(e,t){return this._client.post(`/audio/translations`,Su({body:e,...t,__metadata:{model:e.model}},this._client))}},Qd=class extends X{constructor(){super(...arguments),this.transcriptions=new Xd(this._client),this.translations=new Zd(this._client),this.speech=new Yd(this._client)}};Qd.Transcriptions=Xd,Qd.Translations=Zd,Qd.Speech=Yd;var $d=class extends X{create(e,t){return this._client.post(`/batches`,{body:e,...t})}retrieve(e,t){return this._client.get(Z`/batches/${e}`,t)}list(e={},t){return this._client.getAPIList(`/batches`,pu,{query:e,...t})}cancel(e,t){return this._client.post(Z`/batches/${e}/cancel`,t)}},ef=class extends X{create(e,t){return this._client.post(`/assistants`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}retrieve(e,t){return this._client.get(Z`/assistants/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}update(e,t,n){return this._client.post(Z`/assistants/${e}`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e={},t){return this._client.getAPIList(`/assistants`,pu,{query:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}delete(e,t){return this._client.delete(Z`/assistants/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}},tf=class extends X{create(e,t){return this._client.post(`/realtime/sessions`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}},nf=class extends X{create(e,t){return this._client.post(`/realtime/transcription_sessions`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}},rf=class extends X{constructor(){super(...arguments),this.sessions=new tf(this._client),this.transcriptionSessions=new nf(this._client)}};rf.Sessions=tf,rf.TranscriptionSessions=nf;var af=class extends X{create(e,t){return this._client.post(`/chatkit/sessions`,{body:e,...t,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},t?.headers])})}cancel(e,t){return this._client.post(Z`/chatkit/sessions/${e}/cancel`,{...t,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},t?.headers])})}},of=class extends X{retrieve(e,t){return this._client.get(Z`/chatkit/threads/${e}`,{...t,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},t?.headers])})}list(e={},t){return this._client.getAPIList(`/chatkit/threads`,mu,{query:e,...t,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},t?.headers])})}delete(e,t){return this._client.delete(Z`/chatkit/threads/${e}`,{...t,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},t?.headers])})}listItems(e,t={},n){return this._client.getAPIList(Z`/chatkit/threads/${e}/items`,mu,{query:t,...n,headers:Q([{"OpenAI-Beta":`chatkit_beta=v1`},n?.headers])})}},sf=class extends X{constructor(){super(...arguments),this.sessions=new af(this._client),this.threads=new of(this._client)}};sf.Sessions=af,sf.Threads=of;var cf=class extends X{create(e,t,n){return this._client.post(Z`/threads/${e}/messages`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}retrieve(e,t,n){let{thread_id:r}=t;return this._client.get(Z`/threads/${r}/messages/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}update(e,t,n){let{thread_id:r,...i}=t;return this._client.post(Z`/threads/${r}/messages/${e}`,{body:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e,t={},n){return this._client.getAPIList(Z`/threads/${e}/messages`,pu,{query:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}delete(e,t,n){let{thread_id:r}=t;return this._client.delete(Z`/threads/${r}/messages/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}},lf=class extends X{retrieve(e,t,n){let{thread_id:r,run_id:i,...a}=t;return this._client.get(Z`/threads/${r}/runs/${i}/steps/${e}`,{query:a,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e,t,n){let{thread_id:r,...i}=t;return this._client.getAPIList(Z`/threads/${r}/runs/${e}/steps`,pu,{query:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}};const uf=e=>{if(typeof Buffer<`u`){let t=Buffer.from(e,`base64`);return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}else{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return Array.from(new Float32Array(r.buffer))}},df=e=>{if(globalThis.process!==void 0)return globalThis.process.env?.[e]?.trim()??void 0;if(globalThis.Deno!==void 0)return globalThis.Deno.env?.get?.(e)?.trim()};var ff,pf,mf,hf,gf,_f,vf,yf,bf,xf,Sf,Cf,wf,Tf,Ef,Df,Of,kf,Af,jf,Mf,Nf,Pf,Ff=class extends dd{constructor(){super(...arguments),ff.add(this),mf.set(this,[]),hf.set(this,{}),gf.set(this,{}),_f.set(this,void 0),vf.set(this,void 0),yf.set(this,void 0),bf.set(this,void 0),xf.set(this,void 0),Sf.set(this,void 0),Cf.set(this,void 0),wf.set(this,void 0),Tf.set(this,void 0)}[(mf=new WeakMap,hf=new WeakMap,gf=new WeakMap,_f=new WeakMap,vf=new WeakMap,yf=new WeakMap,bf=new WeakMap,xf=new WeakMap,Sf=new WeakMap,Cf=new WeakMap,wf=new WeakMap,Tf=new WeakMap,ff=new WeakSet,Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`event`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let t=new pf;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){let n=t?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener(`abort`,()=>this.controller.abort())),this._connected();let r=eu.fromReadableStream(e,this.controller);for await(let e of r)J(this,ff,`m`,Ef).call(this,e);if(r.controller.signal?.aborted)throw new Oc;return this._addRun(J(this,ff,`m`,Df).call(this))}toReadableStream(){return new eu(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,n,r){let i=new pf;return i._run(()=>i._runToolAssistantStream(e,t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),i}async _createToolAssistantStream(e,t,n,r){let i=r?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener(`abort`,()=>this.controller.abort()));let a={...n,stream:!0},o=await e.submitToolOutputs(t,a,{...r,signal:this.controller.signal});this._connected();for await(let e of o)J(this,ff,`m`,Ef).call(this,e);if(o.controller.signal?.aborted)throw new Oc;return this._addRun(J(this,ff,`m`,Df).call(this))}static createThreadAssistantStream(e,t,n){let r=new pf;return r._run(()=>r._threadAssistantStream(e,t,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":`stream`}})),r}static createAssistantStream(e,t,n,r){let i=new pf;return i._run(()=>i._runAssistantStream(e,t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),i}currentEvent(){return J(this,Cf,`f`)}currentRun(){return J(this,wf,`f`)}currentMessageSnapshot(){return J(this,_f,`f`)}currentRunStepSnapshot(){return J(this,Tf,`f`)}async finalRunSteps(){return await this.done(),Object.values(J(this,hf,`f`))}async finalMessages(){return await this.done(),Object.values(J(this,gf,`f`))}async finalRun(){if(await this.done(),!J(this,vf,`f`))throw Error(`Final run was not received.`);return J(this,vf,`f`)}async _createThreadAssistantStream(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener(`abort`,()=>this.controller.abort()));let i={...t,stream:!0},a=await e.createAndRun(i,{...n,signal:this.controller.signal});this._connected();for await(let e of a)J(this,ff,`m`,Ef).call(this,e);if(a.controller.signal?.aborted)throw new Oc;return this._addRun(J(this,ff,`m`,Df).call(this))}async _createAssistantStream(e,t,n,r){let i=r?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener(`abort`,()=>this.controller.abort()));let a={...n,stream:!0},o=await e.create(t,a,{...r,signal:this.controller.signal});this._connected();for await(let e of o)J(this,ff,`m`,Ef).call(this,e);if(o.controller.signal?.aborted)throw new Oc;return this._addRun(J(this,ff,`m`,Df).call(this))}static accumulateDelta(e,t){for(let[n,r]of Object.entries(t)){if(!e.hasOwnProperty(n)){e[n]=r;continue}let t=e[n];if(t==null){e[n]=r;continue}if(n===`index`||n===`type`){e[n]=r;continue}if(typeof t==`string`&&typeof r==`string`)t+=r;else if(typeof t==`number`&&typeof r==`number`)t+=r;else if(Zc(t)&&Zc(r))t=this.accumulateDelta(t,r);else if(Array.isArray(t)&&Array.isArray(r)){if(t.every(e=>typeof e==`string`||typeof e==`number`)){t.push(...r);continue}for(let e of r){if(!Zc(e))throw Error(`Expected array delta entry to be an object but got: ${e}`);let n=e.index;if(n==null)throw console.error(e),Error("Expected array delta entry to have an `index` property");if(typeof n!=`number`)throw Error(`Expected array delta entry \`index\` property to be a number but got ${n}`);let r=t[n];r==null?t.push(e):t[n]=this.accumulateDelta(r,e)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${r}, accValue: ${t}`);e[n]=t}return e}_addRun(e){return e}async _threadAssistantStream(e,t,n){return await this._createThreadAssistantStream(t,e,n)}async _runAssistantStream(e,t,n,r){return await this._createAssistantStream(t,e,n,r)}async _runToolAssistantStream(e,t,n,r){return await this._createToolAssistantStream(t,e,n,r)}};pf=Ff,Ef=function(e){if(!this.ended)switch(q(this,Cf,e,`f`),J(this,ff,`m`,Af).call(this,e),e.event){case`thread.created`:break;case`thread.run.created`:case`thread.run.queued`:case`thread.run.in_progress`:case`thread.run.requires_action`:case`thread.run.completed`:case`thread.run.incomplete`:case`thread.run.failed`:case`thread.run.cancelling`:case`thread.run.cancelled`:case`thread.run.expired`:J(this,ff,`m`,Pf).call(this,e);break;case`thread.run.step.created`:case`thread.run.step.in_progress`:case`thread.run.step.delta`:case`thread.run.step.completed`:case`thread.run.step.failed`:case`thread.run.step.cancelled`:case`thread.run.step.expired`:J(this,ff,`m`,kf).call(this,e);break;case`thread.message.created`:case`thread.message.in_progress`:case`thread.message.delta`:case`thread.message.completed`:case`thread.message.incomplete`:J(this,ff,`m`,Of).call(this,e);break;case`error`:throw Error(`Encountered an error event in event processing - errors should be processed earlier`);default:}},Df=function(){if(this.ended)throw new Y(`stream has ended, this shouldn't happen`);if(!J(this,vf,`f`))throw Error(`Final run has not been received`);return J(this,vf,`f`)},Of=function(e){let[t,n]=J(this,ff,`m`,Mf).call(this,e,J(this,_f,`f`));q(this,_f,t,`f`),J(this,gf,`f`)[t.id]=t;for(let e of n){let n=t.content[e.index];n?.type==`text`&&this._emit(`textCreated`,n.text)}switch(e.event){case`thread.message.created`:this._emit(`messageCreated`,e.data);break;case`thread.message.in_progress`:break;case`thread.message.delta`:if(this._emit(`messageDelta`,e.data.delta,t),e.data.delta.content)for(let n of e.data.delta.content){if(n.type==`text`&&n.text){let e=n.text,r=t.content[n.index];if(r&&r.type==`text`)this._emit(`textDelta`,e,r.text);else throw Error(`The snapshot associated with this text delta is not text or missing`)}if(n.index!=J(this,yf,`f`)){if(J(this,bf,`f`))switch(J(this,bf,`f`).type){case`text`:this._emit(`textDone`,J(this,bf,`f`).text,J(this,_f,`f`));break;case`image_file`:this._emit(`imageFileDone`,J(this,bf,`f`).image_file,J(this,_f,`f`));break}q(this,yf,n.index,`f`)}q(this,bf,t.content[n.index],`f`)}break;case`thread.message.completed`:case`thread.message.incomplete`:if(J(this,yf,`f`)!==void 0){let t=e.data.content[J(this,yf,`f`)];if(t)switch(t.type){case`image_file`:this._emit(`imageFileDone`,t.image_file,J(this,_f,`f`));break;case`text`:this._emit(`textDone`,t.text,J(this,_f,`f`));break}}J(this,_f,`f`)&&this._emit(`messageDone`,e.data),q(this,_f,void 0,`f`)}},kf=function(e){let t=J(this,ff,`m`,jf).call(this,e);switch(q(this,Tf,t,`f`),e.event){case`thread.run.step.created`:this._emit(`runStepCreated`,e.data);break;case`thread.run.step.delta`:let n=e.data.delta;if(n.step_details&&n.step_details.type==`tool_calls`&&n.step_details.tool_calls&&t.step_details.type==`tool_calls`)for(let e of n.step_details.tool_calls)e.index==J(this,xf,`f`)?this._emit(`toolCallDelta`,e,t.step_details.tool_calls[e.index]):(J(this,Sf,`f`)&&this._emit(`toolCallDone`,J(this,Sf,`f`)),q(this,xf,e.index,`f`),q(this,Sf,t.step_details.tool_calls[e.index],`f`),J(this,Sf,`f`)&&this._emit(`toolCallCreated`,J(this,Sf,`f`)));this._emit(`runStepDelta`,e.data.delta,t);break;case`thread.run.step.completed`:case`thread.run.step.failed`:case`thread.run.step.cancelled`:case`thread.run.step.expired`:q(this,Tf,void 0,`f`),e.data.step_details.type==`tool_calls`&&J(this,Sf,`f`)&&(this._emit(`toolCallDone`,J(this,Sf,`f`)),q(this,Sf,void 0,`f`)),this._emit(`runStepDone`,e.data,t);break;case`thread.run.step.in_progress`:break}},Af=function(e){J(this,mf,`f`).push(e),this._emit(`event`,e)},jf=function(e){switch(e.event){case`thread.run.step.created`:return J(this,hf,`f`)[e.data.id]=e.data,e.data;case`thread.run.step.delta`:let t=J(this,hf,`f`)[e.data.id];if(!t)throw Error(`Received a RunStepDelta before creation of a snapshot`);let n=e.data;if(n.delta){let r=pf.accumulateDelta(t,n.delta);J(this,hf,`f`)[e.data.id]=r}return J(this,hf,`f`)[e.data.id];case`thread.run.step.completed`:case`thread.run.step.failed`:case`thread.run.step.cancelled`:case`thread.run.step.expired`:case`thread.run.step.in_progress`:J(this,hf,`f`)[e.data.id]=e.data;break}if(J(this,hf,`f`)[e.data.id])return J(this,hf,`f`)[e.data.id];throw Error(`No snapshot available`)},Mf=function(e,t){let n=[];switch(e.event){case`thread.message.created`:return[e.data,n];case`thread.message.delta`:if(!t)throw Error(`Received a delta with no existing snapshot (there should be one from message creation)`);let r=e.data;if(r.delta.content)for(let e of r.delta.content)if(e.index in t.content){let n=t.content[e.index];t.content[e.index]=J(this,ff,`m`,Nf).call(this,e,n)}else t.content[e.index]=e,n.push(e);return[t,n];case`thread.message.in_progress`:case`thread.message.completed`:case`thread.message.incomplete`:if(t)return[t,n];throw Error(`Received thread message event with no existing snapshot`)}throw Error(`Tried to accumulate a non-message event`)},Nf=function(e,t){return pf.accumulateDelta(t,e)},Pf=function(e){switch(q(this,wf,e.data,`f`),e.event){case`thread.run.created`:break;case`thread.run.queued`:break;case`thread.run.in_progress`:break;case`thread.run.requires_action`:case`thread.run.cancelled`:case`thread.run.failed`:case`thread.run.completed`:case`thread.run.expired`:case`thread.run.incomplete`:q(this,vf,e.data,`f`),J(this,Sf,`f`)&&(this._emit(`toolCallDone`,J(this,Sf,`f`)),q(this,Sf,void 0,`f`));break;case`thread.run.cancelling`:break}};var If=class extends X{constructor(){super(...arguments),this.steps=new lf(this._client)}create(e,t,n){let{include:r,...i}=t;return this._client.post(Z`/threads/${e}/runs`,{query:{include:r},body:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}retrieve(e,t,n){let{thread_id:r}=t;return this._client.get(Z`/threads/${r}/runs/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}update(e,t,n){let{thread_id:r,...i}=t;return this._client.post(Z`/threads/${r}/runs/${e}`,{body:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e,t={},n){return this._client.getAPIList(Z`/threads/${e}/runs`,pu,{query:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}cancel(e,t,n){let{thread_id:r}=t;return this._client.post(Z`/threads/${r}/runs/${e}/cancel`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t,n);return await this.poll(r.id,{thread_id:e},n)}createAndStream(e,t,n){return Ff.createAssistantStream(e,this._client.beta.threads.runs,t,n)}async poll(e,t,n){let r=Q([n?.headers,{"X-Stainless-Poll-Helper":`true`,"X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:a}=await this.retrieve(e,t,{...n,headers:{...n?.headers,...r}}).withResponse();switch(i.status){case`queued`:case`in_progress`:case`cancelling`:let e=5e3;if(n?.pollIntervalMs)e=n.pollIntervalMs;else{let t=a.headers.get(`openai-poll-after-ms`);if(t){let n=parseInt(t);isNaN(n)||(e=n)}}await el(e);break;case`requires_action`:case`incomplete`:case`cancelled`:case`completed`:case`failed`:case`expired`:return i}}}stream(e,t,n){return Ff.createAssistantStream(e,this._client.beta.threads.runs,t,n)}submitToolOutputs(e,t,n){let{thread_id:r,...i}=t;return this._client.post(Z`/threads/${r}/runs/${e}/submit_tool_outputs`,{body:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers]),stream:t.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,t,n){let r=await this.submitToolOutputs(e,t,n);return await this.poll(r.id,t,n)}submitToolOutputsStream(e,t,n){return Ff.createToolAssistantStream(e,this._client.beta.threads.runs,t,n)}};If.Steps=lf;var Lf=class extends X{constructor(){super(...arguments),this.runs=new If(this._client),this.messages=new cf(this._client)}create(e={},t){return this._client.post(`/threads`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}retrieve(e,t){return this._client.get(Z`/threads/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}update(e,t,n){return this._client.post(Z`/threads/${e}`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}delete(e,t){return this._client.delete(Z`/threads/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}createAndRun(e,t){return this._client.post(`/threads/runs`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers]),stream:e.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(e,t){let n=await this.createAndRun(e,t);return await this.runs.poll(n.id,{thread_id:n.thread_id},t)}createAndRunStream(e,t){return Ff.createThreadAssistantStream(e,this._client.beta.threads,t)}};Lf.Runs=If,Lf.Messages=cf;var Rf=class extends X{constructor(){super(...arguments),this.realtime=new rf(this._client),this.chatkit=new sf(this._client),this.assistants=new ef(this._client),this.threads=new Lf(this._client)}};Rf.Realtime=rf,Rf.ChatKit=sf,Rf.Assistants=ef,Rf.Threads=Lf;var zf=class extends X{create(e,t){return this._client.post(`/completions`,{body:e,...t,stream:e.stream??!1})}},Bf=class extends X{retrieve(e,t,n){let{container_id:r}=t;return this._client.get(Z`/containers/${r}/files/${e}/content`,{...n,headers:Q([{Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}},Vf=class extends X{constructor(){super(...arguments),this.content=new Bf(this._client)}create(e,t,n){return this._client.post(Z`/containers/${e}/files`,xu({body:t,...n},this._client))}retrieve(e,t,n){let{container_id:r}=t;return this._client.get(Z`/containers/${r}/files/${e}`,n)}list(e,t={},n){return this._client.getAPIList(Z`/containers/${e}/files`,pu,{query:t,...n})}delete(e,t,n){let{container_id:r}=t;return this._client.delete(Z`/containers/${r}/files/${e}`,{...n,headers:Q([{Accept:`*/*`},n?.headers])})}};Vf.Content=Bf;var Hf=class extends X{constructor(){super(...arguments),this.files=new Vf(this._client)}create(e,t){return this._client.post(`/containers`,{body:e,...t})}retrieve(e,t){return this._client.get(Z`/containers/${e}`,t)}list(e={},t){return this._client.getAPIList(`/containers`,pu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/containers/${e}`,{...t,headers:Q([{Accept:`*/*`},t?.headers])})}};Hf.Files=Vf;var Uf=class extends X{create(e,t,n){let{include:r,...i}=t;return this._client.post(Z`/conversations/${e}/items`,{query:{include:r},body:i,...n})}retrieve(e,t,n){let{conversation_id:r,...i}=t;return this._client.get(Z`/conversations/${r}/items/${e}`,{query:i,...n})}list(e,t={},n){return this._client.getAPIList(Z`/conversations/${e}/items`,mu,{query:t,...n})}delete(e,t,n){let{conversation_id:r}=t;return this._client.delete(Z`/conversations/${r}/items/${e}`,n)}},Wf=class extends X{constructor(){super(...arguments),this.items=new Uf(this._client)}create(e={},t){return this._client.post(`/conversations`,{body:e,...t})}retrieve(e,t){return this._client.get(Z`/conversations/${e}`,t)}update(e,t,n){return this._client.post(Z`/conversations/${e}`,{body:t,...n})}delete(e,t){return this._client.delete(Z`/conversations/${e}`,t)}};Wf.Items=Uf;var Gf=class extends X{create(e,t){let n=!!e.encoding_format,r=n?e.encoding_format:`base64`;n&&Zl(this._client).debug(`embeddings/user defined encoding_format:`,e.encoding_format);let i=this._client.post(`/embeddings`,{body:{...e,encoding_format:r},...t});return n?i:(Zl(this._client).debug(`embeddings/decoding base64 embeddings from base64`),i._thenUnwrap(e=>(e&&e.data&&e.data.forEach(e=>{let t=e.embedding;e.embedding=uf(t)}),e)))}},Kf=class extends X{retrieve(e,t,n){let{eval_id:r,run_id:i}=t;return this._client.get(Z`/evals/${r}/runs/${i}/output_items/${e}`,n)}list(e,t,n){let{eval_id:r,...i}=t;return this._client.getAPIList(Z`/evals/${r}/runs/${e}/output_items`,pu,{query:i,...n})}},qf=class extends X{constructor(){super(...arguments),this.outputItems=new Kf(this._client)}create(e,t,n){return this._client.post(Z`/evals/${e}/runs`,{body:t,...n})}retrieve(e,t,n){let{eval_id:r}=t;return this._client.get(Z`/evals/${r}/runs/${e}`,n)}list(e,t={},n){return this._client.getAPIList(Z`/evals/${e}/runs`,pu,{query:t,...n})}delete(e,t,n){let{eval_id:r}=t;return this._client.delete(Z`/evals/${r}/runs/${e}`,n)}cancel(e,t,n){let{eval_id:r}=t;return this._client.post(Z`/evals/${r}/runs/${e}`,n)}};qf.OutputItems=Kf;var Jf=class extends X{constructor(){super(...arguments),this.runs=new qf(this._client)}create(e,t){return this._client.post(`/evals`,{body:e,...t})}retrieve(e,t){return this._client.get(Z`/evals/${e}`,t)}update(e,t,n){return this._client.post(Z`/evals/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList(`/evals`,pu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/evals/${e}`,t)}};Jf.Runs=qf;var Yf=class extends X{create(e,t){return this._client.post(`/files`,Su({body:e,...t},this._client))}retrieve(e,t){return this._client.get(Z`/files/${e}`,t)}list(e={},t){return this._client.getAPIList(`/files`,pu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/files/${e}`,t)}content(e,t){return this._client.get(Z`/files/${e}/content`,{...t,headers:Q([{Accept:`application/binary`},t?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:n=1800*1e3}={}){let r=new Set([`processed`,`error`,`deleted`]),i=Date.now(),a=await this.retrieve(e);for(;!a.status||!r.has(a.status);)if(await el(t),a=await this.retrieve(e),Date.now()-i>n)throw new Ac({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return a}},Xf=class extends X{},Zf=class extends X{run(e,t){return this._client.post(`/fine_tuning/alpha/graders/run`,{body:e,...t})}validate(e,t){return this._client.post(`/fine_tuning/alpha/graders/validate`,{body:e,...t})}},Qf=class extends X{constructor(){super(...arguments),this.graders=new Zf(this._client)}};Qf.Graders=Zf;var $f=class extends X{create(e,t,n){return this._client.getAPIList(Z`/fine_tuning/checkpoints/${e}/permissions`,fu,{body:t,method:`post`,...n})}retrieve(e,t={},n){return this._client.get(Z`/fine_tuning/checkpoints/${e}/permissions`,{query:t,...n})}list(e,t={},n){return this._client.getAPIList(Z`/fine_tuning/checkpoints/${e}/permissions`,mu,{query:t,...n})}delete(e,t,n){let{fine_tuned_model_checkpoint:r}=t;return this._client.delete(Z`/fine_tuning/checkpoints/${r}/permissions/${e}`,n)}},ep=class extends X{constructor(){super(...arguments),this.permissions=new $f(this._client)}};ep.Permissions=$f;var tp=class extends X{list(e,t={},n){return this._client.getAPIList(Z`/fine_tuning/jobs/${e}/checkpoints`,pu,{query:t,...n})}},np=class extends X{constructor(){super(...arguments),this.checkpoints=new tp(this._client)}create(e,t){return this._client.post(`/fine_tuning/jobs`,{body:e,...t})}retrieve(e,t){return this._client.get(Z`/fine_tuning/jobs/${e}`,t)}list(e={},t){return this._client.getAPIList(`/fine_tuning/jobs`,pu,{query:e,...t})}cancel(e,t){return this._client.post(Z`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},n){return this._client.getAPIList(Z`/fine_tuning/jobs/${e}/events`,pu,{query:t,...n})}pause(e,t){return this._client.post(Z`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(Z`/fine_tuning/jobs/${e}/resume`,t)}};np.Checkpoints=tp;var rp=class extends X{constructor(){super(...arguments),this.methods=new Xf(this._client),this.jobs=new np(this._client),this.checkpoints=new ep(this._client),this.alpha=new Qf(this._client)}};rp.Methods=Xf,rp.Jobs=np,rp.Checkpoints=ep,rp.Alpha=Qf;var ip=class extends X{},ap=class extends X{constructor(){super(...arguments),this.graderModels=new ip(this._client)}};ap.GraderModels=ip;var op=class extends X{createVariation(e,t){return this._client.post(`/images/variations`,Su({body:e,...t},this._client))}edit(e,t){return this._client.post(`/images/edits`,Su({body:e,...t,stream:e.stream??!1},this._client))}generate(e,t){return this._client.post(`/images/generations`,{body:e,...t,stream:e.stream??!1})}},sp=class extends X{retrieve(e,t){return this._client.get(Z`/models/${e}`,t)}list(e){return this._client.getAPIList(`/models`,fu,e)}delete(e,t){return this._client.delete(Z`/models/${e}`,t)}},cp=class extends X{create(e,t){return this._client.post(`/moderations`,{body:e,...t})}},lp=class extends X{accept(e,t,n){return this._client.post(Z`/realtime/calls/${e}/accept`,{body:t,...n,headers:Q([{Accept:`*/*`},n?.headers])})}hangup(e,t){return this._client.post(Z`/realtime/calls/${e}/hangup`,{...t,headers:Q([{Accept:`*/*`},t?.headers])})}refer(e,t,n){return this._client.post(Z`/realtime/calls/${e}/refer`,{body:t,...n,headers:Q([{Accept:`*/*`},n?.headers])})}reject(e,t={},n){return this._client.post(Z`/realtime/calls/${e}/reject`,{body:t,...n,headers:Q([{Accept:`*/*`},n?.headers])})}},up=class extends X{create(e,t){return this._client.post(`/realtime/client_secrets`,{body:e,...t})}},dp=class extends X{constructor(){super(...arguments),this.clientSecrets=new up(this._client),this.calls=new lp(this._client)}};dp.ClientSecrets=up,dp.Calls=lp;function fp(e,t){return!t||!hp(t)?{...e,output_parsed:null,output:e.output.map(e=>e.type===`function_call`?{...e,parsed_arguments:null}:e.type===`message`?{...e,content:e.content.map(e=>({...e,parsed:null}))}:e)}:pp(e,t)}function pp(e,t){let n=e.output.map(e=>{if(e.type===`function_call`)return{...e,parsed_arguments:vp(t,e)};if(e.type===`message`){let n=e.content.map(e=>e.type===`output_text`?{...e,parsed:mp(t,e.text)}:e);return{...e,content:n}}return e}),r=Object.assign({},e,{output:n});return Object.getOwnPropertyDescriptor(e,`output_text`)||yp(r),Object.defineProperty(r,`output_parsed`,{enumerable:!0,get(){for(let e of r.output)if(e.type===`message`){for(let t of e.content)if(t.type===`output_text`&&t.parsed!==null)return t.parsed}return null}}),r}function mp(e,t){return e.text?.format?.type===`json_schema`?`$parseRaw`in e.text?.format?(e.text?.format).$parseRaw(t):JSON.parse(t):null}function hp(e){return!!Bu(e.text?.format)}function gp(e){return e?.$brand===`auto-parseable-tool`}function _p(e,t){return e.find(e=>e.type===`function`&&e.name===t)}function vp(e,t){let n=_p(e.tools??[],t.name);return{...t,...t,parsed_arguments:gp(n)?n.$parseRaw(t.arguments):n?.strict?JSON.parse(t.arguments):null}}function yp(e){let t=[];for(let n of e.output)if(n.type===`message`)for(let e of n.content)e.type===`output_text`&&t.push(e.text);e.output_text=t.join(``)}var bp,xp,Sp,Cp,wp,Tp,Ep,Dp,Op=class e extends dd{constructor(e){super(),bp.add(this),xp.set(this,void 0),Sp.set(this,void 0),Cp.set(this,void 0),q(this,xp,e,`f`)}static createResponse(t,n,r){let i=new e(n);return i._run(()=>i._createOrRetrieveResponse(t,n,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":`stream`}})),i}async _createOrRetrieveResponse(e,t,n){let r=n?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener(`abort`,()=>this.controller.abort())),J(this,bp,`m`,wp).call(this);let i,a=null;`response_id`in t?(i=await e.responses.retrieve(t.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),a=t.starting_after??null):i=await e.responses.create({...t,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(let e of i)J(this,bp,`m`,Tp).call(this,e,a);if(i.controller.signal?.aborted)throw new Oc;return J(this,bp,`m`,Ep).call(this)}[(xp=new WeakMap,Sp=new WeakMap,Cp=new WeakMap,bp=new WeakSet,wp=function(){this.ended||q(this,Sp,void 0,`f`)},Tp=function(e,t){if(this.ended)return;let n=(e,n)=>{(t==null||n.sequence_number>t)&&this._emit(e,n)},r=J(this,bp,`m`,Dp).call(this,e);switch(n(`event`,e),e.type){case`response.output_text.delta`:{let t=r.output[e.output_index];if(!t)throw new Y(`missing output at index ${e.output_index}`);if(t.type===`message`){let r=t.content[e.content_index];if(!r)throw new Y(`missing content at index ${e.content_index}`);if(r.type!==`output_text`)throw new Y(`expected content to be 'output_text', got ${r.type}`);n(`response.output_text.delta`,{...e,snapshot:r.text})}break}case`response.function_call_arguments.delta`:{let t=r.output[e.output_index];if(!t)throw new Y(`missing output at index ${e.output_index}`);t.type===`function_call`&&n(`response.function_call_arguments.delta`,{...e,snapshot:t.arguments});break}default:n(e.type,e);break}},Ep=function(){if(this.ended)throw new Y(`stream has ended, this shouldn't happen`);let e=J(this,Sp,`f`);if(!e)throw new Y(`request ended without sending any events`);q(this,Sp,void 0,`f`);let t=kp(e,J(this,xp,`f`));return q(this,Cp,t,`f`),t},Dp=function(e){let t=J(this,Sp,`f`);if(!t){if(e.type!==`response.created`)throw new Y(`When snapshot hasn't been set yet, expected 'response.created' event, got ${e.type}`);return t=q(this,Sp,e.response,`f`),t}switch(e.type){case`response.output_item.added`:t.output.push(e.item);break;case`response.content_part.added`:{let n=t.output[e.output_index];if(!n)throw new Y(`missing output at index ${e.output_index}`);let r=n.type,i=e.part;r===`message`&&i.type!==`reasoning_text`?n.content.push(i):r===`reasoning`&&i.type===`reasoning_text`&&(n.content||=[],n.content.push(i));break}case`response.output_text.delta`:{let n=t.output[e.output_index];if(!n)throw new Y(`missing output at index ${e.output_index}`);if(n.type===`message`){let t=n.content[e.content_index];if(!t)throw new Y(`missing content at index ${e.content_index}`);if(t.type!==`output_text`)throw new Y(`expected content to be 'output_text', got ${t.type}`);t.text+=e.delta}break}case`response.function_call_arguments.delta`:{let n=t.output[e.output_index];if(!n)throw new Y(`missing output at index ${e.output_index}`);n.type===`function_call`&&(n.arguments+=e.delta);break}case`response.reasoning_text.delta`:{let n=t.output[e.output_index];if(!n)throw new Y(`missing output at index ${e.output_index}`);if(n.type===`reasoning`){let t=n.content?.[e.content_index];if(!t)throw new Y(`missing content at index ${e.content_index}`);if(t.type!==`reasoning_text`)throw new Y(`expected content to be 'reasoning_text', got ${t.type}`);t.text+=e.delta}break}case`response.completed`:q(this,Sp,e.response,`f`);break}return t},Symbol.asyncIterator)](){let e=[],t=[],n=!1;return this.on(`event`,n=>{let r=t.shift();r?r.resolve(n):e.push(n)}),this.on(`end`,()=>{n=!0;for(let e of t)e.resolve(void 0);t.length=0}),this.on(`abort`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),this.on(`error`,e=>{n=!0;for(let n of t)n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((e,n)=>t.push({resolve:e,reject:n})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=J(this,Cp,`f`);if(!e)throw new Y(`stream ended without producing a ChatCompletion`);return e}};function kp(e,t){return fp(e,t)}var Ap=class extends X{list(e,t={},n){return this._client.getAPIList(Z`/responses/${e}/input_items`,pu,{query:t,...n})}},jp=class extends X{count(e={},t){return this._client.post(`/responses/input_tokens`,{body:e,...t})}},Mp=class extends X{constructor(){super(...arguments),this.inputItems=new Ap(this._client),this.inputTokens=new jp(this._client)}create(e,t){return this._client.post(`/responses`,{body:e,...t,stream:e.stream??!1})._thenUnwrap(e=>(`object`in e&&e.object===`response`&&yp(e),e))}retrieve(e,t={},n){return this._client.get(Z`/responses/${e}`,{query:t,...n,stream:t?.stream??!1})._thenUnwrap(e=>(`object`in e&&e.object===`response`&&yp(e),e))}delete(e,t){return this._client.delete(Z`/responses/${e}`,{...t,headers:Q([{Accept:`*/*`},t?.headers])})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(t=>pp(t,e))}stream(e,t){return Op.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(Z`/responses/${e}/cancel`,t)}compact(e,t){return this._client.post(`/responses/compact`,{body:e,...t})}};Mp.InputItems=Ap,Mp.InputTokens=jp;var Np=class extends X{retrieve(e,t){return this._client.get(Z`/skills/${e}/content`,{...t,headers:Q([{Accept:`application/binary`},t?.headers]),__binaryResponse:!0})}},Pp=class extends X{retrieve(e,t,n){let{skill_id:r}=t;return this._client.get(Z`/skills/${r}/versions/${e}/content`,{...n,headers:Q([{Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}},Fp=class extends X{constructor(){super(...arguments),this.content=new Pp(this._client)}create(e,t={},n){return this._client.post(Z`/skills/${e}/versions`,xu({body:t,...n},this._client))}retrieve(e,t,n){let{skill_id:r}=t;return this._client.get(Z`/skills/${r}/versions/${e}`,n)}list(e,t={},n){return this._client.getAPIList(Z`/skills/${e}/versions`,pu,{query:t,...n})}delete(e,t,n){let{skill_id:r}=t;return this._client.delete(Z`/skills/${r}/versions/${e}`,n)}};Fp.Content=Pp;var Ip=class extends X{constructor(){super(...arguments),this.content=new Np(this._client),this.versions=new Fp(this._client)}create(e={},t){return this._client.post(`/skills`,xu({body:e,...t},this._client))}retrieve(e,t){return this._client.get(Z`/skills/${e}`,t)}update(e,t,n){return this._client.post(Z`/skills/${e}`,{body:t,...n})}list(e={},t){return this._client.getAPIList(`/skills`,pu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/skills/${e}`,t)}};Ip.Content=Np,Ip.Versions=Fp;var Lp=class extends X{create(e,t,n){return this._client.post(Z`/uploads/${e}/parts`,Su({body:t,...n},this._client))}},Rp=class extends X{constructor(){super(...arguments),this.parts=new Lp(this._client)}create(e,t){return this._client.post(`/uploads`,{body:e,...t})}cancel(e,t){return this._client.post(Z`/uploads/${e}/cancel`,t)}complete(e,t,n){return this._client.post(Z`/uploads/${e}/complete`,{body:t,...n})}};Rp.Parts=Lp;const zp=async e=>{let t=await Promise.allSettled(e),n=t.filter(e=>e.status===`rejected`);if(n.length){for(let e of n)console.error(e.reason);throw Error(`${n.length} promise(s) failed - see the above errors`)}let r=[];for(let e of t)e.status===`fulfilled`&&r.push(e.value);return r};var Bp=class extends X{create(e,t,n){return this._client.post(Z`/vector_stores/${e}/file_batches`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}retrieve(e,t,n){let{vector_store_id:r}=t;return this._client.get(Z`/vector_stores/${r}/file_batches/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}cancel(e,t,n){let{vector_store_id:r}=t;return this._client.post(Z`/vector_stores/${r}/file_batches/${e}/cancel`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t);return await this.poll(e,r.id,n)}listFiles(e,t,n){let{vector_store_id:r,...i}=t;return this._client.getAPIList(Z`/vector_stores/${r}/file_batches/${e}/files`,pu,{query:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}async poll(e,t,n){let r=Q([n?.headers,{"X-Stainless-Poll-Helper":`true`,"X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:i,response:a}=await this.retrieve(t,{vector_store_id:e},{...n,headers:r}).withResponse();switch(i.status){case`in_progress`:let e=5e3;if(n?.pollIntervalMs)e=n.pollIntervalMs;else{let t=a.headers.get(`openai-poll-after-ms`);if(t){let n=parseInt(t);isNaN(n)||(e=n)}}await el(e);break;case`failed`:case`cancelled`:case`completed`:return i}}}async uploadAndPoll(e,{files:t,fileIds:n=[]},r){if(t==null||t.length==0)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let i=r?.maxConcurrency??5,a=Math.min(i,t.length),o=this._client,s=t.values(),c=[...n];async function l(e){for(let t of e){let e=await o.files.create({file:t,purpose:`assistants`},r);c.push(e.id)}}return await zp(Array(a).fill(s).map(l)),await this.createAndPoll(e,{file_ids:c})}},Vp=class extends X{create(e,t,n){return this._client.post(Z`/vector_stores/${e}/files`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}retrieve(e,t,n){let{vector_store_id:r}=t;return this._client.get(Z`/vector_stores/${r}/files/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}update(e,t,n){let{vector_store_id:r,...i}=t;return this._client.post(Z`/vector_stores/${r}/files/${e}`,{body:i,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e,t={},n){return this._client.getAPIList(Z`/vector_stores/${e}/files`,pu,{query:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}delete(e,t,n){let{vector_store_id:r}=t;return this._client.delete(Z`/vector_stores/${r}/files/${e}`,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}async createAndPoll(e,t,n){let r=await this.create(e,t,n);return await this.poll(e,r.id,n)}async poll(e,t,n){let r=Q([n?.headers,{"X-Stainless-Poll-Helper":`true`,"X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let i=await this.retrieve(t,{vector_store_id:e},{...n,headers:r}).withResponse(),a=i.data;switch(a.status){case`in_progress`:let e=5e3;if(n?.pollIntervalMs)e=n.pollIntervalMs;else{let t=i.response.headers.get(`openai-poll-after-ms`);if(t){let n=parseInt(t);isNaN(n)||(e=n)}}await el(e);break;case`failed`:case`completed`:return a}}}async upload(e,t,n){let r=await this._client.files.create({file:t,purpose:`assistants`},n);return this.create(e,{file_id:r.id},n)}async uploadAndPoll(e,t,n){let r=await this.upload(e,t,n);return await this.poll(e,r.id,n)}content(e,t,n){let{vector_store_id:r}=t;return this._client.getAPIList(Z`/vector_stores/${r}/files/${e}/content`,fu,{...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}},Hp=class extends X{constructor(){super(...arguments),this.files=new Vp(this._client),this.fileBatches=new Bp(this._client)}create(e,t){return this._client.post(`/vector_stores`,{body:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}retrieve(e,t){return this._client.get(Z`/vector_stores/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}update(e,t,n){return this._client.post(Z`/vector_stores/${e}`,{body:t,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}list(e={},t){return this._client.getAPIList(`/vector_stores`,pu,{query:e,...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}delete(e,t){return this._client.delete(Z`/vector_stores/${e}`,{...t,headers:Q([{"OpenAI-Beta":`assistants=v2`},t?.headers])})}search(e,t,n){return this._client.getAPIList(Z`/vector_stores/${e}/search`,fu,{body:t,method:`post`,...n,headers:Q([{"OpenAI-Beta":`assistants=v2`},n?.headers])})}};Hp.Files=Vp,Hp.FileBatches=Bp;var Up=class extends X{create(e,t){return this._client.post(`/videos`,Su({body:e,...t},this._client))}retrieve(e,t){return this._client.get(Z`/videos/${e}`,t)}list(e={},t){return this._client.getAPIList(`/videos`,mu,{query:e,...t})}delete(e,t){return this._client.delete(Z`/videos/${e}`,t)}createCharacter(e,t){return this._client.post(`/videos/characters`,Su({body:e,...t},this._client))}downloadContent(e,t={},n){return this._client.get(Z`/videos/${e}/content`,{query:t,...n,headers:Q([{Accept:`application/binary`},n?.headers]),__binaryResponse:!0})}edit(e,t){return this._client.post(`/videos/edits`,Su({body:e,...t},this._client))}extend(e,t){return this._client.post(`/videos/extensions`,Su({body:e,...t},this._client))}getCharacter(e,t){return this._client.get(Z`/videos/characters/${e}`,t)}remix(e,t,n){return this._client.post(Z`/videos/${e}/remix`,xu({body:t,...n},this._client))}},Wp,Gp,Kp,qp=class extends X{constructor(){super(...arguments),Wp.add(this)}async unwrap(e,t,n=this._client.webhookSecret,r=300){return await this.verifySignature(e,t,n,r),JSON.parse(e)}async verifySignature(e,t,n=this._client.webhookSecret,r=300){if(typeof crypto>`u`||typeof crypto.subtle.importKey!=`function`||typeof crypto.subtle.verify!=`function`)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");J(this,Wp,`m`,Gp).call(this,n);let i=Q([t]).values,a=J(this,Wp,`m`,Kp).call(this,i,`webhook-signature`),o=J(this,Wp,`m`,Kp).call(this,i,`webhook-timestamp`),s=J(this,Wp,`m`,Kp).call(this,i,`webhook-id`),c=parseInt(o,10);if(isNaN(c))throw new Vc(`Invalid webhook timestamp format`);let l=Math.floor(Date.now()/1e3);if(l-c>r)throw new Vc(`Webhook timestamp is too old`);if(c>l+r)throw new Vc(`Webhook timestamp is too new`);let u=a.split(` `).map(e=>e.startsWith(`v1,`)?e.substring(3):e),d=n.startsWith(`whsec_`)?Buffer.from(n.replace(`whsec_`,``),`base64`):Buffer.from(n,`utf-8`),f=s?`${s}.${o}.${e}`:`${o}.${e}`,p=await crypto.subtle.importKey(`raw`,d,{name:`HMAC`,hash:`SHA-256`},!1,[`verify`]);for(let e of u)try{let t=Buffer.from(e,`base64`);if(await crypto.subtle.verify(`HMAC`,p,t,new TextEncoder().encode(f)))return}catch{continue}throw new Vc(`The given webhook signature does not match the expected signature`)}};Wp=new WeakSet,Gp=function(e){if(typeof e!=`string`||e.length===0)throw Error(`The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function`)},Kp=function(e,t){if(!e)throw Error(`Headers are required`);let n=e.get(t);if(n==null)throw Error(`Missing required header: ${t}`);return n};var Jp,Yp,Xp,Zp;const Qp=`workload-identity-auth`;var $=class{constructor({baseURL:e=df(`OPENAI_BASE_URL`),apiKey:t=df(`OPENAI_API_KEY`),organization:n=df(`OPENAI_ORG_ID`)??null,project:r=df(`OPENAI_PROJECT_ID`)??null,webhookSecret:i=df(`OPENAI_WEBHOOK_SECRET`)??null,workloadIdentity:a,...o}={}){if(Jp.add(this),Xp.set(this,void 0),this.completions=new zf(this),this.chat=new Kd(this),this.embeddings=new Gf(this),this.files=new Yf(this),this.images=new op(this),this.audio=new Qd(this),this.moderations=new cp(this),this.models=new sp(this),this.fineTuning=new rp(this),this.graders=new ap(this),this.vectorStores=new Hp(this),this.webhooks=new qp(this),this.beta=new Rf(this),this.batches=new $d(this),this.uploads=new Rp(this),this.responses=new Mp(this),this.realtime=new dp(this),this.conversations=new Wf(this),this.evals=new Jf(this),this.containers=new Hf(this),this.skills=new Ip(this),this.videos=new Up(this),a){if(t&&t!==Qp)throw new Y("The `apiKey` and `workloadIdentity` arguments are mutually exclusive; only one can be passed at a time.");t=Qp}else if(t===void 0)throw new Y("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, or set the `OPENAI_API_KEY` environment variable.");let s={apiKey:t,organization:n,project:r,webhookSecret:i,workloadIdentity:a,...o,baseURL:e||`https://api.openai.com/v1`};if(!s.dangerouslyAllowBrowser&&nl())throw new Y(`It looks like you're running in a browser-like environment.
|
|
224
|
+
|
|
225
|
+
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
226
|
+
If you understand the risks and have appropriate mitigations in place,
|
|
227
|
+
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
228
|
+
|
|
229
|
+
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
230
|
+
|
|
231
|
+
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
232
|
+
`);this.baseURL=s.baseURL,this.timeout=s.timeout??Yp.DEFAULT_TIMEOUT,this.logger=s.logger??console;let c=`warn`;this.logLevel=c,this.logLevel=Kl(s.logLevel,`ClientOptions.logLevel`,this)??Kl(df(`OPENAI_LOG`),`process.env['OPENAI_LOG']`,this)??c,this.fetchOptions=s.fetchOptions,this.maxRetries=s.maxRetries??2,this.fetch=s.fetch??ul(),q(this,Xp,hl,`f`),this._options=s,a&&(this._workloadIdentityAuth=new gu(a,this.fetch)),this.apiKey=typeof t==`string`?t:`Missing Key`,this.organization=n,this.project=r,this.webhookSecret=i}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){}async authHeaders(e){return Q([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return Pl(e)}getUserAgent(){return`${this.constructor.name}/JS ${tl}`}defaultIdempotencyKey(){return`stainless-node-retry-${wc()}`}makeStatusError(e,t,n,r){return Dc.generate(e,t,n,r)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!=`function`)return!1;let t;try{t=await e()}catch(e){throw e instanceof Y?e:new Y(`Failed to get token from 'apiKey' function: ${e.message}`,{cause:e})}if(typeof t!=`string`||!t)throw new Y(`Expected 'apiKey' function argument to return a string but it returned ${t}`);return this.apiKey=t,!0}buildURL(e,t,n){let r=!J(this,Jp,`m`,Zp).call(this)&&n||this.baseURL,i=Gc(e)?new URL(e):new URL(r+(r.endsWith(`/`)&&e.startsWith(`/`)?e.slice(1):e)),a=this.defaultQuery(),o=Object.fromEntries(i.searchParams);return(!Yc(a)||!Yc(o))&&(t={...o,...a,...t}),typeof t==`object`&&t&&!Array.isArray(t)&&(i.search=this.stringifyQuery(t)),i.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:t,options:n}){}get(e,t){return this.methodRequest(`get`,e,t)}post(e,t){return this.methodRequest(`post`,e,t)}patch(e,t){return this.methodRequest(`patch`,e,t)}put(e,t){return this.methodRequest(`put`,e,t)}delete(e,t){return this.methodRequest(`delete`,e,t)}methodRequest(e,t,n){return this.request(Promise.resolve(n).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new cu(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,n){let r=await e,i=r.maxRetries??this.maxRetries;t??=i,await this.prepareOptions(r);let{req:a,url:o,timeout:s}=await this.buildRequest(r,{retryCount:i-t});await this.prepareRequest(a,{url:o,options:r});let c=`log_`+(Math.random()*(1<<24)|0).toString(16).padStart(6,`0`),l=n===void 0?``:`, retryOf: ${n}`,u=Date.now();if(Zl(this).debug(`[${c}] sending request`,Ql({retryOfRequestLogID:n,method:r.method,url:o,options:r,headers:a.headers})),r.signal?.aborted)throw new Oc;let d=new AbortController,f=await this.fetchWithAuth(o,a,s,d).catch(Ec),p=Date.now();if(f instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(r.signal?.aborted)throw new Oc;let i=Tc(f)||/timed? ?out/i.test(String(f)+(`cause`in f?String(f.cause):``));if(t)return Zl(this).info(`[${c}] connection ${i?`timed out`:`failed`} - ${e}`),Zl(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (${e})`,Ql({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),this.retryRequest(r,t,n??c);throw Zl(this).info(`[${c}] connection ${i?`timed out`:`failed`} - error; no more retries left`),Zl(this).debug(`[${c}] connection ${i?`timed out`:`failed`} (error; no more retries left)`,Ql({retryOfRequestLogID:n,url:o,durationMs:p-u,message:f.message})),f instanceof Hc||f instanceof Uc?f:i?new Ac:new kc({cause:f})}let m=`[${c}${l}${[...f.headers.entries()].filter(([e])=>e===`x-request-id`).map(([e,t])=>`, `+e+`: `+JSON.stringify(t)).join(``)}] ${a.method} ${o} ${f.ok?`succeeded`:`failed`} with status ${f.status} in ${p-u}ms`;if(!f.ok){if(f.status===401&&this._workloadIdentityAuth&&!r.__metadata?.hasStreamingBody&&!r.__metadata?.workloadIdentityTokenRefreshed)return await ml(f.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...r,__metadata:{...r.__metadata,workloadIdentityTokenRefreshed:!0}},t,n??c);let e=await this.shouldRetry(f);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await ml(f.body),Zl(this).info(`${m} - ${e}`),Zl(this).debug(`[${c}] response error (${e})`,Ql({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),this.retryRequest(r,t,n??c,f.headers)}let i=e?`error; no more retries left`:`error; not retryable`;Zl(this).info(`${m} - ${i}`);let a=await f.text().catch(e=>Ec(e).message),o=$c(a),s=o?void 0:a;throw Zl(this).debug(`[${c}] response error (${i})`,Ql({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,message:s,durationMs:Date.now()-u})),this.makeStatusError(f.status,o,s,f.headers)}return Zl(this).info(m),Zl(this).debug(`[${c}] response start`,Ql({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:p-u})),{response:f,options:r,controller:d,requestLogID:c,retryOfRequestLogID:n,startTime:u}}getAPIList(e,t,n){return this.requestAPIList(t,n&&`then`in n?n.then(t=>({method:`get`,path:e,...t})):{method:`get`,path:e,...n})}requestAPIList(e,t){let n=this.makeRequest(t,null,void 0);return new du(this,n,e)}async fetchWithAuth(e,t,n,r){if(this._workloadIdentityAuth){let e=t.headers,n=e.get(`Authorization`);if(!n||n===`Bearer ${Qp}`){let t=await this._workloadIdentityAuth.getToken();e.set(`Authorization`,`Bearer ${t}`)}}return await this.fetchWithTimeout(e,t,n,r)}async fetchWithTimeout(e,t,n,r){let{signal:i,method:a,...o}=t||{},s=this._makeAbort(r);i&&i.addEventListener(`abort`,s,{once:!0});let c=setTimeout(s,n),l=globalThis.ReadableStream&&o.body instanceof globalThis.ReadableStream||typeof o.body==`object`&&o.body!==null&&Symbol.asyncIterator in o.body,u={signal:r.signal,...l?{duplex:`half`}:{},method:`GET`,...o};a&&(u.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,u)}finally{clearTimeout(c)}}async shouldRetry(e){let t=e.headers.get(`x-should-retry`);return t===`true`?!0:t===`false`?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,n,r){let i,a=r?.get(`retry-after-ms`);if(a){let e=parseFloat(a);Number.isNaN(e)||(i=e)}let o=r?.get(`retry-after`);if(o&&!i){let e=parseFloat(o);i=Number.isNaN(e)?Date.parse(o)-Date.now():e*1e3}if(i===void 0){let n=e.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(t,n)}return await el(i),this.makeRequest(e,t-1,n)}calculateDefaultRetryTimeoutMillis(e,t){let n=t-e;return Math.min(.5*2**n,8)*(1-Math.random()*.25)*1e3}async buildRequest(e,{retryCount:t=0}={}){let n={...e},{method:r,path:i,query:a,defaultBaseURL:o}=n,s=this.buildURL(i,a,o);`timeout`in n&&Qc(`timeout`,n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:c,body:l,isStreamingBody:u}=this.buildBody({options:n});return u&&(e.__metadata={...e.__metadata,hasStreamingBody:!0}),{req:{method:r,headers:await this.buildHeaders({options:e,method:r,bodyHeaders:c,retryCount:t}),...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&l instanceof globalThis.ReadableStream&&{duplex:`half`},...l&&{body:l},...this.fetchOptions??{},...n.fetchOptions??{}},url:s,timeout:n.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:n,retryCount:r}){let i={};this.idempotencyHeader&&t!==`get`&&(e.idempotencyKey||=this.defaultIdempotencyKey(),i[this.idempotencyHeader]=e.idempotencyKey);let a=Q([i,{Accept:`application/json`,"User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...ll(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let n=Q([t]),r=globalThis.ReadableStream!==void 0&&e instanceof globalThis.ReadableStream,i=!r&&(typeof e==`string`||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||globalThis.Blob!==void 0&&e instanceof globalThis.Blob||e instanceof URLSearchParams||e instanceof FormData);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e==`string`&&n.values.has(`content-type`)||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||r?{bodyHeaders:void 0,body:e,isStreamingBody:!i}:typeof e==`object`&&(Symbol.asyncIterator in e||Symbol.iterator in e&&`next`in e&&typeof e.next==`function`)?{bodyHeaders:void 0,body:fl(e),isStreamingBody:!0}:typeof e==`object`&&n.values.get(`content-type`)===`application/x-www-form-urlencoded`?{bodyHeaders:{"content-type":`application/x-www-form-urlencoded`},body:this.stringifyQuery(e),isStreamingBody:!1}:{...J(this,Xp,`f`).call(this,{body:e,headers:n}),isStreamingBody:!1}}};Yp=$,Xp=new WeakMap,Jp=new WeakSet,Zp=function(){return this.baseURL!==`https://api.openai.com/v1`},$.OpenAI=Yp,$.DEFAULT_TIMEOUT=6e5,$.OpenAIError=Y,$.APIError=Dc,$.APIConnectionError=kc,$.APIConnectionTimeoutError=Ac,$.APIUserAbortError=Oc,$.NotFoundError=Pc,$.ConflictError=Fc,$.RateLimitError=Lc,$.BadRequestError=jc,$.AuthenticationError=Mc,$.InternalServerError=Rc,$.PermissionDeniedError=Nc,$.UnprocessableEntityError=Ic,$.InvalidWebhookSignatureError=Vc,$.toFile=Nu,$.Completions=zf,$.Chat=Kd,$.Embeddings=Gf,$.Files=Yf,$.Images=op,$.Audio=Qd,$.Moderations=cp,$.Models=sp,$.FineTuning=rp,$.Graders=ap,$.VectorStores=Hp,$.Webhooks=qp,$.Beta=Rf,$.Batches=$d,$.Uploads=Rp,$.Responses=Mp,$.Realtime=dp,$.Conversations=Wf,$.Evals=Jf,$.Containers=Hf,$.Skills=Ip,$.Videos=Up;var $p=class extends ${constructor({baseURL:e=df(`OPENAI_BASE_URL`),apiKey:t=df(`AZURE_OPENAI_API_KEY`),apiVersion:n=df(`OPENAI_API_VERSION`),endpoint:r,deployment:i,azureADTokenProvider:a,dangerouslyAllowBrowser:o,...s}={}){if(!n)throw new Y(`The OPENAI_API_VERSION environment variable is missing or empty; either provide it, or instantiate the AzureOpenAI client with an apiVersion option, like new AzureOpenAI({ apiVersion: 'My API Version' }).`);if(typeof a==`function`&&(o=!0),!a&&!t)throw new Y("Missing credentials. Please pass one of `apiKey` and `azureADTokenProvider`, or set the `AZURE_OPENAI_API_KEY` environment variable.");if(a&&t)throw new Y("The `apiKey` and `azureADTokenProvider` arguments are mutually exclusive; only one can be passed at a time.");if(s.defaultQuery={...s.defaultQuery,"api-version":n},!e){if(r||=process.env.AZURE_OPENAI_ENDPOINT,!r)throw new Y("Must provide one of the `baseURL` or `endpoint` arguments, or the `AZURE_OPENAI_ENDPOINT` environment variable");e=`${r}/openai`}else if(r)throw new Y(`baseURL and endpoint are mutually exclusive`);super({apiKey:a??t,baseURL:e,...s,...o===void 0?{}:{dangerouslyAllowBrowser:o}}),this.apiVersion=``,this.apiVersion=n,this.deploymentName=i}async buildRequest(e,t={}){if(em.has(e.path)&&e.method===`post`&&e.body!==void 0){if(!Zc(e.body))throw Error(`Expected request body to be an object`);let t=this.deploymentName||e.body.model||e.__metadata?.model;t!==void 0&&!this.baseURL.includes(`/deployments`)&&(e.path=`/deployments/${t}${e.path}`)}return super.buildRequest(e,t)}async authHeaders(e){return typeof this._options.apiKey==`string`?Q([{"api-key":this.apiKey}]):super.authHeaders(e)}};const em=new Set([`/completions`,`/chat/completions`,`/embeddings`,`/audio/transcriptions`,`/audio/translations`,`/audio/speech`,`/images/generations`,`/batches`,`/images/edits`]),tm=i;function nm(e,t){let n=f({provider:tm(e.provider),api:tm(e.api),baseUrl:tm(e.baseUrl),capability:`llm`,transport:t,modelId:tm(e.id),compat:e.compat&&typeof e.compat==`object`?e.compat:void 0});return n.usesKnownNativeOpenAIRoute?n.provider===`openai`||n.provider===`openai-codex`||n.provider===`azure-openai`||n.provider===`azure-openai-responses`:!1}function rm(e,t){if(nm(e,t?.transport??`stream`))return!0;if(t?.supportsStrictMode)return!1}const im=new Set([`gpt-5.1-codex-mini`]);function am(e){if(!e||typeof e!=`object`)return{};let t=e.reasoningEffortMap;return!t||typeof t!=`object`?{}:Object.fromEntries(Object.entries(t).filter(e=>typeof e[0]==`string`&&typeof e[1]==`string`))}function om(e,t={}){let n=a(e.provider??``),r=a(e.id??``),i=(n===`openai`||n===`openai-codex`)&&im.has(r)?{minimal:`medium`,low:`medium`}:{};return{...t,...i,...am(e.compat)}}function sm(e){return cm(Ss(e??{}))}function cm(e){if(Array.isArray(e)){let t=!1,n=e.map(e=>{let n=cm(e);return t||=n!==e,n});return t?n:e}if(!e||typeof e!=`object`)return e;let t=e,n=!1,r={};for(let[e,i]of Object.entries(t)){let t=cm(i);r[e]=t,n||=t!==i}if(r.type===`object`){let e=r.properties&&typeof r.properties==`object`&&!Array.isArray(r.properties)?r.properties:void 0;e&&Object.keys(e).length===0&&!Array.isArray(r.required)&&(r.required=[],n=!0)}return n?r:e}function lm(e,t){return t?sm(e):Ss(e??{})}function um(e){return dm(sm(e))}function dm(e){if(Array.isArray(e))return e.every(e=>dm(e));if(!e||typeof e!=`object`)return!0;let t=e;if(`anyOf`in t||`oneOf`in t||`allOf`in t||Array.isArray(t.type)||t.type===`object`&&t.additionalProperties!==!1)return!1;if(t.type===`object`){let e=t.properties&&typeof t.properties==`object`&&!Array.isArray(t.properties)?t.properties:{},n=Array.isArray(t.required)?t.required.filter(e=>typeof e==`string`):void 0;if(!n)return!1;let r=new Set(n);if(Object.keys(e).some(e=>!r.has(e)))return!1}return Object.entries(t).every(([e,t])=>e===`properties`&&t&&typeof t==`object`&&!Array.isArray(t)?Object.values(t).every(e=>dm(e)):dm(t))}function fm(e,t){return t===!0?e.every(e=>um(e.parameters)):t===!1?!1:void 0}const pm=new Map([`Read`,`Write`,`Edit`,`Bash`,`Grep`,`Glob`,`AskUserQuestion`,`EnterPlanMode`,`ExitPlanMode`,`KillShell`,`NotebookEdit`,`Skill`,`Task`,`TaskOutput`,`TodoWrite`,`WebFetch`,`WebSearch`].map(e=>[a(e),e]));function mm(e){return e.includes(`opus-4-7`)||e.includes(`opus-4.7`)}function hm(e){return e.includes(`opus-4-6`)||e.includes(`opus-4.6`)}function gm(e){return mm(e)||hm(e)||e.includes(`sonnet-4-6`)||e.includes(`sonnet-4.6`)}function _m(e,t){switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`xhigh`:return mm(t)?`xhigh`:hm(t)?`max`:`high`;default:return`high`}}function vm(e){return e===`xhigh`?`high`:e}function ym(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);return t>0?t:void 0}function bm(e){let t=ym(e.requestedMaxTokens);if(t!==void 0)return t;let n=ym(e.modelMaxTokens);return n===void 0?void 0:Math.min(n,32e3)}function xm(e){let t={minimal:1024,low:2048,medium:8192,high:16384,...e.customBudgets}[vm(e.reasoningLevel)],n=Math.min(e.baseMaxTokens+t,e.modelMaxTokens);return n<=t&&(t=Math.max(0,n-1024)),{maxTokens:n,thinkingBudget:t}}function Sm(e){return e.includes(`sk-ant-oat`)}function Cm(e){return pm.get(a(e))??e}function wm(e,t){if(t&&t.length>0){let n=a(e),r=t.find(e=>a(e.name)===n);if(r)return r.name}return e}function Tm(e){if(!e.some(e=>e.type===`image`))return gc(e.map(e=>`text`in e?e.text:``).join(`
|
|
233
|
+
`));let t=e.map(e=>e.type===`text`?{type:`text`,text:gc(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}});return t.some(e=>e.type===`text`)||t.unshift({type:`text`,text:`(see attached image)`}),t}function Em(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function Dm(e,t,n){let r=[],i=hc(e,t,Em);for(let e=0;e<i.length;e+=1){let a=i[e];if(a.role===`user`){if(typeof a.content==`string`){a.content.trim().length>0&&r.push({role:`user`,content:gc(a.content)});continue}let e=a.content.map(e=>e.type===`text`?{type:`text`,text:gc(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}}),n=t.input.includes(`image`)?e:e.filter(e=>e.type!==`image`);if(n=n.filter(e=>e.type!==`text`||e.text.trim().length>0),n.length===0)continue;r.push({role:`user`,content:n});continue}if(a.role===`assistant`){let e=[];for(let t of a.content){if(t.type===`text`){t.text.trim().length>0&&e.push({type:`text`,text:gc(t.text)});continue}if(t.type===`thinking`){if(t.redacted){e.push({type:`redacted_thinking`,data:t.thinkingSignature});continue}if(t.thinking.trim().length===0)continue;!t.thinkingSignature||t.thinkingSignature.trim().length===0?e.push({type:`text`,text:gc(t.thinking)}):e.push({type:`thinking`,thinking:gc(t.thinking),signature:t.thinkingSignature});continue}t.type===`toolCall`&&e.push({type:`tool_use`,id:t.id,name:n?Cm(t.name):t.name,input:_c(t.arguments)})}e.length>0&&r.push({role:`assistant`,content:e});continue}if(a.role===`toolResult`){let t=a,n=[{type:`tool_result`,tool_use_id:t.toolCallId,content:Tm(t.content),is_error:t.isError}],o=e+1;for(;o<i.length&&i[o].role===`toolResult`;){let e=i[o];n.push({type:`tool_result`,tool_use_id:e.toolCallId,content:Tm(e.content),is_error:e.isError}),o+=1}e=o-1,r.push({role:`user`,content:n})}}return r}function Om(e,t){return e?e.map(e=>{let n=e.parameters;return{name:t?Cm(e.name):e.name,description:e.description,input_schema:{type:`object`,properties:n.properties||{},required:n.required||[]}}}):[]}function km(e){switch(e){case`end_turn`:return`stop`;case`max_tokens`:return`length`;case`tool_use`:return`toolUse`;case`pause_turn`:return`stop`;case`refusal`:case`sensitive`:return`error`;case`stop_sequence`:return`stop`;default:throw Error(`Unhandled stop reason: ${String(e)}`)}}function Am(e){let t=(e?.trim()||`https://api.anthropic.com`).replace(/\/+$/,``);return t.endsWith(`/v1`)?`${t}/messages`:`${t}/v1/messages`}async function*jm(e){let t=e.getReader(),n=new TextDecoder,r=``;try{for(;;){let{done:e,value:i}=await t.read();if(e)break;r=`${r}${n.decode(i,{stream:!0})}`.replaceAll(`\r
|
|
234
|
+
`,`
|
|
235
|
+
`);let a=r.indexOf(`
|
|
236
|
+
|
|
237
|
+
`);for(;a>=0;){let e=r.slice(0,a);r=r.slice(a+2);let t=e.split(`
|
|
238
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
239
|
+
`);t&&t!==`[DONE]`&&(yield JSON.parse(t)),a=r.indexOf(`
|
|
240
|
+
|
|
241
|
+
`)}}let e=`${r}${n.decode()}`.replaceAll(`\r
|
|
242
|
+
`,`
|
|
243
|
+
`).trim();if(e){let t=e.split(`
|
|
244
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
245
|
+
`);t&&t!==`[DONE]`&&(yield JSON.parse(t))}}finally{t.releaseLock()}}function Mm(e){let t=Am(e.baseURL);return{messages:{async*stream(n,r){let i=vc({"content-type":`application/json`,"anthropic-version":`2023-06-01`,...e.apiKey?{"x-api-key":e.apiKey}:{},...e.authToken?{authorization:`Bearer ${e.authToken}`}:{}},e.defaultHeaders),a=await e.fetch(t,{method:`POST`,headers:i,body:JSON.stringify(n),signal:r?.signal});if(!a.ok){let e=await a.text().catch(()=>``);throw Error(e||`Anthropic Messages request failed with HTTP ${a.status}`)}a.body&&(yield*jm(a.body))}}}}function Nm(e){let{model:t,context:n,apiKey:r,options:i}=e,a=(i?.interleavedThinking??!0)&&!gm(t.id),o=pc(t);if(t.provider===`github-copilot`){let e=a?[`interleaved-thinking-2025-05-14`]:[];return{client:Mm({apiKey:null,authToken:r,baseURL:t.baseUrl,defaultHeaders:vc({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...e.length>0?{"anthropic-beta":e.join(`,`)}:{}},t.headers,sc({messages:n.messages,hasImages:ac(n.messages)}),i?.headers),fetch:o}),isOAuthToken:!1}}let s=[`fine-grained-tool-streaming-2025-05-14`];return a&&s.push(`interleaved-thinking-2025-05-14`),Sm(r)?{client:Mm({apiKey:null,authToken:r,baseURL:t.baseUrl,defaultHeaders:vc({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":`claude-code-20250219,oauth-2025-04-20,${s.join(`,`)}`,"user-agent":`claude-cli/2.1.75`,"x-app":`cli`},t.headers,i?.headers),fetch:o}),isOAuthToken:!0}:{client:Mm({apiKey:r,baseURL:t.baseUrl,defaultHeaders:vc({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":s.join(`,`)},t.headers,i?.headers),fetch:o}),isOAuthToken:!1}}function Pm(e,t,n,r){let i=bm({modelMaxTokens:e.maxTokens,requestedMaxTokens:r?.maxTokens});if(i===void 0)throw Error(`Anthropic Messages transport requires a positive maxTokens value for ${e.provider}/${e.id}`);let a=nc({provider:e.provider,api:e.api,baseUrl:e.baseUrl,cacheRetention:r?.cacheRetention,enableCacheControl:!0}),o={model:e.id,messages:Dm(t.messages,e,n),max_tokens:i,stream:!0};return n?o.system=[{type:`text`,text:`You are Claude Code, Anthropic's official CLI for Claude.`},...t.systemPrompt?[{type:`text`,text:gc(t.systemPrompt)}]:[]]:t.systemPrompt&&(o.system=[{type:`text`,text:gc(t.systemPrompt)}]),r?.temperature!==void 0&&!r.thinkingEnabled&&(o.temperature=r.temperature),t.tools&&(o.tools=Om(t.tools,n)),e.reasoning&&(r?.thinkingEnabled?gm(e.id)?(o.thinking={type:`adaptive`},r.effort&&(o.output_config={effort:r.effort})):o.thinking={type:`enabled`,budget_tokens:r.thinkingBudgetTokens||1024}:r?.thinkingEnabled===!1&&(o.thinking={type:`disabled`})),r?.metadata&&typeof r.metadata.user_id==`string`&&(o.metadata={user_id:r.metadata.user_id}),r?.toolChoice&&(o.tool_choice=typeof r.toolChoice==`string`?{type:r.toolChoice}:r.toolChoice),rc(o,a),o}function Fm(e,t,n){let r=bm({modelMaxTokens:e.maxTokens,requestedMaxTokens:t?.maxTokens});if(r===void 0)throw Error(`Anthropic Messages transport requires a positive maxTokens value for ${e.provider}/${e.id}`);let i=ym(e.maxTokens)??r,a={temperature:t?.temperature,maxTokens:r,signal:t?.signal,apiKey:n,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata,interleavedThinking:t?.interleavedThinking,toolChoice:t?.toolChoice,thinkingBudgets:t?.thinkingBudgets,reasoning:t?.reasoning};if(!t?.reasoning)return a.thinkingEnabled=!1,a;if(gm(e.id))return a.thinkingEnabled=!0,a.effort=_m(t.reasoning,e.id),a;let o=xm({baseMaxTokens:r,modelMaxTokens:i,reasoningLevel:t.reasoning,customBudgets:t.thinkingBudgets});return a.maxTokens=o.maxTokens,a.thinkingEnabled=!0,a.thinkingBudgetTokens=o.thinkingBudget,a}function Im(){return(e,t,n)=>{let r=e,i=n,{eventStream:a,stream:o}=xc();return(async()=>{let e={role:`assistant`,content:[],api:`anthropic-messages`,provider:r.provider,model:r.id,usage:bc(),stopReason:`stop`,timestamp:Date.now()};try{let n=i?.apiKey??ae(r.provider)??``;if(!n)throw Error(`No API key for provider: ${r.provider}`);let a=Fm(r,i,n),{client:s,isOAuthToken:c}=Nm({model:r,context:t,apiKey:n,options:a}),l=Pm(r,t,c,a),u=await a.onPayload?.(l,r);u!==void 0&&(l=u);let d=s.messages.stream({...l,stream:!0},a.signal?{signal:a.signal}:void 0);o.push({type:`start`,partial:e});let f=e.content;for await(let n of d){if(n.type===`error`){let e=n.error;throw Error(e?.message||`Anthropic Messages stream failed`)}if(n.type===`message_start`){let t=n.message,i=t?.usage??{};e.responseId=typeof t?.id==`string`?t.id:void 0,e.usage.input=typeof i.input_tokens==`number`?i.input_tokens:0,e.usage.output=typeof i.output_tokens==`number`?i.output_tokens:0,e.usage.cacheRead=typeof i.cache_read_input_tokens==`number`?i.cache_read_input_tokens:0,e.usage.cacheWrite=typeof i.cache_creation_input_tokens==`number`?i.cache_creation_input_tokens:0,e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,V(r,e.usage);continue}if(n.type===`content_block_start`){let r=n.content_block,i=typeof n.index==`number`?n.index:-1;if(r?.type===`text`){let t={type:`text`,text:``,index:i};e.content.push(t),o.push({type:`text_start`,contentIndex:e.content.length-1,partial:e});continue}if(r?.type===`thinking`){let t={type:`thinking`,thinking:``,thinkingSignature:``,index:i};e.content.push(t),o.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e});continue}if(r?.type===`redacted_thinking`){let t={type:`thinking`,thinking:`[Reasoning redacted]`,thinkingSignature:typeof r.data==`string`?r.data:``,redacted:!0,index:i};e.content.push(t),o.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e});continue}if(r?.type===`tool_use`){let n={type:`toolCall`,id:typeof r.id==`string`?r.id:``,name:typeof r.name==`string`?c?wm(r.name,t.tools):r.name:``,arguments:r.input&&typeof r.input==`object`?r.input:{},partialJson:``,index:i};e.content.push(n),o.push({type:`toolcall_start`,contentIndex:e.content.length-1,partial:e})}continue}if(n.type===`content_block_delta`){let t=f.findIndex(e=>e.index===n.index),r=f[t],i=n.delta;if(r?.type===`text`&&i?.type===`text_delta`&&typeof i.text==`string`){r.text+=i.text,o.push({type:`text_delta`,contentIndex:t,delta:i.text,partial:e});continue}if(r?.type===`thinking`&&i?.type===`thinking_delta`&&typeof i.thinking==`string`){r.thinking+=i.thinking,o.push({type:`thinking_delta`,contentIndex:t,delta:i.thinking,partial:e});continue}if(r?.type===`toolCall`&&i?.type===`input_json_delta`&&typeof i.partial_json==`string`){r.partialJson+=i.partial_json,r.arguments=oe(r.partialJson),o.push({type:`toolcall_delta`,contentIndex:t,delta:i.partial_json,partial:e});continue}r?.type===`thinking`&&i?.type===`signature_delta`&&typeof i.signature==`string`&&(r.thinkingSignature=`${r.thinkingSignature??``}${i.signature}`);continue}if(n.type===`content_block_stop`){let t=f.findIndex(e=>e.index===n.index),r=f[t];if(!r)continue;if(delete r.index,r.type===`text`){o.push({type:`text_end`,contentIndex:t,content:r.text,partial:e});continue}if(r.type===`thinking`){o.push({type:`thinking_end`,contentIndex:t,content:r.thinking,partial:e});continue}r.type===`toolCall`&&(typeof r.partialJson==`string`&&r.partialJson.length>0&&(r.arguments=oe(r.partialJson)),delete r.partialJson,o.push({type:`toolcall_end`,contentIndex:t,toolCall:r,partial:e}));continue}if(n.type===`message_delta`){let t=n.delta,i=n.usage;t?.stop_reason&&(e.stopReason=km(t.stop_reason)),typeof i?.input_tokens==`number`&&(e.usage.input=i.input_tokens),typeof i?.output_tokens==`number`&&(e.usage.output=i.output_tokens),typeof i?.cache_read_input_tokens==`number`&&(e.usage.cacheRead=i.cache_read_input_tokens),typeof i?.cache_creation_input_tokens==`number`&&(e.usage.cacheWrite=i.cache_creation_input_tokens),e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,V(r,e.usage)}}Sc({stream:o,output:e,signal:a.signal})}catch(t){Cc({stream:o,output:e,signal:i?.signal,error:t,cleanup:()=>{for(let t of e.content)delete t.index}})}})(),a}}function Lm(e,t=``){return typeof e==`string`?e:typeof e==`number`||typeof e==`boolean`?String(e):t}function Rm(e,t=``){return typeof e==`string`?e:e&&typeof e==`object`?JSON.stringify(e):typeof e==`number`||typeof e==`boolean`?String(e):t}function zm(e){switch(e){case`flex`:return .5;case`priority`:return 2;default:return 1}}function Bm(e,t){let n=zm(t);n!==1&&(e.cost.input*=n,e.cost.output*=n,e.cost.cacheRead*=n,e.cost.cacheWrite*=n,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function Vm(e=process.env){return e.AZURE_OPENAI_API_VERSION?.trim()||`2024-12-01-preview`}function Hm(e){let t=0;for(let n=0;n<e.length;n+=1)t=t*31+e.charCodeAt(n)|0;return Math.abs(t).toString(36)}function Um(e,t){return JSON.stringify({v:1,id:e,...t?{phase:t}:{}})}function Wm(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function Gm(e,t,n,r){let i=[],a=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},o=e=>{let t=`fc_${Hm(e)}`;return t.length>64?t.slice(0,64):t},s=hc(t.messages,e,(t,r,i)=>{if(!n.has(e.provider)||!t.includes(`|`))return a(t);let[s,c]=t.split(`|`),l=a(s),u=i.provider!==e.provider||i.api!==e.api?o(c):a(c);return u.startsWith(`fc_`)||(u=a(`fc_${u}`)),`${l}|${u}`});(r?.includeSystemPrompt??!0)&&t.systemPrompt&&i.push({role:e.reasoning&&r?.supportsDeveloperRole!==!1?`developer`:`system`,content:gc(Js(t.systemPrompt))});let c=0;for(let t of s){if(t.role===`user`)if(typeof t.content==`string`)i.push({role:`user`,content:[{type:`input_text`,text:gc(t.content)}]});else{let n=t.content.map(e=>e.type===`text`?{type:`input_text`,text:gc(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`}).filter(t=>e.input.includes(`image`)||t.type!==`input_image`);n.length>0&&i.push({role:`user`,content:n})}else if(t.role===`assistant`){let n=[],r=t.model!==e.id&&t.provider===e.provider&&t.api===e.api;for(let e of t.content)if(e.type===`thinking`)e.thinkingSignature&&n.push(JSON.parse(e.thinkingSignature));else if(e.type===`text`){let t=Wm(e.textSignature)?.id??`msg_${c}`;t.length>64&&(t=`msg_${Hm(t)}`),n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:gc(e.text),annotations:[]}],status:`completed`,id:t,phase:Wm(e.textSignature)?.phase})}else if(e.type===`toolCall`){let[t,i]=e.id.split(`|`),a=r&&i?.startsWith(`fc_`)?void 0:i;n.push({type:`function_call`,id:a,call_id:t,name:e.name,arguments:typeof e.arguments==`string`?e.arguments:JSON.stringify(e.arguments??{})})}n.length>0&&i.push(...n)}else if(t.role===`toolResult`){let n=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
246
|
+
`),r=t.content.some(e=>e.type===`image`),[a]=t.toolCallId.split(`|`);i.push({type:`function_call_output`,call_id:a,output:r&&e.input.includes(`image`)?[...n?[{type:`input_text`,text:gc(n)}]:[],...t.content.filter(e=>e.type===`image`).map(e=>({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`}))]:gc(n||`(see attached image)`)})}c+=1}return i}function Km(e,t){let n=fm(e,t?.strict);return n===void 0?e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters})):e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:lm(e.parameters,n),strict:n}))}async function qm(e,t,n,r,i){let a=null,o=null,s=()=>t.content.length-1;for await(let c of e){let e=c,l=Lm(e.type);if(l===`response.created`)t.responseId=Lm(e.response?.id);else if(l===`response.output_item.added`){let r=e.item;r.type===`reasoning`?(a=r,o={type:`thinking`,thinking:``},t.content.push(o),n.push({type:`thinking_start`,contentIndex:s(),partial:t})):r.type===`message`?(a=r,o={type:`text`,text:``},t.content.push(o),n.push({type:`text_start`,contentIndex:s(),partial:t})):r.type===`function_call`&&(a=r,o={type:`toolCall`,id:`${Lm(r.call_id)}|${Lm(r.id)}`,name:Lm(r.name),arguments:{},partialJson:Rm(r.arguments)},t.content.push(o),n.push({type:`toolcall_start`,contentIndex:s(),partial:t}))}else if(l===`response.reasoning_summary_text.delta`)a?.type===`reasoning`&&o?.type===`thinking`&&(o.thinking=`${Lm(o.thinking)}${Lm(e.delta)}`,n.push({type:`thinking_delta`,contentIndex:s(),delta:Lm(e.delta),partial:t}));else if(l===`response.output_text.delta`||l===`response.refusal.delta`)a?.type===`message`&&o?.type===`text`&&(o.text=`${Lm(o.text)}${Lm(e.delta)}`,n.push({type:`text_delta`,contentIndex:s(),delta:Lm(e.delta),partial:t}));else if(l===`response.function_call_arguments.delta`)a?.type===`function_call`&&o?.type===`toolCall`&&(o.partialJson=`${Rm(o.partialJson)}${Rm(e.delta)}`,o.arguments=oe(Rm(o.partialJson)),n.push({type:`toolcall_delta`,contentIndex:s(),delta:Rm(e.delta),partial:t}));else if(l===`response.output_item.done`){let r=e.item;if(r.type===`reasoning`&&o?.type===`thinking`){let e=Array.isArray(r.summary)?r.summary.map(e=>e.text??``).join(`
|
|
247
|
+
|
|
248
|
+
`):``;o.thinking=e,o.thinkingSignature=JSON.stringify(r),n.push({type:`thinking_end`,contentIndex:s(),content:Lm(o.thinking),partial:t}),o=null}else if(r.type===`message`&&o?.type===`text`){let e=Array.isArray(r.content)?r.content:[];o.text=e.map(e=>{let t=e;return t.type===`output_text`?t.text??``:t.refusal??``}).join(``),o.textSignature=Um(Lm(r.id),r.phase??void 0),n.push({type:`text_end`,contentIndex:s(),content:Lm(o.text),partial:t}),o=null}else if(r.type===`function_call`){let e=o?.type===`toolCall`&&o.partialJson?oe(Rm(o.partialJson,`{}`)):oe(Rm(r.arguments,`{}`));n.push({type:`toolcall_end`,contentIndex:s(),toolCall:{type:`toolCall`,id:`${Lm(r.call_id)}|${Lm(r.id)}`,name:Lm(r.name),arguments:e},partial:t}),o=null}}else if(l===`response.completed`){let n=e.response;typeof n?.id==`string`&&(t.responseId=n.id);let a=n?.usage;if(a){let e=a.input_tokens_details?.cached_tokens||0;t.usage={input:(a.input_tokens||0)-e,output:a.output_tokens||0,cacheRead:e,cacheWrite:0,totalTokens:a.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}V(r,t.usage),i?.applyServiceTierPricing&&i.applyServiceTierPricing(t.usage,n?.service_tier??i.serviceTier),t.stopReason=Jm(n?.status),t.content.some(e=>e.type===`toolCall`)&&t.stopReason===`stop`&&(t.stopReason=`toolUse`)}else if(l===`error`)throw Error(`Error Code ${Lm(e.code,`unknown`)}: ${Lm(e.message,`Unknown error`)}`);else if(l===`response.failed`){let t=e.response,n=t?.error?`${t.error.code||`unknown`}: ${t.error.message||`no message`}`:t?.incomplete_details?.reason?`incomplete: ${t.incomplete_details.reason}`:`Unknown error (no error details in response)`;throw Error(n)}}}function Jm(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}function Ym(e,t,n,r){let i={...e.headers};return e.provider===`github-copilot`&&Object.assign(i,sc({messages:t.messages,hasImages:ac(t.messages)})),n&&Object.assign(i,n),r&&Object.assign(i,r),i}function Xm(e,t){return I({provider:e.provider,context:{provider:e.provider,modelId:e.id,model:e,sessionId:t.sessionId,turnId:t.turnId,attempt:t.attempt,transport:t.transport}})}function Zm(e,t,n,r,i){return new $({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:Ym(e,t,r,i),fetch:pc(e)})}function Qm(){return(e,t,n)=>{let r=B(),i=r;return(async()=>{let r={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let a=n?.apiKey||ae(e.provider)||``,o=Xm(e,{sessionId:n?.sessionId,turnId:Ye(),attempt:1,transport:`stream`}),s=Zm(e,t,a,n?.headers,o?.headers),c=ah(e,t,n,o?.metadata),l=await n?.onPayload?.(c,e);l!==void 0&&(c=l),c=yc(c,o?.metadata);let u=await s.responses.create(c,n?.signal?{signal:n.signal}:void 0);if(i.push({type:`start`,partial:r}),await qm(u,r,i,e,{serviceTier:n?.serviceTier,applyServiceTierPricing:Bm}),n?.signal?.aborted)throw Error(`Request was aborted`);if(r.stopReason===`aborted`||r.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:r.stopReason,message:r}),i.end()}catch(e){r.stopReason=n?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e),i.push({type:`error`,reason:r.stopReason,error:r}),i.end()}})(),r}}function $m(e){return e===`short`||e===`long`||e===`none`?e:typeof process<`u`&&process.env.PI_CACHE_RETENTION===`long`?`long`:`short`}function eh(e,t){if(t===`long`)return e?.includes(`api.openai.com`)?`24h`:void 0}function th(e){return Ps(e?.reasoningEffort??e?.reasoning??`high`)}function nh(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function rh(e){return Array.isArray(e)?e.some(e=>{if(!nh(e))return!1;if(e.type===`web_search`||e.type===`function`&&e.name===`web_search`)return!0;let t=e.function;return nh(t)&&t.name===`web_search`}):!1}function ih(e){if(e.effort!==`minimal`||!rh(e.tools))return e.effort;for(let t of[`low`,`medium`,`high`]){let n=Rs({model:e.model,effort:t});if(n&&n!==`none`&&n!==`minimal`)return n}return e.effort}function ah(e,t,n,r){let i=yh(e),a=typeof i.supportsDeveloperRole==`boolean`?i.supportsDeveloperRole:void 0,o=Gm(e,t,new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]),{supportsDeveloperRole:a}),s=$m(n?.cacheRetention),c=Gs(e,{storeMode:`disable`}),l={model:e.id,input:o,stream:!0,prompt_cache_key:s===`none`?void 0:n?.sessionId,prompt_cache_retention:eh(e.baseUrl,s),...r?{metadata:r}:{}};if(n?.maxTokens&&(l.max_output_tokens=n.maxTokens),n?.temperature!==void 0&&(l.temperature=n.temperature),n?.serviceTier!==void 0&&c.allowsServiceTier&&(l.service_tier=n.serviceTier),t.tools&&(l.tools=Km(t.tools,{strict:rm(e,{transport:`stream`})})),e.reasoning){if(n?.reasoningEffort||n?.reasoning||n?.reasoningSummary){let t=Rs({model:e,effort:th(n)}),r=t?ih({model:e,effort:t,tools:l.tools}):void 0;r&&(l.reasoning={effort:r,...r===`none`?{}:{summary:n?.reasoningSummary||`auto`}},r!==`none`&&(l.include=[`reasoning.encrypted_content`]))}else if(e.provider!==`github-copilot`){let t=Rs({model:e,effort:`none`});t&&(l.reasoning={effort:t})}}return Ks(l,c),l}function oh(){return(e,t,n)=>{let r=B(),i=r;return(async()=>{let r={role:`assistant`,content:[],api:`azure-openai-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let a=n?.apiKey||ae(e.provider)||``,o=Xm(e,{sessionId:n?.sessionId,turnId:Ye(),attempt:1,transport:`stream`}),s=lh(e,t,a,n?.headers,o?.headers),c=uh(e,t,n,ch(e),o?.metadata),l=await n?.onPayload?.(c,e);l!==void 0&&(c=l),c=yc(c,o?.metadata);let u=await s.responses.create(c,n?.signal?{signal:n.signal}:void 0);if(i.push({type:`start`,partial:r}),await qm(u,r,i,e),n?.signal?.aborted)throw Error(`Request was aborted`);if(r.stopReason===`aborted`||r.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:r.stopReason,message:r}),i.end()}catch(e){r.stopReason=n?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e),i.push({type:`error`,reason:r.stopReason,error:r}),i.end()}})(),r}}function sh(e){return e.replace(/\/+$/,``)}function ch(e){let t=process.env.AZURE_OPENAI_DEPLOYMENT_NAME_MAP;if(t)for(let n of t.split(`,`)){let[t,r]=n.split(`=`,2).map(e=>e?.trim());if(t===e.id&&r)return r}return e.id}function lh(e,t,n,r,i){return new $p({apiKey:n,apiVersion:Vm(),dangerouslyAllowBrowser:!0,defaultHeaders:Ym(e,t,r,i),baseURL:sh(e.baseUrl),fetch:pc(e)})}function uh(e,t,n,r,i){let a=ah(e,t,n,i);return a.model=r,delete a.store,a}function dh(e){return e.some(e=>e.role===`toolResult`||e.role===`assistant`&&e.content.some(e=>e.type===`toolCall`))}function fh(e,t,n,r){let i=mh(e,t,r);return new $({apiKey:n,baseURL:i.baseURL,dangerouslyAllowBrowser:!0,defaultHeaders:i.defaultHeaders,defaultQuery:i.defaultQuery,fetch:pc(e)})}function ph(e){return e.endsWith(`.openai.azure.com`)||e.endsWith(`.services.ai.azure.com`)||e.endsWith(`.cognitiveservices.azure.com`)}function mh(e,t,n){let r=Ym(e,t,n),i={},a=e.baseUrl,o=!1;try{let t=new URL(e.baseUrl);o=ph(t.hostname.toLowerCase()),t.searchParams.forEach((e,t)=>{e&&(i[t]=e)}),t.search=``,a=t.toString().replace(/\/$/,``)}catch{}if(o){let e=Object.keys(r).find(e=>e.toLowerCase()===`api-version`);if(e){let t=r[e]?.trim();delete r[e],t&&!i[`api-version`]&&(i[`api-version`]=t)}}return{baseURL:a,defaultHeaders:r,defaultQuery:Object.keys(i).length>0?i:void 0}}function hh(){return(e,t,n)=>{let r=B(),i=r;return(async()=>{let r={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let a=fh(e,t,n?.apiKey||ae(e.provider)||``,n?.headers),o=Sh(e,t,n),s=await n?.onPayload?.(o,e);s!==void 0&&(o=s);let c=await a.chat.completions.create(o,{signal:n?.signal});if(i.push({type:`start`,partial:r}),await gh(c,r,e,i),n?.signal?.aborted)throw Error(`Request was aborted`);i.push({type:`done`,reason:r.stopReason,message:r}),i.end()}catch(e){r.stopReason=n?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e),i.push({type:`error`,reason:r.stopReason,error:r}),i.end()}})(),r}}async function gh(e,t,n,r){let i=yh(n),a=null,o=[],s=0,c=0,l=!1,u=()=>t.content.length-1,d=e=>Buffer.byteLength(e,`utf8`),f=()=>{if(a&&a.type===`toolCall`){a.arguments=oe(a.partialArgs);let e={...a,arguments:oe(a.partialArgs)};t.content[u()]=e}},p=e=>{let t=d(e.text);if(s+t>256e3)throw Error(`Exceeded post-tool-call delta buffer limit`);s+=t;let n=o[o.length-1];if(!n||n.kind!==e.kind){o.push(e);return}if(e.kind===`thinking`&&n.kind===`thinking`){if(n.signature!==e.signature){o.push(e);return}n.text+=e.text;return}n.text+=e.text},m=e=>{(!a||a.type!==`thinking`)&&(f(),a={type:`thinking`,thinking:``,thinkingSignature:e.signature},t.content.push(a),r.push({type:`thinking_start`,contentIndex:u(),partial:t})),a.thinking+=e.text,r.push({type:`thinking_delta`,contentIndex:u(),delta:e.text,partial:t})},h=e=>{(!a||a.type!==`text`)&&(f(),a={type:`text`,text:``},t.content.push(a),r.push({type:`text_start`,contentIndex:u(),partial:t})),a.text+=e,r.push({type:`text_delta`,contentIndex:u(),delta:e,partial:t})},g=()=>{if(l||a?.type===`toolCall`||o.length===0)return;l=!0;let e=o;o=[],s=0;for(let t of e)t.kind===`text`?h(t.text):m(t);l=!1},_=e=>{g(),m(e)},v=e=>{g(),h(e)};for await(let o of e){t.responseId||=o.id,o.usage&&(t.usage=Ch(o.usage,n));let e=Array.isArray(o.choices)?o.choices[0]:void 0;if(!e)continue;let s=e.usage;if(!o.usage&&s&&(t.usage=Ch(s,n)),e.finish_reason){let n=wh(e.finish_reason);t.stopReason=n.stopReason,n.errorMessage&&(t.errorMessage=n.errorMessage)}if(!e.delta)continue;if(e.delta.content){a?.type===`toolCall`?p({kind:`text`,text:e.delta.content}):v(e.delta.content);continue}let l=_h(e.delta,i.visibleReasoningDetailTypes);for(let e of l){if(a?.type===`toolCall`){p({...e});continue}e.kind===`text`?v(e.text):_(e)}if(e.delta.tool_calls&&e.delta.tool_calls.length>0)for(let n of e.delta.tool_calls){if(!a||a.type!==`toolCall`||n.id&&a.id!==n.id){let e=a?.type===`toolCall`;f(),e&&(a=null,g()),a={type:`toolCall`,id:n.id||``,name:n.function?.name||``,arguments:{},partialArgs:``},c=0,t.content.push(a),r.push({type:`toolcall_start`,contentIndex:u(),partial:t})}if(a.type===`toolCall`&&(n.id&&(a.id=n.id),n.function?.name&&(a.name=n.function.name),n.function?.arguments)){let e=d(n.function.arguments);if(c+e>256e3)throw Error(`Exceeded tool-call argument buffer limit`);c+=e,a.partialArgs+=n.function.arguments,a.arguments=oe(a.partialArgs),r.push({type:`toolcall_delta`,contentIndex:u(),delta:n.function.arguments,partial:t})}}g()}f(),a?.type===`toolCall`&&(a=null),g();let y=t.content.some(e=>e.type===`toolCall`);t.stopReason===`toolUse`&&!y&&(t.stopReason=`stop`)}function _h(e,t){let n=[],r=e=>{let t=n[n.length-1];if(!t||t.kind!==e.kind){n.push(e);return}if(e.kind===`thinking`&&t.kind===`thinking`){if(t.signature!==e.signature){n.push(e);return}t.text+=e.text;return}t.text+=e.text},i=e.reasoning_details,a=!1;if(Array.isArray(i)){let e=new Set(t);for(let t of i){let n=t;if(!(typeof n.text!=`string`||!n.text)){if(n.type===`reasoning.text`){a=!0,r({kind:`thinking`,signature:`reasoning_details`,text:n.text});continue}typeof n.type==`string`&&e.has(n.type)&&r({kind:`text`,text:n.text})}}}if(!a)for(let t of[`reasoning_content`,`reasoning`,`reasoning_text`]){let n=e[t];if(typeof n==`string`&&n.length>0){r({kind:`thinking`,signature:t,text:n});break}}return n}function vh(e){let t=e.provider,{capabilities:n,defaults:r}=He(e),i=n.endpointClass,a=(i===`groq-native`||i===`default`&&t===`groq`)&&e.id===`qwen/qwen3-32b`?{minimal:`default`,low:`default`,medium:`default`,high:`default`,xhigh:`default`}:{};return{supportsStore:r.supportsStore,supportsDeveloperRole:r.supportsDeveloperRole,supportsReasoningEffort:r.supportsReasoningEffort,reasoningEffortMap:a,supportsUsageInStreaming:r.supportsUsageInStreaming,maxTokensField:r.maxTokensField,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,thinkingFormat:r.thinkingFormat,visibleReasoningDetailTypes:r.visibleReasoningDetailTypes,openRouterRouting:{},vercelGatewayRouting:{},supportsStrictMode:r.supportsStrictMode}}function yh(e){let t=vh(e),n=e.compat??{},r=typeof n.supportsStore==`boolean`?n.supportsStore:t.supportsStore,i=typeof n.supportsReasoningEffort==`boolean`?n.supportsReasoningEffort:t.supportsReasoningEffort;return{supportsStore:r,supportsDeveloperRole:n.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:i,reasoningEffortMap:om(e,t.reasoningEffortMap),supportsUsageInStreaming:n.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:n.maxTokensField??t.maxTokensField,requiresToolResultName:n.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:n.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:n.requiresThinkingAsText??t.requiresThinkingAsText,thinkingFormat:n.thinkingFormat??t.thinkingFormat,openRouterRouting:n.openRouterRouting??{},vercelGatewayRouting:n.vercelGatewayRouting??t.vercelGatewayRouting,supportsStrictMode:n.supportsStrictMode??t.supportsStrictMode,requiresStringContent:n.requiresStringContent??!1,visibleReasoningDetailTypes:n.visibleReasoningDetailTypes??t.visibleReasoningDetailTypes}}function bh(e){return e?.reasoningEffort??e?.reasoning??`high`}function xh(e,t,n){let r=fm(e,rm(n,{transport:`stream`,supportsStrictMode:t?.supportsStrictMode}));return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:lm(e.parameters,r===!0),...r===void 0?{}:{strict:r}}}))}function Sh(e,t,n){let r=yh(e),i=Ue(e,t.systemPrompt?{...t,systemPrompt:Js(t.systemPrompt)}:t,r),a={model:e.id,messages:r.requiresStringContent?Bs(i):i,stream:!0,stream_options:{include_usage:!0}};r.supportsStore&&(a.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?a.max_tokens=n.maxTokens:a.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(a.temperature=n.temperature),t.tools?(a.tools=xh(t.tools,r,e),n?.toolChoice&&(a.tool_choice=n.toolChoice)):dh(t.messages)&&(a.tools=[]);let o=bh(n),s=o?Rs({model:e,effort:o,fallbackMap:r.reasoningEffortMap}):void 0;return r.thinkingFormat===`openrouter`&&e.reasoning&&s?a.reasoning={effort:s}:s&&e.reasoning&&r.supportsReasoningEffort&&(a.reasoning_effort=s),a}function Ch(e,t){let n=e.prompt_tokens_details?.cached_tokens||0,r=e.prompt_tokens||0,i=Math.max(0,r-n),a=e.completion_tokens||0,o={input:i,output:a,cacheRead:n,cacheWrite:0,totalTokens:i+a+n,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return V(t,o),o}function wh(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}const Th=new Set([`openai-responses`,`openai-codex-responses`,`openai-completions`,`azure-openai-responses`,`anthropic-messages`,`google-generative-ai`]);function Eh(e,t){return ee({provider:e.provider,config:t?.cfg,workspaceDir:t?.workspaceDir,env:t?.env,context:{config:t?.cfg,agentDir:t?.agentDir,workspaceDir:t?.workspaceDir,provider:e.provider,modelId:e.id,model:e}})??ee({provider:`google`,config:t?.cfg,workspaceDir:t?.workspaceDir,env:t?.env,context:{config:t?.cfg,agentDir:t?.agentDir,workspaceDir:t?.workspaceDir,provider:e.provider,modelId:e.id,model:e}})??void 0}function Dh(e,t){switch(e.api){case`openai-responses`:case`openai-codex-responses`:return Qm();case`openai-completions`:return hh();case`azure-openai-responses`:return oh();case`anthropic-messages`:return Im();case`google-generative-ai`:return Eh(e,t);default:return}}function Oh(e){let t=Zo(e);return!!(t?.proxy||t?.tls)}function kh(e){return Th.has(e)}function Ah(e,t){if(Oh(e)){if(!kh(e.api))throw Error(`Model-provider request.proxy/request.tls is not yet supported for api "${e.api}"`);return Dh(e,t)}}function jh(e){return`openclaw-custom-api:${e}`}function Mh(e,t){return ne(e)?!1:(ie({api:e,stream:(e,n,r)=>t(e,n,r),streamSimple:(e,n,r)=>t(e,n,r)},jh(e)),!0)}function Nh(e){let t=ee({provider:e.model.provider,config:e.cfg,workspaceDir:e.workspaceDir,env:e.env,context:{config:e.cfg,agentDir:e.agentDir,workspaceDir:e.workspaceDir,provider:e.model.provider,modelId:e.model.id,model:e.model}})??Ah(e.model,{cfg:e.cfg,agentDir:e.agentDir,workspaceDir:e.workspaceDir,env:e.env});if(t)return Mh(e.model.api,t),t}export{Lo as a,Nn as c,Po as i,Mn as l,Mo as n,So as o,jo as r,hr as s,Nh as t};
|