diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 30e8cf9..7e02aa7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,6 +16,9 @@ concurrency: jobs: quality: name: Quality and committed bundle + permissions: + contents: read + packages: read runs-on: ubuntu-24.04 timeout-minutes: 15 steps: @@ -26,12 +29,16 @@ jobs: uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 with: node-version-file: .node-version + registry-url: https://npm.pkg.github.com + scope: '@commercekit-tools' - name: Enable Corepack run: corepack enable - name: Install dependencies run: pnpm install --frozen-lockfile + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Run quality gate run: pnpm quality diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..62460df --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@commercekit-tools:registry=https://npm.pkg.github.com diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be4fa96..80b5513 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,7 +9,17 @@ Thank you for helping improve Setup CommerceKit CLI. - Git The repository pins pnpm in `package.json`; do not install or publish this -package through npm. +package through npm. Development installation also reads the existing shared +notification contract from GitHub Packages. Configure package-read +authentication in user-level npm configuration; the repository scope +configuration contains no credentials. Trusted CI installation grants +`packages: read` only to its quality job. Fork workflows may lack package +access; do not use privileged untrusted PR execution to bypass that restriction. + +Normal reporting development uses exact published notification-contract 0.0.6. +No source checkout, candidate preparation or file:tarball dependency is needed. +The historical candidate procedure is archived in +`docs/reporting-validation.md`. ```bash corepack enable @@ -45,9 +55,10 @@ pnpm test:integration ``` It verifies release metadata, the selected archive, executable version, Action -outputs, and a second-invocation cache hit. It does not install into a system -directory or modify a shell profile. Latest-stable discovery is covered with -synthetic unit fixtures because the current public CLI releases are previews. +outputs, validated notification contexts, success/failure summaries and a +second-invocation cache hit. It does not install into a system directory or +modify a shell profile. Latest-stable discovery is covered with synthetic unit +fixtures because the current public CLI releases are previews. ## Committed bundle diff --git a/README.md b/README.md index 99c25a1..b4faf7e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Setup CommerceKit CLI +> **Registry-backed reporting:** consistent notifications and GitHub summaries +> consume exact published notification-contract 0.0.6 and are bundled for +> runtime consumers. See [reporting validation](docs/reporting-validation.md). + Install and verify a requested [CommerceKit CLI](https://github.com/commercekit-tools/cli) version, or the latest stable version, on a GitHub Actions runner. @@ -104,16 +108,18 @@ fails. It never falls back to another release, Homebrew, or WinGet. ## Outputs -| Output | Meaning | Example | -| ----------- | -------------------------------------------------- | ---------------------------------------------- | -| `version` | Exact installed CLI version. | `0.1.0-preview.2` | -| `path` | Absolute path to the verified executable. | Runner tool-cache path ending in `commercekit` | -| `target` | Normalized release target selected for the runner. | `linux-x64` | -| `build-id` | Verified identity from `release-manifest.json`. | 40-character source identity | -| `cache-hit` | Lowercase string for verified tool-cache reuse. | `true` | +| Output | Meaning | Example | +| -------------------- | --------------------------------------------------- | ---------------------------------------------- | +| `version` | Exact installed CLI version. | `0.1.0-preview.2` | +| `path` | Absolute path to the verified executable. | Runner tool-cache path ending in `commercekit` | +| `target` | Normalized release target selected for the runner. | `linux-x64` | +| `build-id` | Verified identity from `release-manifest.json`. | 40-character source identity | +| `cache-hit` | Lowercase string for verified tool-cache reuse. | `true` | +| `notification-event` | Validated setup event with safe inputs and outcome. | Bounded JSON for the existing Notify action. | -Outputs are set only after the executable passes integrity and exact-version -verification. +Installation outputs are set only after the executable passes integrity and +exact-version verification. The Action also emits `notification-event` for +handled failures before the Action reports failure. ```yaml - name: Show resolved installation @@ -125,6 +131,46 @@ verification. "$COMMERCEKIT_PATH" --version ``` +## Consistent notifications and job summaries + +The Action uses the existing shared notification contract and the existing +Notify Action. It does not add a webhook input or delivery code. +`commercekit.setup.completed` reports setup success or failure with the exact +`version` input name, effective `latest` when omitted, validation/truncation +metadata, verified installed version, target, build identity, cache reuse and +duration when available. Failures include a safe code and explanation. A cache +hit remains successful; the Action does not invent a warning condition. + +Every handled success or failure writes the shared GitHub summary layout: status +icon and label, result table, input table, validation/truncation state and safe +error detail. This includes invalid version, stable-release discovery, download, +checksum and executable-verification failures. The shared visual vocabulary uses +✅ success, ❌ failure and ⚠️ warnings where applicable. Raw exceptions, URL +credentials/query strings, known secret/token patterns and absolute executable +paths are not included in summaries or notifications. Reporting errors produce a +fixed safe warning while preserving installation outputs and the original +success/failure outcome. + +Use compatible reviewed immutable Setup and Notify commits. Replace both +placeholders below after reviewing their registry-backed validation: + +```yaml +- uses: commercekit-tools/setup-commercekit@REPLACE_WITH_REVIEWED_SETUP_COMMIT + id: setup + with: + version: '0.1.0-preview.2' +- uses: commercekit-tools/notify@REPLACE_WITH_COMPATIBLE_NOTIFY_COMMIT + if: ${{ always() && steps.setup.outputs.notification-event != '' }} + with: + provider: slack # or teams-workflow + event-json: ${{ steps.setup.outputs.notification-event }} + webhook-url: ${{ secrets.COMMERCEKIT_NOTIFICATION_WEBHOOK }} + fail-on-notification-error: 'false' +``` + +Older Notify versions reject the new setup event. Webhook credentials belong +only on Notify; notification delivery does not replace the setup step's outcome. + ## Supported targets The published CommerceKit CLI provides these standalone targets: diff --git a/RELEASING.md b/RELEASING.md index 9f8be57..6d28412 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -18,6 +18,17 @@ This repository does not publish an npm package. major version. - CLI preview maturity does not change the Action's interface version. +## Reporting consistency + +The Action consumes exact published notification-contract 0.0.6, with its +registry lockfile and standalone bundle committed. Normal development and +runtime use no candidate dependency or source checkout. The package-only +publication is separate from this Action's release process; it created no Action +tag or Marketplace release. See +[reporting-validation.md](docs/reporting-validation.md) for exact provenance and +normal validation evidence. All quality/security checks and six native runner +jobs must pass on the reviewed release commit. + ## Release prerequisites Before creating a release: diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index dfe9154..2fd01fd 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -6,11 +6,16 @@ dependencies is committed as `dist/licenses.txt`. Direct runtime dependencies include: -| Dependency | License | Project | -| --------------------- | ------- | ------------------------------------ | -| `@actions/core` | MIT | | -| `@actions/tool-cache` | MIT | | -| `semver` | ISC | | +| Dependency | License | Project | +| ------------------------------------------ | ------- | ------------------------------------------------- | +| `@actions/core` | MIT | | +| `@actions/tool-cache` | MIT | | +| `semver` | ISC | | +| `@commercekit-tools/notification-contract` | MIT | | These notices do not replace the license terms shipped in the generated bundle or the dependencies' source distributions. + +The reporting implementation consumes the exact published shared contract and +its runtime dependencies. The regenerated `dist/licenses.txt` accompanies the +standalone registry-backed bundle; runtime consumers install no packages. diff --git a/action.yml b/action.yml index 1af7476..d072c12 100644 --- a/action.yml +++ b/action.yml @@ -10,6 +10,9 @@ inputs: required: false outputs: + notification-event: + description: + Validated setup notification event with safe input context and outcome. version: description: Exact installed CommerceKit CLI version. path: diff --git a/dist/index.js b/dist/index.js index 51e9aa6..a9c10c3 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,3 +1,9 @@ -import{createRequire as e}from"module";var t={5275:(e,t,A)=>{const r=Symbol("SemVer ANY");class Comparator{static get ANY(){return r}constructor(e,t){t=s(t);if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}e=e.trim().split(/\s+/).join(" ");a("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===r){this.value=""}else{this.value=this.operator+this.semver.version}a("comp",this)}parse(e){const t=this.options.loose?n[o.COMPARATORLOOSE]:n[o.COMPARATOR];const A=e.match(t);if(!A){throw new TypeError(`Invalid comparator: ${e}`)}this.operator=A[1]!==undefined?A[1]:"";if(this.operator==="="){this.operator=""}if(!A[2]){this.semver=r}else{this.semver=new c(A[2],this.options.loose)}}toString(){return this.value}test(e){a("Comparator.test",e,this.options.loose);if(this.semver===r||e===r){return true}if(typeof e==="string"){try{e=new c(e,this.options)}catch(e){return false}}return i(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(this.operator===""){if(this.value===""){return true}return new l(e.value,t).test(this.value)}else if(e.operator===""){if(e.value===""){return true}return new l(this.value,t).test(e.semver)}t=s(t);if(t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")){return false}if(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))){return false}if(this.operator.startsWith(">")&&e.operator.startsWith(">")){return true}if(this.operator.startsWith("<")&&e.operator.startsWith("<")){return true}if(this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")){return true}if(i(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")){return true}if(i(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")){return true}return false}}e.exports=Comparator;const s=A(7308);const{safeRe:n,t:o}=A(3191);const i=A(8446);const a=A(5519);const c=A(1603);const l=A(9046)},9046:(e,t,A)=>{const r=/\s+/g;class Range{constructor(e,t){t=o(t);if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof i){this.raw=e.value;this.set=[[e]];this.formatted=undefined;return this}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e.trim().replace(r," ");this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length);if(!this.set.length){throw new TypeError(`Invalid SemVer Range: ${this.raw}`)}if(this.set.length>1){const e=this.set[0];this.set=this.set.filter(e=>!isNullSet(e[0]));if(this.set.length===0){this.set=[e]}else if(this.set.length>1){for(const e of this.set){if(e.length===1&&isAny(e[0])){this.set=[e];break}}}}this.formatted=undefined}get range(){if(this.formatted===undefined){this.formatted="";for(let e=0;e0){this.formatted+="||"}const t=this.set[e];for(let e=0;e0){this.formatted+=" "}this.formatted+=t[e].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){e=e.replace(I,"");const t=(this.options.includePrerelease&&C)|(this.options.loose&&B);const A=t+":"+e;const r=n.get(A);if(r){return r}const s=this.options.loose;const o=s?g[h.HYPHENRANGELOOSE]:g[h.HYPHENRANGE];e=e.replace(o,hyphenReplace(this.options.includePrerelease));a("hyphen replace",e);e=l(e);a("comparator trim",e);e=e.replace(g[h.TILDETRIM],u);a("tilde trim",e);e=e.replace(g[h.CARETTRIM],Q);a("caret trim",e);let c=e.split(" ").map(e=>parseComparator(e,this.options)).join(" ").split(/\s+/).map(e=>replaceGTE0(e,this.options));if(s){c=c.filter(e=>{a("loose invalid filter",e,this.options);return!!e.match(g[h.COMPARATORLOOSE])})}a("range list",c);const E=new Map;const d=c.map(e=>new i(e,this.options));for(const e of d){if(isNullSet(e)){return[e]}E.set(e.value,e)}if(E.size>1&&E.has("")){E.delete("")}const f=[...E.values()];n.set(A,f);return f}intersects(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(A=>isSatisfiable(A,t)&&e.set.some(e=>isSatisfiable(e,t)&&A.every(A=>e.every(e=>A.intersects(e,t)))))}test(e){if(!e){return false}if(typeof e==="string"){try{e=new c(e,this.options)}catch(e){return false}}for(let t=0;te.value==="<0.0.0-0";const isAny=e=>e.value==="";const isSatisfiable=(e,t)=>{let A=true;const r=e.slice();let s=r.pop();while(A&&r.length){A=r.every(e=>s.intersects(e,t));s=r.pop()}return A};const parseComparator=(e,t)=>{e=e.replace(g[h.BUILD],"");a("comp",e,t);e=replaceCarets(e,t);a("caret",e);e=replaceTildes(e,t);a("tildes",e);e=replaceXRanges(e,t);a("xrange",e);e=replaceStars(e,t);a("stars",e);return e};const isX=e=>!e||e.toLowerCase()==="x"||e==="*";const invalidXRangeOrder=(e,t,A)=>isX(e)&&!isX(t)||isX(t)&&A&&!isX(A);const replaceTildes=(e,t)=>e.trim().split(/\s+/).map(e=>replaceTilde(e,t)).join(" ");const replaceTilde=(e,t)=>{const A=t.loose?g[h.TILDELOOSE]:g[h.TILDE];const r=t.includePrerelease?"-0":"";return e.replace(A,(t,A,s,n,o)=>{a("tilde",e,t,A,s,n,o);let i;if(isX(A)){i=""}else if(isX(s)){i=`>=${A}.0.0${r} <${+A+1}.0.0-0`}else if(isX(n)){i=`>=${A}.${s}.0${r} <${A}.${+s+1}.0-0`}else if(o){a("replaceTilde pr",o);i=`>=${A}.${s}.${n}-${o} <${A}.${+s+1}.0-0`}else{i=`>=${A}.${s}.${n} <${A}.${+s+1}.0-0`}a("tilde return",i);return i})};const replaceCarets=(e,t)=>e.trim().split(/\s+/).map(e=>replaceCaret(e,t)).join(" ");const replaceCaret=(e,t)=>{a("caret",e,t);const A=t.loose?g[h.CARETLOOSE]:g[h.CARET];const r=t.includePrerelease?"-0":"";return e.replace(A,(t,A,s,n,o)=>{a("caret",e,t,A,s,n,o);let i;if(isX(A)){i=""}else if(isX(s)){i=`>=${A}.0.0${r} <${+A+1}.0.0-0`}else if(isX(n)){if(A==="0"){i=`>=${A}.${s}.0${r} <${A}.${+s+1}.0-0`}else{i=`>=${A}.${s}.0${r} <${+A+1}.0.0-0`}}else if(o){a("replaceCaret pr",o);if(A==="0"){if(s==="0"){i=`>=${A}.${s}.${n}-${o} <${A}.${s}.${+n+1}-0`}else{i=`>=${A}.${s}.${n}-${o} <${A}.${+s+1}.0-0`}}else{i=`>=${A}.${s}.${n}-${o} <${+A+1}.0.0-0`}}else{a("no pr");if(A==="0"){if(s==="0"){i=`>=${A}.${s}.${n} <${A}.${s}.${+n+1}-0`}else{i=`>=${A}.${s}.${n} <${A}.${+s+1}.0-0`}}else{i=`>=${A}.${s}.${n} <${+A+1}.0.0-0`}}a("caret return",i);return i})};const replaceXRanges=(e,t)=>{a("replaceXRanges",e,t);return e.split(/\s+/).map(e=>replaceXRange(e,t)).join(" ")};const replaceXRange=(e,t)=>{e=e.trim();const A=t.loose?g[h.XRANGELOOSE]:g[h.XRANGE];return e.replace(A,(A,r,s,n,o,i)=>{a("xRange",e,A,r,s,n,o,i);if(invalidXRangeOrder(s,n,o)){return e}const c=isX(s);const l=c||isX(n);const g=l||isX(o);const E=g;if(r==="="&&E){r=""}i=t.includePrerelease?"-0":"";if(c){if(r===">"||r==="<"){A="<0.0.0-0"}else{A="*"}}else if(r&&E){if(l){n=0}o=0;if(r===">"){r=">=";if(l){s=+s+1;n=0;o=0}else{n=+n+1;o=0}}else if(r==="<="){r="<";if(l){s=+s+1}else{n=+n+1}}if(r==="<"){i="-0"}A=`${r+s}.${n}.${o}${i}`}else if(l){A=`>=${s}.0.0${i} <${+s+1}.0.0-0`}else if(g){A=`>=${s}.${n}.0${i} <${s}.${+n+1}.0-0`}a("xRange return",A);return A})};const replaceStars=(e,t)=>{a("replaceStars",e,t);return e.trim().replace(g[h.STAR],"")};const replaceGTE0=(e,t)=>{a("replaceGTE0",e,t);return e.trim().replace(g[t.includePrerelease?h.GTE0PRE:h.GTE0],"")};const hyphenReplace=e=>(t,A,r,s,n,o,i,a,c,l,g,E)=>{if(isX(r)){A=""}else if(isX(s)){A=`>=${r}.0.0${e?"-0":""}`}else if(isX(n)){A=`>=${r}.${s}.0${e?"-0":""}`}else if(o){A=`>=${A}`}else{A=`>=${A}${e?"-0":""}`}if(isX(c)){a=""}else if(isX(l)){a=`<${+c+1}.0.0-0`}else if(isX(g)){a=`<${c}.${+l+1}.0-0`}else if(E){a=`<=${c}.${l}.${g}-${E}`}else if(e){a=`<${c}.${l}.${+g+1}-0`}else{a=`<=${a}`}return`${A} ${a}`.trim()};const testSet=(e,t,A)=>{for(let A=0;A0){const r=e[A].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch){return true}}}return false}return true}},1603:(e,t,A)=>{const r=A(5519);const{MAX_LENGTH:s,MAX_SAFE_INTEGER:n}=A(8114);const{safeRe:o,t:i}=A(3191);const a=A(7308);const{compareIdentifiers:c}=A(9916);const isPrereleaseIdentifier=(e,t)=>{const A=t.split(".");if(A.length>e.length){return false}for(let t=0;ts){throw new TypeError(`version is longer than ${s} characters`)}r("SemVer",e,t);this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;const A=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!A){throw new TypeError(`Invalid Version: ${e}`)}this.raw=e;this.major=+A[1];this.minor=+A[2];this.patch=+A[3];if(this.major>n||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>n||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>n||this.patch<0){throw new TypeError("Invalid patch version")}if(!A[4]){this.prerelease=[]}else{this.prerelease=A[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major){return 1}if(this.minore.minor){return 1}if(this.patche.patch){return 1}return 0}comparePre(e){if(!(e instanceof SemVer)){e=new SemVer(e,this.options)}if(this.prerelease.length&&!e.prerelease.length){return-1}else if(!this.prerelease.length&&e.prerelease.length){return 1}else if(!this.prerelease.length&&!e.prerelease.length){return 0}let t=0;do{const A=this.prerelease[t];const s=e.prerelease[t];r("prerelease compare",t,A,s);if(A===undefined&&s===undefined){return 0}else if(s===undefined){return 1}else if(A===undefined){return-1}else if(A===s){continue}else{return c(A,s)}}while(++t)}compareBuild(e){if(!(e instanceof SemVer)){e=new SemVer(e,this.options)}let t=0;do{const A=this.build[t];const s=e.build[t];r("build compare",t,A,s);if(A===undefined&&s===undefined){return 0}else if(s===undefined){return 1}else if(A===undefined){return-1}else if(A===s){continue}else{return c(A,s)}}while(++t)}inc(e,t,A){if(e.startsWith("pre")){if(!t&&A===false){throw new Error("invalid increment argument: identifier is empty")}if(t){const e=`-${t}`.match(this.options.loose?o[i.PRERELEASELOOSE]:o[i.PRERELEASE]);if(!e||e[1]!==t){throw new Error(`invalid identifier: ${t}`)}}}switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",t,A);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",t,A);break;case"prepatch":this.prerelease.length=0;this.inc("patch",t,A);this.inc("pre",t,A);break;case"prerelease":if(this.prerelease.length===0){this.inc("patch",t,A)}this.inc("pre",t,A);break;case"release":if(this.prerelease.length===0){throw new Error(`version ${this.raw} is not a prerelease`)}this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++}this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0){this.minor++}this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0){this.patch++}this.prerelease=[];break;case"pre":{const e=Number(A)?1:0;if(this.prerelease.length===0){this.prerelease=[e]}else{let r=this.prerelease.length;while(--r>=0){if(typeof this.prerelease[r]==="number"){this.prerelease[r]++;r=-2}}if(r===-1){if(t===this.prerelease.join(".")&&A===false){throw new Error("invalid increment argument: identifier already exists")}this.prerelease.push(e)}}if(t){let r=[t,e];if(A===false){r=[t]}if(isPrereleaseIdentifier(this.prerelease,t)){const e=this.prerelease[t.split(".").length];if(isNaN(e)){this.prerelease=r}}else{this.prerelease=r}}break}default:throw new Error(`invalid increment argument: ${e}`)}this.raw=this.format();if(this.build.length){this.raw+=`+${this.build.join(".")}`}return this}}e.exports=SemVer},9455:(e,t,A)=>{const r=A(1817);const clean=(e,t)=>{const A=r(e.trim().replace(/^[=v]+/,""),t);return A?A.version:null};e.exports=clean},8446:(e,t,A)=>{const r=A(3714);const s=A(6518);const n=A(5743);const o=A(972);const i=A(3896);const a=A(7221);const cmp=(e,t,A,c)=>{switch(t){case"===":if(typeof e==="object"){e=e.version}if(typeof A==="object"){A=A.version}return e===A;case"!==":if(typeof e==="object"){e=e.version}if(typeof A==="object"){A=A.version}return e!==A;case"":case"=":case"==":return r(e,A,c);case"!=":return s(e,A,c);case">":return n(e,A,c);case">=":return o(e,A,c);case"<":return i(e,A,c);case"<=":return a(e,A,c);default:throw new TypeError(`Invalid operator: ${t}`)}};e.exports=cmp},9889:(e,t,A)=>{const r=A(1603);const s=A(1817);const{safeRe:n,t:o}=A(3191);const coerce=(e,t)=>{if(e instanceof r){return e}if(typeof e==="number"){e=String(e)}if(typeof e!=="string"){return null}t=t||{};let A=null;if(!t.rtl){A=e.match(t.includePrerelease?n[o.COERCEFULL]:n[o.COERCE])}else{const r=t.includePrerelease?n[o.COERCERTLFULL]:n[o.COERCERTL];let s;while((s=r.exec(e))&&(!A||A.index+A[0].length!==e.length)){if(!A||s.index+s[0].length!==A.index+A[0].length){A=s}r.lastIndex=s.index+s[1].length+s[2].length}r.lastIndex=-1}if(A===null){return null}const i=A[2];const a=A[3]||"0";const c=A[4]||"0";const l=t.includePrerelease&&A[5]?`-${A[5]}`:"";const g=t.includePrerelease&&A[6]?`+${A[6]}`:"";return s(`${i}.${a}.${c}${l}${g}`,t)};e.exports=coerce},9256:(e,t,A)=>{const r=A(1603);const compareBuild=(e,t,A)=>{const s=new r(e,A);const n=new r(t,A);return s.compare(n)||s.compareBuild(n)};e.exports=compareBuild},2498:(e,t,A)=>{const r=A(6061);const compareLoose=(e,t)=>r(e,t,true);e.exports=compareLoose},6061:(e,t,A)=>{const r=A(1603);const compare=(e,t,A)=>new r(e,A).compare(new r(t,A));e.exports=compare},7535:(e,t,A)=>{const r=A(1817);const diff=(e,t)=>{const A=r(e,null,true);const s=r(t,null,true);const n=A.compare(s);if(n===0){return null}const o=n>0;const i=o?A:s;const a=o?s:A;const c=!!i.prerelease.length;const l=!!a.prerelease.length;if(l&&!c){if(!a.patch&&!a.minor){return"major"}if(a.compareMain(i)===0){if(a.minor&&!a.patch){return"minor"}return"patch"}}const g=c?"pre":"";if(A.major!==s.major){return g+"major"}if(A.minor!==s.minor){return g+"minor"}if(A.patch!==s.patch){return g+"patch"}return"prerelease"};e.exports=diff},3714:(e,t,A)=>{const r=A(6061);const eq=(e,t,A)=>r(e,t,A)===0;e.exports=eq},5743:(e,t,A)=>{const r=A(6061);const gt=(e,t,A)=>r(e,t,A)>0;e.exports=gt},972:(e,t,A)=>{const r=A(6061);const gte=(e,t,A)=>r(e,t,A)>=0;e.exports=gte},4858:(e,t,A)=>{const r=A(1603);const inc=(e,t,A,s,n)=>{if(typeof A==="string"){n=s;s=A;A=undefined}try{return new r(e instanceof r?e.version:e,A).inc(t,s,n).version}catch(e){return null}};e.exports=inc},3896:(e,t,A)=>{const r=A(6061);const lt=(e,t,A)=>r(e,t,A)<0;e.exports=lt},7221:(e,t,A)=>{const r=A(6061);const lte=(e,t,A)=>r(e,t,A)<=0;e.exports=lte},4567:(e,t,A)=>{const r=A(1603);const major=(e,t)=>new r(e,t).major;e.exports=major},8467:(e,t,A)=>{const r=A(1603);const minor=(e,t)=>new r(e,t).minor;e.exports=minor},6518:(e,t,A)=>{const r=A(6061);const neq=(e,t,A)=>r(e,t,A)!==0;e.exports=neq},1817:(e,t,A)=>{const r=A(1603);const parse=(e,t,A=false)=>{if(e instanceof r){return e}try{return new r(e,t)}catch(e){if(!A){return null}throw e}};e.exports=parse},3276:(e,t,A)=>{const r=A(1603);const patch=(e,t)=>new r(e,t).patch;e.exports=patch},4282:(e,t,A)=>{const r=A(1817);const prerelease=(e,t)=>{const A=r(e,t);return A&&A.prerelease.length?A.prerelease:null};e.exports=prerelease},6149:(e,t,A)=>{const r=A(6061);const rcompare=(e,t,A)=>r(t,e,A);e.exports=rcompare},4624:(e,t,A)=>{const r=A(9256);const rsort=(e,t)=>e.sort((e,A)=>r(A,e,t));e.exports=rsort},883:(e,t,A)=>{const r=A(9046);const satisfies=(e,t,A)=>{try{t=new r(t,A)}catch(e){return false}return t.test(e)};e.exports=satisfies},4888:(e,t,A)=>{const r=A(9256);const sort=(e,t)=>e.sort((e,A)=>r(e,A,t));e.exports=sort},8314:(e,t,A)=>{const r=A(1817);const s=A(8114);const n=A(1603);const truncate=(e,t,A)=>{if(!s.RELEASE_TYPES.includes(t)){return null}const r=cloneInputVersion(e,A);return r&&doTruncation(r,t)};const cloneInputVersion=(e,t)=>{const A=e instanceof n?e.version:e;return r(A,t)};const doTruncation=(e,t)=>{if(isPrerelease(t)){return e.version}e.prerelease=[];switch(t){case"major":e.minor=0;e.patch=0;break;case"minor":e.patch=0;break}return e.format()};const isPrerelease=e=>e.startsWith("pre");e.exports=truncate},1988:(e,t,A)=>{const r=A(1817);const valid=(e,t)=>{const A=r(e,t);return A?A.version:null};e.exports=valid},2320:(e,t,A)=>{const r=A(3191);const s=A(8114);const n=A(1603);const o=A(9916);const i=A(1817);const a=A(1988);const c=A(9455);const l=A(4858);const g=A(7535);const E=A(4567);const h=A(8467);const u=A(3276);const Q=A(4282);const C=A(6061);const B=A(6149);const I=A(2498);const d=A(9256);const f=A(4888);const p=A(4624);const w=A(5743);const m=A(3896);const y=A(3714);const D=A(6518);const R=A(972);const k=A(7221);const S=A(8446);const b=A(9889);const F=A(8314);const N=A(5275);const M=A(9046);const U=A(883);const L=A(9830);const T=A(5377);const v=A(2235);const H=A(2210);const G=A(7705);const x=A(5472);const Y=A(940);const J=A(9605);const V=A(6465);const O=A(7076);const P=A(6585);e.exports={parse:i,valid:a,clean:c,inc:l,diff:g,major:E,minor:h,patch:u,prerelease:Q,compare:C,rcompare:B,compareLoose:I,compareBuild:d,sort:f,rsort:p,gt:w,lt:m,eq:y,neq:D,gte:R,lte:k,cmp:S,coerce:b,truncate:F,Comparator:N,Range:M,satisfies:U,toComparators:L,maxSatisfying:T,minSatisfying:v,minVersion:H,validRange:G,outside:x,gtr:Y,ltr:J,intersects:V,simplifyRange:O,subset:P,SemVer:n,re:r.re,src:r.src,tokens:r.t,SEMVER_SPEC_VERSION:s.SEMVER_SPEC_VERSION,RELEASE_TYPES:s.RELEASE_TYPES,compareIdentifiers:o.compareIdentifiers,rcompareIdentifiers:o.rcompareIdentifiers}},8114:e=>{const t="2.0.0";const A=256;const r=Number.MAX_SAFE_INTEGER||9007199254740991;const s=16;const n=A-6;const o=["\t","\n","\v","\f","\r"," "," "," "," "," "," "," "," "," "," "," "," "," "," ","\u2028","\u2029"," "," "," ","\ufeff"];const i=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e.exports={MAX_LENGTH:A,MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:n,MAX_SAFE_INTEGER:r,WHITESPACE_CHARACTERS:o,RELEASE_TYPES:i,SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},5519:e=>{const t=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},9916:e=>{const t=/^[0-9]+$/;const compareIdentifiers=(e,A)=>{if(typeof e==="number"&&typeof A==="number"){return e===A?0:ecompareIdentifiers(t,e);e.exports={compareIdentifiers:compareIdentifiers,rcompareIdentifiers:rcompareIdentifiers}},1663:e=>{class LRUCache{constructor(){this.max=1e3;this.map=new Map}get(e){const t=this.map.get(e);if(t===undefined){return undefined}else{this.map.delete(e);this.map.set(e,t);return t}}delete(e){return this.map.delete(e)}set(e,t){const A=this.delete(e);if(!A&&t!==undefined){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}e.exports=LRUCache},7308:e=>{const t=Object.freeze({loose:true});const A=Object.freeze({});const parseOptions=e=>{if(!e){return A}if(typeof e!=="object"){return t}return e};e.exports=parseOptions},3191:(e,t,A)=>{const{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:n}=A(8114);const o=A(5519);t=e.exports={};const i=t.re=[];const a=t.safeRe=[];const c=t.src=[];const l=t.safeSrc=[];const g=t.t={};let E=0;const h="[a-zA-Z0-9-]";const u=[["\\s",1],["\\d",n],[h,s]];const makeSafeRegex=e=>{for(const[t,A]of u){e=e.split(`${t}*`).join(`${t}{0,${A}}`).split(`${t}+`).join(`${t}{1,${A}}`)}return e};const createToken=(e,t,A)=>{const r=makeSafeRegex(t);const s=E++;o(e,s,t);g[e]=s;c[s]=t;l[s]=r;i[s]=new RegExp(t,A?"g":undefined);a[s]=new RegExp(r,A?"g":undefined)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`);createToken("MAINVERSION",`(${c[g.NUMERICIDENTIFIER]})\\.`+`(${c[g.NUMERICIDENTIFIER]})\\.`+`(${c[g.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${c[g.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[g.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[g.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${c[g.NONNUMERICIDENTIFIER]}|${c[g.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${c[g.NONNUMERICIDENTIFIER]}|${c[g.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${c[g.PRERELEASEIDENTIFIER]}(?:\\.${c[g.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${c[g.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[g.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${h}+`);createToken("BUILD",`(?:\\+(${c[g.BUILDIDENTIFIER]}(?:\\.${c[g.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${c[g.MAINVERSION]}${c[g.PRERELEASE]}?${c[g.BUILD]}?`);createToken("FULL",`^${c[g.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${c[g.MAINVERSIONLOOSE]}${c[g.PRERELEASELOOSE]}?${c[g.BUILD]}?`);createToken("LOOSE",`^${c[g.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${c[g.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${c[g.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${c[g.XRANGEIDENTIFIER]})`+`(?:\\.(${c[g.XRANGEIDENTIFIER]})`+`(?:\\.(${c[g.XRANGEIDENTIFIER]})`+`(?:${c[g.PRERELEASE]})?${c[g.BUILD]}?`+`)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${c[g.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[g.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[g.XRANGEIDENTIFIERLOOSE]})`+`(?:${c[g.PRERELEASELOOSE]})?${c[g.BUILD]}?`+`)?)?`);createToken("XRANGE",`^${c[g.GTLT]}\\s*${c[g.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${c[g.GTLT]}\\s*${c[g.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`${"(^|[^\\d])"+"(\\d{1,"}${r}})`+`(?:\\.(\\d{1,${r}}))?`+`(?:\\.(\\d{1,${r}}))?`);createToken("COERCE",`${c[g.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",c[g.COERCEPLAIN]+`(?:${c[g.PRERELEASE]})?`+`(?:${c[g.BUILD]})?`+`(?:$|[^\\d])`);createToken("COERCERTL",c[g.COERCE],true);createToken("COERCERTLFULL",c[g.COERCEFULL],true);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${c[g.LONETILDE]}\\s+`,true);t.tildeTrimReplace="$1~";createToken("TILDE",`^${c[g.LONETILDE]}${c[g.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${c[g.LONETILDE]}${c[g.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${c[g.LONECARET]}\\s+`,true);t.caretTrimReplace="$1^";createToken("CARET",`^${c[g.LONECARET]}${c[g.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${c[g.LONECARET]}${c[g.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${c[g.GTLT]}\\s*(${c[g.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${c[g.GTLT]}\\s*(${c[g.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${c[g.GTLT]}\\s*(${c[g.LOOSEPLAIN]}|${c[g.XRANGEPLAIN]})`,true);t.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${c[g.XRANGEPLAIN]})`+`\\s+-\\s+`+`(${c[g.XRANGEPLAIN]})`+`\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${c[g.XRANGEPLAINLOOSE]})`+`\\s+-\\s+`+`(${c[g.XRANGEPLAINLOOSE]})`+`\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},1777:(e,t,A)=>{const{MAX_LENGTH:r,MAX_SAFE_BUILD_LENGTH:s,WHITESPACE_CHARACTERS:n}=A(8114);const o=new Uint8Array(65536);for(const e of n){o[e.charCodeAt(0)]=1}const isWhitespace=e=>e!==undefined&&o[e.charCodeAt(0)]===1;const isVersionPrefix=e=>e==="v"||e==="="||isWhitespace(e);const isDigit=e=>e!==undefined&&e>="0"&&e<="9";const isLetter=e=>e!==undefined&&(e>="a"&&e<="z"||e>="A"&&e<="Z");const isIdentifierCharacter=e=>isDigit(e)||isLetter(e)||e==="-";const isVersionStart=e=>isDigit(e)||e==="x"||e==="X"||e==="*";const findDigitsEndIndex=(e,t,A,r)=>{if(!isDigit(e[t])){return t}if(t>=r.start&&t=r.previousStart&&t{if(!A&&e[t]==="0"){return t+1}return findDigitsEndIndex(e,t,A?r:r+1,s)};const findPrereleaseIdentifierEndIndex=(e,t,A,n)=>{const o=findDigitsEndIndex(e,t,r,n);if(isLetter(e[o])||e[o]==="-"){let t=o+1;const A=t+s;while(t{const s=e[t]==="-";if(!A&&!s){return t}const n=t+(s?1:0);let o=findPrereleaseIdentifierEndIndex(e,n,A,r);if(o===n){if(!A||!s){return t}o=findPrereleaseIdentifierEndIndex(e,t,A,r)}while(e[o]==="."){const t=findPrereleaseIdentifierEndIndex(e,o+1,A,r);if(t===o+1){break}o=t}return o};const findBuildIdentifierEndIndex=(e,t)=>{let A=t;while(A-t{if(e[t]!=="+"){return t}let A=findBuildIdentifierEndIndex(e,t+1);if(A===t+1){return t}while(e[A]==="."){const t=findBuildIdentifierEndIndex(e,A+1);if(t===A+1){break}A=t}return A};const findLooseFullVersionEndIndex=(e,t,A)=>{let r=t;for(let s=0;s<3;s++){const n=findVersionNumberEndIndex(e,r,true,A);if(n===r){return t}r=n;if(s<2){if(e[r]!=="."){return t}r++}}const s=findPrereleaseEndIndex(e,r,true,A);return findBuildEndIndex(e,s)};const findPartialVersionComponentEndIndex=(e,t,A)=>{if(isDigit(e[t])){return findVersionNumberEndIndex(e,t,false,A)}return isVersionStart(e[t])?t+1:t};const findPartialVersionEndIndex=(e,t,A)=>{let r=findPartialVersionComponentEndIndex(e,t,A);for(let t=0;t<2;t++){if(e[r]!=="."){return r}const t=findPartialVersionComponentEndIndex(e,r+1,A);if(t===r+1){return r}r=t}const s=findPrereleaseEndIndex(e,r,false,A);return findBuildEndIndex(e,s)};const findVersionEndIndex=(e,t,A)=>{const r=findLooseFullVersionEndIndex(e,t,A);return r!==t?r:findPartialVersionEndIndex(e,t,A)};const findRemovableWhitespaceIndex=(e,t)=>{let A=t;if(isWhitespace(e[A])){A++}if(e[A]==="<"||e[A]===">"){A++}if(e[A]==="="){A++}return isWhitespace(e[A])?A:-1};const trimComparatorWhitespace=e=>{let t="";let A=0;let r=0;const s={start:-1,end:-1,previousStart:-1,previousEnd:-1};while(r"){r++}else if(!isVersionPrefix(e[r])&&!isVersionStart(e[r])){r++;continue}while(r{const r=A(5472);const gtr=(e,t,A)=>r(e,t,">",A);e.exports=gtr},6465:(e,t,A)=>{const r=A(9046);const intersects=(e,t,A)=>{e=new r(e,A);t=new r(t,A);return e.intersects(t,A)};e.exports=intersects},9605:(e,t,A)=>{const r=A(5472);const ltr=(e,t,A)=>r(e,t,"<",A);e.exports=ltr},5377:(e,t,A)=>{const r=A(1603);const s=A(9046);const maxSatisfying=(e,t,A)=>{let n=null;let o=null;let i=null;try{i=new s(t,A)}catch(e){return null}e.forEach(e=>{if(i.test(e)){if(!n||o.compare(e)===-1){n=e;o=new r(n,A)}}});return n};e.exports=maxSatisfying},2235:(e,t,A)=>{const r=A(1603);const s=A(9046);const minSatisfying=(e,t,A)=>{let n=null;let o=null;let i=null;try{i=new s(t,A)}catch(e){return null}e.forEach(e=>{if(i.test(e)){if(!n||o.compare(e)===1){n=e;o=new r(n,A)}}});return n};e.exports=minSatisfying},2210:(e,t,A)=>{const r=A(1603);const s=A(9046);const n=A(5743);const minVersion=(e,t)=>{e=new s(e,t);let A=new r("0.0.0");if(e.test(A)){return A}A=new r("0.0.0-0");if(e.test(A)){return A}A=null;for(let t=0;t{const t=new r(e.semver.version);switch(e.operator){case">":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!o||n(t,o)){o=t}break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}});if(o&&(!A||n(A,o))){A=o}}if(A&&e.test(A)){return A}return null};e.exports=minVersion},5472:(e,t,A)=>{const r=A(1603);const s=A(5275);const{ANY:n}=s;const o=A(9046);const i=A(883);const a=A(5743);const c=A(3896);const l=A(7221);const g=A(972);const outside=(e,t,A,E)=>{e=new r(e,E);t=new o(t,E);let h,u,Q,C,B;switch(A){case">":h=a;u=l;Q=c;C=">";B=">=";break;case"<":h=c;u=g;Q=a;C="<";B="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(e,t,E)){return false}for(let A=0;A{if(e.semver===n){e=new s(">=0.0.0")}o=o||e;i=i||e;if(h(e.semver,o.semver,E)){o=e}else if(Q(e.semver,i.semver,E)){i=e}});if(o.operator===C||o.operator===B){return false}if((!i.operator||i.operator===C)&&u(e,i.semver)){return false}else if(i.operator===B&&Q(e,i.semver)){return false}}return true};e.exports=outside},7076:(e,t,A)=>{const r=A(883);const s=A(6061);e.exports=(e,t,A)=>{const n=[];let o=null;let i=null;const a=e.sort((e,t)=>s(e,t,A));for(const e of a){const s=r(e,t,A);if(s){i=e;if(!o){o=e}}else{if(i){n.push([o,i])}i=null;o=null}}if(o){n.push([o,null])}const c=[];for(const[e,t]of n){if(e===t){c.push(e)}else if(!t&&e===a[0]){c.push("*")}else if(!t){c.push(`>=${e}`)}else if(e===a[0]){c.push(`<=${t}`)}else{c.push(`${e} - ${t}`)}}const l=c.join(" || ");const g=typeof t.raw==="string"?t.raw:String(t);return l.length{const r=A(9046);const s=A(5275);const{ANY:n}=s;const o=A(883);const i=A(6061);const subset=(e,t,A={})=>{if(e===t){return true}e=new r(e,A);t=new r(t,A);let s=false;e:for(const r of e.set){for(const e of t.set){const t=simpleSubset(r,e,A);s=s||t!==null;if(t){continue e}}if(s){return false}}return true};const a=[new s(">=0.0.0-0")];const c=[new s(">=0.0.0")];const simpleSubset=(e,t,A)=>{if(e===t){return true}if(e.length===1&&e[0].semver===n){if(t.length===1&&t[0].semver===n){return true}else if(A.includePrerelease){e=a}else{e=c}}if(t.length===1&&t[0].semver===n){if(A.includePrerelease){return true}else{t=c}}const r=new Set;let s,l;for(const t of e){if(t.operator===">"||t.operator===">="){s=higherGT(s,t,A)}else if(t.operator==="<"||t.operator==="<="){l=lowerLT(l,t,A)}else{r.add(t.semver)}}if(r.size>1){return null}let g;if(s&&l){g=i(s.semver,l.semver,A);if(g>0){return null}else if(g===0&&(s.operator!==">="||l.operator!=="<=")){return null}}for(const e of r){if(s&&!o(e,String(s),A)){return null}if(l&&!o(e,String(l),A)){return null}for(const r of t){if(!o(e,String(r),A)){return false}}return true}let E,h;let u,Q;let C=l&&!A.includePrerelease&&l.semver.prerelease.length?l.semver:false;let B=s&&!A.includePrerelease&&s.semver.prerelease.length?s.semver:false;if(C&&C.prerelease.length===1&&l.operator==="<"&&C.prerelease[0]===0){C=false}for(const e of t){Q=Q||e.operator===">"||e.operator===">=";u=u||e.operator==="<"||e.operator==="<=";if(s){if(B){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===B.major&&e.semver.minor===B.minor&&e.semver.patch===B.patch){B=false}}if(e.operator===">"||e.operator===">="){E=higherGT(s,e,A);if(E===e&&E!==s){return false}}else if(s.operator===">="&&!e.test(s.semver)){return false}}if(l){if(C){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===C.major&&e.semver.minor===C.minor&&e.semver.patch===C.patch){C=false}}if(e.operator==="<"||e.operator==="<="){h=lowerLT(l,e,A);if(h===e&&h!==l){return false}}else if(l.operator==="<="&&!e.test(l.semver)){return false}}if(!e.operator&&(l||s)&&g!==0){return false}}if(s&&u&&!l&&g!==0){return false}if(l&&Q&&!s&&g!==0){return false}if(B||C){return false}return true};const higherGT=(e,t,A)=>{if(!e){return t}const r=i(e.semver,t.semver,A);return r>0?e:r<0?t:t.operator===">"&&e.operator===">="?t:e};const lowerLT=(e,t,A)=>{if(!e){return t}const r=i(e.semver,t.semver,A);return r<0?e:r>0?t:t.operator==="<"&&e.operator==="<="?t:e};e.exports=subset},9830:(e,t,A)=>{const r=A(9046);const toComparators=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "));e.exports=toComparators},7705:(e,t,A)=>{const r=A(9046);const validRange=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}};e.exports=validRange},7013:(e,t,A)=>{e.exports=A(8479)},8479:(e,t,A)=>{var r;var s=A(9278);var n=A(4756);var o=A(8611);var i=A(5692);var a=A(4434);var c=A(2613);var l=A(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",function onFree(e,A,r,s){var n=toOptions(A,r,s);for(var o=0,i=t.requests.length;o=this.maxSockets){s.requests.push(n);return}s.createSocket(n,function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){s.emit("free",t,n)}function onCloseOrRemove(e){s.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}})};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var A=this;var r={};A.sockets.push(r);var s=mergeOptions({},A.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){s.localAddress=e.localAddress}if(s.proxyAuth){s.headers=s.headers||{};s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")}g("making CONNECT request");var n=A.request(s);n.useChunkedEncodingByDefault=false;n.once("response",onResponse);n.once("upgrade",onUpgrade);n.once("connect",onConnect);n.once("error",onError);n.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,A){process.nextTick(function(){onConnect(e,t,A)})}function onConnect(s,o,i){n.removeAllListeners();o.removeAllListeners();if(s.statusCode!==200){g("tunneling socket could not be established, statusCode=%d",s.statusCode);o.destroy();var a=new Error("tunneling socket could not be established, "+"statusCode="+s.statusCode);a.code="ECONNRESET";e.request.emit("error",a);A.removeSocket(r);return}if(i.length>0){g("got illegal response body from proxy");o.destroy();var a=new Error("got illegal response body from proxy");a.code="ECONNRESET";e.request.emit("error",a);A.removeSocket(r);return}g("tunneling connection has established");A.sockets[A.sockets.indexOf(r)]=o;return t(o)}function onError(t){n.removeAllListeners();g("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var s=new Error("tunneling socket could not be established, "+"cause="+t.message);s.code="ECONNRESET";e.request.emit("error",s);A.removeSocket(r)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var A=this.requests.shift();if(A){this.createSocket(A,function(e){A.request.onSocket(e)})}};function createSecureSocket(e,t){var A=this;TunnelingAgent.prototype.createSocket.call(A,e,function(r){var s=e.request.getHeader("host");var o=mergeOptions({},A.options,{socket:r,servername:s?s.replace(/:.*$/,""):e.host});var i=n.connect(0,o);A.sockets[A.sockets.indexOf(r)]=i;t(i)})}function toOptions(e,t,A){if(typeof e==="string"){return{host:e,port:t,localAddress:A}}return e}function mergeOptions(e){for(var t=1,A=arguments.length;t{var r;const s=A(7140);const n=A(5030);const o=A(2921);const i=A(9390);const a=A(4586);const c=A(3747);const l=A(6920);const g=A(9089);const E=A(9934);const h=A(8529);const{InvalidArgumentError:u}=E;const Q=A(7998);const C=A(951);const B=A(8570);const I=A(8444);const d=A(3927);const f=A(9654);const p=A(7877);const{getGlobalDispatcher:w,setGlobalDispatcher:m}=A(4498);const y=A(4606);const D=A(3669);const R=A(7327);Object.assign(n.prototype,Q);r=n;r=s;r=o;r=i;r=a;e.exports.kT=c;r=l;r=g;r=p;r=y;r=D;r=R;r={redirect:A(910),retry:A(2503),dump:A(7407),dns:A(6814)};r=C;r=E;r={parseHeaders:h.parseHeaders,headerNameToString:h.headerNameToString};function makeDispatcher(e){return(t,A,r)=>{if(typeof A==="function"){r=A;A=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new u("invalid url")}if(A!=null&&typeof A!=="object"){throw new u("invalid opts")}if(A&&A.path!=null){if(typeof A.path!=="string"){throw new u("invalid opts.path")}let e=A.path;if(!A.path.startsWith("/")){e=`/${e}`}t=new URL(h.parseOrigin(t).origin+e)}else{if(!A){A=typeof t==="object"?t:{}}t=h.parseURL(t)}const{agent:s,dispatcher:n=w()}=A;if(s){throw new u("unsupported opts.agent. Did you mean opts.client?")}return e.call(n,{...A,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:A.method||(A.body?"PUT":"GET")},r)}}r=m;r=w;const k=A(8263).fetch;r=async function fetch(e,t=undefined){try{return await k(e,t)}catch(e){if(e&&typeof e==="object"){Error.captureStackTrace(e)}throw e}};A(3257).Headers;A(1328).Response;A(6398).Request;A(7653).FormData;r=globalThis.File??A(4573).File;A(5660).FileReader;const{setGlobalOrigin:S,getGlobalOrigin:b}=A(8712);r=S;r=b;const{CacheStorage:F}=A(2118);const{kConstruct:N}=A(8404);r=new F(N);const{deleteCookie:M,getCookies:U,getSetCookies:L,setCookie:T}=A(6748);r=M;r=U;r=L;r=T;const{parseMIMEType:v,serializeAMimeType:H}=A(5192);r=v;r=H;const{CloseEvent:G,ErrorEvent:x,MessageEvent:Y}=A(659);A(9708).WebSocket;r=G;r=x;r=Y;r=makeDispatcher(Q.request);r=makeDispatcher(Q.stream);r=makeDispatcher(Q.pipeline);r=makeDispatcher(Q.connect);r=makeDispatcher(Q.upgrade);r=B;r=d;r=I;r=f;const{EventSource:J}=A(9207);r=J},2917:(e,t,A)=>{const{addAbortListener:r}=A(8529);const{RequestAbortedError:s}=A(9934);const n=Symbol("kListener");const o=Symbol("kSignal");function abort(e){if(e.abort){e.abort(e[o]?.reason)}else{e.reason=e[o]?.reason??new s}removeSignal(e)}function addSignal(e,t){e.reason=null;e[o]=null;e[n]=null;if(!t){return}if(t.aborted){abort(e);return}e[o]=t;e[n]=()=>{abort(e)};r(e[o],e[n])}function removeSignal(e){if(!e[o]){return}if("removeEventListener"in e[o]){e[o].removeEventListener("abort",e[n])}else{e[o].removeListener("abort",e[n])}e[o]=null;e[n]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},4505:(e,t,A)=>{const r=A(4589);const{AsyncResource:s}=A(6698);const{InvalidArgumentError:n,SocketError:o}=A(9934);const i=A(8529);const{addSignal:a,removeSignal:c}=A(2917);class ConnectHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:A,opaque:r,responseHeaders:s}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=r||null;this.responseHeaders=s||null;this.callback=t;this.abort=null;a(this,A)}onConnect(e,t){if(this.reason){e(this.reason);return}r(this.callback);this.abort=e;this.context=t}onHeaders(){throw new o("bad connect",null)}onUpgrade(e,t,A){const{callback:r,opaque:s,context:n}=this;c(this);this.callback=null;let o=t;if(o!=null){o=this.responseHeaders==="raw"?i.parseRawHeaders(t):i.parseHeaders(t)}this.runInAsyncScope(r,null,null,{statusCode:e,headers:o,socket:A,opaque:s,context:n})}onError(e){const{callback:t,opaque:A}=this;c(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:A})})}}}function connect(e,t){if(t===undefined){return new Promise((t,A)=>{connect.call(this,e,(e,r)=>e?A(e):t(r))})}try{const A=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},A)}catch(A){if(typeof t!=="function"){throw A}const r=e?.opaque;queueMicrotask(()=>t(A,{opaque:r}))}}e.exports=connect},7329:(e,t,A)=>{const{Readable:r,Duplex:s,PassThrough:n}=A(7075);const{InvalidArgumentError:o,InvalidReturnValueError:i,RequestAbortedError:a}=A(9934);const c=A(8529);const{AsyncResource:l}=A(6698);const{addSignal:g,removeSignal:E}=A(2917);const h=A(4589);const u=Symbol("resume");class PipelineRequest extends r{constructor(){super({autoDestroy:true});this[u]=null}_read(){const{[u]:e}=this;if(e){this[u]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends r{constructor(e){super({autoDestroy:true});this[u]=e}_read(){this[u]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new a}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new o("invalid opts")}if(typeof t!=="function"){throw new o("invalid handler")}const{signal:A,method:r,opaque:n,onInfo:i,responseHeaders:l}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(r==="CONNECT"){throw new o("invalid method")}if(i&&typeof i!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=n||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=i||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new s({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e?.resume){e.resume()}},write:(e,t,A)=>{const{req:r}=this;if(r.push(e,t)||r._readableState.destroyed){A()}else{r[u]=A}},destroy:(e,t)=>{const{body:A,req:r,res:s,ret:n,abort:o}=this;if(!e&&!n._readableState.endEmitted){e=new a}if(o&&e){o()}c.destroy(A,e);c.destroy(r,e);c.destroy(s,e);E(this);t(e)}}).on("prefinish",()=>{const{req:e}=this;e.push(null)});this.res=null;g(this,A)}onConnect(e,t){const{ret:A,res:r}=this;if(this.reason){e(this.reason);return}h(!r,"pipeline cannot be retried");h(!A.destroyed);this.abort=e;this.context=t}onHeaders(e,t,A){const{opaque:r,handler:s,context:n}=this;if(e<200){if(this.onInfo){const A=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:A})}return}this.res=new PipelineResponse(A);let o;try{this.handler=null;const A=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);o=this.runInAsyncScope(s,null,{statusCode:e,headers:A,opaque:r,body:this.res,context:n})}catch(e){this.res.on("error",c.nop);throw e}if(!o||typeof o.on!=="function"){throw new i("expected Readable")}o.on("data",e=>{const{ret:t,body:A}=this;if(!t.push(e)&&A.pause){A.pause()}}).on("error",e=>{const{ret:t}=this;c.destroy(t,e)}).on("end",()=>{const{ret:e}=this;e.push(null)}).on("close",()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new a)}});this.body=o}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const A=new PipelineHandler(e,t);this.dispatch({...e,body:A.req},A);return A.ret}catch(e){return(new n).destroy(e)}}e.exports=pipeline},3850:(e,t,A)=>{const r=A(4589);const{Readable:s}=A(2036);const{InvalidArgumentError:n,RequestAbortedError:o}=A(9934);const i=A(8529);const{getResolveErrorBodyCallback:a}=A(8352);const{AsyncResource:c}=A(6698);class RequestHandler extends c{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}const{signal:A,method:r,opaque:s,body:a,onInfo:c,responseHeaders:l,throwOnError:g,highWaterMark:E}=e;try{if(typeof t!=="function"){throw new n("invalid callback")}if(E&&(typeof E!=="number"||E<0)){throw new n("invalid highWaterMark")}if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}if(r==="CONNECT"){throw new n("invalid method")}if(c&&typeof c!=="function"){throw new n("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(a)){i.destroy(a.on("error",i.nop),e)}throw e}this.method=r;this.responseHeaders=l||null;this.opaque=s||null;this.callback=t;this.res=null;this.abort=null;this.body=a;this.trailers={};this.context=null;this.onInfo=c||null;this.throwOnError=g;this.highWaterMark=E;this.signal=A;this.reason=null;this.removeAbortListener=null;if(i.isStream(a)){a.on("error",e=>{this.onError(e)})}if(this.signal){if(this.signal.aborted){this.reason=this.signal.reason??new o}else{this.removeAbortListener=i.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new o;if(this.res){i.destroy(this.res.on("error",i.nop),this.reason)}else if(this.abort){this.abort(this.reason)}if(this.removeAbortListener){this.res?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}})}}}onConnect(e,t){if(this.reason){e(this.reason);return}r(this.callback);this.abort=e;this.context=t}onHeaders(e,t,A,r){const{callback:n,opaque:o,abort:c,context:l,responseHeaders:g,highWaterMark:E}=this;const h=g==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:h})}return}const u=g==="raw"?i.parseHeaders(t):h;const Q=u["content-type"];const C=u["content-length"];const B=new s({resume:A,abort:c,contentType:Q,contentLength:this.method!=="HEAD"&&C?Number(C):null,highWaterMark:E});if(this.removeAbortListener){B.on("close",this.removeAbortListener)}this.callback=null;this.res=B;if(n!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(a,null,{callback:n,body:B,contentType:Q,statusCode:e,statusMessage:r,headers:h})}else{this.runInAsyncScope(n,null,null,{statusCode:e,headers:h,trailers:this.trailers,opaque:o,body:B,context:l})}}}onData(e){return this.res.push(e)}onComplete(e){i.parseHeaders(e,this.trailers);this.res.push(null)}onError(e){const{res:t,callback:A,body:r,opaque:s}=this;if(A){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(A,null,e,{opaque:s})})}if(t){this.res=null;queueMicrotask(()=>{i.destroy(t,e)})}if(r){this.body=null;i.destroy(r,e)}if(this.removeAbortListener){t?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}}}function request(e,t){if(t===undefined){return new Promise((t,A)=>{request.call(this,e,(e,r)=>e?A(e):t(r))})}try{this.dispatch(e,new RequestHandler(e,t))}catch(A){if(typeof t!=="function"){throw A}const r=e?.opaque;queueMicrotask(()=>t(A,{opaque:r}))}}e.exports=request;e.exports.RequestHandler=RequestHandler},2159:(e,t,A)=>{const r=A(4589);const{finished:s,PassThrough:n}=A(7075);const{InvalidArgumentError:o,InvalidReturnValueError:i}=A(9934);const a=A(8529);const{getResolveErrorBodyCallback:c}=A(8352);const{AsyncResource:l}=A(6698);const{addSignal:g,removeSignal:E}=A(2917);class StreamHandler extends l{constructor(e,t,A){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:r,method:s,opaque:n,body:i,onInfo:c,responseHeaders:l,throwOnError:E}=e;try{if(typeof A!=="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(s==="CONNECT"){throw new o("invalid method")}if(c&&typeof c!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(a.isStream(i)){a.destroy(i.on("error",a.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=n||null;this.factory=t;this.callback=A;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=i;this.onInfo=c||null;this.throwOnError=E||false;if(a.isStream(i)){i.on("error",e=>{this.onError(e)})}g(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}r(this.callback);this.abort=e;this.context=t}onHeaders(e,t,A,r){const{factory:o,opaque:l,context:g,callback:E,responseHeaders:h}=this;const u=h==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:u})}return}this.factory=null;let Q;if(this.throwOnError&&e>=400){const A=h==="raw"?a.parseHeaders(t):u;const s=A["content-type"];Q=new n;this.callback=null;this.runInAsyncScope(c,null,{callback:E,body:Q,contentType:s,statusCode:e,statusMessage:r,headers:u})}else{if(o===null){return}Q=this.runInAsyncScope(o,null,{statusCode:e,headers:u,opaque:l,context:g});if(!Q||typeof Q.write!=="function"||typeof Q.end!=="function"||typeof Q.on!=="function"){throw new i("expected Writable")}s(Q,{readable:false},e=>{const{callback:t,res:A,opaque:r,trailers:s,abort:n}=this;this.res=null;if(e||!A.readable){a.destroy(A,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:r,trailers:s});if(e){n()}})}Q.on("drain",A);this.res=Q;const C=Q.writableNeedDrain!==undefined?Q.writableNeedDrain:Q._writableState?.needDrain;return C!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;E(this);if(!t){return}this.trailers=a.parseHeaders(e);t.end()}onError(e){const{res:t,callback:A,opaque:r,body:s}=this;E(this);this.factory=null;if(t){this.res=null;a.destroy(t,e)}else if(A){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(A,null,e,{opaque:r})})}if(s){this.body=null;a.destroy(s,e)}}}function stream(e,t,A){if(A===undefined){return new Promise((A,r)=>{stream.call(this,e,t,(e,t)=>e?r(e):A(t))})}try{this.dispatch(e,new StreamHandler(e,t,A))}catch(t){if(typeof A!=="function"){throw t}const r=e?.opaque;queueMicrotask(()=>A(t,{opaque:r}))}}e.exports=stream},3827:(e,t,A)=>{const{InvalidArgumentError:r,SocketError:s}=A(9934);const{AsyncResource:n}=A(6698);const o=A(8529);const{addSignal:i,removeSignal:a}=A(2917);const c=A(4589);class UpgradeHandler extends n{constructor(e,t){if(!e||typeof e!=="object"){throw new r("invalid opts")}if(typeof t!=="function"){throw new r("invalid callback")}const{signal:A,opaque:s,responseHeaders:n}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new r("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=n||null;this.opaque=s||null;this.callback=t;this.abort=null;this.context=null;i(this,A)}onConnect(e,t){if(this.reason){e(this.reason);return}c(this.callback);this.abort=e;this.context=null}onHeaders(){throw new s("bad upgrade",null)}onUpgrade(e,t,A){c(e===101);const{callback:r,opaque:s,context:n}=this;a(this);this.callback=null;const i=this.responseHeaders==="raw"?o.parseRawHeaders(t):o.parseHeaders(t);this.runInAsyncScope(r,null,null,{headers:i,socket:A,opaque:s,context:n})}onError(e){const{callback:t,opaque:A}=this;a(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:A})})}}}function upgrade(e,t){if(t===undefined){return new Promise((t,A)=>{upgrade.call(this,e,(e,r)=>e?A(e):t(r))})}try{const A=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},A)}catch(A){if(typeof t!=="function"){throw A}const r=e?.opaque;queueMicrotask(()=>t(A,{opaque:r}))}}e.exports=upgrade},7998:(e,t,A)=>{e.exports.request=A(3850);e.exports.stream=A(2159);e.exports.pipeline=A(7329);e.exports.upgrade=A(3827);e.exports.connect=A(4505)},2036:(e,t,A)=>{const r=A(4589);const{Readable:s}=A(7075);const{RequestAbortedError:n,NotSupportedError:o,InvalidArgumentError:i,AbortError:a}=A(9934);const c=A(8529);const{ReadableStreamFrom:l}=A(8529);const g=Symbol("kConsume");const E=Symbol("kReading");const h=Symbol("kBody");const u=Symbol("kAbort");const Q=Symbol("kContentType");const C=Symbol("kContentLength");const noop=()=>{};class BodyReadable extends s{constructor({resume:e,abort:t,contentType:A="",contentLength:r,highWaterMark:s=64*1024}){super({autoDestroy:true,read:e,highWaterMark:s});this._readableState.dataEmitted=false;this[u]=t;this[g]=null;this[h]=null;this[Q]=A;this[C]=r;this[E]=false}destroy(e){if(!e&&!this._readableState.endEmitted){e=new n}if(e){this[u]()}return super.destroy(e)}_destroy(e,t){if(!this[E]){setImmediate(()=>{t(e)})}else{t(e)}}on(e,...t){if(e==="data"||e==="readable"){this[E]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const A=super.off(e,...t);if(e==="data"||e==="readable"){this[E]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return A}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[g]&&e!==null){consumePush(this[g],e);return this[E]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async bytes(){return consume(this,"bytes")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new o}get bodyUsed(){return c.isDisturbed(this)}get body(){if(!this[h]){this[h]=l(this);if(this[g]){this[h].getReader();r(this[h].locked)}}return this[h]}async dump(e){let t=Number.isFinite(e?.limit)?e.limit:128*1024;const A=e?.signal;if(A!=null&&(typeof A!=="object"||!("aborted"in A))){throw new i("signal must be an AbortSignal")}A?.throwIfAborted();if(this._readableState.closeEmitted){return null}return await new Promise((e,r)=>{if(this[C]>t){this.destroy(new a)}const onAbort=()=>{this.destroy(A.reason??new a)};A?.addEventListener("abort",onAbort);this.on("close",function(){A?.removeEventListener("abort",onAbort);if(A?.aborted){r(A.reason??new a)}else{e(null)}}).on("error",noop).on("data",function(e){t-=e.length;if(t<=0){this.destroy()}}).resume()})}}function isLocked(e){return e[h]&&e[h].locked===true||e[g]}function isUnusable(e){return c.isDisturbed(e)||isLocked(e)}async function consume(e,t){r(!e[g]);return new Promise((A,r)=>{if(isUnusable(e)){const t=e._readableState;if(t.destroyed&&t.closeEmitted===false){e.on("error",e=>{r(e)}).on("close",()=>{r(new TypeError("unusable"))})}else{r(t.errored??new TypeError("unusable"))}}else{queueMicrotask(()=>{e[g]={type:t,stream:e,resolve:A,reject:r,length:0,body:[]};e.on("error",function(e){consumeFinish(this[g],e)}).on("close",function(){if(this[g].body!==null){consumeFinish(this[g],new n)}});consumeStart(e[g])})}})}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;if(t.bufferIndex){const A=t.bufferIndex;const r=t.buffer.length;for(let s=A;s2&&A[0]===239&&A[1]===187&&A[2]===191?3:0;return A.utf8Slice(s,r)}function chunksConcat(e,t){if(e.length===0||t===0){return new Uint8Array(0)}if(e.length===1){return new Uint8Array(e[0])}const A=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer);let r=0;for(let t=0;t{const r=A(4589);const{ResponseStatusCodeError:s}=A(9934);const{chunksDecode:n}=A(2036);const o=128*1024;async function getResolveErrorBodyCallback({callback:e,body:t,contentType:A,statusCode:i,statusMessage:a,headers:c}){r(t);let l=[];let g=0;try{for await(const e of t){l.push(e);g+=e.length;if(g>o){l=[];g=0;break}}}catch{l=[];g=0}const E=`Response status code ${i}${a?`: ${a}`:""}`;if(i===204||!A||!g){queueMicrotask(()=>e(new s(E,i,c)));return}const h=Error.stackTraceLimit;Error.stackTraceLimit=0;let u;try{if(isContentTypeApplicationJson(A)){u=JSON.parse(n(l,g))}else if(isContentTypeText(A)){u=n(l,g)}}catch{}finally{Error.stackTraceLimit=h}queueMicrotask(()=>e(new s(E,i,c,u)))}const isContentTypeApplicationJson=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n";const isContentTypeText=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback,isContentTypeApplicationJson:isContentTypeApplicationJson,isContentTypeText:isContentTypeText}},951:(e,t,A)=>{const r=A(7030);const s=A(4589);const n=A(8529);const{InvalidArgumentError:o,ConnectTimeoutError:i}=A(9934);const a=A(4486);function noop(){}let c;let l;if(global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)){l=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry(e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:i,timeout:a,session:E,...h}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new o("maxCachedSessions must be a positive integer or zero")}const u={path:i,...h};const Q=new l(t==null?100:t);a=a==null?1e4:a;e=e!=null?e:false;return function connect({hostname:t,host:o,protocol:i,port:l,servername:h,localAddress:C,httpSocket:B},I){let d;if(i==="https:"){if(!c){c=A(1692)}h=h||u.servername||n.getServerName(o)||null;const r=h||t;s(r);const i=E||Q.get(r)||null;l=l||443;d=c.connect({highWaterMark:16384,...u,servername:h,session:i,localAddress:C,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:B,port:l,host:t});d.on("session",function(e){Q.set(r,e)})}else{s(!B,"httpSocket can only be sent on TLS update");l=l||80;d=r.connect({highWaterMark:64*1024,...u,localAddress:C,port:l,host:t})}if(u.keepAlive==null||u.keepAlive){const e=u.keepAliveInitialDelay===undefined?6e4:u.keepAliveInitialDelay;d.setKeepAlive(true,e)}const f=g(new WeakRef(d),{timeout:a,hostname:t,port:l});d.setNoDelay(true).once(i==="https:"?"secureConnect":"connect",function(){queueMicrotask(f);if(I){const e=I;I=null;e(null,this)}}).on("error",function(e){queueMicrotask(f);if(I){const t=I;I=null;t(e)}});return d}}const g=process.platform==="win32"?(e,t)=>{if(!t.timeout){return noop}let A=null;let r=null;const s=a.setFastTimeout(()=>{A=setImmediate(()=>{r=setImmediate(()=>onConnectTimeout(e.deref(),t))})},t.timeout);return()=>{a.clearFastTimeout(s);clearImmediate(A);clearImmediate(r)}}:(e,t)=>{if(!t.timeout){return noop}let A=null;const r=a.setFastTimeout(()=>{A=setImmediate(()=>{onConnectTimeout(e.deref(),t)})},t.timeout);return()=>{a.clearFastTimeout(r);clearImmediate(A)}};function onConnectTimeout(e,t){if(e==null){return}let A="Connect Timeout Error";if(Array.isArray(e.autoSelectFamilyAttemptedAddresses)){A+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`}else{A+=` (attempted address: ${t.hostname}:${t.port},`}A+=` timeout: ${t.timeout}ms)`;n.destroy(e,new i(A))}e.exports=buildConnector},4448:e=>{const t={};const A=["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"];for(let e=0;e{const r=A(3053);const s=A(7975);const n=s.debuglog("undici");const o=s.debuglog("fetch");const i=s.debuglog("websocket");let a=false;const 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"),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")};if(n.enabled||o.enabled){const e=o.enabled?o:n;r.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n}}=t;e("connecting to %s using %s%s",`${n}${s?`:${s}`:""}`,r,A)});r.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n}}=t;e("connected to %s using %s%s",`${n}${s?`:${s}`:""}`,r,A)});r.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n},error:o}=t;e("connection to %s using %s%s errored - %s",`${n}${s?`:${s}`:""}`,r,A,o.message)});r.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:A,path:r,origin:s}}=t;e("sending request to %s %s/%s",A,s,r)});r.channel("undici:request:headers").subscribe(t=>{const{request:{method:A,path:r,origin:s},response:{statusCode:n}}=t;e("received response to %s %s/%s - HTTP %d",A,s,r,n)});r.channel("undici:request:trailers").subscribe(t=>{const{request:{method:A,path:r,origin:s}}=t;e("trailers received from %s %s/%s",A,s,r)});r.channel("undici:request:error").subscribe(t=>{const{request:{method:A,path:r,origin:s},error:n}=t;e("request to %s %s/%s errored - %s",A,s,r,n.message)});a=true}if(i.enabled){if(!a){const e=n.enabled?n:i;r.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n}}=t;e("connecting to %s%s using %s%s",n,s?`:${s}`:"",r,A)});r.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n}}=t;e("connected to %s%s using %s%s",n,s?`:${s}`:"",r,A)});r.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:A,protocol:r,port:s,host:n},error:o}=t;e("connection to %s%s using %s%s errored - %s",n,s?`:${s}`:"",r,A,o.message)});r.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:A,path:r,origin:s}}=t;e("sending request to %s %s/%s",A,s,r)})}r.channel("undici:websocket:open").subscribe(e=>{const{address:{address:t,port:A}}=e;i("connection opened %s%s",t,A?`:${A}`:"")});r.channel("undici:websocket:close").subscribe(e=>{const{websocket:t,code:A,reason:r}=e;i("closed connection to %s - %s %s",t.url,A,r)});r.channel("undici:websocket:socket_error").subscribe(e=>{i("connection errored - %s",e.message)});r.channel("undici:websocket:ping").subscribe(e=>{i("ping received")});r.channel("undici:websocket:pong").subscribe(e=>{i("pong received")})}e.exports={channels:c}},9934:e=>{const t=Symbol.for("undici.error.UND_ERR");class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[t]===true}[t]=true}const A=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class ConnectTimeoutError extends UndiciError{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[A]===true}[A]=true}const r=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class HeadersTimeoutError extends UndiciError{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[r]===true}[r]=true}const s=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class HeadersOverflowError extends UndiciError{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[s]===true}[s]=true}const n=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class BodyTimeoutError extends UndiciError{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[n]===true}[n]=true}const o=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");class ResponseStatusCodeError extends UndiciError{constructor(e,t,A,r){super(e);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=r;this.status=t;this.statusCode=t;this.headers=A}static[Symbol.hasInstance](e){return e&&e[o]===true}[o]=true}const i=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class InvalidArgumentError extends UndiciError{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[i]===true}[i]=true}const a=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class InvalidReturnValueError extends UndiciError{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[a]===true}[a]=true}const c=Symbol.for("undici.error.UND_ERR_ABORT");class AbortError extends UndiciError{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[c]===true}[c]=true}const l=Symbol.for("undici.error.UND_ERR_ABORTED");class RequestAbortedError extends AbortError{constructor(e){super(e);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[l]===true}[l]=true}const g=Symbol.for("undici.error.UND_ERR_INFO");class InformationalError extends UndiciError{constructor(e){super(e);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[g]===true}[g]=true}const E=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class RequestContentLengthMismatchError extends UndiciError{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[E]===true}[E]=true}const h=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class ResponseContentLengthMismatchError extends UndiciError{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[h]===true}[h]=true}const u=Symbol.for("undici.error.UND_ERR_DESTROYED");class ClientDestroyedError extends UndiciError{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[u]===true}[u]=true}const Q=Symbol.for("undici.error.UND_ERR_CLOSED");class ClientClosedError extends UndiciError{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[Q]===true}[Q]=true}const C=Symbol.for("undici.error.UND_ERR_SOCKET");class SocketError extends UndiciError{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[C]===true}[C]=true}const B=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class NotSupportedError extends UndiciError{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[B]===true}[B]=true}const I=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class BalancedPoolMissingUpstreamError extends UndiciError{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[I]===true}[I]=true}const d=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class HTTPParserError extends Error{constructor(e,t,A){super(e);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=A?A.toString():undefined}static[Symbol.hasInstance](e){return e&&e[d]===true}[d]=true}const f=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class ResponseExceededMaxSizeError extends UndiciError{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[f]===true}[f]=true}const p=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class RequestRetryError extends UndiciError{constructor(e,t,{headers:A,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=A}static[Symbol.hasInstance](e){return e&&e[p]===true}[p]=true}const w=Symbol.for("undici.error.UND_ERR_RESPONSE");class ResponseError extends UndiciError{constructor(e,t,{headers:A,data:r}){super(e);this.name="ResponseError";this.message=e||"Response error";this.code="UND_ERR_RESPONSE";this.statusCode=t;this.data=r;this.headers=A}static[Symbol.hasInstance](e){return e&&e[w]===true}[w]=true}const m=Symbol.for("undici.error.UND_ERR_PRX_TLS");class SecureProxyConnectionError extends UndiciError{constructor(e,t,A){super(t,{cause:e,...A??{}});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[m]===true}[m]=true}const y=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class MessageSizeExceededError extends UndiciError{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[y]===true}get[y](){return true}}e.exports={AbortError:AbortError,HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError,ResponseError:ResponseError,SecureProxyConnectionError:SecureProxyConnectionError,MessageSizeExceededError:MessageSizeExceededError}},6540:(e,t,A)=>{const{InvalidArgumentError:r,NotSupportedError:s}=A(9934);const n=A(4589);const{isValidHTTPToken:o,isValidHeaderValue:i,isStream:a,destroy:c,isBuffer:l,isFormDataLike:g,isIterable:E,isBlobLike:h,buildURL:u,validateHandler:Q,getServerName:C,normalizedMethodRecords:B}=A(8529);const{channels:I}=A(1509);const{headerNameLowerCasedRecord:d}=A(4448);const f=/[^\u0021-\u00ff]/;const p=Symbol("handler");class Request{constructor(e,{path:t,method:A,body:s,headers:n,query:d,idempotent:w,blocking:m,upgrade:y,headersTimeout:D,bodyTimeout:R,reset:k,throwOnError:S,expectContinue:b,servername:F},N){if(typeof t!=="string"){throw new r("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&A!=="CONNECT"){throw new r("path must be an absolute URL or start with a slash")}else if(f.test(t)){throw new r("invalid request path")}if(typeof A!=="string"){throw new r("method must be a string")}else if(B[A]===undefined&&!o(A)){throw new r("invalid request method")}if(y&&typeof y!=="string"){throw new r("upgrade must be a string")}if(y&&!i(y)){throw new r("invalid upgrade header")}if(D!=null&&(!Number.isFinite(D)||D<0)){throw new r("invalid headersTimeout")}if(R!=null&&(!Number.isFinite(R)||R<0)){throw new r("invalid bodyTimeout")}if(k!=null&&typeof k!=="boolean"){throw new r("invalid reset")}if(b!=null&&typeof b!=="boolean"){throw new r("invalid expectContinue")}this.headersTimeout=D;this.bodyTimeout=R;this.throwOnError=S===true;this.method=A;this.abort=null;if(s==null){this.body=null}else if(a(s)){this.body=s;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(l(s)){this.body=s.byteLength?s:null}else if(ArrayBuffer.isView(s)){this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null}else if(s instanceof ArrayBuffer){this.body=s.byteLength?Buffer.from(s):null}else if(typeof s==="string"){this.body=s.length?Buffer.from(s):null}else if(g(s)||E(s)||h(s)){this.body=s}else{throw new r("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=y||null;this.path=d?u(t,d):t;this.origin=e;this.idempotent=w==null?A==="HEAD"||A==="GET":w;this.blocking=m==null?false:m;this.reset=k==null?null:k;this.host=null;this.contentLength=null;this.contentType=null;this.headers=[];this.expectContinue=b!=null?b:false;if(Array.isArray(n)){if(n.length%2!==0){throw new r("headers array must be even")}for(let e=0;e{e.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"),kInterceptors:Symbol("dispatch interceptors"),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"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}},8313:(e,t,A)=>{const{wellknownHeaderNames:r,headerNameLowerCasedRecord:s}=A(4448);class TstNode{value=null;left=null;middle=null;right=null;code;constructor(e,t,A){if(A===undefined||A>=e.length){throw new TypeError("Unreachable")}const r=this.code=e.charCodeAt(A);if(r>127){throw new TypeError("key must be ascii string")}if(e.length!==++A){this.middle=new TstNode(e,t,A)}else{this.value=t}}add(e,t){const A=e.length;if(A===0){throw new TypeError("Unreachable")}let r=0;let s=this;while(true){const n=e.charCodeAt(r);if(n>127){throw new TypeError("key must be ascii string")}if(s.code===n){if(A===++r){s.value=t;break}else if(s.middle!==null){s=s.middle}else{s.middle=new TstNode(e,t,r);break}}else if(s.code=65){s|=32}while(r!==null){if(s===r.code){if(t===++A){return r}r=r.middle;break}r=r.code{const r=A(4589);const{kDestroyed:s,kBodyUsed:n,kListeners:o,kBody:i}=A(5424);const{IncomingMessage:a}=A(7067);const c=A(7075);const l=A(7030);const{Blob:g}=A(4573);const E=A(7975);const{stringify:h}=A(1792);const{EventEmitter:u}=A(8474);const{InvalidArgumentError:Q}=A(9934);const{headerNameLowerCasedRecord:C}=A(4448);const{tree:B}=A(8313);const[I,d]=process.versions.node.split(".").map(e=>Number(e));class BodyAsyncIterable{constructor(e){this[i]=e;this[n]=false}async*[Symbol.asyncIterator](){r(!this[n],"disturbed");this[n]=true;yield*this[i]}}function wrapRequestBody(e){if(isStream(e)){if(bodyLength(e)===0){e.on("data",function(){r(false)})}if(typeof e.readableDidRead!=="boolean"){e[n]=false;u.prototype.on.call(e,"data",function(){this[n]=true})}return e}else if(e&&typeof e.pipeTo==="function"){return new BodyAsyncIterable(e)}else if(e&&typeof e!=="string"&&!ArrayBuffer.isView(e)&&isIterable(e)){return new BodyAsyncIterable(e)}else{return e}}function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){if(e===null){return false}else if(e instanceof g){return true}else if(typeof e!=="object"){return false}else{const t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream==="function"||"arrayBuffer"in e&&typeof e.arrayBuffer==="function")}}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const A=h(t);if(A){e+="?"+A}return e}function isValidPort(e){const t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function isHttpOrHttpsPrefixed(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new Q("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new Q("Invalid URL: The URL argument must be a non-null object.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&isValidPort(e.port)===false){throw new Q("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 Q("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new Q("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new Q("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new Q("Invalid URL origin: the origin must be a string or null/undefined.")}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new Q("Invalid URL protocol: the URL must start with `http:` or `https:`.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let A=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`;let r=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(A[A.length-1]==="/"){A=A.slice(0,A.length-1)}if(r&&r[0]!=="/"){r=`/${r}`}return new URL(`${A}${r}`)}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new Q("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new Q("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");r(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}r(typeof e==="string");const t=getHostname(e);if(l.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return e&&!!(e.destroyed||e[s]||c.isDestroyed?.(e))}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===a){e.socket=null}e.destroy(t)}else if(t){queueMicrotask(()=>{e.emit("error",t)})}if(e.destroyed!==true){e[s]=true}}const f=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(f);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return typeof e==="string"?C[e]??e.toLowerCase():B.lookup(e)??e.toString("latin1").toLowerCase()}function bufferToLowerCasedHeaderName(e){return B.lookup(e)??e.toString("latin1").toLowerCase()}function parseHeaders(e,t){if(t===undefined)t={};for(let A=0;Ae.toString("utf8")):s.toString("utf8")}}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=e.length;const A=new Array(t);let r=false;let s=-1;let n;let o;let i=0;for(let t=0;t{e.close();e.byobRequest?.respond(0)})}else{const t=Buffer.isBuffer(r)?r:Buffer.from(r);if(t.byteLength){e.enqueue(new Uint8Array(t))}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}function isFormDataLike(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 addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const p=typeof String.prototype.toWellFormed==="function";const w=typeof String.prototype.isWellFormed==="function";function toUSVString(e){return p?`${e}`.toWellFormed():E.toUSVString(e)}function isUSVString(e){return w?`${e}`.isWellFormed():toUSVString(e)===`${e}`}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t{const{InvalidArgumentError:r}=A(9934);const{kClients:s,kRunning:n,kClose:o,kDestroy:i,kDispatch:a,kInterceptors:c}=A(5424);const l=A(6870);const g=A(2921);const E=A(7140);const h=A(8529);const u=A(7327);const Q=Symbol("onConnect");const C=Symbol("onDisconnect");const B=Symbol("onConnectionError");const I=Symbol("maxRedirections");const d=Symbol("onDrain");const f=Symbol("factory");const p=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new E(e,t):new g(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:A,tls:n,...o}={}){if(typeof e!=="function"){throw new r("factory must be a function.")}if(A!=null&&typeof A!=="function"&&typeof A!=="object"){throw new r("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new r("maxRedirections must be a positive number")}super(o);if(A&&typeof A!=="function"){A={...A}}if(n&&typeof n!=="function"){n={...n}}this[c]=o.interceptors?.Agent&&Array.isArray(o.interceptors.Agent)?o.interceptors.Agent:[u({maxRedirections:t})];this[p]={...h.deepClone(o),connect:A,tls:n};this[p].interceptors=o.interceptors?{...o.interceptors}:undefined;this[I]=t;this[f]=e;this[s]=new Map;this[d]=(e,t)=>{this.emit("drain",e,[this,...t])};this[Q]=(e,t)=>{this.emit("connect",e,[this,...t])};this[C]=(e,t,A)=>{this.emit("disconnect",e,[this,...t],A)};this[B]=(e,t,A)=>{this.emit("connectionError",e,[this,...t],A)}}get[n](){let e=0;for(const t of this[s].values()){e+=t[n]}return e}[a](e,t){let A;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){A=String(e.origin)}else{throw new r("opts.origin must be a non-empty string or URL.")}let n=this[s].get(A);if(!n){n=this[f](e.origin,this[p]).on("drain",this[d]).on("connect",this[Q]).on("disconnect",this[C]).on("connectionError",this[B]);this[s].set(A,n)}return n.dispatch(e,t)}async[o](){const e=[];for(const t of this[s].values()){e.push(t.close())}this[s].clear();await Promise.all(e)}async[i](e){const t=[];for(const A of this[s].values()){t.push(A.destroy(e))}this[s].clear();await Promise.all(t)}}e.exports=Agent},9390:(e,t,A)=>{const{BalancedPoolMissingUpstreamError:r,InvalidArgumentError:s}=A(9934);const{PoolBase:n,kClients:o,kNeedDrain:i,kAddClient:a,kRemoveClient:c,kGetDispatcher:l}=A(627);const g=A(2921);const{kUrl:E,kInterceptors:h}=A(5424);const{parseOrigin:u}=A(8529);const Q=Symbol("factory");const C=Symbol("options");const B=Symbol("kGreatestCommonDivisor");const I=Symbol("kCurrentWeight");const d=Symbol("kIndex");const f=Symbol("kWeight");const p=Symbol("kMaxWeightPerServer");const w=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(e===0)return t;while(t!==0){const A=t;t=e%t;e=A}return e}function defaultFactory(e,t){return new g(e,t)}class BalancedPool extends n{constructor(e=[],{factory:t=defaultFactory,...A}={}){super();this[C]=A;this[d]=-1;this[I]=0;this[p]=this[C].maxWeightPerServer||100;this[w]=this[C].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new s("factory must be a function.")}this[h]=A.interceptors?.BalancedPool&&Array.isArray(A.interceptors.BalancedPool)?A.interceptors.BalancedPool:[];this[Q]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=u(e).origin;if(this[o].find(e=>e[E].origin===t&&e.closed!==true&&e.destroyed!==true)){return this}const A=this[Q](t,Object.assign({},this[C]));this[a](A);A.on("connect",()=>{A[f]=Math.min(this[p],A[f]+this[w])});A.on("connectionError",()=>{A[f]=Math.max(1,A[f]-this[w]);this._updateBalancedPoolStats()});A.on("disconnect",(...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){A[f]=Math.max(1,A[f]-this[w]);this._updateBalancedPoolStats()}});for(const e of this[o]){e[f]=this[p]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){let e=0;for(let t=0;te[E].origin===t&&e.closed!==true&&e.destroyed!==true);if(A){this[c](A)}return this}get upstreams(){return this[o].filter(e=>e.closed!==true&&e.destroyed!==true).map(e=>e[E].origin)}[l](){if(this[o].length===0){throw new r}const e=this[o].find(e=>!e[i]&&e.closed!==true&&e.destroyed!==true);if(!e){return}const t=this[o].map(e=>e[i]).reduce((e,t)=>e&&t,true);if(t){return}let A=0;let s=this[o].findIndex(e=>!e[i]);while(A++this[o][s][f]&&!e[i]){s=this[d]}if(this[d]===0){this[I]=this[I]-this[B];if(this[I]<=0){this[I]=this[p]}}if(e[f]>=this[I]&&!e[i]){return e}}this[I]=this[o][s][f];this[d]=s;return this[o][s]}}e.exports=BalancedPool},3010:(e,t,A)=>{const r=A(4589);const s=A(8529);const{channels:n}=A(1509);const o=A(4486);const{RequestContentLengthMismatchError:i,ResponseContentLengthMismatchError:a,RequestAbortedError:c,InvalidArgumentError:l,HeadersTimeoutError:g,HeadersOverflowError:E,SocketError:h,InformationalError:u,BodyTimeoutError:Q,HTTPParserError:C,ResponseExceededMaxSizeError:B}=A(9934);const{kUrl:I,kReset:d,kClient:f,kParser:p,kBlocking:w,kRunning:m,kPending:y,kSize:D,kWriting:R,kQueue:k,kNoRef:S,kKeepAliveDefaultTimeout:b,kHostHeader:F,kPendingIdx:N,kRunningIdx:M,kError:U,kPipelining:L,kSocket:T,kKeepAliveTimeoutValue:v,kMaxHeadersSize:H,kKeepAliveMaxTimeout:G,kKeepAliveTimeoutThreshold:x,kHeadersTimeout:Y,kBodyTimeout:J,kStrictContentLength:V,kMaxRequests:O,kCounter:P,kMaxResponseSize:W,kOnError:q,kResume:_,kHTTPContext:z}=A(5424);const Z=A(2811);const K=Buffer.alloc(0);const X=Buffer[Symbol.species];const j=s.addListener;const $=s.removeAllListeners;const ee=Symbol("kIdleSocketValidation");const te=Symbol("kIdleSocketValidationTimeout");const Ae=Symbol("kSocketUsed");let re;async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?A(5381):undefined;let t;try{t=await WebAssembly.compile(A(4823))}catch(r){t=await WebAssembly.compile(e||A(5381))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,A)=>0,wasm_on_status:(e,t,A)=>{r(oe.ptr===e);const s=t-ce+ie.byteOffset;return oe.onStatus(new X(ie.buffer,s,A))||0},wasm_on_message_begin:e=>{r(oe.ptr===e);return oe.onMessageBegin()||0},wasm_on_header_field:(e,t,A)=>{r(oe.ptr===e);const s=t-ce+ie.byteOffset;return oe.onHeaderField(new X(ie.buffer,s,A))||0},wasm_on_header_value:(e,t,A)=>{r(oe.ptr===e);const s=t-ce+ie.byteOffset;return oe.onHeaderValue(new X(ie.buffer,s,A))||0},wasm_on_headers_complete:(e,t,A,s)=>{r(oe.ptr===e);return oe.onHeadersComplete(t,Boolean(A),Boolean(s))||0},wasm_on_body:(e,t,A)=>{r(oe.ptr===e);const s=t-ce+ie.byteOffset;return oe.onBody(new X(ie.buffer,s,A))||0},wasm_on_message_complete:e=>{r(oe.ptr===e);return oe.onMessageComplete()||0}}})}let se=null;let ne=lazyllhttp();ne.catch();let oe=null;let ie=null;let ae=0;let ce=null;const le=0;const ge=1;const Ee=2|ge;const he=4|ge;const ue=8|le;class Parser{constructor(e,t,{exports:A}){r(Number.isFinite(e[H])&&e[H]>0);this.llhttp=A;this.ptr=this.llhttp.llhttp_alloc(Z.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[H];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[W]}setTimeout(e,t){if(e!==this.timeoutValue||t&ge^this.timeoutType&ge){if(this.timeout){o.clearTimeout(this.timeout);this.timeout=null}if(e){if(t&ge){this.timeout=o.setFastTimeout(onParserTimeout,e,new WeakRef(this))}else{this.timeout=setTimeout(onParserTimeout,e,new WeakRef(this));this.timeout.unref()}}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.timeoutType=t}resume(){if(this.socket.destroyed||!this.paused){return}r(this.ptr!=null);r(oe==null);this.llhttp.llhttp_resume(this.ptr);r(this.timeoutType===he);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||K);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){r(this.ptr!=null);r(oe==null);r(!this.paused);const{socket:t,llhttp:A}=this;if(e.length>ae){if(ce){A.free(ce)}ae=Math.ceil(e.length/4096)*4096;ce=A.malloc(ae)}new Uint8Array(A.memory.buffer,ce,ae).set(e);try{let r;try{ie=e;oe=this;r=A.llhttp_execute(this.ptr,ce,e.length)}catch(e){throw e}finally{oe=null;ie=null}const s=A.llhttp_get_error_pos(this.ptr)-ce;if(r!==Z.ERROR.OK){const A=e.subarray(s);if(r===Z.ERROR.PAUSED_UPGRADE){this.onUpgrade(A)}else if(r===Z.ERROR.PAUSED){this.paused=true;t.unshift(A)}else{throw this.createError(r,A)}}}catch(e){s.destroy(t,e)}}finish(){r(oe===null);r(this.ptr!=null);r(!this.paused);const{llhttp:e}=this;let t;try{oe=this;t=e.llhttp_finish(this.ptr)}finally{oe=null}if(t===Z.ERROR.OK){return null}if(t===Z.ERROR.PAUSED||t===Z.ERROR.PAUSED_UPGRADE){this.paused=true;return null}return this.createError(t,K)}createError(e,t){const{llhttp:A,contentLength:r,bytesRead:s}=this;if(r&&s!==parseInt(r,10)){return new a}const n=A.llhttp_get_error_reason(this.ptr);let o="";if(n){const e=new Uint8Array(A.memory.buffer,n).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(A.memory.buffer,n,e).toString()+")"}return new C(o,Z.ERROR[e],t)}destroy(){r(this.ptr!=null);r(oe==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=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}if(t[m]===0){s.destroy(e,new h("bad response",s.getSocketInfo(e)));return-1}const A=t[k][t[M]];if(!A){return-1}A.onResponseStarted()}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const A=this.headers[t-2];if(A.length===10){const t=s.bufferToLowerCasedHeaderName(A);if(t==="keep-alive"){this.keepAlive+=e.toString()}else if(t==="connection"){this.connection+=e.toString()}}else if(A.length===14&&s.bufferToLowerCasedHeaderName(A)==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){s.destroy(this.socket,new E)}}onUpgrade(e){const{upgrade:t,client:A,socket:n,headers:o,statusCode:i,statusText:a}=this;r(t);r(A[T]===n);r(!n.destroyed);r(!this.paused);r((o.length&1)===0);const c=A[k][A[M]];r(c);r(c.upgrade||c.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;this.headers=[];this.headersSize=0;n.unshift(e);n[p].destroy();n[p]=null;n[f]=null;n[U]=null;$(n);A[T]=null;A[z]=null;A[k][A[M]++]=null;A.emit("disconnect",A[I],[A],new u("upgrade"));try{c.onUpgrade(i,o,n,a)}catch(e){s.errorRequest(A,c,e);s.destroy(n,e)}A[_]()}onHeadersComplete(e,t,A){const{client:n,socket:o,headers:i,statusText:a}=this;if(o.destroyed){return-1}if(n[m]===0){s.destroy(o,new h("bad response",s.getSocketInfo(o)));return-1}const c=n[k][n[M]];if(!c){return-1}r(!this.upgrade);r(this.statusCode<200);if(e===100){s.destroy(o,new h("bad response",s.getSocketInfo(o)));return-1}if(t&&!c.upgrade){s.destroy(o,new h("bad upgrade",s.getSocketInfo(o)));return-1}r(this.timeoutType===Ee);this.statusCode=e;this.shouldKeepAlive=A||c.method==="HEAD"&&!o[d]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:n[J];this.setTimeout(e,he)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){r(n[m]===1);this.upgrade=true;return 2}if(t){r(n[m]===1);this.upgrade=true;return 2}r((this.headers.length&1)===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&n[L]){const e=this.keepAlive?s.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-n[x],n[G]);if(t<=0){o[d]=true}else{n[v]=t}}else{n[v]=n[b]}}else{o[d]=true}const l=c.onHeaders(e,i,this.resume,a)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(o[w]){o[w]=false;n[_]()}return l?Z.ERROR.PAUSED:0}onBody(e){const{client:t,socket:A,statusCode:n,maxResponseSize:o}=this;if(A.destroyed){return-1}const i=t[k][t[M]];r(i);r(this.timeoutType===he);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}r(n>=200);if(o>-1&&this.bytesRead+e.length>o){s.destroy(A,new B);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return Z.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:A,upgrade:n,headers:o,contentLength:i,bytesRead:c,shouldKeepAlive:l}=this;if(t.destroyed&&(!A||l)){return-1}if(n){return}r(A>=100);r((this.headers.length&1)===0);const g=e[k][e[M]];r(g);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";this.headers=[];this.headersSize=0;if(A<200){return}if(g.method!=="HEAD"&&i&&c!==parseInt(i,10)){s.destroy(t,new a);return-1}g.onComplete(o);e[k][e[M]++]=null;t[Ae]=true;if(t[R]){r(e[m]===0);s.destroy(t,new u("reset"));return Z.ERROR.PAUSED}else if(!l){s.destroy(t,new u("reset"));return Z.ERROR.PAUSED}else if(t[d]&&e[m]===0){s.destroy(t,new u("reset"));return Z.ERROR.PAUSED}else if(e[L]==null||e[L]===1){setImmediate(()=>e[_]())}else{e[_]()}}}function onParserTimeout(e){const{socket:t,timeoutType:A,client:n,paused:o}=e.deref();if(A===Ee){if(!t[R]||t.writableNeedDrain||n[m]>1){r(!o,"cannot be paused while waiting for headers");s.destroy(t,new g)}}else if(A===he){if(!o){s.destroy(t,new Q)}}else if(A===ue){r(n[m]===0&&n[v]);s.destroy(t,new u("socket idle timeout"))}}async function connectH1(e,t){e[T]=t;if(!se){se=await ne;ne=null}t[S]=false;t[R]=false;t[d]=false;t[w]=false;t[ee]=0;t[te]=null;t[Ae]=false;t[p]=new Parser(e,t,se);j(t,"error",function(e){const t=this[p];if(e.code==="ECONNRESET"&&t.statusCode&&!t.shouldKeepAlive){const e=t.finish();if(e){this[U]=e;this[f][q](e)}return}this[U]=e;this[f][q](e)});j(t,"readable",function(){const e=this[p];if(e){e.readMore()}});j(t,"end",function(){const e=this[p];if(e.statusCode&&!e.shouldKeepAlive){const t=e.finish();if(t){s.destroy(this,t)}return}s.destroy(this,new h("other side closed",s.getSocketInfo(this)))});j(t,"close",function(){const e=this[f];const t=this[p];clearIdleSocketValidation(this);if(t){if(!this[U]&&t.statusCode&&!t.shouldKeepAlive){this[U]=t.finish()||this[U]}this[p].destroy();this[p]=null}const A=this[U]||new h("closed",s.getSocketInfo(this));e[T]=null;e[z]=null;if(e.destroyed){r(e[y]===0);const t=e[k].splice(e[M]);for(let r=0;r0&&A.code!=="UND_ERR_INFO"){const t=e[k][e[M]];e[k][e[M]++]=null;s.errorRequest(e,t,A)}e[N]=e[M];r(e[m]===0);e.emit("disconnect",e[I],[e],A);e[_]()});let A=false;t.on("close",()=>{A=true});return{version:"h1",defaultPipelining:1,write(...t){return writeH1(e,...t)},resume(){resumeH1(e)},destroy(e,r){if(A){queueMicrotask(r)}else{t.destroy(e).on("close",r)}},get destroyed(){return t.destroyed},busy(A){if(t[R]||t[d]||t[w]||t[ee]===1){return true}if(A){if(e[m]>0&&!A.idempotent){return true}if(e[m]>0&&(A.upgrade||A.method==="CONNECT")){return true}if(e[m]>0&&s.bodyLength(A.body)!==0&&(s.isStream(A.body)||s.isAsyncIterable(A.body)||s.isFormDataLike(A.body))){return true}}return false}}}function clearIdleSocketValidation(e){if(e[te]){clearImmediate(e[te]);e[te]=null}e[ee]=0}function scheduleIdleSocketValidation(e,t){t[ee]=1;t[te]=setImmediate(()=>{t[te]=null;t[ee]=2;if(e[T]===t&&!t.destroyed){e[_]()}})}function resumeH1(e){const t=e[T];if(t&&!t.destroyed){if(e[D]===0){if(!t[S]&&t.unref){t.unref();t[S]=true}}else if(t[S]&&t.ref){t.ref();t[S]=false}if(e[m]===0&&e[y]>0&&t[Ae]){if(t[ee]===0){scheduleIdleSocketValidation(e,t);t[p].readMore();if(t.destroyed){return}return}if(t[ee]===1){t[p].readMore();if(t.destroyed){return}return}}if(e[m]===0){t[p].readMore();if(t.destroyed){return}}if(e[D]===0){if(t[p].timeoutType!==ue){t[p].setTimeout(e[v],ue)}}else if(e[m]>0&&t[p].statusCode<200){if(t[p].timeoutType!==Ee){const A=e[k][e[M]];const r=A.headersTimeout!=null?A.headersTimeout:e[Y];t[p].setTimeout(r,Ee)}}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function writeH1(e,t){const{method:o,path:a,host:g,upgrade:E,blocking:h,reset:Q}=t;let{body:C,headers:B,contentLength:I}=t;const f=o==="PUT"||o==="POST"||o==="PATCH"||o==="QUERY"||o==="PROPFIND"||o==="PROPPATCH";if(s.isFormDataLike(C)){if(!re){re=A(6455).extractBody}const[e,r]=re(C);if(t.contentType==null){B.push("content-type",r)}C=e.stream;I=e.length}else if(s.isBlobLike(C)&&t.contentType==null){const A=C.type;if(A){const r=`${A}`;if(!s.isValidHeaderValue(r)){s.errorRequest(e,t,new l("invalid content-type header"));return false}B.push("content-type",r)}}if(C&&typeof C.read==="function"){C.read(0)}const p=s.bodyLength(C);I=p??I;if(I===null){I=t.contentLength}if(I===0&&!f){I=null}if(shouldSendContentLength(o)&&I>0&&t.contentLength!==null&&t.contentLength!==I){if(e[V]){s.errorRequest(e,t,new i);return false}process.emitWarning(new i)}const m=e[T];clearIdleSocketValidation(m);const abort=A=>{if(t.aborted){return}if(t.completed){if(t.upgrade||t.method==="CONNECT"){s.destroy(m,new u("aborted"))}return}s.errorRequest(e,t,A||new c);s.destroy(C);s.destroy(m,new u("aborted"))};try{t.onConnect(abort)}catch(A){s.errorRequest(e,t,A)}if(t.aborted){return false}if(o==="HEAD"){m[d]=true}if(E||o==="CONNECT"){m[d]=true}if(Q!=null){m[d]=Q}if(e[O]&&m[P]++>=e[O]){m[d]=true}if(h){m[w]=true}let y=`${o} ${a} HTTP/1.1\r\n`;if(typeof g==="string"){y+=`host: ${g}\r\n`}else{y+=e[F]}if(E){y+=`connection: upgrade\r\nupgrade: ${E}\r\n`}else if(e[L]&&!m[d]){y+="connection: keep-alive\r\n"}else{y+="connection: close\r\n"}if(Array.isArray(B)){for(let e=0;e{t.removeListener("error",onFinished)});if(!g){const e=new c;queueMicrotask(()=>onFinished(e))}};const onFinished=function(e){if(g){return}g=true;r(o.destroyed||o[R]&&A[m]<=1);o.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("close",onClose);if(!e){try{E.end()}catch(t){e=t}}E.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){s.destroy(t,e)}else{s.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onClose);if(t.resume){t.resume()}o.on("drain",onDrain).on("error",onFinished);if(t.errorEmitted??t.errored){setImmediate(()=>onFinished(t.errored))}else if(t.endEmitted??t.readableEnded){setImmediate(()=>onFinished(null))}if(t.closeEmitted??t.closed){setImmediate(onClose)}}function writeBuffer(e,t,A,n,o,i,a,c){try{if(!t){if(i===0){o.write(`${a}content-length: 0\r\n\r\n`,"latin1")}else{r(i===null,"no body must not have content length");o.write(`${a}\r\n`,"latin1")}}else if(s.isBuffer(t)){r(i===t.byteLength,"buffer body must have content length");o.cork();o.write(`${a}content-length: ${i}\r\n\r\n`,"latin1");o.write(t);o.uncork();n.onBodySent(t);if(!c&&n.reset!==false){o[d]=true}}n.onRequestSent();A[_]()}catch(t){e(t)}}async function writeBlob(e,t,A,s,n,o,a,c){r(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size){throw new i}const e=Buffer.from(await t.arrayBuffer());n.cork();n.write(`${a}content-length: ${o}\r\n\r\n`,"latin1");n.write(e);n.uncork();s.onBodySent(e);s.onRequestSent();if(!c&&s.reset!==false){n[d]=true}A[_]()}catch(t){e(t)}}async function writeIterable(e,t,A,s,n,o,i,a){r(o!==0||A[m]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{r(c===null);if(n[U]){t(n[U])}else{c=e}});n.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({abort:e,socket:n,request:s,contentLength:o,client:A,expectsPayload:a,header:i});try{for await(const e of t){if(n[U]){throw n[U]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{n.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({abort:e,socket:t,request:A,contentLength:r,client:s,expectsPayload:n,header:o}){this.socket=t;this.request=A;this.contentLength=r;this.client=s;this.bytesWritten=0;this.expectsPayload=n;this.header=o;this.abort=e;t[R]=true}write(e){const{socket:t,request:A,contentLength:r,client:s,bytesWritten:n,expectsPayload:o,header:a}=this;if(t[U]){throw t[U]}if(t.destroyed){return false}const c=Buffer.byteLength(e);if(!c){return true}if(r!==null&&n+c>r){if(s[V]){throw new i}process.emitWarning(new i)}t.cork();if(n===0){if(!o&&A.reset!==false){t[d]=true}if(r===null){t.write(`${a}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${a}content-length: ${r}\r\n\r\n`,"latin1")}}if(r===null){t.write(`\r\n${c.toString(16)}\r\n`,"latin1")}this.bytesWritten+=c;const l=t.write(e);t.uncork();A.onBodySent(e);if(!l){if(t[p].timeout&&t[p].timeoutType===Ee){if(t[p].timeout.refresh){t[p].timeout.refresh()}}}return l}end(){const{socket:e,contentLength:t,client:A,bytesWritten:r,expectsPayload:s,header:n,request:o}=this;o.onRequestSent();e[R]=false;if(e[U]){throw e[U]}if(e.destroyed){return}if(r===0){if(s){e.write(`${n}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${n}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&r!==t){if(A[V]){throw new i}else{process.emitWarning(new i)}}if(e[p].timeout&&e[p].timeoutType===Ee){if(e[p].timeout.refresh){e[p].timeout.refresh()}}A[_]()}destroy(e){const{socket:t,client:A,abort:s}=this;t[R]=false;if(e){r(A[m]<=1,"pipeline should only contain this request");s(e)}}}e.exports=connectH1},1967:(e,t,A)=>{const r=A(4589);const{errorMonitor:s}=A(8474);const{pipeline:n}=A(7075);const o=A(8529);const{RequestContentLengthMismatchError:i,RequestAbortedError:a,SocketError:c,InformationalError:l}=A(9934);const{kUrl:g,kReset:E,kClient:h,kRunning:u,kPending:Q,kQueue:C,kPendingIdx:B,kRunningIdx:I,kError:d,kSocket:f,kStrictContentLength:p,kOnError:w,kMaxConcurrentStreams:m,kHTTP2Session:y,kResume:D,kSize:R,kHTTPContext:k}=A(5424);const S=Symbol("open streams");let b;let F=false;let N;try{N=A(2467)}catch{N={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:M,HTTP2_HEADER_METHOD:U,HTTP2_HEADER_PATH:L,HTTP2_HEADER_SCHEME:T,HTTP2_HEADER_CONTENT_LENGTH:v,HTTP2_HEADER_EXPECT:H,HTTP2_HEADER_STATUS:G}}=N;function parseH2Headers(e){const t=[];for(const[A,r]of Object.entries(e)){if(Array.isArray(r)){for(const e of r){t.push(Buffer.from(A),Buffer.from(e))}}else{t.push(Buffer.from(A),Buffer.from(r))}}return t}function parseH2ResponseHeaders(e){const{[G]:t,...A}=e;return parseH2Headers(A)}async function connectH2(e,t){e[f]=t;if(!F){F=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const A=N.connect(e[g],{createConnection:()=>t,peerMaxConcurrentStreams:e[m]});A[S]=0;A[h]=e;A[f]=t;o.addListener(A,"error",onHttp2SessionError);o.addListener(A,"frameError",onHttp2FrameError);o.addListener(A,"end",onHttp2SessionEnd);o.addListener(A,"goaway",onHTTP2GoAway);o.addListener(A,"close",function(){const{[h]:e}=this;const{[f]:t}=e;const A=this[f][d]||this[d]||new c("closed",o.getSocketInfo(t));e[y]=null;if(e.destroyed){r(e[Q]===0);const t=e[C].splice(e[I]);for(let r=0;r{s=true});return{version:"h2",defaultPipelining:Infinity,write(...t){return writeH2(e,...t)},resume(){resumeH2(e)},destroy(e,A){if(s){queueMicrotask(A)}else{t.destroy(e).on("close",A)}},get destroyed(){return t.destroyed},busy(){return false}}}function resumeH2(e){const t=e[f];if(t?.destroyed===false){if(e[R]===0&&e[m]===0){t.unref();e[y].unref()}else{t.ref();e[y].ref()}}}function onHttp2SessionError(e){this[f][d]=e;this[h][w](e)}function onHttp2FrameError(e,t,A){if(A===0){const A=new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[f][d]=A;this[h][w](A)}}function onHttp2SessionEnd(){const e=new c("other side closed",o.getSocketInfo(this[f]));this.destroy(e);o.destroy(this[f],e)}function onHTTP2GoAway(e){const t=this[d]||new c(`HTTP/2: "GOAWAY" frame received with code ${e}`,o.getSocketInfo(this));const A=this[h];A[f]=null;A[k]=null;if(this[y]!=null){this[y].destroy(t);this[y]=null}o.destroy(this[f],t);if(A[I]{if(t.aborted){return}if(t.completed){if(c==="CONNECT"&&k!=null){o.destroy(k,A||new a)}return}A=A||new a;o.errorRequest(e,t,A);if(k!=null){o.destroy(k,A)}o.destroy(m,A);e[C][e[I]++]=null;e[D]()};try{t.onConnect(abort)}catch(A){o.errorRequest(e,t,A)}if(t.aborted){return false}if(c==="CONNECT"){n.ref();k=n.request(R,{endStream:false,signal:d});let A=false;const onResponse=e=>{A=true;k.off(s,onUpgradeError);t.onUpgradeResponse(Number(e[G]),e,parseH2ResponseHeaders)};const onUpgradeError=e=>{A=true;k.off("response",onResponse);t.onUpgradeError(e)};const onReady=()=>{try{t.onUpgrade(null,null,k)}catch(e){k.off("response",onResponse);abort(e);return}if(t.aborted){return}k.off("error",abort);k.once(s,onUpgradeError);e[C][e[I]++]=null};k.once("response",onResponse);k.once("error",abort);++n[S];onReady();k.once("close",()=>{if(!A&&t.completed){k.off("response",onResponse);k.off(s,onUpgradeError);t.onUpgradeError(new l(`HTTP/2: "stream error" received - code ${k.rstCode}`))}n[S]-=1;if(n[S]===0)n.unref()});return true}R[L]=E;R[T]="https";const x=c==="PUT"||c==="POST"||c==="PATCH";if(m&&typeof m.read==="function"){m.read(0)}let Y=o.bodyLength(m);if(o.isFormDataLike(m)){b??=A(6455).extractBody;const[e,t]=b(m);R["content-type"]=t;m=e.stream;Y=e.length}if(Y==null){Y=t.contentLength}if(Y===0||!x){Y=null}if(shouldSendContentLength(c)&&Y>0&&t.contentLength!=null&&t.contentLength!==Y){if(e[p]){o.errorRequest(e,t,new i);return false}process.emitWarning(new i)}if(Y!=null){r(m,"no body must not have content length");R[v]=`${Y}`}n.ref();const J=c==="GET"||c==="HEAD"||m===null;if(Q){R[H]="100-continue";k=n.request(R,{endStream:J,signal:d});k.once("continue",writeBodyH2)}else{k=n.request(R,{endStream:J,signal:d});writeBodyH2()}++n[S];k.once("response",A=>{const{[G]:r,...s}=A;t.onResponseStarted();if(t.aborted){const A=new a;o.errorRequest(e,t,A);o.destroy(k,A);return}if(t.onHeaders(Number(r),parseH2Headers(s),k.resume.bind(k),"")===false){k.pause()}k.on("data",e=>{if(t.onData(e)===false){k.pause()}})});k.once("end",()=>{if(k.state?.state==null||k.state.state<6){t.onComplete([])}if(n[S]===0){n.unref()}abort(new l("HTTP/2: stream half-closed (remote)"));e[C][e[I]++]=null;e[B]=e[I];e[D]()});k.once("close",()=>{n[S]-=1;if(n[S]===0){n.unref()}});k.once("error",function(e){abort(e)});k.once("frameError",(e,t)=>{abort(new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`))});return true;function writeBodyH2(){if(!m||Y===0){writeBuffer(abort,k,null,e,t,e[f],Y,x)}else if(o.isBuffer(m)){writeBuffer(abort,k,m,e,t,e[f],Y,x)}else if(o.isBlobLike(m)){if(typeof m.stream==="function"){writeIterable(abort,k,m.stream(),e,t,e[f],Y,x)}else{writeBlob(abort,k,m,e,t,e[f],Y,x)}}else if(o.isStream(m)){writeStream(abort,e[f],x,k,m,e,t,Y)}else if(o.isIterable(m)){writeIterable(abort,k,m,e,t,e[f],Y,x)}else{r(false)}}}function writeBuffer(e,t,A,s,n,i,a,c){try{if(A!=null&&o.isBuffer(A)){r(a===A.byteLength,"buffer body must have content length");t.cork();t.write(A);t.uncork();t.end();n.onBodySent(A)}if(!c){i[E]=true}n.onRequestSent();s[D]()}catch(t){e(t)}}function writeStream(e,t,A,s,i,a,c,l){r(l!==0||a[u]===0,"stream body cannot be pipelined");const g=n(i,s,r=>{if(r){o.destroy(g,r);e(r)}else{o.removeAllListeners(g);c.onRequestSent();if(!A){t[E]=true}a[D]()}});o.addListener(g,"data",onPipeData);function onPipeData(e){c.onBodySent(e)}}async function writeBlob(e,t,A,s,n,o,a,c){r(a===A.size,"blob body must have content length");try{if(a!=null&&a!==A.size){throw new i}const e=Buffer.from(await A.arrayBuffer());t.cork();t.write(e);t.uncork();t.end();n.onBodySent(e);n.onRequestSent();if(!c){o[E]=true}s[D]()}catch(t){e(t)}}async function writeIterable(e,t,A,s,n,o,i,a){r(i!==0||s[u]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{r(c===null);if(o[d]){t(o[d])}else{c=e}});t.on("close",onDrain).on("drain",onDrain);try{for await(const e of A){if(o[d]){throw o[d]}const A=t.write(e);n.onBodySent(e);if(!A){await waitForDrain()}}t.end();n.onRequestSent();if(!a){o[E]=true}s[D]()}catch(t){e(t)}finally{t.off("close",onDrain).off("drain",onDrain)}}e.exports=connectH2},7140:(e,t,A)=>{const r=A(4589);const s=A(7030);const n=A(7067);const o=A(8529);const{channels:i}=A(1509);const a=A(6540);const c=A(6870);const{InvalidArgumentError:l,InformationalError:g,ClientDestroyedError:E}=A(9934);const h=A(951);const{kUrl:u,kServerName:Q,kClient:C,kBusy:B,kConnect:I,kResuming:d,kRunning:f,kPending:p,kSize:w,kQueue:m,kConnected:y,kConnecting:D,kNeedDrain:R,kKeepAliveDefaultTimeout:k,kHostHeader:S,kPendingIdx:b,kRunningIdx:F,kError:N,kPipelining:M,kKeepAliveTimeoutValue:U,kMaxHeadersSize:L,kKeepAliveMaxTimeout:T,kKeepAliveTimeoutThreshold:v,kHeadersTimeout:H,kBodyTimeout:G,kStrictContentLength:x,kConnector:Y,kMaxRedirections:J,kMaxRequests:V,kCounter:O,kClose:P,kDestroy:W,kDispatch:q,kInterceptors:_,kLocalAddress:z,kMaxResponseSize:Z,kOnError:K,kHTTPContext:X,kMaxConcurrentStreams:j,kResume:$}=A(5424);const ee=A(3010);const te=A(1967);let Ae=false;const re=Symbol("kClosedResolve");const noop=()=>{};function getPipelining(e){return e[M]??e[X]?.defaultPipelining??1}class Client extends c{constructor(e,{interceptors:t,maxHeaderSize:A,headersTimeout:r,socketTimeout:i,requestTimeout:a,connectTimeout:c,bodyTimeout:g,idleTimeout:E,keepAlive:C,keepAliveTimeout:B,maxKeepAliveTimeout:I,keepAliveMaxTimeout:f,keepAliveTimeoutThreshold:p,socketPath:w,pipelining:y,tls:D,strictContentLength:N,maxCachedSessions:O,maxRedirections:P,connect:W,maxRequestsPerClient:q,localAddress:ee,maxResponseSize:te,autoSelectFamily:ne,autoSelectFamilyAttemptTimeout:oe,maxConcurrentStreams:ie,allowH2:ae,webSocket:ce,eventSource:le}={}){super({webSocket:ce,eventSource:le});if(C!==undefined){throw new l("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(a!==undefined){throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(E!==undefined){throw new l("unsupported idleTimeout, use keepAliveTimeout instead")}if(I!==undefined){throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(A!=null&&!Number.isFinite(A)){throw new l("invalid maxHeaderSize")}if(w!=null&&typeof w!=="string"){throw new l("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new l("invalid connectTimeout")}if(B!=null&&(!Number.isFinite(B)||B<=0)){throw new l("invalid keepAliveTimeout")}if(f!=null&&(!Number.isFinite(f)||f<=0)){throw new l("invalid keepAliveMaxTimeout")}if(p!=null&&!Number.isFinite(p)){throw new l("invalid keepAliveTimeoutThreshold")}if(r!=null&&(!Number.isInteger(r)||r<0)){throw new l("headersTimeout must be a positive integer or zero")}if(g!=null&&(!Number.isInteger(g)||g<0)){throw new l("bodyTimeout must be a positive integer or zero")}if(W!=null&&typeof W!=="function"&&typeof W!=="object"){throw new l("connect must be a function or an object")}if(P!=null&&(!Number.isInteger(P)||P<0)){throw new l("maxRedirections must be a positive number")}if(q!=null&&(!Number.isInteger(q)||q<0)){throw new l("maxRequestsPerClient must be a positive number")}if(ee!=null&&(typeof ee!=="string"||s.isIP(ee)===0)){throw new l("localAddress must be valid string IP address")}if(te!=null&&(!Number.isInteger(te)||te<-1)){throw new l("maxResponseSize must be a positive number")}if(oe!=null&&(!Number.isInteger(oe)||oe<-1)){throw new l("autoSelectFamilyAttemptTimeout must be a positive number")}if(ae!=null&&typeof ae!=="boolean"){throw new l("allowH2 must be a valid boolean value")}if(ie!=null&&(typeof ie!=="number"||ie<1)){throw new l("maxConcurrentStreams must be a positive integer, greater than 0")}if(typeof W!=="function"){W=h({...D,maxCachedSessions:O,allowH2:ae,socketPath:w,timeout:c,...ne?{autoSelectFamily:ne,autoSelectFamilyAttemptTimeout:oe}:undefined,...W})}if(t?.Client&&Array.isArray(t.Client)){this[_]=t.Client;if(!Ae){Ae=true;process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"})}}else{this[_]=[se({maxRedirections:P})]}this[u]=o.parseOrigin(e);this[Y]=W;this[M]=y!=null?y:1;this[L]=A||n.maxHeaderSize;this[k]=B==null?4e3:B;this[T]=f==null?6e5:f;this[v]=p==null?2e3:p;this[U]=this[k];this[Q]=null;this[z]=ee!=null?ee:null;this[d]=0;this[R]=0;this[S]=`host: ${this[u].hostname}${this[u].port?`:${this[u].port}`:""}\r\n`;this[G]=g!=null?g:3e5;this[H]=r!=null?r:3e5;this[x]=N==null?true:N;this[J]=P;this[V]=q;this[re]=null;this[Z]=te>-1?te:-1;this[j]=ie!=null?ie:100;this[X]=null;this[m]=[];this[F]=0;this[b]=0;this[$]=e=>resume(this,e);this[K]=e=>onError(this,e)}get pipelining(){return this[M]}set pipelining(e){this[M]=e;this[$](true)}get[p](){return this[m].length-this[b]}get[f](){return this[b]-this[F]}get[w](){return this[m].length-this[F]}get[y](){return!!this[X]&&!this[D]&&!this[X].destroyed}get[B](){return Boolean(this[X]?.busy(null)||this[w]>=(getPipelining(this)||1)||this[p]>0)}[I](e){connect(this);this.once("connect",e)}[q](e,t){const A=e.origin||this[u].origin;const r=new a(A,e,t);this[m].push(r);if(this[d]){}else if(o.bodyLength(r.body)==null&&o.isIterable(r.body)){this[d]=1;queueMicrotask(()=>resume(this))}else{this[$](true)}if(this[d]&&this[R]!==2&&this[B]){this[R]=2}return this[R]<2}async[P](){return new Promise(e=>{if(this[w]){this[re]=e}else{e(null)}})}async[W](e){return new Promise(t=>{const A=this[m].splice(this[b]);for(let t=0;t{if(this[re]){this[re]();this[re]=null}t(null)};if(this[X]){this[X].destroy(e,callback);this[X]=null}else{queueMicrotask(callback)}this[$]()})}}const se=A(7327);function onError(e,t){if(e[f]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){r(e[b]===e[F]);const A=e[m].splice(e[F]);for(let r=0;r{e[Y]({host:t,hostname:A,protocol:n,port:a,servername:e[Q],localAddress:e[z]},(e,t)=>{if(e){s(e)}else{r(t)}})});if(e.destroyed){o.destroy(s.on("error",noop),new E);return}r(s);try{e[X]=s.alpnProtocol==="h2"?await te(e,s):await ee(e,s)}catch(e){s.destroy().on("error",noop);throw e}e[D]=false;s[O]=0;s[V]=e[V];s[C]=e;s[N]=null;if(i.connected.hasSubscribers){i.connected.publish({connectParams:{host:t,hostname:A,protocol:n,port:a,version:e[X]?.version,servername:e[Q],localAddress:e[z]},connector:e[Y],socket:s})}e.emit("connect",e[u],[e])}catch(s){if(e.destroyed){return}e[D]=false;if(i.connectError.hasSubscribers){i.connectError.publish({connectParams:{host:t,hostname:A,protocol:n,port:a,version:e[X]?.version,servername:e[Q],localAddress:e[z]},connector:e[Y],error:s})}if(s.code==="ERR_TLS_CERT_ALTNAME_INVALID"){r(e[f]===0);while(e[p]>0&&e[m][e[b]].servername===e[Q]){const t=e[m][e[b]++];o.errorRequest(e,t,s)}}else{onError(e,s)}e.emit("connectionError",e[u],[e],s)}e[$]()}function emitDrain(e){e[R]=0;e.emit("drain",e[u],[e])}function resume(e,t){if(e[d]===2){return}e[d]=2;_resume(e,t);e[d]=0;if(e[F]>256){e[m].splice(0,e[F]);e[b]-=e[F];e[F]=0}}function _resume(e,t){while(true){if(e.destroyed){r(e[p]===0);return}if(e[re]&&!e[w]){e[re]();e[re]=null;return}if(e[X]){e[X].resume()}if(e[B]){e[R]=2}else if(e[R]===2){if(t){e[R]=1;queueMicrotask(()=>emitDrain(e))}else{emitDrain(e)}continue}if(e[p]===0){return}if(e[f]>=(getPipelining(e)||1)){return}const A=e[m][e[b]];if(e[u].protocol==="https:"&&e[Q]!==A.servername){if(e[f]>0){return}e[Q]=A.servername;e[X]?.destroy(new g("servername changed"),()=>{e[X]=null;resume(e)})}if(e[D]){return}if(!e[X]){connect(e);return}if(e[X].destroyed){return}if(e[X].busy(A)){return}if(!A.aborted&&e[X].write(A)){e[b]++}else{e[m].splice(e[b],1)}}}e.exports=Client},6870:(e,t,A)=>{const r=A(4573);const s=A(5030);const{ClientDestroyedError:n,ClientClosedError:o,InvalidArgumentError:i}=A(9934);const{kDestroy:a,kClose:c,kClosed:l,kDestroyed:g,kDispatch:E,kInterceptors:h}=A(5424);const u=Symbol("onDestroyed");const Q=Symbol("onClosed");const C=Symbol("Intercepted Dispatch");const B=Symbol("webSocketOptions");const I=Symbol("eventSourceOptions");class DispatcherBase extends s{constructor(e){super();this[g]=false;this[u]=null;this[l]=false;this[Q]=[];this[B]=e?.webSocket??{};this[I]=e?.eventSource??{}}get webSocketOptions(){return{maxFragments:this[B].maxFragments??131072,maxPayloadSize:this[B].maxPayloadSize??128*1024*1024}}get eventSourceOptions(){return{maxEventSize:this[I].maxEventSize??r.kStringMaxLength}}get destroyed(){return this[g]}get closed(){return this[l]}get interceptors(){return this[h]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[h][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[h]=e}close(e){if(e===undefined){return new Promise((e,t)=>{this.close((A,r)=>A?t(A):e(r))})}if(typeof e!=="function"){throw new i("invalid callback")}if(this[g]){queueMicrotask(()=>e(new n,null));return}if(this[l]){if(this[Q]){this[Q].push(e)}else{queueMicrotask(()=>e(null,null))}return}this[l]=true;this[Q].push(e);const onClosed=()=>{const e=this[Q];this[Q]=null;for(let t=0;tthis.destroy()).then(()=>{queueMicrotask(onClosed)})}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise((t,A)=>{this.destroy(e,(e,r)=>e?A(e):t(r))})}if(typeof t!=="function"){throw new i("invalid callback")}if(this[g]){if(this[u]){this[u].push(t)}else{queueMicrotask(()=>t(null,null))}return}if(!e){e=new n}this[g]=true;this[u]=this[u]||[];this[u].push(t);const onDestroyed=()=>{const e=this[u];this[u]=null;for(let t=0;t{queueMicrotask(onDestroyed)})}[C](e,t){if(!this[h]||this[h].length===0){this[C]=this[E];return this[E](e,t)}let A=this[E].bind(this);for(let e=this[h].length-1;e>=0;e--){A=this[h][e](A)}this[C]=A;return A(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[g]||this[u]){throw new n}if(this[l]){throw new o}return this[C](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},5030:(e,t,A)=>{const r=A(8474);class Dispatcher extends r{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){const t=Array.isArray(e[0])?e[0]:e;let A=this.dispatch.bind(this);for(const e of t){if(e==null){continue}if(typeof e!=="function"){throw new TypeError(`invalid interceptor, expected function received ${typeof e}`)}A=e(A);if(A==null||typeof A!=="function"||A.length!==2){throw new TypeError("invalid interceptor")}}return new ComposedDispatcher(this,A)}}class ComposedDispatcher extends Dispatcher{#A=null;#r=null;constructor(e,t){super();this.#A=e;this.#r=t}dispatch(...e){this.#r(...e)}close(...e){return this.#A.close(...e)}destroy(...e){return this.#A.destroy(...e)}}e.exports=Dispatcher},6920:(e,t,A)=>{const r=A(6870);const{kClose:s,kDestroy:n,kClosed:o,kDestroyed:i,kDispatch:a,kNoProxyAgent:c,kHttpProxyAgent:l,kHttpsProxyAgent:g}=A(5424);const E=A(3747);const h=A(4586);const u={"http:":80,"https:":443};let Q=false;class EnvHttpProxyAgent extends r{#s=null;#n=null;#o=null;constructor(e={}){super();this.#o=e;if(!Q){Q=true;process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"})}const{httpProxy:t,httpsProxy:A,noProxy:r,...s}=e;this[c]=new h(s);const n=t??process.env.http_proxy??process.env.HTTP_PROXY;if(n){this[l]=new E({...s,uri:n})}else{this[l]=this[c]}const o=A??process.env.https_proxy??process.env.HTTPS_PROXY;if(o){this[g]=new E({...s,uri:o})}else{this[g]=this[l]}this.#i()}[a](e,t){const A=new URL(e.origin);const r=this.#a(A);return r.dispatch(e,t)}async[s](){await this[c].close();if(!this[l][o]){await this[l].close()}if(!this[g][o]){await this[g].close()}}async[n](e){await this[c].destroy(e);if(!this[l][i]){await this[l].destroy(e)}if(!this[g][i]){await this[g].destroy(e)}}#a(e){let{protocol:t,host:A,port:r}=e;A=A.replace(/:\d*$/,"").toLowerCase();r=Number.parseInt(r,10)||u[t]||0;if(!this.#c(A,r)){return this[c]}if(t==="https:"){return this[g]}return this[l]}#c(e,t){if(this.#l){this.#i()}if(this.#n.length===0){return true}if(this.#s==="*"){return false}for(let A=0;A{const t=2048;const A=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&A)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&A}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&A;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},627:(e,t,A)=>{const r=A(6870);const s=A(4007);const{kConnected:n,kSize:o,kRunning:i,kPending:a,kQueued:c,kBusy:l,kFree:g,kUrl:E,kClose:h,kDestroy:u,kDispatch:Q}=A(5424);const C=A(5871);const B=Symbol("clients");const I=Symbol("needDrain");const d=Symbol("queue");const f=Symbol("closed resolve");const p=Symbol("onDrain");const w=Symbol("onConnect");const m=Symbol("onDisconnect");const y=Symbol("onConnectionError");const D=Symbol("get dispatcher");const R=Symbol("add client");const k=Symbol("remove client");const S=Symbol("stats");class PoolBase extends r{constructor(e){super(e);this[d]=new s;this[B]=[];this[c]=0;const t=this;this[p]=function onDrain(e,A){const r=t[d];let s=false;while(!s){const e=r.shift();if(!e){break}t[c]--;s=!this.dispatch(e.opts,e.handler)}this[I]=s;if(!this[I]&&t[I]){t[I]=false;t.emit("drain",e,[t,...A])}if(t[f]&&r.isEmpty()){Promise.all(t[B].map(e=>e.close())).then(t[f])}};this[w]=(e,A)=>{t.emit("connect",e,[t,...A])};this[m]=(e,A,r)=>{t.emit("disconnect",e,[t,...A],r)};this[y]=(e,A,r)=>{t.emit("connectionError",e,[t,...A],r)};this[S]=new C(this)}get[l](){return this[I]}get[n](){return this[B].filter(e=>e[n]).length}get[g](){return this[B].filter(e=>e[n]&&!e[I]).length}get[a](){let e=this[c];for(const{[a]:t}of this[B]){e+=t}return e}get[i](){let e=0;for(const{[i]:t}of this[B]){e+=t}return e}get[o](){let e=this[c];for(const{[o]:t}of this[B]){e+=t}return e}get stats(){return this[S]}async[h](){if(this[d].isEmpty()){await Promise.all(this[B].map(e=>e.close()))}else{await new Promise(e=>{this[f]=e})}}async[u](e){while(true){const t=this[d].shift();if(!t){break}t.handler.onError(e)}await Promise.all(this[B].map(t=>t.destroy(e)))}[Q](e,t){const A=this[D]();if(!A){this[I]=true;this[d].push({opts:e,handler:t});this[c]++}else if(!A.dispatch(e,t)){A[I]=true;this[I]=!this[D]()}return!this[I]}[R](e){e.on("drain",this[p]).on("connect",this[w]).on("disconnect",this[m]).on("connectionError",this[y]);this[B].push(e);if(this[I]){queueMicrotask(()=>{if(this[I]){this[p](e[E],[this,e])}})}return this}[k](e){e.close(()=>{const t=this[B].indexOf(e);if(t!==-1){this[B].splice(t,1)}});this[I]=this[B].some(e=>!e[I]&&e.closed!==true&&e.destroyed!==true)}}e.exports={PoolBase:PoolBase,kClients:B,kNeedDrain:I,kAddClient:R,kRemoveClient:k,kGetDispatcher:D}},5871:(e,t,A)=>{const{kFree:r,kConnected:s,kPending:n,kQueued:o,kRunning:i,kSize:a}=A(5424);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][s]}get free(){return this[c][r]}get pending(){return this[c][n]}get queued(){return this[c][o]}get running(){return this[c][i]}get size(){return this[c][a]}}e.exports=PoolStats},2921:(e,t,A)=>{const{PoolBase:r,kClients:s,kNeedDrain:n,kAddClient:o,kGetDispatcher:i}=A(627);const a=A(7140);const{InvalidArgumentError:c}=A(9934);const l=A(8529);const{kUrl:g,kInterceptors:E}=A(5424);const h=A(951);const u=Symbol("options");const Q=Symbol("connections");const C=Symbol("factory");function defaultFactory(e,t){return new a(e,t)}class Pool extends r{constructor(e,{connections:t,factory:A=defaultFactory,connect:r,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:B,autoSelectFamilyAttemptTimeout:I,allowH2:d,...f}={}){if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof A!=="function"){throw new c("factory must be a function.")}if(r!=null&&typeof r!=="function"&&typeof r!=="object"){throw new c("connect must be a function or an object")}if(typeof r!=="function"){r=h({...o,maxCachedSessions:i,allowH2:d,socketPath:a,timeout:n,...B?{autoSelectFamily:B,autoSelectFamilyAttemptTimeout:I}:undefined,...r})}super(f);this[E]=f.interceptors?.Pool&&Array.isArray(f.interceptors.Pool)?f.interceptors.Pool:[];this[Q]=t||null;this[g]=l.parseOrigin(e);this[u]={...l.deepClone(f),connect:r,allowH2:d};this[u].interceptors=f.interceptors?{...f.interceptors}:undefined;this[C]=A;this.on("connectionError",(e,t,A)=>{for(const e of t){const t=this[s].indexOf(e);if(t!==-1){this[s].splice(t,1)}}})}[i](){for(const e of this[s]){if(!e[n]){return e}}if(!this[Q]||this[s].length{const{kProxy:r,kClose:s,kDestroy:n,kDispatch:o,kInterceptors:i}=A(5424);const{URL:a}=A(3136);const c=A(4586);const l=A(2921);const g=A(6870);const{InvalidArgumentError:E,RequestAbortedError:h,SecureProxyConnectionError:u}=A(9934);const Q=A(951);const C=A(7140);const B=Symbol("proxy agent");const I=Symbol("proxy client");const d=Symbol("proxy headers");const f=Symbol("request tls settings");const p=Symbol("proxy tls settings");const w=Symbol("connect endpoint function");const m=Symbol("tunnel proxy");function defaultProtocolPort(e){return e==="https:"?443:80}function defaultFactory(e,t){return new l(e,t)}const noop=()=>{};function defaultAgentFactory(e,t){if(t.connections===1){return new C(e,t)}return new l(e,t)}class Http1ProxyWrapper extends g{#E;constructor(e,{headers:t={},connect:A,factory:r}){super();if(!e){throw new E("Proxy URL is mandatory")}this[d]=t;if(r){this.#E=r(e,{connect:A})}else{this.#E=new C(e,{connect:A})}}[o](e,t){const A=t.onHeaders;t.onHeaders=function(e,r,s){if(e===407){if(typeof t.onError==="function"){t.onError(new E("Proxy Authentication Required (407)"))}return}if(A)A.call(this,e,r,s)};const{origin:r,path:s="/",headers:n={}}=e;e.path=r+s;if(!("host"in n)&&!("Host"in n)){const{host:e}=new a(r);n.host=e}e.headers={...this[d],...n};return this.#E[o](e,t)}async[s](){return this.#E.close()}async[n](e){return this.#E.destroy(e)}}class ProxyAgent extends g{constructor(e){super();if(!e||typeof e==="object"&&!(e instanceof a)&&!e.uri){throw new E("Proxy uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new E("Proxy opts.clientFactory must be a function.")}const{proxyTunnel:A=true}=e;const s=this.#h(e);const{href:n,origin:o,port:l,protocol:g,username:C,password:y,hostname:D}=s;this[r]={uri:n,protocol:g};this[i]=e.interceptors?.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];this[f]=e.requestTls;this[p]=e.proxyTls;this[d]=e.headers||{};this[m]=A;if(e.auth&&e.token){throw new E("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[d]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[d]["proxy-authorization"]=e.token}else if(C&&y){this[d]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(C)}:${decodeURIComponent(y)}`).toString("base64")}`}const R=Q({...e.proxyTls});this[w]=Q({...e.requestTls});const k=e.factory||defaultAgentFactory;const factory=(e,t)=>{const{protocol:A}=new a(e);if(!this[m]&&A==="http:"&&this[r].protocol==="http:"){return new Http1ProxyWrapper(this[r].uri,{headers:this[d],connect:R,factory:k})}return k(e,t)};this[I]=t(s,{connect:R});this[B]=new c({...e,factory:factory,connect:async(e,t)=>{let A=e.host;if(!e.port){A+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:r,statusCode:s}=await this[I].connect({origin:o,port:l,path:A,signal:e.signal,headers:{...this[d],host:e.host},servername:this[p]?.servername||D});if(s!==200){r.on("error",noop).destroy();t(new h(`Proxy response (${s}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,r);return}let n;if(this[f]){n=this[f].servername}else{n=e.servername}this[w]({...e,servername:n,httpSocket:r},t)}catch(e){if(e.code==="ERR_TLS_CERT_ALTNAME_INVALID"){t(new u(e))}else{t(e)}}}})}dispatch(e,t){const A=buildHeaders(e.headers);throwIfProxyAuthIsSent(A);if(A&&!("host"in A)&&!("Host"in A)){const{host:t}=new a(e.origin);A.host=t}return this[B].dispatch({...e,headers:A},t)}#h(e){if(typeof e==="string"){return new a(e)}else if(e instanceof a){return e}else{return new a(e.uri)}}async[s](){await this[B].close();await this[I].close()}async[n](){await this[B].destroy();await this[I].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let A=0;Ae.toLowerCase()==="proxy-authorization");if(t){throw new E("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},9089:(e,t,A)=>{const r=A(5030);const s=A(7877);class RetryAgent extends r{#u=null;#Q=null;constructor(e,t={}){super(t);this.#u=e;this.#Q=t}dispatch(e,t){const A=new s({...e,retryOptions:this.#Q},{dispatch:this.#u.dispatch.bind(this.#u),handler:t});return this.#u.dispatch(e,A)}close(){return this.#u.close()}destroy(){return this.#u.destroy()}}e.exports=RetryAgent},4498:(e,t,A)=>{const r=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:s}=A(9934);const n=A(4586);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new n)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new s("Argument agent must implement Agent")}Object.defineProperty(globalThis,r,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[r]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},4606:e=>{e.exports=class DecoratorHandler{#C;constructor(e){if(typeof e!=="object"||e===null){throw new TypeError("handler must be an object")}this.#C=e}onConnect(...e){return this.#C.onConnect?.(...e)}onError(...e){return this.#C.onError?.(...e)}onUpgrade(...e){return this.#C.onUpgrade?.(...e)}onResponseStarted(...e){return this.#C.onResponseStarted?.(...e)}onHeaders(...e){return this.#C.onHeaders?.(...e)}onData(...e){return this.#C.onData?.(...e)}onComplete(...e){return this.#C.onComplete?.(...e)}onBodySent(...e){return this.#C.onBodySent?.(...e)}}},3669:(e,t,A)=>{const r=A(8529);const{kBodyUsed:s}=A(5424);const n=A(4589);const{InvalidArgumentError:o}=A(9934);const i=A(8474);const a=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[s]=false}async*[Symbol.asyncIterator](){n(!this[s],"disturbed");this[s]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,A,a){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new o("maxRedirections must be a positive number")}r.validateHandler(a,A.method,A.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...A,maxRedirections:0};this.maxRedirections=t;this.handler=a;this.history=[];this.redirectionLimitReached=false;if(r.isStream(this.opts.body)){if(r.bodyLength(this.opts.body)===0){this.opts.body.on("data",function(){n(false)})}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[s]=false;i.prototype.on.call(this.opts.body,"data",function(){this[s]=true})}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&r.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,A){this.handler.onUpgrade(e,t,A)}onError(e){this.handler.onError(e)}onHeaders(e,t,A,s){this.location=this.history.length>=this.maxRedirections||r.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){if(this.request){this.request.abort(new Error("max redirects"))}this.redirectionLimitReached=true;this.abort(new Error("max redirects"));return}if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,A,s)}const{origin:n,pathname:o,search:i}=r.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const a=i?`${o}${i}`:o;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==n);this.opts.path=a;this.opts.origin=n;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(a.indexOf(e)===-1){return null}for(let e=0;e{const r=A(4589);const{kRetryHandlerDefaultRetry:s}=A(5424);const{RequestRetryError:n}=A(9934);const{isDisturbed:o,parseHeaders:i,parseRangeHeader:a,wrapRequestBody:c}=A(8529);function calculateRetryAfterHeader(e){const t=Date.now();return new Date(e).getTime()-t}function validatePartialResponseContentLength(e,t,A,r){const s=e["content-length"];if(s==null){return null}if(!Number.isFinite(t.start)||!Number.isFinite(t.end)){return null}const o=Number(s);const i=t.end-t.start+1;if(!Number.isFinite(o)||o!==i){return new n("Content-Length mismatch",A,{headers:e,data:{count:r}})}return null}class RetryHandler{constructor(e,t){const{retryOptions:A,...r}=e;const{retry:n,maxRetries:o,maxTimeout:i,minTimeout:a,timeoutFactor:l,methods:g,errorCodes:E,retryAfter:h,statusCodes:u}=A??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts={...r,body:c(e.body)};this.abort=null;this.aborted=false;this.retryOpts={retry:n??RetryHandler[s],retryAfter:h??true,maxTimeout:i??30*1e3,minTimeout:a??500,timeoutFactor:l??2,maxRetries:o??5,methods:g??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:u??[500,502,503,504,429],errorCodes:E??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]};this.retryCount=0;this.retryCountCheckpoint=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.headersSent=false;this.handler.onConnect(e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}})}checkpointResponseEnd(e,t){if(this.end==null&&this.opts.method!=="HEAD"){const t=e["content-length"];this.end=t!=null?Number(t)-1:null;r(this.end==null||Number.isFinite(this.end),"invalid content-length")}this.resume=this.end!=null?t:null}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,A){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,A)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[s](e,{state:t,opts:A},r){const{statusCode:s,code:n,headers:o}=e;const{method:i,retryOptions:a}=A;const{maxRetries:c,minTimeout:l,maxTimeout:g,timeoutFactor:E,statusCodes:h,errorCodes:u,methods:Q}=a;const{counter:C}=t;if(n&&n!=="UND_ERR_REQ_RETRY"&&!u.includes(n)){r(e);return}if(Array.isArray(Q)&&!Q.includes(i)){r(e);return}if(s!=null&&Array.isArray(h)&&!h.includes(s)){r(e);return}if(C>c){r(e);return}let B=o?.["retry-after"];if(B){B=Number(B);B=Number.isNaN(B)?calculateRetryAfterHeader(B):B*1e3}const I=B>0?Math.min(B,g):Math.min(l*E**(C-1),g);setTimeout(()=>r(null),I)}onHeaders(e,t,A,s){const o=i(t);this.retryCount+=1;if(e>=300){if(!this.headersSent&&this.retryOpts.statusCodes.includes(e)===false){this.headersSent=true;this.checkpointResponseEnd(o,A);return this.handler.onHeaders(e,t,A,s)}else{this.abort(new n("Request failed",e,{headers:o,data:{count:this.retryCount}}));return false}}if(this.resume!=null){this.resume=null;if(e!==206&&(this.start>0||e!==200)){this.abort(new n("server does not support the range header and the payload was partially consumed",e,{headers:o,data:{count:this.retryCount}}));return false}const t=a(o["content-range"]);if(!t){this.abort(new n("Content-Range mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}if(this.etag!=null&&this.etag!==o.etag){this.abort(new n("ETag mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}const r=validatePartialResponseContentLength(o,t,e,this.retryCount);if(r!=null){this.abort(r);return false}const{start:s,size:i,end:c=i-1}=t;if(this.start!==s||this.end!=null&&this.end!==c){this.abort(new n("Content-Range mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}this.resume=A;return true}if(this.end==null){if(e===206){const n=a(o["content-range"]);if(n==null){this.headersSent=true;return this.handler.onHeaders(e,t,A,s)}const i=validatePartialResponseContentLength(o,n,e,this.retryCount);if(i!=null){this.abort(i);return false}const{start:c,size:l,end:g=l-1}=n;r(c!=null&&Number.isFinite(c),"content-range mismatch");r(g!=null&&Number.isFinite(g),"invalid content-length");this.start=c;this.end=g}if(this.end==null){const e=o["content-length"];this.end=e!=null?Number(e)-1:null}r(Number.isFinite(this.start));r(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=A;this.headersSent=true;this.etag=o.etag!=null?o.etag:null;if(this.etag!=null&&this.etag.startsWith("W/")){this.etag=null}return this.handler.onHeaders(e,t,A,s)}const c=new n("Request failed",e,{headers:o,data:{count:this.retryCount}});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||o(this.opts.body)||this.headersSent&&this.resume==null){return this.handler.onError(e)}if(this.retryCount-this.retryCountCheckpoint>0){this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint)}else{this.retryCount+=1}this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||o(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){const e={range:`bytes=${this.start}-${this.end??""}`};if(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(e){this.handler.onError(e)}}}}e.exports=RetryHandler},6814:(e,t,A)=>{const{isIP:r}=A(7030);const{lookup:s}=A(610);const n=A(4606);const{InvalidArgumentError:o,InformationalError:i}=A(9934);const a=Math.pow(2,31)-1;class DNSInstance{#B=0;#I=0;#d=new Map;dualStack=true;affinity=null;lookup=null;pick=null;constructor(e){this.#B=e.maxTTL;this.#I=e.maxItems;this.dualStack=e.dualStack;this.affinity=e.affinity;this.lookup=e.lookup??this.#f;this.pick=e.pick??this.#p}get full(){return this.#d.size===this.#I}runLookup(e,t,A){const r=this.#d.get(e.hostname);if(r==null&&this.full){A(null,e.origin);return}const s={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#B,maxItems:this.#I};if(r==null){this.lookup(e,s,(t,r)=>{if(t||r==null||r.length===0){A(t??new i("No DNS entries found"));return}this.setRecords(e,r);const n=this.#d.get(e.hostname);const o=this.pick(e,n,s.affinity);let a;if(typeof o.port==="number"){a=`:${o.port}`}else if(e.port!==""){a=`:${e.port}`}else{a=""}A(null,`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`)})}else{const n=this.pick(e,r,s.affinity);if(n==null){this.#d.delete(e.hostname);this.runLookup(e,t,A);return}let o;if(typeof n.port==="number"){o=`:${n.port}`}else if(e.port!==""){o=`:${e.port}`}else{o=""}A(null,`${e.protocol}//${n.family===6?`[${n.address}]`:n.address}${o}`)}}#f(e,t,A){s(e.hostname,{all:true,family:this.dualStack===false?this.affinity:0,order:"ipv4first"},(e,t)=>{if(e){return A(e)}const r=new Map;for(const e of t){r.set(`${e.address}:${e.family}`,e)}A(null,r.values())})}#p(e,t,A){let r=null;const{records:s,offset:n}=t;let o;if(this.dualStack){if(A==null){if(n==null||n===a){t.offset=0;A=4}else{t.offset++;A=(t.offset&1)===1?6:4}}if(s[A]!=null&&s[A].ips.length>0){o=s[A]}else{o=s[A===4?6:4]}}else{o=s[A]}if(o==null||o.ips.length===0){return r}if(o.offset==null||o.offset===a){o.offset=0}else{o.offset++}const i=o.offset%o.ips.length;r=o.ips[i]??null;if(r==null){return r}if(Date.now()-r.timestamp>r.ttl){o.ips.splice(i,1);return this.pick(e,t,A)}return r}setRecords(e,t){const A=Date.now();const r={records:{4:null,6:null}};for(const e of t){e.timestamp=A;if(typeof e.ttl==="number"){e.ttl=Math.min(e.ttl,this.#B)}else{e.ttl=this.#B}const t=r.records[e.family]??{ips:[]};t.ips.push(e);r.records[e.family]=t}this.#d.set(e.hostname,r)}getHandler(e,t){return new DNSDispatchHandler(this,e,t)}}class DNSDispatchHandler extends n{#w=null;#o=null;#r=null;#C=null;#m=null;constructor(e,{origin:t,handler:A,dispatch:r},s){super(A);this.#m=t;this.#C=A;this.#o={...s};this.#w=e;this.#r=r}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#w.dualStack){this.#w.runLookup(this.#m,this.#o,(e,t)=>{if(e){return this.#C.onError(e)}const A={...this.#o,origin:t};this.#r(A,this)});return}this.#C.onError(e);return}case"ENOTFOUND":this.#w.deleteRecord(this.#m);default:this.#C.onError(e);break}}}e.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")}const t=e?.dualStack??true;let A;if(t){A=e?.affinity??null}else{A=e?.affinity??4}const s={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:A,maxItems:e?.maxItems??Infinity};const n=new DNSInstance(s);return e=>function dnsInterceptor(t,A){const s=t.origin.constructor===URL?t.origin:new URL(t.origin);if(r(s.hostname)!==0){return e(t,A)}n.runLookup(s,t,(r,o)=>{if(r){return A.onError(r)}let i=null;i={...t,servername:s.hostname,origin:o,headers:{host:s.hostname,...t.headers}};e(i,n.getHandler({origin:s,dispatch:e,handler:A},t))});return true}}},7407:(e,t,A)=>{const r=A(8529);const{InvalidArgumentError:s,RequestAbortedError:n}=A(9934);const o=A(4606);class DumpHandler extends o{#y=1024*1024;#D=null;#R=false;#k=false;#S=0;#b=null;#C=null;constructor({maxSize:e},t){super(t);if(e!=null&&(!Number.isFinite(e)||e<1)){throw new s("maxSize must be a number greater than 0")}this.#y=e??this.#y;this.#C=t}onConnect(e){this.#D=e;this.#C.onConnect(this.#F.bind(this))}#F(e){this.#k=true;this.#b=e}onHeaders(e,t,A,s){const o=r.parseHeaders(t);const i=o["content-length"];if(i!=null&&i>this.#y){throw new n(`Response size (${i}) larger than maxSize (${this.#y})`)}if(this.#k){return true}return this.#C.onHeaders(e,t,A,s)}onError(e){if(this.#R){return}e=this.#b??e;this.#C.onError(e)}onData(e){this.#S=this.#S+e.length;if(this.#S>=this.#y){this.#R=true;if(this.#k){this.#C.onError(this.#b)}else{this.#C.onComplete([])}}return true}onComplete(e){if(this.#R){return}if(this.#k){this.#C.onError(this.reason);return}this.#C.onComplete(e)}}function createDumpInterceptor({maxSize:e}={maxSize:1024*1024}){return t=>function Intercept(A,r){const{dumpMaxSize:s=e}=A;const n=new DumpHandler({maxSize:s},r);return t(A,n)}}e.exports=createDumpInterceptor},7327:(e,t,A)=>{const r=A(3669);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(A,s){const{maxRedirections:n=e}=A;if(!n){return t(A,s)}const o=new r(t,n,A,s);A={...A,maxRedirections:0};return t(A,o)}}e.exports=createRedirectInterceptor},910:(e,t,A)=>{const r=A(3669);e.exports=e=>{const t=e?.maxRedirections;return e=>function redirectInterceptor(A,s){const{maxRedirections:n=t,...o}=A;if(!n){return e(A,s)}const i=new r(e,n,A,s);return e(o,i)}}},2503:(e,t,A)=>{const r=A(7877);e.exports=e=>t=>function retryInterceptor(A,s){return t(A,new r({...A,retryOptions:{...e,...A.retryOptions}},{handler:s,dispatch:t}))}},2811:(e,t,A)=>{Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const r=A(6683);var s;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(s=t.ERROR||(t.ERROR={}));var n;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(n=t.TYPE||(t.TYPE={}));var o;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(o=t.FLAGS||(t.FLAGS={}));var i;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(i=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var a;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(a=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[a.DELETE,a.GET,a.HEAD,a.POST,a.PUT,a.CONNECT,a.OPTIONS,a.TRACE,a.COPY,a.LOCK,a.MKCOL,a.MOVE,a.PROPFIND,a.PROPPATCH,a.SEARCH,a.UNLOCK,a.BIND,a.REBIND,a.UNBIND,a.ACL,a.REPORT,a.MKACTIVITY,a.CHECKOUT,a.MERGE,a["M-SEARCH"],a.NOTIFY,a.SUBSCRIBE,a.UNSUBSCRIBE,a.PATCH,a.PURGE,a.MKCALENDAR,a.LINK,a.UNLINK,a.PRI,a.SOURCE];t.METHODS_ICE=[a.SOURCE];t.METHODS_RTSP=[a.OPTIONS,a.DESCRIBE,a.ANNOUNCE,a.SETUP,a.PLAY,a.PAUSE,a.TEARDOWN,a.GET_PARAMETER,a.SET_PARAMETER,a.REDIRECT,a.RECORD,a.FLUSH,a.GET,a.POST];t.METHOD_MAP=r.enumToMap(a);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach(e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}});var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.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};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter(e=>e!==44);t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},5381:(e,t,A)=>{const{Buffer:r}=A(4573);e.exports=r.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")},4823:(e,t,A)=>{const{Buffer:r}=A(4573);e.exports=r.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")},6683:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach(A=>{const r=e[A];if(typeof r==="number"){t[A]=r}});return t}t.enumToMap=enumToMap},8444:(e,t,A)=>{const{kClients:r}=A(5424);const s=A(4586);const{kAgent:n,kMockAgentSet:o,kMockAgentGet:i,kDispatches:a,kIsMockActive:c,kNetConnect:l,kGetNetConnect:g,kOptions:E,kFactory:h}=A(2104);const u=A(8570);const Q=A(3927);const{matchValue:C,buildMockOptions:B}=A(7532);const{InvalidArgumentError:I,UndiciError:d}=A(9934);const f=A(5030);const p=A(2492);const w=A(4955);class MockAgent extends f{constructor(e){super(e);this[l]=true;this[c]=true;if(e?.agent&&typeof e.agent.dispatch!=="function"){throw new I("Argument opts.agent must implement Agent")}const t=e?.agent?e.agent:new s(e);this[n]=t;this[r]=t[r];this[E]=B(e)}get(e){let t=this[i](e);if(!t){t=this[h](e);this[o](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[n].dispatch(e,t)}async close(){await this[n].close();this[r].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new I("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[o](e,t){this[r].set(e,t)}[h](e){const t=Object.assign({agent:this},this[E]);return this[E]&&this[E].connections===1?new u(e,t):new Q(e,t)}[i](e){const t=this[r].get(e);if(t){return t}if(typeof e!=="string"){const t=this[h]("http://localhost:9999");this[o](e,t);return t}for(const[t,A]of Array.from(this[r])){if(A&&typeof t!=="string"&&C(t,e)){const t=this[h](e);this[o](e,t);t[a]=A[a];return t}}}[g](){return this[l]}pendingInterceptors(){const e=this[r];return Array.from(e.entries()).flatMap(([e,t])=>t[a].map(t=>({...t,origin:e}))).filter(({pending:e})=>e)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new w}={}){const t=this.pendingInterceptors();if(t.length===0){return}const A=new p("interceptor","interceptors").pluralize(t.length);throw new d(`\n${A.count} ${A.noun} ${A.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},8570:(e,t,A)=>{const{promisify:r}=A(7975);const s=A(7140);const{buildMockDispatch:n}=A(7532);const{kDispatches:o,kMockAgent:i,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:E}=A(2104);const{MockInterceptor:h}=A(9478);const u=A(5424);const{InvalidArgumentError:Q}=A(9934);class MockClient extends s{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new Q("Argument opts.agent must implement Agent")}this[i]=t.agent;this[l]=e;this[o]=[];this[E]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=n.call(this);this.close=this[a]}get[u.kConnected](){return this[E]}intercept(e){return new h(e,this[o])}async[a](){await r(this[c])();this[E]=0;this[i][u.kClients].delete(this[l])}}e.exports=MockClient},9654:(e,t,A)=>{const{UndiciError:r}=A(9934);const s=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class MockNotMatchedError extends r{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);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[s]===true}[s]=true}e.exports={MockNotMatchedError:MockNotMatchedError}},9478:(e,t,A)=>{const{getResponseData:r,buildKey:s,addMockDispatch:n}=A(7532);const{kDispatches:o,kDispatchKey:i,kDefaultHeaders:a,kDefaultTrailers:c,kContentLength:l,kMockDispatch:g}=A(2104);const{InvalidArgumentError:E}=A(9934);const{buildURL:h}=A(8529);class MockScope{constructor(e){this[g]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new E("waitInMs must be a valid integer > 0")}this[g].delay=e;return this}persist(){this[g].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new E("repeatTimes must be a valid integer > 0")}this[g].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new E("opts must be an object")}if(typeof e.path==="undefined"){throw new E("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=h(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[i]=s(e);this[o]=t;this[a]={};this[c]={};this[l]=false}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:A}){const s=r(t);const n=this[l]?{"content-length":s.length}:{};const o={...this[a],...n,...A.headers};const i={...this[c],...A.trailers};return{statusCode:e,data:t,headers:o,trailers:i}}validateReplyParameters(e){if(typeof e.statusCode==="undefined"){throw new E("statusCode must be defined")}if(typeof e.responseOptions!=="object"||e.responseOptions===null){throw new E("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const A=e(t);if(typeof A!=="object"||A===null){throw new E("reply options callback must return an object")}const r={data:"",responseOptions:{},...A};this.validateReplyParameters(r);return{...this.createMockScopeDispatchData(r)}};const t=n(this[o],this[i],wrappedDefaultsCallback);return new MockScope(t)}const t={statusCode:e,data:arguments[1]===undefined?"":arguments[1],responseOptions:arguments[2]===undefined?{}:arguments[2]};this.validateReplyParameters(t);const A=this.createMockScopeDispatchData(t);const r=n(this[o],this[i],A);return new MockScope(r)}replyWithError(e){if(typeof e==="undefined"){throw new E("error must be defined")}const t=n(this[o],this[i],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new E("headers must be defined")}this[a]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new E("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},3927:(e,t,A)=>{const{promisify:r}=A(7975);const s=A(2921);const{buildMockDispatch:n}=A(7532);const{kDispatches:o,kMockAgent:i,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:E}=A(2104);const{MockInterceptor:h}=A(9478);const u=A(5424);const{InvalidArgumentError:Q}=A(9934);class MockPool extends s{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new Q("Argument opts.agent must implement Agent")}this[i]=t.agent;this[l]=e;this[o]=[];this[E]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=n.call(this);this.close=this[a]}get[u.kConnected](){return this[E]}intercept(e){return new h(e,this[o])}async[a](){await r(this[c])();this[E]=0;this[i][u.kClients].delete(this[l])}}e.exports=MockPool},2104:e=>{e.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"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},7532:(e,t,A)=>{const{MockNotMatchedError:r}=A(9654);const{kDispatches:s,kMockAgent:n,kOriginalDispatch:o,kOrigin:i,kGetNetConnect:a}=A(2104);const{buildURL:c}=A(8529);const{STATUS_CODES:l}=A(7067);const{types:{isPromise:g}}=A(7975);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let A=0;A!e).filter(({path:e})=>matchValue(safeUrl(e),s));if(n.length===0){throw new r(`Mock dispatch not matched for path '${s}'`)}n=n.filter(({method:e})=>matchValue(e,t.method));if(n.length===0){throw new r(`Mock dispatch not matched for method '${t.method}' on path '${s}'`)}n=n.filter(({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true);if(n.length===0){throw new r(`Mock dispatch not matched for body '${t.body}' on path '${s}'`)}n=n.filter(e=>matchHeaders(e,t.headers));if(n.length===0){const e=typeof t.headers==="object"?JSON.stringify(t.headers):t.headers;throw new r(`Mock dispatch not matched for headers '${e}' on path '${s}'`)}return n[0]}function addMockDispatch(e,t,A){const r={timesInvoked:0,times:1,persist:false,consumed:false};const s=typeof A==="function"?{callback:A}:{...A};const n={...r,...t,pending:true,data:{error:null,...s}};e.push(n);return n}function deleteMockDispatch(e,t){const A=e.findIndex(e=>{if(!e.consumed){return false}return matchKey(e,t)});if(A!==-1){e.splice(A,1)}}function buildKey(e){const{path:t,method:A,body:r,headers:s,query:n}=e;return{path:t,method:A,body:r,headers:s,query:n}}function generateKeyValues(e){const t=Object.keys(e);const A=[];for(let r=0;r=u;r.pending=h0){setTimeout(()=>{handleReply(this[s])},l)}else{handleReply(this[s])}function handleReply(r,s=o){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const l=typeof s==="function"?s({...e,headers:c}):s;if(g(l)){l.then(e=>handleReply(r,e));return}const E=getResponseData(l);const h=generateKeyValues(i);const u=generateKeyValues(a);t.onConnect?.(e=>t.onError(e),null);t.onHeaders?.(n,h,resume,getStatusText(n));t.onData?.(Buffer.from(E));t.onComplete?.(u);deleteMockDispatch(r,A)}function resume(){}return true}function buildMockDispatch(){const e=this[n];const t=this[i];const A=this[o];return function dispatch(s,n){if(e.isMockActive){try{mockDispatch.call(this,s,n)}catch(o){if(o instanceof r){const i=e[a]();if(i===false){throw new r(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(i,t)){A.call(this,s,n)}else{throw new r(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw o}}}else{A.call(this,s,n)}}}function checkNetConnect(e,t){const A=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some(e=>matchValue(e,A.host))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...A}=e;return A}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName,buildHeadersFromArray:buildHeadersFromArray}},4955:(e,t,A)=>{const{Transform:r}=A(7075);const{Console:s}=A(7540);const n=process.versions.icu?"✅":"Y ";const o=process.versions.icu?"❌":"N ";e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new r({transform(e,t,A){A(null,e)}});this.logger=new s({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map(({method:e,path:t,data:{statusCode:A},persist:r,times:s,timesInvoked:i,origin:a})=>({Method:e,Origin:a,Path:t,"Status code":A,Persistent:r?n:o,Invocations:i,Remaining:r?Infinity:s-i}));this.logger.table(t);return this.transform.read().toString()}}},2492:e=>{const t={pronoun:"it",is:"is",was:"was",this:"this"};const A={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const r=e===1;const s=r?t:A;const n=r?this.singular:this.plural;return{...s,count:e,noun:n}}}},4486:e=>{let t=0;const A=1e3;const r=(A>>1)-1;let s;const n=Symbol("kFastTimer");const o=[];const i=-2;const a=-1;const c=0;const l=1;function onTick(){t+=r;let e=0;let A=o.length;while(e=s._idleStart+s._idleTimeout){s._state=a;s._idleStart=-1;s._onTimeout(s._timerArg)}if(s._state===a){s._state=i;if(--A!==0){o[e]=o[A]}}else{++e}}o.length=A;if(o.length!==0){refreshTimeout()}}function refreshTimeout(){if(s){s.refresh()}else{clearTimeout(s);s=setTimeout(onTick,r);if(s.unref){s.unref()}}}class FastTimer{[n]=true;_state=i;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,A){this._onTimeout=e;this._idleTimeout=t;this._timerArg=A;this.refresh()}refresh(){if(this._state===i){o.push(this)}if(!s||o.length===1){refreshTimeout()}this._state=c}clear(){this._state=a;this._idleStart=-1}}e.exports={setTimeout(e,t,r){return t<=A?setTimeout(e,t,r):new FastTimer(e,t,r)},clearTimeout(e){if(e[n]){e.clear()}else{clearTimeout(e)}},setFastTimeout(e,t,A){return new FastTimer(e,t,A)},clearFastTimeout(e){e.clear()},now(){return t},tick(e=0){t+=e-A+1;onTick();onTick()},reset(){t=0;o.length=0;clearTimeout(s);s=null},kFastTimer:n}},9419:(e,t,A)=>{const{kConstruct:r}=A(8404);const{urlEquals:s,getFieldValues:n}=A(6893);const{kEnumerableProperty:o,isDisturbed:i}=A(8529);const{webidl:a}=A(5162);const{Response:c,cloneResponse:l,fromInnerResponse:g}=A(1328);const{Request:E,fromInnerRequest:h}=A(6398);const{kState:u}=A(6602);const{fetching:Q}=A(8263);const{urlIsHttpHttpsScheme:C,createDeferredPromise:B,readAllBytes:I}=A(3095);const d=A(4589);class Cache{#N;constructor(){if(arguments[0]!==r){a.illegalConstructor()}a.util.markAsUncloneable(this);this.#N=arguments[1]}async match(e,t={}){a.brandCheck(this,Cache);const A="Cache.match";a.argumentLengthCheck(arguments,1,A);e=a.converters.RequestInfo(e,A,"request");t=a.converters.CacheQueryOptions(t,A,"options");const r=this.#M(e,t,1);if(r.length===0){return}return r[0]}async matchAll(e=undefined,t={}){a.brandCheck(this,Cache);const A="Cache.matchAll";if(e!==undefined)e=a.converters.RequestInfo(e,A,"request");t=a.converters.CacheQueryOptions(t,A,"options");return this.#M(e,t)}async add(e){a.brandCheck(this,Cache);const t="Cache.add";a.argumentLengthCheck(arguments,1,t);e=a.converters.RequestInfo(e,t,"request");const A=[e];const r=this.addAll(A);return await r}async addAll(e){a.brandCheck(this,Cache);const t="Cache.addAll";a.argumentLengthCheck(arguments,1,t);const A=[];const r=[];for(let A of e){if(A===undefined){throw a.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]})}A=a.converters.RequestInfo(A);if(typeof A==="string"){continue}const e=A[u];if(!C(e.url)||e.method!=="GET"){throw a.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}}const s=[];for(const o of e){const e=new E(o)[u];if(!C(e.url)){throw a.errors.exception({header:t,message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";r.push(e);const i=B();s.push(Q({request:e,processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(a.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=n(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(a.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of s){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));A.push(i.promise)}const o=Promise.all(A);const i=await o;const c=[];let l=0;for(const e of i){const t={type:"put",request:r[l],response:e};c.push(t);l++}const g=B();let h=null;try{this.#U(c)}catch(e){h=e}queueMicrotask(()=>{if(h===null){g.resolve(undefined)}else{g.reject(h)}});return g.promise}async put(e,t){a.brandCheck(this,Cache);const A="Cache.put";a.argumentLengthCheck(arguments,2,A);e=a.converters.RequestInfo(e,A,"request");t=a.converters.Response(t,A,"response");let r=null;if(e instanceof E){r=e[u]}else{r=new E(e)[u]}if(!C(r.url)||r.method!=="GET"){throw a.errors.exception({header:A,message:"Expected an http/s scheme when method is not GET"})}const s=t[u];if(s.status===206){throw a.errors.exception({header:A,message:"Got 206 status"})}if(s.headersList.contains("vary")){const e=n(s.headersList.get("vary"));for(const t of e){if(t==="*"){throw a.errors.exception({header:A,message:"Got * vary field value"})}}}if(s.body&&(i(s.body.stream)||s.body.stream.locked)){throw a.errors.exception({header:A,message:"Response body is locked or disturbed"})}const o=l(s);const c=B();if(s.body!=null){const e=s.body.stream;const t=e.getReader();I(t).then(c.resolve,c.reject)}else{c.resolve(undefined)}const g=[];const h={type:"put",request:r,response:o};g.push(h);const Q=await c.promise;if(o.body!=null){o.body.source=Q}const d=B();let f=null;try{this.#U(g)}catch(e){f=e}queueMicrotask(()=>{if(f===null){d.resolve()}else{d.reject(f)}});return d.promise}async delete(e,t={}){a.brandCheck(this,Cache);const A="Cache.delete";a.argumentLengthCheck(arguments,1,A);e=a.converters.RequestInfo(e,A,"request");t=a.converters.CacheQueryOptions(t,A,"options");let r=null;if(e instanceof E){r=e[u];if(r.method!=="GET"&&!t.ignoreMethod){return false}}else{d(typeof e==="string");r=new E(e)[u]}const s=[];const n={type:"delete",request:r,options:t};s.push(n);const o=B();let i=null;let c;try{c=this.#U(s)}catch(e){i=e}queueMicrotask(()=>{if(i===null){o.resolve(!!c?.length)}else{o.reject(i)}});return o.promise}async keys(e=undefined,t={}){a.brandCheck(this,Cache);const A="Cache.keys";if(e!==undefined)e=a.converters.RequestInfo(e,A,"request");t=a.converters.CacheQueryOptions(t,A,"options");let r=null;if(e!==undefined){if(e instanceof E){r=e[u];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new E(e)[u]}}const s=B();const n=[];if(e===undefined){for(const e of this.#N){n.push(e[0])}}else{const e=this.#L(r,t);for(const t of e){n.push(t[0])}}queueMicrotask(()=>{const e=[];for(const t of n){const A=h(t,(new AbortController).signal,"immutable");e.push(A)}s.resolve(Object.freeze(e))});return s.promise}#U(e){const t=this.#N;const A=[...t];const r=[];const s=[];try{for(const A of e){if(A.type!=="delete"&&A.type!=="put"){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(A.type==="delete"&&A.response!=null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#L(A.request,A.options,r).length){throw new DOMException("???","InvalidStateError")}let e;if(A.type==="delete"){e=this.#L(A.request,A.options);if(e.length===0){return[]}for(const A of e){const e=t.indexOf(A);d(e!==-1);t.splice(e,1)}}else if(A.type==="put"){if(A.response==null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const s=A.request;if(!C(s.url)){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(s.method!=="GET"){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(A.options!=null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#L(A.request);for(const A of e){const e=t.indexOf(A);d(e!==-1);t.splice(e,1)}t.push([A.request,A.response]);r.push([A.request,A.response])}s.push([A.request,A.response])}return s}catch(e){this.#N.length=0;this.#N=A;throw e}}#L(e,t,A){const r=[];const s=A??this.#N;for(const A of s){const[s,n]=A;if(this.#T(e,s,n,t)){r.push(A)}}return r}#T(e,t,A=null,r){const o=new URL(e.url);const i=new URL(t.url);if(r?.ignoreSearch){i.search="";o.search=""}if(!s(o,i,true)){return false}if(A==null||r?.ignoreVary||!A.headersList.contains("vary")){return true}const a=n(A.headersList.get("vary"));for(const A of a){if(A==="*"){return false}const r=t.headersList.get(A);const s=e.headersList.get(A);if(r!==s){return false}}return true}#M(e,t,A=Infinity){let r=null;if(e!==undefined){if(e instanceof E){r=e[u];if(r.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){r=new E(e)[u]}}const s=[];if(e===undefined){for(const e of this.#N){s.push(e[1])}}else{const e=this.#L(r,t);for(const t of e){s.push(t[1])}}const n=[];for(const e of s){const t=g(e,"immutable");n.push(t.clone());if(n.length>=A){break}}return Object.freeze(n)}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:o,matchAll:o,add:o,addAll:o,put:o,delete:o,keys:o});const f=[{key:"ignoreSearch",converter:a.converters.boolean,defaultValue:()=>false},{key:"ignoreMethod",converter:a.converters.boolean,defaultValue:()=>false},{key:"ignoreVary",converter:a.converters.boolean,defaultValue:()=>false}];a.converters.CacheQueryOptions=a.dictionaryConverter(f);a.converters.MultiCacheQueryOptions=a.dictionaryConverter([...f,{key:"cacheName",converter:a.converters.DOMString}]);a.converters.Response=a.interfaceConverter(c);a.converters["sequence"]=a.sequenceConverter(a.converters.RequestInfo);e.exports={Cache:Cache}},2118:(e,t,A)=>{const{kConstruct:r}=A(8404);const{Cache:s}=A(9419);const{webidl:n}=A(5162);const{kEnumerableProperty:o}=A(8529);class CacheStorage{#v=new Map;constructor(){if(arguments[0]!==r){n.illegalConstructor()}n.util.markAsUncloneable(this)}async match(e,t={}){n.brandCheck(this,CacheStorage);n.argumentLengthCheck(arguments,1,"CacheStorage.match");e=n.converters.RequestInfo(e);t=n.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#v.has(t.cacheName)){const A=this.#v.get(t.cacheName);const n=new s(r,A);return await n.match(e,t)}}else{for(const A of this.#v.values()){const n=new s(r,A);const o=await n.match(e,t);if(o!==undefined){return o}}}}async has(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.has";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");return this.#v.has(e)}async open(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.open";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");if(this.#v.has(e)){const t=this.#v.get(e);return new s(r,t)}const A=[];this.#v.set(e,A);return new s(r,A)}async delete(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.delete";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");return this.#v.delete(e)}async keys(){n.brandCheck(this,CacheStorage);const e=this.#v.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:o,has:o,open:o,delete:o,keys:o});e.exports={CacheStorage:CacheStorage}},8404:(e,t,A)=>{e.exports={kConstruct:A(5424).kConstruct}},6893:(e,t,A)=>{const r=A(4589);const{URLSerializer:s}=A(5192);const{isValidHeaderName:n}=A(3095);function urlEquals(e,t,A=false){const r=s(e,A);const n=s(t,A);return r===n}function getFieldValues(e){r(e!==null);const t=[];for(let A of e.split(",")){A=A.trim();if(n(A)){t.push(A)}}return t}e.exports={urlEquals:urlEquals,getFieldValues:getFieldValues}},9265:e=>{const t=1024;const A=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:A}},6748:(e,t,A)=>{const{parseSetCookie:r}=A(2351);const{stringify:s}=A(190);const{webidl:n}=A(5162);const{Headers:o}=A(3257);function getCookies(e){n.argumentLengthCheck(arguments,1,"getCookies");n.brandCheck(e,o,{strict:false});const t=e.get("cookie");const A={};if(!t){return A}for(const e of t.split(";")){const[t,...r]=e.split("=");A[t.trim()]=r.join("=")}return A}function deleteCookie(e,t,A){n.brandCheck(e,o,{strict:false});const r="deleteCookie";n.argumentLengthCheck(arguments,2,r);t=n.converters.DOMString(t,r,"name");A=n.converters.DeleteCookieAttributes(A);setCookie(e,{name:t,value:"",expires:new Date(0),...A})}function getSetCookies(e){n.argumentLengthCheck(arguments,1,"getSetCookies");n.brandCheck(e,o,{strict:false});const t=e.getSetCookie();if(!t){return[]}return t.map(e=>r(e))}function setCookie(e,t){n.argumentLengthCheck(arguments,2,"setCookie");n.brandCheck(e,o,{strict:false});t=n.converters.Cookie(t);const A=s(t);if(A){e.append("Set-Cookie",A)}}n.converters.DeleteCookieAttributes=n.dictionaryConverter([{converter:n.nullableConverter(n.converters.DOMString),key:"path",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"domain",defaultValue:()=>null}]);n.converters.Cookie=n.dictionaryConverter([{converter:n.converters.DOMString,key:"name"},{converter:n.converters.DOMString,key:"value"},{converter:n.nullableConverter(e=>{if(typeof e==="number"){return n.converters["unsigned long long"](e)}return new Date(e)}),key:"expires",defaultValue:()=>null},{converter:n.nullableConverter(n.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"path",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.boolean),key:"secure",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:n.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:n.sequenceConverter(n.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},2351:(e,t,A)=>{const{maxNameValuePairSize:r,maxAttributeValueSize:s}=A(9265);const{isCTLExcludingHtab:n}=A(190);const{collectASequenceOfCodePointsFast:o}=A(5192);const i=A(4589);function parseSetCookie(e){if(n(e)){return null}let t="";let A="";let s="";let i="";if(e.includes(";")){const r={position:0};t=o(";",e,r);A=e.slice(r.position)}else{t=e}if(!t.includes("=")){i=t}else{const e={position:0};s=o("=",t,e);i=t.slice(e.position+1)}s=s.trim();i=i.trim();if(s.length+i.length>r){return null}return{name:s,value:i,...parseUnparsedAttributes(A)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}i(e[0]===";");e=e.slice(1);let A="";if(e.includes(";")){A=o(";",e,{position:0});e=e.slice(A.length)}else{A=e;e=""}let r="";let n="";if(A.includes("=")){const e={position:0};r=o("=",A,e);n=A.slice(e.position+1)}else{r=A}r=r.trim();n=n.trim();if(n.length>s){return parseUnparsedAttributes(e,t)}const a=r.toLowerCase();if(a==="expires"){const e=new Date(n);t.expires=e}else if(a==="max-age"){const A=n.charCodeAt(0);if((A<48||A>57)&&n[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(n)){return parseUnparsedAttributes(e,t)}const r=Number(n);t.maxAge=r}else if(a==="domain"){let e=n;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(a==="path"){let e="";if(n.length===0||n[0]!=="/"){e="/"}else{e=n}t.path=e}else if(a==="secure"){t.secure=true}else if(a==="httponly"){t.httpOnly=true}else if(a==="samesite"){const e=n.toLowerCase();if(e==="none"){t.sameSite="None"}else if(e==="strict"){t.sameSite="Strict"}else if(e==="lax"){t.sameSite="Lax"}}else{t.unparsed??=[];t.unparsed.push(`${r}=${n}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},190:e=>{function isCTLExcludingHtab(e){for(let t=0;t=0&&A<=8||A>=10&&A<=31||A===127){return true}}return false}function validateCookieName(e){for(let t=0;t126||A===34||A===40||A===41||A===60||A===62||A===64||A===44||A===59||A===58||A===92||A===47||A===91||A===93||A===63||A===61||A===123||A===125){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){let t=e.length;let A=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"'){throw new Error("Invalid cookie value")}--t;++A}while(A126||t===34||t===44||t===59||t===92){throw new Error("Invalid cookie value")}}}function validateCookiePath(e){for(let t=0;t126||A===59){throw new Error("Invalid cookie path")}}}function isLetterOrDigit(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function validateCookieDomain(e){if(e===" "){return}if(e.length>255){throw new Error("Invalid cookie domain")}let t=0;for(let A=0;A63){throw new Error("Invalid cookie domain")}}if(t===0||e.charCodeAt(e.length-1)===45){throw new Error("Invalid cookie domain")}}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const r=Array(61).fill(0).map((e,t)=>t.toString().padStart(2,"0"));function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}return`${t[e.getUTCDay()]}, ${r[e.getUTCDate()]} ${A[e.getUTCMonth()]} ${e.getUTCFullYear()} ${r[e.getUTCHours()]}:${r[e.getUTCMinutes()]}:${r[e.getUTCSeconds()]} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const A of e.unparsed){if(!A.includes("=")){throw new Error("Invalid unparsed")}const[e,...r]=A.split("=");const s=e.trim();const n=r.join("=");validateCookieName(s);validateCookieValue(n);t.push(`${s}=${n}`)}return t.join("; ")}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},2900:(e,t,A)=>{const r=A(4573);const{Transform:s}=A(7075);const{isASCIINumber:n,isValidLastEventId:o}=A(1048);const i=[239,187,191];const a=10;const c=13;const l=58;const g=32;const E=r.kStringMaxLength;const h=Buffer.from("data");const u=Buffer.from("event");const Q=Buffer.from("id");const C=Buffer.from("retry");const B=1024;const I=131072;const d=128;function isASCIINumberBytes(e,t){if(t>=e.length){return false}for(let A=t;A57){return false}}return true}function isValidLastEventIdBytes(e,t){for(let A=t;A0?Math.min(I,Math.max(B,Math.floor(this.maxEventSize/d))):0;this.maxDataLines=t;this.maxBufferedChunks=t;if(e.push){this.push=e.push}}_transform(e,t,A){if(e.length===0){A();return}if(this.maxEventSize>0&&this.chunks.length>=this.maxBufferedChunks&&e[0]!==a&&e[0]!==c){A(createMaxEventSizeExceededError());return}this.chunks.push(e);if(this.checkBOM){if(this.handleBOM()){A();return}}while(this.hasCurrentByte()){const e=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(e===a){this.crlfCheck=false;this.consumeCurrentByte();continue}this.crlfCheck=false}if(e===a||e===c){if(e===c){this.crlfCheck=true}this.consumeCurrentByte();if(this.hasPendingEvent()){this.processEvent(this.event)}this.clearEvent();continue}this.eventEndCheck=false;continue}if(e===a||e===c){if(e===c){this.crlfCheck=true}try{this.parseLine(this.readLine(),this.event)}catch(e){A(e);return}this.consumeCurrentByte();this.eventEndCheck=true;continue}if(this.maxEventSize>0&&++this.lineLength>this.maxEventSize+7){A(createMaxEventSizeExceededError());return}this.advanceCursor()}A()}_destroy(e,t){this.chunks.length=0;this.clearEvent();super._destroy(e,t)}parseLine(e,t){if(e.length===0){return}const A=e.indexOf(l);if(A===0){return}let r=e.length;let s=e.length;if(A!==-1){r=A;s=A+1;if(e[s]===g){++s}}if(isFieldName(e,r,h)){if(this.maxEventSize>0&&this.dataLineCount>=this.maxDataLines){throw createMaxEventSizeExceededError()}const A=e.length-s;const r=this.eventFieldSizes.data+(t.data===undefined?0:1)+A;this.setEventFieldSize("data",r);const n=e.toString("utf8",s);if(t.data===undefined){t.data=n}else{t.data+=`\n${n}`}this.dataLineCount++;return}if(isFieldName(e,r,C)){if(isASCIINumberBytes(e,s)){this.setEventFieldSize("retry",e.length-s);t.retry=e.toString("utf8",s)}return}if(isFieldName(e,r,Q)){if(isValidLastEventIdBytes(e,s)){this.setEventFieldSize("id",e.length-s);t.id=e.toString("utf8",s)}return}if(isFieldName(e,r,u)){if(s0&&A>this.maxEventSize){throw createMaxEventSizeExceededError()}this.eventSize=A;this.eventFieldSizes[e]=t}processEvent(e){if(e.retry&&n(e.retry)){this.state.reconnectionTime=parseInt(e.retry,10)}if(e.id&&o(e.id)){this.state.lastEventId=e.id}if(e.data!==undefined){this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}}clearEvent(){this.event.data=undefined;this.event.event=undefined;this.event.id=undefined;this.event.retry=undefined;this.eventSize=0;this.dataLineCount=0;this.eventFieldSizes.data=0;this.eventFieldSizes.event=0;this.eventFieldSizes.id=0;this.eventFieldSizes.retry=0}hasPendingEvent(){return this.event.data!==undefined||this.event.event!==undefined||this.event.id!==undefined||this.event.retry!==undefined}hasCurrentByte(){return this.chunkIndex=this.chunks[this.chunkIndex].length){this.chunkIndex++;this.pos=0}}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex;this.linePos=this.pos;this.lineLength=0;this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){const e=this.lineChunkIndex;this.chunks.splice(0,e);this.lineChunkIndex=0;this.chunkIndex-=e}if(this.chunkIndex===this.chunks.length){this.chunks.length=0;this.chunkIndex=0;this.pos=0;this.lineChunkIndex=0;this.linePos=0}}readLine(){if(this.lineChunkIndex===this.chunkIndex){return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos)}const e=[];let t=0;for(let A=this.lineChunkIndex;A<=this.chunkIndex;A++){const r=this.chunks[A];const s=A===this.lineChunkIndex?this.linePos:0;const n=A===this.chunkIndex?this.pos:r.length;const o=r.subarray(s,n);t+=o.length;e.push(o)}return Buffer.concat(e,t)}peekBufferedByte(e){let t=this.lineChunkIndex;let A=this.linePos;while(t0&&this.lineChunkIndex{const{pipeline:r}=A(7075);const{fetching:s}=A(8263);const{makeRequest:n}=A(6398);const{webidl:o}=A(5162);const{EventSourceStream:i}=A(2900);const{parseMIMEType:a}=A(5192);const{createFastMessageEvent:c}=A(659);const{isNetworkError:l}=A(1328);const{delay:g}=A(1048);const{kEnumerableProperty:E}=A(8529);const{environmentSettingsObject:h}=A(3095);const{getGlobalDispatcher:u}=A(4498);let Q=false;const C=3e3;const B=0;const I=1;const d=2;const f="anonymous";const p="use-credentials";class EventSource extends EventTarget{#H={open:null,error:null,message:null};#G=null;#x=false;#Y=B;#J=null;#V=null;#A;#w;constructor(e,t={}){super();o.util.markAsUncloneable(this);const A="EventSource constructor";o.argumentLengthCheck(arguments,1,A);if(!Q){Q=true;process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})}e=o.converters.USVString(e,A,"url");t=o.converters.EventSourceInitDict(t,A,"eventSourceInitDict");this.#A=t.dispatcher;this.#w={lastEventId:"",reconnectionTime:C};const r=h;let s;try{s=new URL(e,r.settingsObject.baseUrl);this.#w.origin=s.origin}catch(e){throw new DOMException(e,"SyntaxError")}this.#G=s.href;let i=f;if(t.withCredentials){i=p;this.#x=true}const a={redirect:"follow",keepalive:true,mode:"cors",credentials:i==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=h.settingsObject;a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]];a.cache="no-store";a.initiator="other";a.urlList=[new URL(this.#G)];this.#J=n(a);this.#O()}get readyState(){return this.#Y}get url(){return this.#G}get withCredentials(){return this.#x}#O(){if(this.#Y===d)return;this.#Y=B;const e={request:this.#J,dispatcher:this.#A};const processEventSourceEndOfBody=e=>{if(l(e)){this.dispatchEvent(new Event("error"));this.close()}this.#P()};e.processResponseEndOfBody=processEventSourceEndOfBody;e.processResponse=e=>{if(l(e)){if(e.aborted){this.close();this.dispatchEvent(new Event("error"));return}else{this.#P();return}}const t=e.headersList.get("content-type",true);const A=t!==null?a(t):"failure";const s=A!=="failure"&&A.essence==="text/event-stream";if(e.status!==200||s===false){this.close();this.dispatchEvent(new Event("error"));return}this.#Y=I;this.dispatchEvent(new Event("open"));this.#w.origin=e.urlList[e.urlList.length-1].origin;const n=new i({eventSourceSettings:this.#w,maxEventSize:this.#A.eventSourceOptions?.maxEventSize,push:e=>{this.dispatchEvent(c(e.type,e.options))}});r(e.body.stream,n,e=>{if(e?.aborted===false){this.close();this.dispatchEvent(new Event("error"))}})};this.#V=s(e)}async#P(){if(this.#Y===d)return;this.#Y=B;this.dispatchEvent(new Event("error"));await g(this.#w.reconnectionTime);if(this.#Y!==B)return;if(this.#w.lastEventId.length){this.#J.headersList.set("last-event-id",this.#w.lastEventId,true)}this.#O()}close(){o.brandCheck(this,EventSource);if(this.#Y===d)return;this.#Y=d;this.#V.abort();this.#J=null}get onopen(){return this.#H.open}set onopen(e){if(this.#H.open){this.removeEventListener("open",this.#H.open)}if(typeof e==="function"){this.#H.open=e;this.addEventListener("open",e)}else{this.#H.open=null}}get onmessage(){return this.#H.message}set onmessage(e){if(this.#H.message){this.removeEventListener("message",this.#H.message)}if(typeof e==="function"){this.#H.message=e;this.addEventListener("message",e)}else{this.#H.message=null}}get onerror(){return this.#H.error}set onerror(e){if(this.#H.error){this.removeEventListener("error",this.#H.error)}if(typeof e==="function"){this.#H.error=e;this.addEventListener("error",e)}else{this.#H.error=null}}}const w={CONNECTING:{__proto__:null,configurable:false,enumerable:true,value:B,writable:false},OPEN:{__proto__:null,configurable:false,enumerable:true,value:I,writable:false},CLOSED:{__proto__:null,configurable:false,enumerable:true,value:d,writable:false}};Object.defineProperties(EventSource,w);Object.defineProperties(EventSource.prototype,w);Object.defineProperties(EventSource.prototype,{close:E,onerror:E,onmessage:E,onopen:E,readyState:E,url:E,withCredentials:E});o.converters.EventSourceInitDict=o.dictionaryConverter([{key:"withCredentials",converter:o.converters.boolean,defaultValue:()=>false},{key:"dispatcher",converter:o.converters.any,defaultValue:()=>u()}]);e.exports={EventSource:EventSource,defaultReconnectionTime:C}},1048:e=>{function isValidLastEventId(e){return e.indexOf("\0")===-1}function isASCIINumber(e){if(e.length===0)return false;for(let t=0;t57)return false}return true}function delay(e){return new Promise(t=>{setTimeout(t,e).unref()})}e.exports={isValidLastEventId:isValidLastEventId,isASCIINumber:isASCIINumber,delay:delay}},6455:(e,t,A)=>{const r=A(8529);const{ReadableStreamFrom:s,isBlobLike:n,isReadableStreamLike:o,readableStreamClose:i,createDeferredPromise:a,fullyReadBody:c,extractMimeType:l,utf8DecodeBytes:g}=A(3095);const{FormData:E}=A(7653);const{kState:h}=A(6602);const{webidl:u}=A(5162);const{Blob:Q}=A(4573);const C=A(4589);const{isErrored:B,isDisturbed:I}=A(7075);const{isArrayBuffer:d}=A(3429);const{serializeAMimeType:f}=A(5192);const{multipartFormDataParser:p}=A(6701);let w;try{const e=A(7598);w=t=>e.randomInt(0,t)}catch{w=e=>Math.floor(Math.random(e))}const m=new TextEncoder;function noop(){}const y=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0;let D;if(y){D=new FinalizationRegistry(e=>{const t=e.deref();if(t&&!t.locked&&!I(t)&&!B(t)){t.cancel("Response object has been garbage collected").catch(noop)}})}function extractBody(e,t=false){let A=null;if(e instanceof ReadableStream){A=e}else if(n(e)){A=e.stream()}else{A=new ReadableStream({async pull(e){const t=typeof c==="string"?m.encode(c):c;if(t.byteLength){e.enqueue(t)}queueMicrotask(()=>i(e))},start(){},type:"bytes"})}C(o(A));let a=null;let c=null;let l=null;let g=null;if(typeof e==="string"){c=e;g="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){c=e.toString();g="application/x-www-form-urlencoded;charset=UTF-8"}else if(d(e)){c=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){c=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(r.isFormDataLike(e)){const t=`----formdata-undici-0${`${w(1e11)}`.padStart(11,"0")}`;const A=`--${t}\r\nContent-Disposition: form-data` -/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const r=[];const s=new Uint8Array([13,10]);l=0;let n=false;for(const[t,o]of e){if(typeof o==="string"){const e=m.encode(A+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(o)}\r\n`);r.push(e);l+=e.byteLength}else{const e=m.encode(`${A}; name="${escape(normalizeLinefeeds(t))}"`+(o.name?`; filename="${escape(o.name)}"`:"")+"\r\n"+`Content-Type: ${o.type||"application/octet-stream"}\r\n\r\n`);r.push(e,o,s);if(typeof o.size==="number"){l+=e.byteLength+o.size+s.byteLength}else{n=true}}}const o=m.encode(`--${t}--\r\n`);r.push(o);l+=o.byteLength;if(n){l=null}c=e;a=async function*(){for(const e of r){if(e.stream){yield*e.stream()}else{yield e}}};g=`multipart/form-data; boundary=${t}`}else if(n(e)){c=e;l=e.size;if(e.type){g=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(r.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}A=e instanceof ReadableStream?e:s(e)}if(typeof c==="string"||r.isBuffer(c)){l=Buffer.byteLength(c)}if(a!=null){let t;A=new ReadableStream({async start(){t=a(e)[Symbol.asyncIterator]()},async pull(e){const{value:r,done:s}=await t.next();if(s){queueMicrotask(()=>{e.close();e.byobRequest?.respond(0)})}else{if(!B(A)){const t=new Uint8Array(r);if(t.byteLength){e.enqueue(t)}}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}const E={stream:A,source:c,length:l};return[E,g]}function safelyExtractBody(e,t=false){if(e instanceof ReadableStream){C(!r.isDisturbed(e),"The body has already been consumed.");C(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e,t){const[A,r]=t.stream.tee();t.stream=A;return{stream:r,length:t.length,source:t.source}}function throwIfAborted(e){if(e.aborted){throw new DOMException("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return consumeBody(this,e=>{let t=bodyMimeType(this);if(t===null){t=""}else if(t){t=f(t)}return new Q([e],{type:t})},e)},arrayBuffer(){return consumeBody(this,e=>new Uint8Array(e).buffer,e)},text(){return consumeBody(this,g,e)},json(){return consumeBody(this,parseJSONFromBytes,e)},formData(){return consumeBody(this,e=>{const t=bodyMimeType(this);if(t!==null){switch(t.essence){case"multipart/form-data":{const A=p(e,t);if(A==="failure"){throw new TypeError("Failed to parse body as FormData.")}const r=new E;r[h]=A;return r}case"application/x-www-form-urlencoded":{const t=new URLSearchParams(e.toString());const A=new E;for(const[e,r]of t){A.append(e,r)}return A}}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return consumeBody(this,e=>new Uint8Array(e),e)}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function consumeBody(e,t,A){u.brandCheck(e,A);if(bodyUnusable(e)){throw new TypeError("Body is unusable: Body has already been read")}throwIfAborted(e[h]);const r=a();const errorSteps=e=>r.reject(e);const successSteps=e=>{try{r.resolve(t(e))}catch(e){errorSteps(e)}};if(e[h].body==null){successSteps(Buffer.allocUnsafe(0));return r.promise}await c(e[h].body,successSteps,errorSteps);return r.promise}function bodyUnusable(e){const t=e[h].body;return t!=null&&(t.stream.locked||r.isDisturbed(t.stream))}function parseJSONFromBytes(e){return JSON.parse(g(e))}function bodyMimeType(e){const t=e[h].headersList;const A=l(t);if(A==="failure"){return null}return A}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody,streamRegistry:D,hasFinalizationRegistry:y,bodyUnusable:bodyUnusable}},5706:e=>{const t=["GET","HEAD","POST"];const A=new Set(t);const r=[101,204,205,304];const s=[301,302,303,307,308];const n=new Set(s);const o=["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"];const i=new Set(o);const a=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const c=new Set(a);const l=["follow","manual","error"];const g=["GET","HEAD","OPTIONS","TRACE"];const E=new Set(g);const h=["navigate","same-origin","no-cors","cors"];const u=["omit","same-origin","include"];const Q=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const C=["content-encoding","content-language","content-location","content-type","content-length"];const B=["half"];const I=["CONNECT","TRACE","TRACK"];const d=new Set(I);const f=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const p=new Set(f);e.exports={subresource:f,forbiddenMethods:I,requestBodyHeader:C,referrerPolicy:a,requestRedirect:l,requestMode:h,requestCredentials:u,requestCache:Q,redirectStatus:s,corsSafeListedMethods:t,nullBodyStatus:r,safeMethods:g,badPorts:o,requestDuplex:B,subresourceSet:p,badPortsSet:i,redirectStatusSet:n,corsSafeListedMethodsSet:A,safeMethodsSet:E,forbiddenMethodsSet:d,referrerPolicySet:c}},5192:(e,t,A)=>{const r=A(4589);const s=new TextEncoder;const n=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;const o=/[\u000A\u000D\u0009\u0020]/;const i=/[\u0009\u000A\u000C\u000D\u0020]/g;const a=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function dataURLProcessor(e){r(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const A={position:0};let s=collectASequenceOfCodePointsFast(",",t,A);const n=s.length;s=removeASCIIWhitespace(s,true,true);if(A.position>=t.length){return"failure"}A.position++;const o=t.slice(n+1);let i=stringPercentDecode(o);if(/;(\u0020){0,}base64$/i.test(s)){const e=isomorphicDecode(i);i=forgivingBase64(e);if(i==="failure"){return"failure"}s=s.slice(0,-6);s=s.replace(/(\u0020)+$/,"");s=s.slice(0,-1)}if(s.startsWith(";")){s="text/plain"+s}let a=parseMIMEType(s);if(a==="failure"){a=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:a,body:i}}function URLSerializer(e,t=false){if(!t){return e.href}const A=e.href;const r=e.hash.length;const s=r===0?A:A.substring(0,A.length-r);if(!r&&A.endsWith("#")){return s.slice(0,-1)}return s}function collectASequenceOfCodePoints(e,t,A){let r="";while(A.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexByteToNumber(e){return e>=48&&e<=57?e-48:(e&223)-55}function percentDecode(e){const t=e.length;const A=new Uint8Array(t);let r=0;for(let s=0;se.length){return"failure"}t.position++;let r=collectASequenceOfCodePointsFast(";",e,t);r=removeHTTPWhitespace(r,false,true);if(r.length===0||!n.test(r)){return"failure"}const s=A.toLowerCase();const i=r.toLowerCase();const c={type:s,subtype:i,parameters:new Map,essence:`${s}/${i}`};while(t.positiono.test(e),e,t);let A=collectASequenceOfCodePoints(e=>e!==";"&&e!=="=",e,t);A=A.toLowerCase();if(t.positione.length){break}let r=null;if(e[t.position]==='"'){r=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{r=collectASequenceOfCodePointsFast(";",e,t);r=removeHTTPWhitespace(r,false,true);if(r.length===0){continue}}if(A.length!==0&&n.test(A)&&(r.length===0||a.test(r))&&!c.parameters.has(A)){c.parameters.set(A,r)}}return c}function forgivingBase64(e){e=e.replace(i,"");let t=e.length;if(t%4===0){if(e.charCodeAt(t-1)===61){--t;if(e.charCodeAt(t-1)===61){--t}}}if(t%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t))){return"failure"}const A=Buffer.from(e,"base64");return new Uint8Array(A.buffer,A.byteOffset,A.byteLength)}function collectAnHTTPQuotedString(e,t,A){const s=t.position;let n="";r(e[t.position]==='"');t.position++;while(true){n+=collectASequenceOfCodePoints(e=>e!=='"'&&e!=="\\",e,t);if(t.position>=e.length){break}const A=e[t.position];t.position++;if(A==="\\"){if(t.position>=e.length){n+="\\";break}n+=e[t.position];t.position++}else{r(A==='"');break}}if(A){return n}return e.slice(s,t.position)}function serializeAMimeType(e){r(e!=="failure");const{parameters:t,essence:A}=e;let s=A;for(let[e,A]of t.entries()){s+=";";s+=e;s+="=";if(!n.test(A)){A=A.replace(/(\\|")/g,"\\$1");A='"'+A;A+='"'}s+=A}return s}function isHTTPWhiteSpace(e){return e===13||e===10||e===9||e===32}function removeHTTPWhitespace(e,t=true,A=true){return removeChars(e,t,A,isHTTPWhiteSpace)}function isASCIIWhitespace(e){return e===13||e===10||e===9||e===12||e===32}function removeASCIIWhitespace(e,t=true,A=true){return removeChars(e,t,A,isASCIIWhitespace)}function removeChars(e,t,A,r){let s=0;let n=e.length-1;if(t){while(s0&&r(e.charCodeAt(n)))n--}return s===0&&n===e.length-1?e:e.slice(s,n+1)}function isomorphicDecode(e){const t=e.length;if((2<<15)-1>t){return String.fromCharCode.apply(null,e)}let A="";let r=0;let s=(2<<15)-1;while(rt){s=t-r}A+=String.fromCharCode.apply(null,e.subarray(r,r+=s))}return A}function minimizeSupportedMimeType(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"}if(e.subtype.endsWith("+json")){return"application/json"}if(e.subtype.endsWith("+xml")){return"application/xml"}return""}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType,removeChars:removeChars,removeHTTPWhitespace:removeHTTPWhitespace,minimizeSupportedMimeType:minimizeSupportedMimeType,HTTP_TOKEN_CODEPOINTS:n,isomorphicDecode:isomorphicDecode}},3090:(e,t,A)=>{const{kConnected:r,kSize:s}=A(5424);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[r]===0&&this.value[s]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",()=>{if(e[r]===0&&e[s]===0){this.finalizer(t)}})}}unregister(e){}}e.exports=function(){if(process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")){process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:WeakRef,FinalizationRegistry:FinalizationRegistry}}},5733:(e,t,A)=>{const{Blob:r,File:s}=A(4573);const{kState:n}=A(6602);const{webidl:o}=A(5162);class FileLike{constructor(e,t,A={}){const r=t;const s=A.type;const o=A.lastModified??Date.now();this[n]={blobLike:e,name:r,type:s,lastModified:o}}stream(...e){o.brandCheck(this,FileLike);return this[n].blobLike.stream(...e)}arrayBuffer(...e){o.brandCheck(this,FileLike);return this[n].blobLike.arrayBuffer(...e)}slice(...e){o.brandCheck(this,FileLike);return this[n].blobLike.slice(...e)}text(...e){o.brandCheck(this,FileLike);return this[n].blobLike.text(...e)}get size(){o.brandCheck(this,FileLike);return this[n].blobLike.size}get type(){o.brandCheck(this,FileLike);return this[n].blobLike.type}get name(){o.brandCheck(this,FileLike);return this[n].name}get lastModified(){o.brandCheck(this,FileLike);return this[n].lastModified}get[Symbol.toStringTag](){return"File"}}o.converters.Blob=o.interfaceConverter(r);function isFileLike(e){return e instanceof s||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={FileLike:FileLike,isFileLike:isFileLike}},6701:(e,t,A)=>{const{isUSVString:r,bufferToLowerCasedHeaderName:s}=A(8529);const{utf8DecodeBytes:n}=A(3095);const{HTTP_TOKEN_CODEPOINTS:o,isomorphicDecode:i}=A(5192);const{isFileLike:a}=A(5733);const{makeEntry:c}=A(7653);const l=A(4589);const{File:g}=A(4573);const E=globalThis.File??g;const h=Buffer.from('form-data; name="');const u=Buffer.from("; filename");const Q=Buffer.from("--");const C=Buffer.from("--\r\n");function isAsciiString(e){for(let t=0;t70){return false}for(let A=0;A=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===39||t===45||t===95)){return false}}return true}function multipartFormDataParser(e,t){l(t!=="failure"&&t.essence==="multipart/form-data");const A=t.parameters.get("boundary");if(A===undefined){return"failure"}const s=Buffer.from(`--${A}`,"utf8");const o=[];const i={position:0};while(e[i.position]===13&&e[i.position+1]===10){i.position+=2}let g=e.length;while(e[g-1]===10&&e[g-2]===13){g-=2}if(g!==e.length){e=e.subarray(0,g)}while(true){if(e.subarray(i.position,i.position+s.length).equals(s)){i.position+=s.length}else{return"failure"}if(i.position===e.length-2&&bufferStartsWith(e,Q,i)||i.position===e.length-4&&bufferStartsWith(e,C,i)){return o}if(e[i.position]!==13||e[i.position+1]!==10){return"failure"}i.position+=2;const t=parseMultipartFormDataHeaders(e,i);if(t==="failure"){return"failure"}let{name:A,filename:g,contentType:h,encoding:u}=t;i.position+=2;let B;{const t=e.indexOf(s.subarray(2),i.position);if(t===-1){return"failure"}B=e.subarray(i.position,t-4);i.position+=B.length;if(u==="base64"){B=Buffer.from(B.toString(),"base64")}}if(e[i.position]!==13||e[i.position+1]!==10){return"failure"}else{i.position+=2}let I;if(g!==null){h??="text/plain";if(!isAsciiString(h)){h=""}I=new E([B],g,{type:h})}else{I=n(Buffer.from(B))}l(r(A));l(typeof I==="string"&&r(I)||a(I));o.push(c(A,I,g))}}function parseMultipartFormDataHeaders(e,t){let A=null;let r=null;let n=null;let a=null;while(true){if(e[t.position]===13&&e[t.position+1]===10){if(A===null){return"failure"}return{name:A,filename:r,contentType:n,encoding:a}}let c=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==58,e,t);c=removeChars(c,true,true,e=>e===9||e===32);if(!o.test(c.toString())){return"failure"}if(e[t.position]!==58){return"failure"}t.position++;collectASequenceOfBytes(e=>e===32||e===9,e,t);switch(s(c)){case"content-disposition":{A=r=null;if(!bufferStartsWith(e,h,t)){return"failure"}t.position+=17;A=parseMultipartFormDataName(e,t);if(A===null){return"failure"}if(bufferStartsWith(e,u,t)){let A=t.position+u.length;if(e[A]===42){t.position+=1;A+=1}if(e[A]!==61||e[A+1]!==34){return"failure"}t.position+=12;r=parseMultipartFormDataName(e,t);if(r===null){return"failure"}}break}case"content-type":{let A=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);A=removeChars(A,false,true,e=>e===9||e===32);n=i(A);break}case"content-transfer-encoding":{let A=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);A=removeChars(A,false,true,e=>e===9||e===32);a=i(A);break}default:{collectASequenceOfBytes(e=>e!==10&&e!==13,e,t)}}if(e[t.position]!==13&&e[t.position+1]!==10){return"failure"}else{t.position+=2}}}function parseMultipartFormDataName(e,t){l(e[t.position-1]===34);let A=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==34,e,t);if(e[t.position]!==34){return null}else{t.position++}A=(new TextDecoder).decode(A).replace(/%0A/gi,"\n").replace(/%0D/gi,"\r").replace(/%22/g,'"');return A}function collectASequenceOfBytes(e,t,A){let r=A.position;while(r0&&r(e[n]))n--}return s===0&&n===e.length-1?e:e.subarray(s,n+1)}function bufferStartsWith(e,t,A){if(e.length{const{isBlobLike:r,iteratorMixin:s}=A(3095);const{kState:n}=A(6602);const{kEnumerableProperty:o}=A(8529);const{FileLike:i,isFileLike:a}=A(5733);const{webidl:c}=A(5162);const{File:l}=A(4573);const g=A(7975);const E=globalThis.File??l;class FormData{constructor(e){c.util.markAsUncloneable(this);if(e!==undefined){throw c.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[n]=[]}append(e,t,A=undefined){c.brandCheck(this,FormData);const s="FormData.append";c.argumentLengthCheck(arguments,2,s);if(arguments.length===3&&!r(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,s,"name");t=r(t)?c.converters.Blob(t,s,"value",{strict:false}):c.converters.USVString(t,s,"value");A=arguments.length===3?c.converters.USVString(A,s,"filename"):undefined;const o=makeEntry(e,t,A);this[n].push(o)}delete(e){c.brandCheck(this,FormData);const t="FormData.delete";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");this[n]=this[n].filter(t=>t.name!==e)}get(e){c.brandCheck(this,FormData);const t="FormData.get";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");const A=this[n].findIndex(t=>t.name===e);if(A===-1){return null}return this[n][A].value}getAll(e){c.brandCheck(this,FormData);const t="FormData.getAll";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[n].filter(t=>t.name===e).map(e=>e.value)}has(e){c.brandCheck(this,FormData);const t="FormData.has";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[n].findIndex(t=>t.name===e)!==-1}set(e,t,A=undefined){c.brandCheck(this,FormData);const s="FormData.set";c.argumentLengthCheck(arguments,2,s);if(arguments.length===3&&!r(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,s,"name");t=r(t)?c.converters.Blob(t,s,"name",{strict:false}):c.converters.USVString(t,s,"name");A=arguments.length===3?c.converters.USVString(A,s,"name"):undefined;const o=makeEntry(e,t,A);const i=this[n].findIndex(t=>t.name===e);if(i!==-1){this[n]=[...this[n].slice(0,i),o,...this[n].slice(i+1).filter(t=>t.name!==e)]}else{this[n].push(o)}}[g.inspect.custom](e,t){const A=this[n].reduce((e,t)=>{if(e[t.name]){if(Array.isArray(e[t.name])){e[t.name].push(t.value)}else{e[t.name]=[e[t.name],t.value]}}else{e[t.name]=t.value}return e},{__proto__:null});t.depth??=e;t.colors??=true;const r=g.formatWithOptions(t,A);return`FormData ${r.slice(r.indexOf("]")+2)}`}}s("FormData",FormData,n,"name","value");Object.defineProperties(FormData.prototype,{append:o,delete:o,get:o,getAll:o,has:o,set:o,[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,A){if(typeof t==="string"){}else{if(!a(t)){t=t instanceof Blob?new E([t],"blob",{type:t.type}):new i(t,"blob",{type:t.type})}if(A!==undefined){const e={type:t.type,lastModified:t.lastModified};t=t instanceof l?new E([t],A,e):new i(t,A,e)}}return{name:e,value:t}}e.exports={FormData:FormData,makeEntry:makeEntry}},8712:e=>{const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`)}Object.defineProperty(globalThis,t,{value:A,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},3257:(e,t,A)=>{const{kConstruct:r}=A(5424);const{kEnumerableProperty:s}=A(8529);const{iteratorMixin:n,isValidHeaderName:o,isValidHeaderValue:i}=A(3095);const{webidl:a}=A(5162);const c=A(4589);const l=A(7975);const g=Symbol("headers map");const E=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let A=e.length;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(A-1)))--A;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&A===e.length?e:e.substring(t,A)}function fill(e,t){if(Array.isArray(t)){for(let A=0;A>","record"]})}}function appendHeader(e,t,A){A=headerValueNormalize(A);if(!o(t)){throw a.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!i(A)){throw a.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header value"})}if(h(e)==="immutable"){throw new TypeError("immutable")}return Q(e).append(t,A,false)}function compareHeaderName(e,t){return e[0]>1);if(t[i][0]<=a[0]){o=i+1}else{n=i}}if(r!==i){s=r;while(s>o){t[s]=t[--s]}t[o]=a}}if(!A.next().done){throw new TypeError("Unreachable")}return t}else{let e=0;for(const{0:A,1:{value:r}}of this[g]){t[e++]=[A,r];c(r!==null)}return t.sort(compareHeaderName)}}}class Headers{#W;#q;constructor(e=undefined){a.util.markAsUncloneable(this);if(e===r){return}this.#q=new HeadersList;this.#W="none";if(e!==undefined){e=a.converters.HeadersInit(e,"Headers contructor","init");fill(this,e)}}append(e,t){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,2,"Headers.append");const A="Headers.append";e=a.converters.ByteString(e,A,"name");t=a.converters.ByteString(t,A,"value");return appendHeader(this,e,t)}delete(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.delete");const t="Headers.delete";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this.#W==="immutable"){throw new TypeError("immutable")}if(!this.#q.contains(e,false)){return}this.#q.delete(e,false)}get(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.get");const t="Headers.get";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#q.get(e,false)}has(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.has");const t="Headers.has";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#q.contains(e,false)}set(e,t){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,2,"Headers.set");const A="Headers.set";e=a.converters.ByteString(e,A,"name");t=a.converters.ByteString(t,A,"value");t=headerValueNormalize(t);if(!o(e)){throw a.errors.invalidArgument({prefix:A,value:e,type:"header name"})}else if(!i(t)){throw a.errors.invalidArgument({prefix:A,value:t,type:"header value"})}if(this.#W==="immutable"){throw new TypeError("immutable")}this.#q.set(e,t,false)}getSetCookie(){a.brandCheck(this,Headers);const e=this.#q.cookies;if(e){return[...e]}return[]}get[E](){if(this.#q[E]){return this.#q[E]}const e=[];const t=this.#q.toSortedArray();const A=this.#q.cookies;if(A===null||A.length===1){return this.#q[E]=t}for(let r=0;r>"](e,t,A,r.bind(e))}return a.converters["record"](e,t,A)}throw a.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,compareHeaderName:compareHeaderName,Headers:Headers,HeadersList:HeadersList,getHeadersGuard:h,setHeadersGuard:u,setHeadersList:C,getHeadersList:Q}},8263:(e,t,A)=>{const{makeNetworkError:r,makeAppropriateNetworkError:s,filterResponse:n,makeResponse:o,fromInnerResponse:i}=A(1328);const{HeadersList:a}=A(3257);const{Request:c,cloneRequest:l}=A(6398);const g=A(8522);const{bytesMatch:E,makePolicyContainer:h,clonePolicyContainer:u,requestBadPort:Q,TAOCheck:C,appendRequestOriginHeader:B,responseLocationURL:I,requestCurrentURL:d,setRequestReferrerPolicyOnRedirect:f,tryUpgradeRequestToAPotentiallyTrustworthyURL:p,createOpaqueTimingInfo:w,appendFetchMetadata:m,corsCheck:y,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:R,coarsenedSharedCurrentTime:k,createDeferredPromise:S,isBlobLike:b,sameOrigin:F,isCancelled:N,isAborted:M,isErrorLike:U,fullyReadBody:L,readableStreamClose:T,isomorphicEncode:v,urlIsLocal:H,urlIsHttpHttpsScheme:G,urlHasHttpsScheme:x,clampAndCoarsenConnectionTimingInfo:Y,simpleRangeHeaderValue:J,buildContentRange:V,createInflate:O,extractMimeType:P}=A(3095);const{kState:W,kDispatcher:q}=A(6602);const _=A(4589);const{safelyExtractBody:z,extractBody:Z}=A(6455);const{redirectStatusSet:K,nullBodyStatus:X,safeMethodsSet:j,requestBodyHeader:$,subresourceSet:ee}=A(5706);const te=A(8474);const{Readable:Ae,pipeline:re,finished:se}=A(7075);const{addAbortListener:ne,isErrored:oe,isReadable:ie,bufferToLowerCasedHeaderName:ae}=A(8529);const{dataURLProcessor:ce,serializeAMimeType:le,minimizeSupportedMimeType:ge}=A(5192);const{getGlobalDispatcher:Ee}=A(4498);const{webidl:he}=A(5162);const{STATUS_CODES:ue}=A(7067);const Qe=["GET","HEAD"];const Ce=typeof __UNDICI_IS_NODE__!=="undefined"||typeof esbuildDetection!=="undefined"?"node":"undici";let Be;class Fetch extends te{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing"}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new DOMException("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function handleFetchDone(e){finalizeAndReportTiming(e,"fetch")}function fetch(e,t=undefined){he.argumentLengthCheck(arguments,1,"globalThis.fetch");let A=S();let r;try{r=new c(e,t)}catch(e){A.reject(e);return A.promise}const s=r[W];if(r.signal.aborted){abortFetch(A,s,null,r.signal.reason);return A.promise}const n=s.client.globalObject;if(n?.constructor?.name==="ServiceWorkerGlobalScope"){s.serviceWorkers="none"}let o=null;let a=false;let l=null;ne(r.signal,()=>{a=true;_(l!=null);l.abort(r.signal.reason);const e=o?.deref();abortFetch(A,s,e,r.signal.reason)});const processResponse=e=>{if(a){return}if(e.aborted){abortFetch(A,s,o,l.serializedAbortReason);return}if(e.type==="error"){A.reject(new TypeError("fetch failed",{cause:e.error}));return}o=new WeakRef(i(e,"immutable"));A.resolve(o.deref());A=null};l=fetching({request:s,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:r[q]});return A.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const A=e.urlList[0];let r=e.timingInfo;let s=e.cacheState;if(!G(A)){return}if(r===null){return}if(!e.timingAllowPassed){r=w({startTime:r.startTime});s=""}r.endTime=k();e.timingInfo=r;Ie(r,A.href,t,globalThis,s)}const Ie=performance.markResourceTiming;function abortFetch(e,t,A,r){if(e){e.reject(r)}if(t.body!=null&&ie(t.body?.stream)){t.body.stream.cancel(r).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}if(A==null){return}const s=A[W];if(s.body!=null&&ie(s.body?.stream)){s.body.stream.cancel(r).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:n,useParallelQueue:o=false,dispatcher:i=Ee()}){_(i);let a=null;let c=false;if(e.client!=null){a=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=k(c);const g=w({startTime:l});const E={controller:new Fetch(i),request:e,timingInfo:g,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:r,processResponseConsumeBody:n,processResponseEndOfBody:s,taskDestination:a,crossOriginIsolatedCapability:c};_(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=u(e.client.policyContainer)}else{e.policyContainer=h()}}if(!e.headersList.contains("accept",true)){const t="*/*";e.headersList.append("accept",t,true)}if(!e.headersList.contains("accept-language",true)){e.headersList.append("accept-language","*",true)}if(e.priority===null){}if(ee.has(e.destination)){}mainFetch(E).catch(e=>{E.controller.terminate(e)});return E.controller}async function mainFetch(e,t=false){const A=e.request;let s=null;if(A.localURLsOnly&&!H(d(A))){s=r("local URLs only")}p(A);if(Q(A)==="blocked"){s=r("bad port")}if(A.referrerPolicy===""){A.referrerPolicy=A.policyContainer.referrerPolicy}if(A.referrer!=="no-referrer"){A.referrer=R(A)}if(s===null){s=await(async()=>{const t=d(A);if(F(t,A.url)&&A.responseTainting==="basic"||t.protocol==="data:"||(A.mode==="navigate"||A.mode==="websocket")){A.responseTainting="basic";return await schemeFetch(e)}if(A.mode==="same-origin"){return r('request mode cannot be "same-origin"')}if(A.mode==="no-cors"){if(A.redirect!=="follow"){return r('redirect mode cannot be "follow" for "no-cors" request')}A.responseTainting="opaque";return await schemeFetch(e)}if(!G(d(A))){return r("URL scheme must be a HTTP(S) scheme")}A.responseTainting="cors";return await httpFetch(e)})()}if(t){return s}if(s.status!==0&&!s.internalResponse){if(A.responseTainting==="cors"){}if(A.responseTainting==="basic"){s=n(s,"basic")}else if(A.responseTainting==="cors"){s=n(s,"cors")}else if(A.responseTainting==="opaque"){s=n(s,"opaque")}else{_(false)}}let o=s.status===0?s:s.internalResponse;if(o.urlList.length===0){o.urlList.push(...A.urlList)}if(!A.timingAllowFailed){s.timingAllowPassed=true}if(s.type==="opaque"&&o.status===206&&o.rangeRequested&&!A.headers.contains("range",true)){s=o=r()}if(s.status!==0&&(A.method==="HEAD"||A.method==="CONNECT"||X.includes(o.status))){o.body=null;e.controller.dump=true}if(A.integrity){const processBodyError=t=>fetchFinale(e,r(t));if(A.responseTainting==="opaque"||s.body==null){processBodyError(s.error);return}const processBody=t=>{if(!E(t,A.integrity)){processBodyError("integrity mismatch");return}s.body=z(t)[0];fetchFinale(e,s)};await L(s.body,processBody,processBodyError)}else{fetchFinale(e,s)}}function schemeFetch(e){if(N(e)&&e.request.redirectCount===0){return Promise.resolve(s(e))}const{request:t}=e;const{protocol:n}=d(t);switch(n){case"about:":{return Promise.resolve(r("about scheme is not supported"))}case"blob:":{if(!Be){Be=A(4573).resolveObjectURL}const e=d(t);if(e.search.length!==0){return Promise.resolve(r("NetworkError when attempting to fetch resource."))}const s=Be(e.toString());if(t.method!=="GET"||!b(s)){return Promise.resolve(r("invalid method"))}const n=o();const i=s.size;const a=v(`${i}`);const c=s.type;if(!t.headersList.contains("range",true)){const e=Z(s);n.statusText="OK";n.body=e[0];n.headersList.set("content-length",a,true);n.headersList.set("content-type",c,true)}else{n.rangeRequested=true;const e=t.headersList.get("range",true);const A=J(e,true);if(A==="failure"){return Promise.resolve(r("failed to fetch the data URL"))}let{rangeStartValue:o,rangeEndValue:a}=A;if(o===null){o=i-a;a=o+a-1}else{if(o>=i){return Promise.resolve(r("Range start is greater than the blob's size."))}if(a===null||a>=i){a=i-1}}const l=s.slice(o,a,c);const g=Z(l);n.body=g[0];const E=v(`${l.size}`);const h=V(o,a,i);n.status=206;n.statusText="Partial Content";n.headersList.set("content-length",E,true);n.headersList.set("content-type",c,true);n.headersList.set("content-range",h,true)}return Promise.resolve(n)}case"data:":{const e=d(t);const A=ce(e);if(A==="failure"){return Promise.resolve(r("failed to fetch the data URL"))}const s=le(A.mimeType);return Promise.resolve(o({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:z(A.body)[0]}))}case"file:":{return Promise.resolve(r("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch(e=>r(e))}default:{return Promise.resolve(r("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask(()=>e.processResponseDone(t))}}function fetchFinale(e,t){let A=e.timingInfo;const processResponseEndOfBody=()=>{const r=Date.now();if(e.request.destination==="document"){e.controller.fullTimingInfo=A}e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:"){return}A.endTime=r;let s=t.cacheState;const n=t.bodyInfo;if(!t.timingAllowPassed){A=w(A);s=""}let o=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){o=t.status;const e=P(t.headersList);if(e!=="failure"){n.contentType=ge(e)}}if(e.request.initiatorType!=null){Ie(A,e.request.url.href,e.request.initiatorType,globalThis,s,n,o)}};const processResponseEndOfBodyTask=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask(()=>e.processResponseEndOfBody(t))}if(e.request.initiatorType!=null){e.controller.reportTimingSteps()}};queueMicrotask(()=>processResponseEndOfBodyTask())};if(e.processResponse!=null){queueMicrotask(()=>{e.processResponse(t);e.processResponse=null})}const r=t.type==="error"?t:t.internalResponse??t;if(r.body==null){processResponseEndOfBody()}else{se(r.body.stream,()=>{processResponseEndOfBody()})}}async function httpFetch(e){const t=e.request;let A=null;let s=null;const n=e.timingInfo;if(t.serviceWorkers==="all"){}if(A===null){if(t.redirect==="follow"){t.serviceWorkers="none"}s=A=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&y(t,A)==="failure"){return r("cors failure")}if(C(t,A)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||A.type==="opaque")&&D(t.origin,t.client,t.destination,s)==="blocked"){return r("blocked")}if(K.has(s.status)){if(t.redirect!=="manual"){e.controller.connection.destroy(undefined,false)}if(t.redirect==="error"){A=r("unexpected redirect")}else if(t.redirect==="manual"){A=s}else if(t.redirect==="follow"){A=await httpRedirectFetch(e,A)}else{_(false)}}A.timingInfo=n;return A}function httpRedirectFetch(e,t){const A=e.request;const s=t.internalResponse?t.internalResponse:t;let n;try{n=I(s,d(A).hash);if(n==null){return t}}catch(e){return Promise.resolve(r(e))}if(!G(n)){return Promise.resolve(r("URL scheme must be a HTTP(S) scheme"))}if(A.redirectCount===20){return Promise.resolve(r("redirect count exceeded"))}A.redirectCount+=1;if(A.mode==="cors"&&(n.username||n.password)&&!F(A,n)){return Promise.resolve(r('cross origin not allowed for request mode "cors"'))}if(A.responseTainting==="cors"&&(n.username||n.password)){return Promise.resolve(r('URL cannot contain credentials for request mode "cors"'))}if(s.status!==303&&A.body!=null&&A.body.source==null){return Promise.resolve(r())}if([301,302].includes(s.status)&&A.method==="POST"||s.status===303&&!Qe.includes(A.method)){A.method="GET";A.body=null;for(const e of $){A.headersList.delete(e)}}if(!F(d(A),n)){A.headersList.delete("authorization",true);A.headersList.delete("proxy-authorization",true);A.headersList.delete("cookie",true);A.headersList.delete("host",true)}if(A.body!=null){_(A.body.source!=null);A.body=z(A.body.source)[0]}const o=e.timingInfo;o.redirectEndTime=o.postRedirectStartTime=k(e.crossOriginIsolatedCapability);if(o.redirectStartTime===0){o.redirectStartTime=o.startTime}A.urlList.push(n);f(A,s);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,A=false){const n=e.request;let o=null;let i=null;let a=null;const c=null;const g=false;if(n.window==="no-window"&&n.redirect==="error"){o=e;i=n}else{i=l(n);o={...e};o.request=i}const E=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic";const h=i.body?i.body.length:null;let u=null;if(i.body==null&&["POST","PUT"].includes(i.method)){u="0"}if(h!=null){u=v(`${h}`)}if(u!=null){i.headersList.append("content-length",u,true)}if(h!=null&&i.keepalive){}if(i.referrer instanceof URL){i.headersList.append("referer",v(i.referrer.href),true)}B(i);m(i);if(!i.headersList.contains("user-agent",true)){i.headersList.append("user-agent",Ce)}if(i.cache==="default"&&(i.headersList.contains("if-modified-since",true)||i.headersList.contains("if-none-match",true)||i.headersList.contains("if-unmodified-since",true)||i.headersList.contains("if-match",true)||i.headersList.contains("if-range",true))){i.cache="no-store"}if(i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",true)){i.headersList.append("cache-control","max-age=0",true)}if(i.cache==="no-store"||i.cache==="reload"){if(!i.headersList.contains("pragma",true)){i.headersList.append("pragma","no-cache",true)}if(!i.headersList.contains("cache-control",true)){i.headersList.append("cache-control","no-cache",true)}}if(i.headersList.contains("range",true)){i.headersList.append("accept-encoding","identity",true)}if(!i.headersList.contains("accept-encoding",true)){if(x(d(i))){i.headersList.append("accept-encoding","br, gzip, deflate",true)}else{i.headersList.append("accept-encoding","gzip, deflate",true)}}i.headersList.delete("host",true);if(E){}if(c==null){i.cache="no-store"}if(i.cache!=="no-store"&&i.cache!=="reload"){}if(a==null){if(i.cache==="only-if-cached"){return r("only if cached")}const e=await httpNetworkFetch(o,E,A);if(!j.has(i.method)&&e.status>=200&&e.status<=399){}if(g&&e.status===304){}if(a==null){a=e}}a.urlList=[...i.urlList];if(i.headersList.contains("range",true)){a.rangeRequested=true}a.requestIncludesCredentials=E;if(a.status===407){if(n.window==="no-window"){return r()}if(N(e)){return s(e)}return r("proxy authentication required")}if(a.status===421&&!A&&(n.body==null||n.body.source!=null)){if(N(e)){return s(e)}e.controller.connection.destroy();a=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return a}async function httpNetworkFetch(e,t=false,A=false){_(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e,t=true){if(!this.destroyed){this.destroyed=true;if(t){this.abort?.(e??new DOMException("The operation was aborted.","AbortError"))}}}};const n=e.request;let i=null;const c=e.timingInfo;const l=null;if(l==null){n.cache="no-store"}const E=A?"yes":"no";if(n.mode==="websocket"){}else{}let h=null;if(n.body==null&&e.processRequestEndOfBody){queueMicrotask(()=>e.processRequestEndOfBody())}else if(n.body!=null){const processBodyChunk=async function*(t){if(N(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(N(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(N(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};h=async function*(){try{for await(const e of n.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:A,statusText:r,headersList:s,socket:n}=await dispatch({body:h});if(n){i=o({status:A,statusText:r,headersList:s,socket:n})}else{const n=t[Symbol.asyncIterator]();e.controller.next=()=>n.next();i=o({status:A,statusText:r,headersList:s})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return s(e,t)}return r(t)}const pullAlgorithm=async()=>{await e.controller.resume()};const cancelAlgorithm=t=>{if(!N(e)){e.controller.abort(t)}};const u=new ReadableStream({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)},type:"bytes"});i.body={stream:u,source:null,length:null};if(!e.controller.resume){e.controller.on("terminated",onAborted)}e.controller.resume=async()=>{while(true){let t;let A;try{const{done:A,value:r}=await e.controller.next();if(M(e)){break}t=A?undefined:r}catch(r){if(e.controller.ended&&!c.encodedBodySize){t=undefined}else{t=r;A=true}}if(t===undefined){T(e.controller.controller);finalizeResponse(e,i);return}c.decodedBodySize+=t?.byteLength??0;if(A){e.controller.terminate(t);return}const r=new Uint8Array(t);if(r.byteLength){e.controller.controller.enqueue(r)}if(oe(u)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0){return}}};function onAborted(t){if(M(e)){i.aborted=true;if(ie(u)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ie(u)){e.controller.controller.error(new TypeError("terminated",{cause:U(t)?t:undefined}))}}e.controller.connection.destroy()}return i;function dispatch({body:t}){const A=d(n);const r=e.controller.dispatcher;return new Promise((s,o)=>r.dispatch({path:A.pathname+A.search,origin:A.origin,method:n.method,body:r.isMockActive?n.body&&(n.body.source||n.body.stream):t,headers:n.headersList.entries,maxRedirections:0,upgrade:n.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:A}=e.controller;c.finalConnectionTimingInfo=Y(undefined,c.postRedirectStartTime,e.crossOriginIsolatedCapability);if(A.destroyed){t(new DOMException("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=A.abort=t}c.finalNetworkRequestStartTime=k(e.crossOriginIsolatedCapability)},onResponseStarted(){c.finalNetworkResponseStartTime=k(e.crossOriginIsolatedCapability)},onHeaders(e,t,A,r){if(e<200){return}let o="";const i=new a;for(let e=0;eA){this.abort(new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${A}`));return true}for(let e=t.length-1;e>=0;--e){const A=t[e].trim();if(A==="x-gzip"||A==="gzip"){c.push(g.createGunzip({flush:g.constants.Z_SYNC_FLUSH,finishFlush:g.constants.Z_SYNC_FLUSH}))}else if(A==="deflate"){c.push(O({flush:g.constants.Z_SYNC_FLUSH,finishFlush:g.constants.Z_SYNC_FLUSH}))}else if(A==="br"){c.push(g.createBrotliDecompress({flush:g.constants.BROTLI_OPERATION_FLUSH,finishFlush:g.constants.BROTLI_OPERATION_FLUSH}))}else{c.length=0;break}}}this.body=new Ae({read:A});const E=this.onError.bind(this);s({status:e,statusText:r,headersList:i,body:c.length?re(this.body,...c,e=>{if(e){this.onError(e)}}).on("error",E):this.body.on("error",E)});return true},onData(t){if(e.controller.dump){return}const A=t;c.encodedBodySize+=A.byteLength;return this.body.push(A)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);o(t)},onUpgrade(e,t,A){if(e!==101){return}const r=new a;for(let e=0;e{const{extractBody:r,mixinBody:s,cloneBody:n,bodyUnusable:o}=A(6455);const{Headers:i,fill:a,HeadersList:c,setHeadersGuard:l,getHeadersGuard:g,setHeadersList:E,getHeadersList:h}=A(3257);const{FinalizationRegistry:u}=A(3090)();const Q=A(8529);const C=A(7975);const{isValidHTTPToken:B,sameOrigin:I,environmentSettingsObject:d}=A(3095);const{forbiddenMethodsSet:f,corsSafeListedMethodsSet:p,referrerPolicy:w,requestRedirect:m,requestMode:y,requestCredentials:D,requestCache:R,requestDuplex:k}=A(5706);const{kEnumerableProperty:S,normalizedMethodRecordsBase:b,normalizedMethodRecords:F}=Q;const{kHeaders:N,kSignal:M,kState:U,kDispatcher:L}=A(6602);const{webidl:T}=A(5162);const{URLSerializer:v}=A(5192);const{kConstruct:H}=A(5424);const G=A(4589);const{getMaxListeners:x,setMaxListeners:Y,getEventListeners:J,defaultMaxListeners:V}=A(8474);const O=Symbol("abortController");const P=new u(({signal:e,abort:t})=>{e.removeEventListener("abort",t)});const W=new WeakMap;function buildAbort(e){return abort;function abort(){const t=e.deref();if(t!==undefined){P.unregister(abort);this.removeEventListener("abort",abort);t.abort(this.reason);const e=W.get(t.signal);if(e!==undefined){if(e.size!==0){for(const t of e){const e=t.deref();if(e!==undefined){e.abort(this.reason)}}e.clear()}W.delete(t.signal)}}}}let q=false;class Request{constructor(e,t={}){T.util.markAsUncloneable(this);if(e===H){return}const A="Request constructor";T.argumentLengthCheck(arguments,1,A);e=T.converters.RequestInfo(e,A,"input");t=T.converters.RequestInit(t,A,"init");let s=null;let n=null;const g=d.settingsObject.baseUrl;let u=null;if(typeof e==="string"){this[L]=t.dispatcher;let A;try{A=new URL(e,g)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(A.username||A.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}s=makeRequest({urlList:[A]});n="cors"}else{this[L]=t.dispatcher||e[L];G(e instanceof Request);s=e[U];u=e[M]}const C=d.settingsObject.origin;let w="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&I(s.window,C)){w=s.window}if(t.window!=null){throw new TypeError(`'window' option '${w}' must be null`)}if("window"in t){w="no-window"}s=makeRequest({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:d.settingsObject,window:w,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});const m=Object.keys(t).length!==0;if(m){if(s.mode==="navigate"){s.mode="same-origin"}s.reloadNavigation=false;s.historyNavigation=false;s.origin="client";s.referrer="client";s.referrerPolicy="";s.url=s.urlList[s.urlList.length-1];s.urlList=[s.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){s.referrer="no-referrer"}else{let t;try{t=new URL(e,g)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||C&&!I(t,d.settingsObject.baseUrl)){s.referrer="client"}else{s.referrer=t}}}if(t.referrerPolicy!==undefined){s.referrerPolicy=t.referrerPolicy}let y;if(t.mode!==undefined){y=t.mode}else{y=n}if(y==="navigate"){throw T.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(y!=null){s.mode=y}if(t.credentials!==undefined){s.credentials=t.credentials}if(t.cache!==undefined){s.cache=t.cache}if(s.cache==="only-if-cached"&&s.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){s.redirect=t.redirect}if(t.integrity!=null){s.integrity=String(t.integrity)}if(t.keepalive!==undefined){s.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;const A=F[e];if(A!==undefined){s.method=A}else{if(!B(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}const t=e.toUpperCase();if(f.has(t)){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=b[t]??e;s.method=e}if(!q&&s.method==="patch"){process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"});q=true}}if(t.signal!==undefined){u=t.signal}this[U]=s;const D=new AbortController;this[M]=D.signal;if(u!=null){if(!u||typeof u.aborted!=="boolean"||typeof u.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(u.aborted){D.abort(u.reason)}else{this[O]=D;const e=new WeakRef(D);const t=buildAbort(e);try{if(typeof x==="function"&&x(u)===V){Y(1500,u)}else if(J(u,"abort").length>=V){Y(1500,u)}}catch{}Q.addAbortListener(u,t);P.register(D,{signal:u,abort:t},t)}}this[N]=new i(H);E(this[N],s.headersList);l(this[N],"request");if(y==="no-cors"){if(!p.has(s.method)){throw new TypeError(`'${s.method} is unsupported in no-cors mode.`)}l(this[N],"request-no-cors")}if(m){const e=h(this[N]);const A=t.headers!==undefined?t.headers:new c(e);e.clear();if(A instanceof c){for(const{name:t,value:r}of A.rawValues()){e.append(t,r,false)}e.cookies=A.cookies}else{a(this[N],A)}}const R=e instanceof Request?e[U].body:null;if((t.body!=null||R!=null)&&(s.method==="GET"||s.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let k=null;if(t.body!=null){const[e,A]=r(t.body,s.keepalive);k=e;if(A&&!h(this[N]).contains("content-type",true)){this[N].append("content-type",A)}}const S=k??R;if(S!=null&&S.source==null){if(k!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(s.mode!=="same-origin"&&s.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}s.useCORSPreflightFlag=true}let v=S;if(k==null&&R!=null){if(o(e)){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}const t=new TransformStream;R.stream.pipeThrough(t);v={source:R.source,length:R.length,stream:t.readable}}this[U].body=v}get method(){T.brandCheck(this,Request);return this[U].method}get url(){T.brandCheck(this,Request);return v(this[U].url)}get headers(){T.brandCheck(this,Request);return this[N]}get destination(){T.brandCheck(this,Request);return this[U].destination}get referrer(){T.brandCheck(this,Request);if(this[U].referrer==="no-referrer"){return""}if(this[U].referrer==="client"){return"about:client"}return this[U].referrer.toString()}get referrerPolicy(){T.brandCheck(this,Request);return this[U].referrerPolicy}get mode(){T.brandCheck(this,Request);return this[U].mode}get credentials(){return this[U].credentials}get cache(){T.brandCheck(this,Request);return this[U].cache}get redirect(){T.brandCheck(this,Request);return this[U].redirect}get integrity(){T.brandCheck(this,Request);return this[U].integrity}get keepalive(){T.brandCheck(this,Request);return this[U].keepalive}get isReloadNavigation(){T.brandCheck(this,Request);return this[U].reloadNavigation}get isHistoryNavigation(){T.brandCheck(this,Request);return this[U].historyNavigation}get signal(){T.brandCheck(this,Request);return this[M]}get body(){T.brandCheck(this,Request);return this[U].body?this[U].body.stream:null}get bodyUsed(){T.brandCheck(this,Request);return!!this[U].body&&Q.isDisturbed(this[U].body.stream)}get duplex(){T.brandCheck(this,Request);return"half"}clone(){T.brandCheck(this,Request);if(o(this)){throw new TypeError("unusable")}const e=cloneRequest(this[U]);const t=new AbortController;if(this.signal.aborted){t.abort(this.signal.reason)}else{let e=W.get(this.signal);if(e===undefined){e=new Set;W.set(this.signal,e)}const A=new WeakRef(t);e.add(A);Q.addAbortListener(t.signal,buildAbort(A))}return fromInnerRequest(e,t.signal,g(this[N]))}[C.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const A={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 ${C.formatWithOptions(t,A)}`}}s(Request);function makeRequest(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??false,unsafeRequest:e.unsafeRequest??false,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??false,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??false,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??false,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??false,historyNavigation:e.historyNavigation??false,userActivation:e.userActivation??false,taintedOrigin:e.taintedOrigin??false,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??false,done:e.done??false,timingAllowFailed:e.timingAllowFailed??false,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new c(e.headersList):new c}}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=n(t,e.body)}return t}function fromInnerRequest(e,t,A){const r=new Request(H);r[U]=e;r[M]=t;r[N]=new i(H);E(r[N],e.headersList);l(r[N],A);return r}Object.defineProperties(Request.prototype,{method:S,url:S,headers:S,redirect:S,clone:S,signal:S,duplex:S,destination:S,body:S,bodyUsed:S,isHistoryNavigation:S,isReloadNavigation:S,keepalive:S,integrity:S,cache:S,credentials:S,attribute:S,referrerPolicy:S,referrer:S,mode:S,[Symbol.toStringTag]:{value:"Request",configurable:true}});T.converters.Request=T.interfaceConverter(Request);T.converters.RequestInfo=function(e,t,A){if(typeof e==="string"){return T.converters.USVString(e,t,A)}if(e instanceof Request){return T.converters.Request(e,t,A)}return T.converters.USVString(e,t,A)};T.converters.AbortSignal=T.interfaceConverter(AbortSignal);T.converters.RequestInit=T.dictionaryConverter([{key:"method",converter:T.converters.ByteString},{key:"headers",converter:T.converters.HeadersInit},{key:"body",converter:T.nullableConverter(T.converters.BodyInit)},{key:"referrer",converter:T.converters.USVString},{key:"referrerPolicy",converter:T.converters.DOMString,allowedValues:w},{key:"mode",converter:T.converters.DOMString,allowedValues:y},{key:"credentials",converter:T.converters.DOMString,allowedValues:D},{key:"cache",converter:T.converters.DOMString,allowedValues:R},{key:"redirect",converter:T.converters.DOMString,allowedValues:m},{key:"integrity",converter:T.converters.DOMString},{key:"keepalive",converter:T.converters.boolean},{key:"signal",converter:T.nullableConverter(e=>T.converters.AbortSignal(e,"RequestInit","signal",{strict:false}))},{key:"window",converter:T.converters.any},{key:"duplex",converter:T.converters.DOMString,allowedValues:k},{key:"dispatcher",converter:T.converters.any}]);e.exports={Request:Request,makeRequest:makeRequest,fromInnerRequest:fromInnerRequest,cloneRequest:cloneRequest}},1328:(e,t,A)=>{const{Headers:r,HeadersList:s,fill:n,getHeadersGuard:o,setHeadersGuard:i,setHeadersList:a}=A(3257);const{extractBody:c,cloneBody:l,mixinBody:g,hasFinalizationRegistry:E,streamRegistry:h,bodyUnusable:u}=A(6455);const Q=A(8529);const C=A(7975);const{kEnumerableProperty:B}=Q;const{isValidReasonPhrase:I,isCancelled:d,isAborted:f,isBlobLike:p,serializeJavascriptValueToJSONString:w,isErrorLike:m,isomorphicEncode:y,environmentSettingsObject:D}=A(3095);const{redirectStatusSet:R,nullBodyStatus:k}=A(5706);const{kState:S,kHeaders:b}=A(6602);const{webidl:F}=A(5162);const{FormData:N}=A(7653);const{URLSerializer:M}=A(5192);const{kConstruct:U}=A(5424);const L=A(4589);const{types:T}=A(7975);const v=new TextEncoder("utf-8");class Response{static error(){const e=fromInnerResponse(makeNetworkError(),"immutable");return e}static json(e,t={}){F.argumentLengthCheck(arguments,1,"Response.json");if(t!==null){t=F.converters.ResponseInit(t)}const A=v.encode(w(e));const r=c(A);const s=fromInnerResponse(makeResponse({}),"response");initializeResponse(s,t,{body:r[0],type:"application/json"});return s}static redirect(e,t=302){F.argumentLengthCheck(arguments,1,"Response.redirect");e=F.converters.USVString(e);t=F.converters["unsigned short"](t);let A;try{A=new URL(e,D.settingsObject.baseUrl)}catch(t){throw new TypeError(`Failed to parse URL from ${e}`,{cause:t})}if(!R.has(t)){throw new RangeError(`Invalid status code ${t}`)}const r=fromInnerResponse(makeResponse({}),"immutable");r[S].status=t;const s=y(M(A));r[S].headersList.append("location",s,true);return r}constructor(e=null,t={}){F.util.markAsUncloneable(this);if(e===U){return}if(e!==null){e=F.converters.BodyInit(e)}t=F.converters.ResponseInit(t);this[S]=makeResponse({});this[b]=new r(U);i(this[b],"response");a(this[b],this[S].headersList);let A=null;if(e!=null){const[t,r]=c(e);A={body:t,type:r}}initializeResponse(this,t,A)}get type(){F.brandCheck(this,Response);return this[S].type}get url(){F.brandCheck(this,Response);const e=this[S].urlList;const t=e[e.length-1]??null;if(t===null){return""}return M(t,true)}get redirected(){F.brandCheck(this,Response);return this[S].urlList.length>1}get status(){F.brandCheck(this,Response);return this[S].status}get ok(){F.brandCheck(this,Response);return this[S].status>=200&&this[S].status<=299}get statusText(){F.brandCheck(this,Response);return this[S].statusText}get headers(){F.brandCheck(this,Response);return this[b]}get body(){F.brandCheck(this,Response);return this[S].body?this[S].body.stream:null}get bodyUsed(){F.brandCheck(this,Response);return!!this[S].body&&Q.isDisturbed(this[S].body.stream)}clone(){F.brandCheck(this,Response);if(u(this)){throw F.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[S]);if(E&&this[S].body?.stream){h.register(this,new WeakRef(this[S].body.stream))}return fromInnerResponse(e,o(this[b]))}[C.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const A={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 ${C.formatWithOptions(t,A)}`}}g(Response);Object.defineProperties(Response.prototype,{type:B,url:B,status:B,ok:B,redirected:B,statusText:B,headers:B,clone:B,body:B,bodyUsed:B,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:B,redirect:B,error:B});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=l(t,e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new s(e?.headersList):new s,urlList:e?.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=m(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function isNetworkError(e){return e.type==="error"&&e.status===0}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,A){return A in t?t[A]:e[A]},set(e,A,r){L(!(A in t));e[A]=r;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{L(false)}}function makeAppropriateNetworkError(e,t=null){L(d(e));return f(e)?makeNetworkError(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,A){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!I(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[S].status=t.status}if("statusText"in t&&t.statusText!=null){e[S].statusText=t.statusText}if("headers"in t&&t.headers!=null){n(e[b],t.headers)}if(A){if(k.includes(e.status)){throw F.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`})}e[S].body=A.body;if(A.type!=null&&!e[S].headersList.contains("content-type",true)){e[S].headersList.append("content-type",A.type,true)}}}function fromInnerResponse(e,t){const A=new Response(U);A[S]=e;A[b]=new r(U);a(A[b],e.headersList);i(A[b],t);if(E&&e.body?.stream){h.register(A,new WeakRef(e.body.stream))}return A}F.converters.ReadableStream=F.interfaceConverter(ReadableStream);F.converters.FormData=F.interfaceConverter(N);F.converters.URLSearchParams=F.interfaceConverter(URLSearchParams);F.converters.XMLHttpRequestBodyInit=function(e,t,A){if(typeof e==="string"){return F.converters.USVString(e,t,A)}if(p(e)){return F.converters.Blob(e,t,A,{strict:false})}if(ArrayBuffer.isView(e)||T.isArrayBuffer(e)){return F.converters.BufferSource(e,t,A)}if(Q.isFormDataLike(e)){return F.converters.FormData(e,t,A,{strict:false})}if(e instanceof URLSearchParams){return F.converters.URLSearchParams(e,t,A)}return F.converters.DOMString(e,t,A)};F.converters.BodyInit=function(e,t,A){if(e instanceof ReadableStream){return F.converters.ReadableStream(e,t,A)}if(e?.[Symbol.asyncIterator]){return e}return F.converters.XMLHttpRequestBodyInit(e,t,A)};F.converters.ResponseInit=F.dictionaryConverter([{key:"status",converter:F.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:F.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:F.converters.HeadersInit}]);e.exports={isNetworkError:isNetworkError,makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse,fromInnerResponse:fromInnerResponse}},6602:e=>{e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}},3095:(e,t,A)=>{const{Transform:r}=A(7075);const s=A(8522);const{redirectStatusSet:n,referrerPolicySet:o,badPortsSet:i}=A(5706);const{getGlobalOrigin:a}=A(8712);const{collectASequenceOfCodePoints:c,collectAnHTTPQuotedString:l,removeChars:g,parseMIMEType:E}=A(5192);const{performance:h}=A(643);const{isBlobLike:u,ReadableStreamFrom:Q,isValidHTTPToken:C,normalizedMethodRecordsBase:B}=A(8529);const I=A(4589);const{isUint8Array:d}=A(3429);const{webidl:f}=A(5162);let p=[];let w;try{w=A(7598);const e=["sha256","sha384","sha512"];p=w.getHashes().filter(t=>e.includes(t))}catch{}function responseURL(e){const t=e.urlList;const A=t.length;return A===0?null:t[A-1].toString()}function responseLocationURL(e,t){if(!n.has(e.status)){return null}let A=e.headersList.get("location",true);if(A!==null&&isValidHeaderValue(A)){if(!isValidEncodedURL(A)){A=normalizeBinaryStringToUtf8(A)}A=new URL(A,responseURL(e))}if(A&&!A.hash){A.hash=t}return A}function isValidEncodedURL(e){for(let t=0;t126||A<32){return false}}return true}function normalizeBinaryStringToUtf8(e){return Buffer.from(e,"binary").toString("utf8")}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&i.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&A<=126||A>=128&&A<=255)){return false}}return true}const m=C;function isValidHeaderValue(e){return(e[0]==="\t"||e[0]===" "||e[e.length-1]==="\t"||e[e.length-1]===" "||e.includes("\n")||e.includes("\r")||e.includes("\0"))===false}function setRequestReferrerPolicyOnRedirect(e,t){const{headersList:A}=t;const r=(A.get("referrer-policy",true)??"").split(",");let s="";if(r.length>0){for(let e=r.length;e!==0;e--){const t=r[e-1].trim();if(o.has(t)){s=t;break}}}if(s!==""){e.referrerPolicy=s}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t,true)}function appendRequestOriginHeader(e){let t=e.origin;if(t==="client"||t===undefined){return}if(e.responseTainting==="cors"||e.mode==="websocket"){e.headersList.append("origin",t,true)}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":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}e.headersList.append("origin",t,true)}}function coarsenTime(e,t){return e}function clampAndCoarsenConnectionTimingInfo(e,t,A){if(!e?.startTime||e.startTime4096){r=s}const n=sameOrigin(e,r);const o=isURLPotentiallyTrustworthy(r)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return s!=null?s:stripURLForReferrer(A,true);case"unsafe-url":return r;case"same-origin":return n?s:"no-referrer";case"origin-when-cross-origin":return n?r:s;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(r,t)){return r}if(isURLPotentiallyTrustworthy(r)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return s}case"strict-origin":case"no-referrer-when-downgrade":default:return o?"no-referrer":s}}function stripURLForReferrer(e,t){I(e instanceof URL);e=new URL(e);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(w===undefined){return true}const A=parseMetadata(t);if(A==="no metadata"){return true}if(A.length===0){return true}const r=getStrongestMetadata(A);const s=filterMetadataListByAlgorithm(A,r);for(const t of s){const A=t.algo;const r=t.hash;let s=w.createHash(A).update(e).digest("base64");if(s[s.length-1]==="="){if(s[s.length-2]==="="){s=s.slice(0,-2)}else{s=s.slice(0,-1)}}if(compareBase64Mixed(s,r)){return true}}return false}const y=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let A=true;for(const r of e.split(" ")){A=false;const e=y.exec(r);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const s=e.groups.algo.toLowerCase();if(p.includes(s)){t.push(e.groups)}}if(A===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let A=1;A{e=A;t=r});return{promise:A,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function normalizeMethod(e){return B[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}I(typeof t==="string");return t}const D=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function createIterator(e,t,A=0,r=1){class FastIterableIterator{#_;#z;#Z;constructor(e,t){this.#_=e;this.#z=t;this.#Z=0}next(){if(typeof this!=="object"||this===null||!(#_ in this)){throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`)}const s=this.#Z;const n=this.#_[t];const o=n.length;if(s>=o){return{value:undefined,done:true}}const{[A]:i,[r]:a}=n[s];this.#Z=s+1;let c;switch(this.#z){case"key":c=i;break;case"value":c=a;break;case"key+value":c=[i,a];break}return{value:c,done:false}}}delete FastIterableIterator.prototype.constructor;Object.setPrototypeOf(FastIterableIterator.prototype,D);Object.defineProperties(FastIterableIterator.prototype,{[Symbol.toStringTag]:{writable:false,enumerable:false,configurable:true,value:`${e} Iterator`},next:{writable:true,enumerable:true,configurable:true}});return function(e,t){return new FastIterableIterator(e,t)}}function iteratorMixin(e,t,A,r=0,s=1){const n=createIterator(e,A,r,s);const o={keys:{writable:true,enumerable:true,configurable:true,value:function keys(){f.brandCheck(this,t);return n(this,"key")}},values:{writable:true,enumerable:true,configurable:true,value:function values(){f.brandCheck(this,t);return n(this,"value")}},entries:{writable:true,enumerable:true,configurable:true,value:function entries(){f.brandCheck(this,t);return n(this,"key+value")}},forEach:{writable:true,enumerable:true,configurable:true,value:function forEach(A,r=globalThis){f.brandCheck(this,t);f.argumentLengthCheck(arguments,1,`${e}.forEach`);if(typeof A!=="function"){throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`)}for(const{0:e,1:t}of n(this,"key+value")){A.call(r,t,e,this)}}}};return Object.defineProperties(t.prototype,{...o,[Symbol.iterator]:{writable:true,enumerable:false,configurable:true,value:o.entries.value}})}async function fullyReadBody(e,t,A){const r=t;const s=A;let n;try{n=e.stream.getReader()}catch(e){s(e);return}try{r(await readAllBytes(n))}catch(e){s(e)}}function isReadableStreamLike(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}function readableStreamClose(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}}}const R=/[^\x00-\xFF]/;function isomorphicEncode(e){I(!R.test(e));return e}async function readAllBytes(e){const t=[];let A=0;while(true){const{done:r,value:s}=await e.read();if(r){return Buffer.concat(t,A)}if(!d(s)){throw new TypeError("Received non-Uint8Array chunk")}t.push(s);A+=s.length}}function urlIsLocal(e){I("protocol"in e);const t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function urlHasHttpsScheme(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 urlIsHttpHttpsScheme(e){I("protocol"in e);const t=e.protocol;return t==="http:"||t==="https:"}function simpleRangeHeaderValue(e,t){const A=e;if(!A.startsWith("bytes")){return"failure"}const r={position:5};if(t){c(e=>e==="\t"||e===" ",A,r)}if(A.charCodeAt(r.position)!==61){return"failure"}r.position++;if(t){c(e=>e==="\t"||e===" ",A,r)}const s=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},A,r);const n=s.length?Number(s):null;if(t){c(e=>e==="\t"||e===" ",A,r)}if(A.charCodeAt(r.position)!==45){return"failure"}r.position++;if(t){c(e=>e==="\t"||e===" ",A,r)}const o=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},A,r);const i=o.length?Number(o):null;if(r.positioni){return"failure"}return{rangeStartValue:n,rangeEndValue:i}}function buildContentRange(e,t,A){let r="bytes ";r+=isomorphicEncode(`${e}`);r+="-";r+=isomorphicEncode(`${t}`);r+="/";r+=isomorphicEncode(`${A}`);return r}class InflateStream extends r{#K;constructor(e){super();this.#K=e}_transform(e,t,A){if(!this._inflateStream){if(e.length===0){A();return}this._inflateStream=(e[0]&15)===8?s.createInflate(this.#K):s.createInflateRaw(this.#K);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,A)}_final(e){if(this._inflateStream){this._inflateStream.end();this._inflateStream=null}e()}}function createInflate(e){return new InflateStream(e)}function extractMimeType(e){let t=null;let A=null;let r=null;const s=getDecodeSplit("content-type",e);if(s===null){return"failure"}for(const e of s){const s=E(e);if(s==="failure"||s.essence==="*/*"){continue}r=s;if(r.essence!==A){t=null;if(r.parameters.has("charset")){t=r.parameters.get("charset")}A=r.essence}else if(!r.parameters.has("charset")&&t!==null){r.parameters.set("charset",t)}}if(r==null){return"failure"}return r}function gettingDecodingSplitting(e){const t=e;const A={position:0};const r=[];let s="";while(A.positione!=='"'&&e!==",",t,A);if(A.positione===9||e===32);r.push(s);s=""}return r}function getDecodeSplit(e,t){const A=t.get(e,true);if(A===null){return null}return gettingDecodingSplitting(A)}const k=new TextDecoder;function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=k.decode(e);return t}class EnvironmentSettingsObjectBase{get baseUrl(){return a()}get origin(){return this.baseUrl?.origin}policyContainer=makePolicyContainer()}class EnvironmentSettingsObject{settingsObject=new EnvironmentSettingsObjectBase}const S=new EnvironmentSettingsObject;e.exports={isAborted:isAborted,isCancelled:isCancelled,isValidEncodedURL:isValidEncodedURL,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:Q,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,clampAndCoarsenConnectionTimingInfo:clampAndCoarsenConnectionTimingInfo,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:C,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:u,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,iteratorMixin:iteratorMixin,createIterator:createIterator,isValidHeaderName:m,isValidHeaderValue:isValidHeaderValue,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,simpleRangeHeaderValue:simpleRangeHeaderValue,buildContentRange:buildContentRange,parseMetadata:parseMetadata,createInflate:createInflate,extractMimeType:extractMimeType,getDecodeSplit:getDecodeSplit,utf8DecodeBytes:utf8DecodeBytes,environmentSettingsObject:S}},5162:(e,t,A)=>{const{types:r,inspect:s}=A(7975);const{markAsUncloneable:n}=A(5919);const{toUSVString:o}=A(8529);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const A=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:A})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,A){if(A?.strict!==false){if(!(e instanceof t)){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}else{if(e?.[Symbol.toStringTag]!==t.prototype[Symbol.toStringTag]){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}};i.argumentLengthCheck=function({length:e},t,A){if(e{});i.util.ConvertToInt=function(e,t,A,r){let s;let n;if(t===64){s=Math.pow(2,53)-1;if(A==="unsigned"){n=0}else{n=Math.pow(-2,53)+1}}else if(A==="unsigned"){n=0;s=Math.pow(2,t)-1}else{n=Math.pow(-2,t)-1;s=Math.pow(2,t-1)-1}let o=Number(e);if(o===0){o=0}if(r?.enforceRange===true){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY){throw i.errors.exception({header:"Integer conversion",message:`Could not convert ${i.util.Stringify(e)} to an integer.`})}o=i.util.IntegerPart(o);if(os){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${s}, got ${o}.`})}return o}if(!Number.isNaN(o)&&r?.clamp===true){o=Math.min(Math.max(o,n),s);if(Math.floor(o)%2===0){o=Math.floor(o)}else{o=Math.ceil(o)}return o}if(Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY){return 0}o=i.util.IntegerPart(o);o=o%Math.pow(2,t);if(A==="signed"&&o>=Math.pow(2,t)-1){return o-Math.pow(2,t)}return o};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.util.Stringify=function(e){const t=i.util.Type(e);switch(t){case"Symbol":return`Symbol(${e.description})`;case"Object":return s(e);case"String":return`"${e}"`;default:return`${e}`}};i.sequenceConverter=function(e){return(t,A,r,s)=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:A,message:`${r} (${i.util.Stringify(t)}) is not iterable.`})}const n=typeof s==="function"?s():t?.[Symbol.iterator]?.();const o=[];let a=0;if(n===undefined||typeof n.next!=="function"){throw i.errors.exception({header:A,message:`${r} is not iterable.`})}while(true){const{done:t,value:s}=n.next();if(t){break}o.push(e(s,A,`${r}[${a++}]`))}return o}};i.recordConverter=function(e,t){return(A,s,n)=>{if(i.util.Type(A)!=="Object"){throw i.errors.exception({header:s,message:`${n} ("${i.util.Type(A)}") is not an Object.`})}const o={};if(!r.isProxy(A)){const r=[...Object.getOwnPropertyNames(A),...Object.getOwnPropertySymbols(A)];for(const i of r){const r=e(i,s,n);const a=t(A[i],s,n);o[r]=a}return o}const a=Reflect.ownKeys(A);for(const r of a){const i=Reflect.getOwnPropertyDescriptor(A,r);if(i?.enumerable){const i=e(r,s,n);const a=t(A[r],s,n);o[i]=a}}return o}};i.interfaceConverter=function(e){return(t,A,r,s)=>{if(s?.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:A,message:`Expected ${r} ("${i.util.Stringify(t)}") to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return(t,A,r)=>{const s=i.util.Type(t);const n={};if(s==="Null"||s==="Undefined"){return n}else if(s!=="Object"){throw i.errors.exception({header:A,message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const s of e){const{key:e,defaultValue:o,required:a,converter:c}=s;if(a===true){if(!Object.hasOwn(t,e)){throw i.errors.exception({header:A,message:`Missing required key "${e}".`})}}let l=t[e];const g=Object.hasOwn(s,"defaultValue");if(g&&l!==null){l??=o()}if(a||g||l!==undefined){l=c(l,A,`${r}.${e}`);if(s.allowedValues&&!s.allowedValues.includes(l)){throw i.errors.exception({header:A,message:`${l} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`})}n[e]=l}}return n}};i.nullableConverter=function(e){return(t,A,r)=>{if(t===null){return t}return e(t,A,r)}};i.converters.DOMString=function(e,t,A,r){if(e===null&&r?.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw i.errors.exception({header:t,message:`${A} is a symbol, which cannot be converted to a DOMString.`})}return String(e)};i.converters.ByteString=function(e,t,A){const r=i.converters.DOMString(e,t,A);for(let e=0;e255){throw new 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};i.converters.USVString=o;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e,t,A){const r=i.util.ConvertToInt(e,64,"signed",undefined,t,A);return r};i.converters["unsigned long long"]=function(e,t,A){const r=i.util.ConvertToInt(e,64,"unsigned",undefined,t,A);return r};i.converters["unsigned long"]=function(e,t,A){const r=i.util.ConvertToInt(e,32,"unsigned",undefined,t,A);return r};i.converters["unsigned short"]=function(e,t,A,r){const s=i.util.ConvertToInt(e,16,"unsigned",r,t,A);return s};i.converters.ArrayBuffer=function(e,t,A,s){if(i.util.Type(e)!=="Object"||!r.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:t,argument:`${A} ("${i.util.Stringify(e)}")`,types:["ArrayBuffer"]})}if(s?.allowShared===false&&r.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.resizable||e.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.TypedArray=function(e,t,A,s,n){if(i.util.Type(e)!=="Object"||!r.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:A,argument:`${s} ("${i.util.Stringify(e)}")`,types:[t.name]})}if(n?.allowShared===false&&r.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.DataView=function(e,t,A,s){if(i.util.Type(e)!=="Object"||!r.isDataView(e)){throw i.errors.exception({header:t,message:`${A} is not a DataView.`})}if(s?.allowShared===false&&r.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.BufferSource=function(e,t,A,s){if(r.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t,A,{...s,allowShared:false})}if(r.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor,t,A,{...s,allowShared:false})}if(r.isDataView(e)){return i.converters.DataView(e,t,A,{...s,allowShared:false})}throw i.errors.conversionFailed({prefix:t,argument:`${A} ("${i.util.Stringify(e)}")`,types:["BufferSource"]})};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},9944:e=>{function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},5660:(e,t,A)=>{const{staticPropertyDescriptors:r,readOperation:s,fireAProgressEvent:n}=A(857);const{kState:o,kError:i,kResult:a,kEvents:c,kAborted:l}=A(7192);const{webidl:g}=A(5162);const{kEnumerableProperty:E}=A(8529);class FileReader extends EventTarget{constructor(){super();this[o]="empty";this[a]=null;this[i]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer");e=g.converters.Blob(e,{strict:false});s(this,e,"ArrayBuffer")}readAsBinaryString(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString");e=g.converters.Blob(e,{strict:false});s(this,e,"BinaryString")}readAsText(e,t=undefined){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsText");e=g.converters.Blob(e,{strict:false});if(t!==undefined){t=g.converters.DOMString(t,"FileReader.readAsText","encoding")}s(this,e,"Text",t)}readAsDataURL(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL");e=g.converters.Blob(e,{strict:false});s(this,e,"DataURL")}abort(){if(this[o]==="empty"||this[o]==="done"){this[a]=null;return}if(this[o]==="loading"){this[o]="done";this[a]=null}this[l]=true;n("abort",this);if(this[o]!=="loading"){n("loadend",this)}}get readyState(){g.brandCheck(this,FileReader);switch(this[o]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){g.brandCheck(this,FileReader);return this[a]}get error(){g.brandCheck(this,FileReader);return this[i]}get onloadend(){g.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){g.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){g.brandCheck(this,FileReader);return this[c].error}set onerror(e){g.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){g.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){g.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){g.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){g.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){g.brandCheck(this,FileReader);return this[c].load}set onload(e){g.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){g.brandCheck(this,FileReader);return this[c].abort}set onabort(e){g.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:r,LOADING:r,DONE:r,readAsArrayBuffer:E,readAsBinaryString:E,readAsText:E,readAsDataURL:E,abort:E,readyState:E,result:E,error:E,onloadstart:E,onprogress:E,onload:E,onabort:E,onerror:E,onloadend:E,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:r,LOADING:r,DONE:r});e.exports={FileReader:FileReader}},4732:(e,t,A)=>{const{webidl:r}=A(5162);const s=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=r.converters.DOMString(e,"ProgressEvent constructor","type");t=r.converters.ProgressEventInit(t??{});super(e,t);this[s]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){r.brandCheck(this,ProgressEvent);return this[s].lengthComputable}get loaded(){r.brandCheck(this,ProgressEvent);return this[s].loaded}get total(){r.brandCheck(this,ProgressEvent);return this[s].total}}r.converters.ProgressEventInit=r.dictionaryConverter([{key:"lengthComputable",converter:r.converters.boolean,defaultValue:()=>false},{key:"loaded",converter:r.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:r.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:r.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:r.converters.boolean,defaultValue:()=>false},{key:"composed",converter:r.converters.boolean,defaultValue:()=>false}]);e.exports={ProgressEvent:ProgressEvent}},7192:e=>{e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},857:(e,t,A)=>{const{kState:r,kError:s,kResult:n,kAborted:o,kLastProgressEventFired:i}=A(7192);const{ProgressEvent:a}=A(4732);const{getEncoding:c}=A(9944);const{serializeAMimeType:l,parseMIMEType:g}=A(5192);const{types:E}=A(7975);const{StringDecoder:h}=A(3193);const{btoa:u}=A(4573);const Q={enumerable:true,writable:false,configurable:false};function readOperation(e,t,A,a){if(e[r]==="loading"){throw new DOMException("Invalid state","InvalidStateError")}e[r]="loading";e[n]=null;e[s]=null;const c=t.stream();const l=c.getReader();const g=[];let h=l.read();let u=true;(async()=>{while(!e[o]){try{const{done:c,value:Q}=await h;if(u&&!e[o]){queueMicrotask(()=>{fireAProgressEvent("loadstart",e)})}u=false;if(!c&&E.isUint8Array(Q)){g.push(Q);if((e[i]===undefined||Date.now()-e[i]>=50)&&!e[o]){e[i]=Date.now();queueMicrotask(()=>{fireAProgressEvent("progress",e)})}h=l.read()}else if(c){queueMicrotask(()=>{e[r]="done";try{const r=packageData(g,A,t.type,a);if(e[o]){return}e[n]=r;fireAProgressEvent("load",e)}catch(t){e[s]=t;fireAProgressEvent("error",e)}if(e[r]!=="loading"){fireAProgressEvent("loadend",e)}});break}}catch(t){if(e[o]){return}queueMicrotask(()=>{e[r]="done";e[s]=t;fireAProgressEvent("error",e);if(e[r]!=="loading"){fireAProgressEvent("loadend",e)}});break}}})()}function fireAProgressEvent(e,t){const A=new a(e,{bubbles:false,cancelable:false});t.dispatchEvent(A)}function packageData(e,t,A,r){switch(t){case"DataURL":{let t="data:";const r=g(A||"application/octet-stream");if(r!=="failure"){t+=l(r)}t+=";base64,";const s=new h("latin1");for(const A of e){t+=u(s.write(A))}t+=u(s.end());return t}case"Text":{let t="failure";if(r){t=c(r)}if(t==="failure"&&A){const e=g(A);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const A=new h("latin1");for(const r of e){t+=A.write(r)}t+=A.end();return t}}}function decode(e,t){const A=combineByteSequences(e);const r=BOMSniffing(A);let s=0;if(r!==null){t=r;s=r==="UTF-8"?3:2}const n=A.slice(s);return new TextDecoder(t).decode(n)}function BOMSniffing(e){const[t,A,r]=e;if(t===239&&A===187&&r===191){return"UTF-8"}else if(t===254&&A===255){return"UTF-16BE"}else if(t===255&&A===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce((e,t)=>e+t.byteLength,0);let A=0;return e.reduce((e,t)=>{e.set(t,A);A+=t.byteLength;return e},new Uint8Array(t))}e.exports={staticPropertyDescriptors:Q,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},6890:(e,t,A)=>{const{uid:r,states:s,sentCloseFrameState:n,emptyBuffer:o,opcodes:i}=A(6869);const{kReadyState:a,kSentClose:c,kByteParser:l,kReceivedClose:g,kResponse:E}=A(5457);const{fireEvent:h,failWebsocketConnection:u,isClosing:Q,isClosed:C,isEstablished:B,parseExtensions:I}=A(1226);const{channels:d}=A(1509);const{CloseEvent:f}=A(659);const{makeRequest:p}=A(6398);const{fetching:w}=A(8263);const{Headers:m,getHeadersList:y}=A(3257);const{getDecodeSplit:D}=A(3095);const{WebsocketFrameSend:R}=A(2129);let k;try{k=A(7598)}catch{}function establishWebSocketConnection(e,t,A,s,n,o){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const a=p({urlList:[i],client:A,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){const e=y(new m(o.headers));a.headersList=e}const c=k.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",c);a.headersList.append("sec-websocket-version","13");for(const e of t){a.headersList.append("sec-websocket-protocol",e)}const l="permessage-deflate; client_max_window_bits";a.headersList.append("sec-websocket-extensions",l);const g=w({request:a,useParallelQueue:true,dispatcher:o.dispatcher,processResponse(e){if(e.type==="error"||e.status!==101){u(s,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){u(s,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){u(s,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){u(s,'Server did not set Connection header to "upgrade".');return}const A=e.headersList.get("Sec-WebSocket-Accept");const o=k.createHash("sha1").update(c+r).digest("base64");if(A!==o){u(s,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const i=e.headersList.get("Sec-WebSocket-Extensions");let l;if(i!==null){l=I(i);if(!l.has("permessage-deflate")){u(s,"Sec-WebSocket-Extensions header does not match.");return}}const g=e.headersList.get("Sec-WebSocket-Protocol");if(g!==null){const e=D("sec-websocket-protocol",a.headersList);if(e===null||!e.includes(g)){u(s,"Protocol was not set in the opening handshake.");return}}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(d.open.hasSubscribers){d.open.publish({address:e.socket.address(),protocol:g,extensions:i})}n(e,l)}});return g}function closeWebSocketConnection(e,t,A,r){if(Q(e)||C(e)){}else if(!B(e)){u(e,"Connection was closed before it was established.");e[a]=s.CLOSING}else if(e[c]===n.NOT_SENT){e[c]=n.PROCESSING;const l=new R;if(t!==undefined&&A===undefined){l.frameData=Buffer.allocUnsafe(2);l.frameData.writeUInt16BE(t,0)}else if(t!==undefined&&A!==undefined){l.frameData=Buffer.allocUnsafe(2+r);l.frameData.writeUInt16BE(t,0);l.frameData.write(A,2,"utf-8")}else{l.frameData=o}const g=e[E].socket;g.write(l.createFrame(i.CLOSE));e[c]=n.SENT;e[a]=s.CLOSING}else{e[a]=s.CLOSING}}function onSocketData(e){if(!this.ws[l].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const{[E]:t}=e;t.socket.off("data",onSocketData);t.socket.off("close",onSocketClose);t.socket.off("error",onSocketError);const A=e[c]===n.SENT&&e[g];let r=1005;let o="";const i=e[l].closingInfo;if(i&&!i.error){r=i.code??1005;o=i.reason}else if(!e[g]){r=1006}e[a]=s.CLOSED;h("close",e,(e,t)=>new f(e,t),{wasClean:A,code:r,reason:o});if(d.close.hasSubscribers){d.close.publish({websocket:e,code:r,reason:o})}}function onSocketError(e){const{ws:t}=this;t[a]=s.CLOSING;if(d.socketError.hasSubscribers){d.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection,closeWebSocketConnection:closeWebSocketConnection}},6869:e=>{const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const A={enumerable:true,writable:false,configurable:false};const r={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const s={NOT_SENT:0,PROCESSING:1,SENT:2};const n={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const o=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const a=Buffer.allocUnsafe(0);const c={string:1,typedArray:2,arrayBuffer:3,blob:4};e.exports={uid:t,sentCloseFrameState:s,staticPropertyDescriptors:A,states:r,opcodes:n,maxUnsigned16Bit:o,parserStates:i,emptyBuffer:a,sendHints:c}},659:(e,t,A)=>{const{webidl:r}=A(5162);const{kEnumerableProperty:s}=A(8529);const{kConstruct:n}=A(5424);const{MessagePort:o}=A(5919);class MessageEvent extends Event{#X;constructor(e,t={}){if(e===n){super(arguments[1],arguments[2]);r.util.markAsUncloneable(this);return}const A="MessageEvent constructor";r.argumentLengthCheck(arguments,1,A);e=r.converters.DOMString(e,A,"type");t=r.converters.MessageEventInit(t,A,"eventInitDict");super(e,t);this.#X=t;r.util.markAsUncloneable(this)}get data(){r.brandCheck(this,MessageEvent);return this.#X.data}get origin(){r.brandCheck(this,MessageEvent);return this.#X.origin}get lastEventId(){r.brandCheck(this,MessageEvent);return this.#X.lastEventId}get source(){r.brandCheck(this,MessageEvent);return this.#X.source}get ports(){r.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#X.ports)){Object.freeze(this.#X.ports)}return this.#X.ports}initMessageEvent(e,t=false,A=false,s=null,n="",o="",i=null,a=[]){r.brandCheck(this,MessageEvent);r.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent");return new MessageEvent(e,{bubbles:t,cancelable:A,data:s,origin:n,lastEventId:o,source:i,ports:a})}static createFastMessageEvent(e,t){const A=new MessageEvent(n,e,t);A.#X=t;A.#X.data??=null;A.#X.origin??="";A.#X.lastEventId??="";A.#X.source??=null;A.#X.ports??=[];return A}}const{createFastMessageEvent:i}=MessageEvent;delete MessageEvent.createFastMessageEvent;class CloseEvent extends Event{#X;constructor(e,t={}){const A="CloseEvent constructor";r.argumentLengthCheck(arguments,1,A);e=r.converters.DOMString(e,A,"type");t=r.converters.CloseEventInit(t);super(e,t);this.#X=t;r.util.markAsUncloneable(this)}get wasClean(){r.brandCheck(this,CloseEvent);return this.#X.wasClean}get code(){r.brandCheck(this,CloseEvent);return this.#X.code}get reason(){r.brandCheck(this,CloseEvent);return this.#X.reason}}class ErrorEvent extends Event{#X;constructor(e,t){const A="ErrorEvent constructor";r.argumentLengthCheck(arguments,1,A);super(e,t);r.util.markAsUncloneable(this);e=r.converters.DOMString(e,A,"type");t=r.converters.ErrorEventInit(t??{});this.#X=t}get message(){r.brandCheck(this,ErrorEvent);return this.#X.message}get filename(){r.brandCheck(this,ErrorEvent);return this.#X.filename}get lineno(){r.brandCheck(this,ErrorEvent);return this.#X.lineno}get colno(){r.brandCheck(this,ErrorEvent);return this.#X.colno}get error(){r.brandCheck(this,ErrorEvent);return this.#X.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:s,origin:s,lastEventId:s,source:s,ports:s,initMessageEvent:s});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:s,code:s,wasClean:s});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:s,filename:s,lineno:s,colno:s,error:s});r.converters.MessagePort=r.interfaceConverter(o);r.converters["sequence"]=r.sequenceConverter(r.converters.MessagePort);const a=[{key:"bubbles",converter:r.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:r.converters.boolean,defaultValue:()=>false},{key:"composed",converter:r.converters.boolean,defaultValue:()=>false}];r.converters.MessageEventInit=r.dictionaryConverter([...a,{key:"data",converter:r.converters.any,defaultValue:()=>null},{key:"origin",converter:r.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:r.converters.DOMString,defaultValue:()=>""},{key:"source",converter:r.nullableConverter(r.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:r.converters["sequence"],defaultValue:()=>new Array(0)}]);r.converters.CloseEventInit=r.dictionaryConverter([...a,{key:"wasClean",converter:r.converters.boolean,defaultValue:()=>false},{key:"code",converter:r.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:r.converters.USVString,defaultValue:()=>""}]);r.converters.ErrorEventInit=r.dictionaryConverter([...a,{key:"message",converter:r.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:r.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:r.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:r.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:r.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent,createFastMessageEvent:i}},2129:(e,t,A)=>{const{maxUnsigned16Bit:r}=A(6869);const s=16386;let n;let o=null;let i=s;try{n=A(7598)}catch{n={randomFillSync:function randomFillSync(e,t,A){for(let t=0;tr){o+=8;n=127}else if(s>125){o+=2;n=126}const i=Buffer.allocUnsafe(s+o);i[0]=i[1]=0;i[0]|=128;i[0]=(i[0]&240)+e; -/*! ws. MIT License. Einar Otto Stangvik */i[o-4]=A[0];i[o-3]=A[1];i[o-2]=A[2];i[o-1]=A[3];i[1]=n;if(n===126){i.writeUInt16BE(s,2)}else if(n===127){i[2]=i[3]=0;i.writeUIntBE(s,4,6)}i[1]|=128;for(let e=0;e{const{createInflateRaw:r,Z_DEFAULT_WINDOWBITS:s}=A(8522);const{isValidClientWindowBits:n}=A(1226);const{MessageSizeExceededError:o}=A(9934);const i=Buffer.from([0,0,255,255]);const a=Symbol("kBuffer");const c=Symbol("kLength");class PerMessageDeflate{#j;#Q={};#$=0;constructor(e,t){this.#Q.serverNoContextTakeover=e.has("server_no_context_takeover");this.#Q.serverMaxWindowBits=e.get("server_max_window_bits");this.#$=t.maxPayloadSize}decompress(e,t,A){if(!this.#j){let e=s;if(this.#Q.serverMaxWindowBits){if(!n(this.#Q.serverMaxWindowBits)){A(new Error("Invalid server_max_window_bits"));return}e=Number.parseInt(this.#Q.serverMaxWindowBits)}try{this.#j=r({windowBits:e})}catch(e){A(e);return}this.#j[a]=[];this.#j[c]=0;this.#j.on("data",e=>{this.#j[c]+=e.length;if(this.#$>0&&this.#j[c]>this.#$){A(new o);this.#j.removeAllListeners();this.#j.destroy();this.#j=null;return}this.#j[a].push(e)});this.#j.on("error",e=>{this.#j=null;A(e)})}this.#j.write(e);if(t){this.#j.write(i)}this.#j.flush(()=>{if(!this.#j){return}const e=Buffer.concat(this.#j[a],this.#j[c]);this.#j[a].length=0;this.#j[c]=0;A(null,e)})}}e.exports={PerMessageDeflate:PerMessageDeflate}},5183:(e,t,A)=>{const{Writable:r}=A(7075);const s=A(4589);const{parserStates:n,opcodes:o,states:i,emptyBuffer:a,sentCloseFrameState:c}=A(6869);const{kReadyState:l,kSentClose:g,kResponse:E,kReceivedClose:h}=A(5457);const{channels:u}=A(1509);const{isValidStatusCode:Q,isValidOpcode:C,failWebsocketConnection:B,websocketMessageReceived:I,utf8Decode:d,isControlFrame:f,isTextBinaryFrame:p,isContinuationFrame:w}=A(1226);const{WebsocketFrameSend:m}=A(2129);const{closeWebSocketConnection:y}=A(6890);const{PerMessageDeflate:D}=A(7350);const{MessageSizeExceededError:R}=A(9934);function failWebsocketConnectionWithCode(e,t,A){y(e,t,A,Buffer.byteLength(A));B(e,A)}class ByteParser extends r{#ee=[];#te=0;#Ae=0;#re=false;#w=n.INFO;#se={};#ne=[];#oe;#ie;#$;constructor(e,t,A={}){super();this.ws=e;this.#oe=t==null?new Map:t;this.#ie=A.maxFragments??0;this.#$=A.maxPayloadSize??0;if(this.#oe.has("permessage-deflate")){this.#oe.set("permessage-deflate",new D(t,A))}}_write(e,t,A){this.#ee.push(e);this.#Ae+=e.length;this.#re=true;this.run(A)}#ae(){if(this.#$>0&&!f(this.#se.opcode)&&this.#se.payloadLength+this.#te>this.#$){failWebsocketConnectionWithCode(this.ws,1009,"Payload size exceeds maximum allowed size");return false}return true}run(e){while(this.#re){if(this.#w===n.INFO){if(this.#Ae<2){return e()}const t=this.consume(2);const A=(t[0]&128)!==0;const r=t[0]&15;const s=(t[1]&128)===128;const i=!A&&r!==o.CONTINUATION;const a=t[1]&127;const c=t[0]&64;const l=t[0]&32;const g=t[0]&16;if(!C(r)){B(this.ws,"Invalid opcode received");return e()}if(s){B(this.ws,"Frame cannot be masked");return e()}if(c!==0&&!this.#oe.has("permessage-deflate")){B(this.ws,"Expected RSV1 to be clear.");return}if(l!==0||g!==0){B(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(i&&!p(r)){B(this.ws,"Invalid frame type was fragmented.");return}if(p(r)&&this.#ne.length>0){B(this.ws,"Expected continuation frame");return}if(this.#se.fragmented&&i){B(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((a>125||i)&&f(r)){B(this.ws,"Control frame either too large or fragmented");return}if(w(r)&&this.#ne.length===0&&!this.#se.compressed){B(this.ws,"Unexpected continuation frame");return}if(a<=125){this.#se.payloadLength=a;this.#w=n.READ_DATA;if(!this.#ae()){return}}else if(a===126){this.#w=n.PAYLOADLENGTH_16}else if(a===127){this.#w=n.PAYLOADLENGTH_64}if(p(r)){this.#se.binaryType=r;this.#se.compressed=c!==0}this.#se.opcode=r;this.#se.masked=s;this.#se.fin=A;this.#se.fragmented=i}else if(this.#w===n.PAYLOADLENGTH_16){if(this.#Ae<2){return e()}const t=this.consume(2);this.#se.payloadLength=t.readUInt16BE(0);this.#w=n.READ_DATA;if(!this.#ae()){return}}else if(this.#w===n.PAYLOADLENGTH_64){if(this.#Ae<8){return e()}const t=this.consume(8);const A=t.readUInt32BE(0);const r=t.readUInt32BE(4);if(A!==0||r>2**31-1){B(this.ws,"Received payload length > 2^31 bytes.");return}this.#se.payloadLength=r;this.#w=n.READ_DATA;if(!this.#ae()){return}}else if(this.#w===n.READ_DATA){if(this.#Ae{if(this.destroyed)return;this.#re=true;this.run(e)});return}}else{if(!this.#se.compressed){if(!this.writeFragments(t)){return}if(this.#$>0&&this.#te>this.#$){failWebsocketConnectionWithCode(this.ws,1009,(new R).message);return}if(!this.#se.fragmented&&this.#se.fin){I(this.ws,this.#se.binaryType,this.consumeFragments())}this.#w=n.INFO}else{this.#oe.get("permessage-deflate").decompress(t,this.#se.fin,(t,A)=>{if(t){const e=t instanceof R?1009:1007;failWebsocketConnectionWithCode(this.ws,e,t.message);return}if(!this.writeFragments(A)){return}if(this.#$>0&&this.#te>this.#$){failWebsocketConnectionWithCode(this.ws,1009,(new R).message);return}if(!this.#se.fin){this.#w=n.INFO;this.#re=true;this.run(e);return}I(this.ws,this.#se.binaryType,this.consumeFragments());this.#re=true;this.#w=n.INFO;this.run(e)});this.#re=false;break}}}}}consume(e){if(e>this.#Ae){throw new Error("Called consume() before buffers satiated.")}else if(e===0){return a}if(this.#ee[0].length===e){this.#Ae-=this.#ee[0].length;return this.#ee.shift()}const t=Buffer.allocUnsafe(e);let A=0;while(A!==e){const r=this.#ee[0];const{length:s}=r;if(s+A===e){t.set(this.#ee.shift(),A);break}else if(s+A>e){t.set(r.subarray(0,e-A),A);this.#ee[0]=r.subarray(e-A);break}else{t.set(this.#ee.shift(),A);A+=r.length}}this.#Ae-=e;return t}writeFragments(e){if(this.#ie>0&&this.#ne.length===this.#ie){failWebsocketConnectionWithCode(this.ws,1008,"Too many message fragments");return false}this.#te+=e.length;this.#ne.push(e);return true}consumeFragments(){const e=this.#ne;if(e.length===1){this.#te=0;return e.shift()}const t=Buffer.concat(e,this.#te);this.#ne=[];this.#te=0;return t}parseCloseBody(e){s(e.length!==1);let t;if(e.length>=2){t=e.readUInt16BE(0)}if(t!==undefined&&!Q(t)){return{code:1002,reason:"Invalid status code",error:true}}let A=e.subarray(2);if(A[0]===239&&A[1]===187&&A[2]===191){A=A.subarray(3)}try{A=d(A)}catch{return{code:1007,reason:"Invalid UTF-8",error:true}}return{code:t,reason:A,error:false}}parseControlFrame(e){const{opcode:t,payloadLength:A}=this.#se;if(t===o.CLOSE){if(A===1){B(this.ws,"Received close frame with a 1-byte body.");return false}this.#se.closeInfo=this.parseCloseBody(e);if(this.#se.closeInfo.error){const{code:e,reason:t}=this.#se.closeInfo;y(this.ws,e,t,t.length);B(this.ws,t);return false}if(this.ws[g]!==c.SENT){let e=a;if(this.#se.closeInfo.code){e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#se.closeInfo.code,0)}const t=new m(e);this.ws[E].socket.write(t.createFrame(o.CLOSE),e=>{if(!e){this.ws[g]=c.SENT}})}this.ws[l]=i.CLOSING;this.ws[h]=true;return false}else if(t===o.PING){if(!this.ws[h]){const t=new m(e);this.ws[E].socket.write(t.createFrame(o.PONG));if(u.ping.hasSubscribers){u.ping.publish({payload:e})}}}else if(t===o.PONG){if(u.pong.hasSubscribers){u.pong.publish({payload:e})}}return true}get closingInfo(){return this.#se.closeInfo}}e.exports={ByteParser:ByteParser}},9051:(e,t,A)=>{const{WebsocketFrameSend:r}=A(2129);const{opcodes:s,sendHints:n}=A(6869);const o=A(4007);const i=Buffer[Symbol.species];class SendQueue{#ce=new o;#le=false;#ge;constructor(e){this.#ge=e}add(e,t,A){if(A!==n.blob){const r=createFrame(e,A);if(!this.#le){this.#ge.write(r,t)}else{const e={promise:null,callback:t,frame:r};this.#ce.push(e)}return}const r={promise:e.arrayBuffer().then(e=>{r.promise=null;r.frame=createFrame(e,A)}),callback:t,frame:null};this.#ce.push(r);if(!this.#le){this.#Ee()}}async#Ee(){this.#le=true;const e=this.#ce;while(!e.isEmpty()){const t=e.shift();if(t.promise!==null){await t.promise}this.#ge.write(t.frame,t.callback);t.callback=t.frame=null}this.#le=false}}function createFrame(e,t){return new r(toBuffer(e,t)).createFrame(t===n.string?s.TEXT:s.BINARY)}function toBuffer(e,t){switch(t){case n.string:return Buffer.from(e);case n.arrayBuffer:case n.blob:return new i(e);case n.typedArray:return new i(e.buffer,e.byteOffset,e.byteLength)}}e.exports={SendQueue:SendQueue}},5457:e=>{e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},1226:(e,t,A)=>{const{kReadyState:r,kController:s,kResponse:n,kBinaryType:o,kWebSocketURL:i}=A(5457);const{states:a,opcodes:c}=A(6869);const{ErrorEvent:l,createFastMessageEvent:g}=A(659);const{isUtf8:E}=A(4573);const{collectASequenceOfCodePointsFast:h,removeHTTPWhitespace:u}=A(5192);function isConnecting(e){return e[r]===a.CONNECTING}function isEstablished(e){return e[r]===a.OPEN}function isClosing(e){return e[r]===a.CLOSING}function isClosed(e){return e[r]===a.CLOSED}function fireEvent(e,t,A=(e,t)=>new Event(e,t),r={}){const s=A(e,r);t.dispatchEvent(s)}function websocketMessageReceived(e,t,A){if(e[r]!==a.OPEN){return}let s;if(t===c.TEXT){try{s=B(A)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[o]==="blob"){s=new Blob([A])}else{s=toArrayBuffer(A)}}fireEvent("message",e,g,{origin:e[i].origin,data:s})}function toArrayBuffer(e){if(e.byteLength===e.buffer.byteLength){return e.buffer}return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function isValidSubprotocol(e){if(e.length===0){return false}for(let t=0;t126||A===34||A===40||A===41||A===44||A===47||A===58||A===59||A===60||A===61||A===62||A===63||A===64||A===91||A===92||A===93||A===123||A===125){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[s]:A,[n]:r}=e;A.abort();if(r?.socket&&!r.socket.destroyed){r.socket.destroy()}if(t){fireEvent("error",e,(e,t)=>new l(e,t),{error:new Error(t),message:t})}}function isControlFrame(e){return e===c.CLOSE||e===c.PING||e===c.PONG}function isContinuationFrame(e){return e===c.CONTINUATION}function isTextBinaryFrame(e){return e===c.TEXT||e===c.BINARY}function isValidOpcode(e){return isTextBinaryFrame(e)||isContinuationFrame(e)||isControlFrame(e)}function parseExtensions(e){const t={position:0};const A=new Map;while(t.position57){return false}}const t=Number.parseInt(e,10);return t>=8&&t<=15}const Q=typeof process.versions.icu==="string";const C=Q?new TextDecoder("utf-8",{fatal:true}):undefined;const B=Q?C.decode.bind(C):function(e){if(E(e)){return e.toString("utf-8")}throw new TypeError("Invalid utf-8 received.")};e.exports={isConnecting:isConnecting,isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived,utf8Decode:B,isControlFrame:isControlFrame,isContinuationFrame:isContinuationFrame,isTextBinaryFrame:isTextBinaryFrame,isValidOpcode:isValidOpcode,parseExtensions:parseExtensions,isValidClientWindowBits:isValidClientWindowBits}},9708:(e,t,A)=>{const{webidl:r}=A(5162);const{URLSerializer:s}=A(5192);const{environmentSettingsObject:n}=A(3095);const{staticPropertyDescriptors:o,states:i,sentCloseFrameState:a,sendHints:c}=A(6869);const{kWebSocketURL:l,kReadyState:g,kController:E,kBinaryType:h,kResponse:u,kSentClose:Q,kByteParser:C}=A(5457);const{isConnecting:B,isEstablished:I,isClosing:d,isValidSubprotocol:f,fireEvent:p}=A(1226);const{establishWebSocketConnection:w,closeWebSocketConnection:m}=A(6890);const{ByteParser:y}=A(5183);const{kEnumerableProperty:D,isBlobLike:R}=A(8529);const{getGlobalDispatcher:k}=A(4498);const{types:S}=A(7975);const{ErrorEvent:b,CloseEvent:F}=A(659);const{SendQueue:N}=A(9051);class WebSocket extends EventTarget{#H={open:null,error:null,close:null,message:null};#he=0;#ue="";#oe="";#Qe;constructor(e,t=[]){super();r.util.markAsUncloneable(this);const A="WebSocket constructor";r.argumentLengthCheck(arguments,1,A);const s=r.converters["DOMString or sequence or WebSocketInit"](t,A,"options");e=r.converters.USVString(e,A,"url");t=s.protocols;const o=n.settingsObject.baseUrl;let i;try{i=new URL(e,o)}catch(e){throw new DOMException(e,"SyntaxError")}if(i.protocol==="http:"){i.protocol="ws:"}else if(i.protocol==="https:"){i.protocol="wss:"}if(i.protocol!=="ws:"&&i.protocol!=="wss:"){throw new DOMException(`Expected a ws: or wss: protocol, got ${i.protocol}`,"SyntaxError")}if(i.hash||i.href.endsWith("#")){throw new DOMException("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map(e=>e.toLowerCase())).size){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every(e=>f(e))){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[l]=new URL(i.href);const c=n.settingsObject;this[E]=w(i,t,c,this,(e,t)=>this.#Ce(e,t),s);this[g]=WebSocket.CONNECTING;this[Q]=a.NOT_SENT;this[h]="blob"}close(e=undefined,t=undefined){r.brandCheck(this,WebSocket);const A="WebSocket.close";if(e!==undefined){e=r.converters["unsigned short"](e,A,"code",{clamp:true})}if(t!==undefined){t=r.converters.USVString(t,A,"reason")}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new DOMException("invalid code","InvalidAccessError")}}let s=0;if(t!==undefined){s=Buffer.byteLength(t);if(s>123){throw new DOMException(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError")}}m(this,e,t,s)}send(e){r.brandCheck(this,WebSocket);const t="WebSocket.send";r.argumentLengthCheck(arguments,1,t);e=r.converters.WebSocketSendData(e,t,"data");if(B(this)){throw new DOMException("Sent before connected.","InvalidStateError")}if(!I(this)||d(this)){return}if(typeof e==="string"){const t=Buffer.byteLength(e);this.#he+=t;this.#Qe.add(e,()=>{this.#he-=t},c.string)}else if(S.isArrayBuffer(e)){this.#he+=e.byteLength;this.#Qe.add(e,()=>{this.#he-=e.byteLength},c.arrayBuffer)}else if(ArrayBuffer.isView(e)){this.#he+=e.byteLength;this.#Qe.add(e,()=>{this.#he-=e.byteLength},c.typedArray)}else if(R(e)){this.#he+=e.size;this.#Qe.add(e,()=>{this.#he-=e.size},c.blob)}}get readyState(){r.brandCheck(this,WebSocket);return this[g]}get bufferedAmount(){r.brandCheck(this,WebSocket);return this.#he}get url(){r.brandCheck(this,WebSocket);return s(this[l])}get extensions(){r.brandCheck(this,WebSocket);return this.#oe}get protocol(){r.brandCheck(this,WebSocket);return this.#ue}get onopen(){r.brandCheck(this,WebSocket);return this.#H.open}set onopen(e){r.brandCheck(this,WebSocket);if(this.#H.open){this.removeEventListener("open",this.#H.open)}if(typeof e==="function"){this.#H.open=e;this.addEventListener("open",e)}else{this.#H.open=null}}get onerror(){r.brandCheck(this,WebSocket);return this.#H.error}set onerror(e){r.brandCheck(this,WebSocket);if(this.#H.error){this.removeEventListener("error",this.#H.error)}if(typeof e==="function"){this.#H.error=e;this.addEventListener("error",e)}else{this.#H.error=null}}get onclose(){r.brandCheck(this,WebSocket);return this.#H.close}set onclose(e){r.brandCheck(this,WebSocket);if(this.#H.close){this.removeEventListener("close",this.#H.close)}if(typeof e==="function"){this.#H.close=e;this.addEventListener("close",e)}else{this.#H.close=null}}get onmessage(){r.brandCheck(this,WebSocket);return this.#H.message}set onmessage(e){r.brandCheck(this,WebSocket);if(this.#H.message){this.removeEventListener("message",this.#H.message)}if(typeof e==="function"){this.#H.message=e;this.addEventListener("message",e)}else{this.#H.message=null}}get binaryType(){r.brandCheck(this,WebSocket);return this[h]}set binaryType(e){r.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[h]="blob"}else{this[h]=e}}#Ce(e,t){this[u]=e;const A=this[E]?.dispatcher?.webSocketOptions;const r=A?.maxFragments;const s=A?.maxPayloadSize;const n=new y(this,t,{maxFragments:r,maxPayloadSize:s});n.on("drain",onParserDrain);n.on("error",onParserError.bind(this));e.socket.ws=this;this[C]=n;this.#Qe=new N(e.socket);this[g]=i.OPEN;const o=e.headersList.get("sec-websocket-extensions");if(o!==null){this.#oe=o}const a=e.headersList.get("sec-websocket-protocol");if(a!==null){this.#ue=a}p("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=i.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=i.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=i.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=i.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o,url:D,readyState:D,bufferedAmount:D,onopen:D,onerror:D,onclose:D,close:D,onmessage:D,binaryType:D,send:D,extensions:D,protocol:D,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o});r.converters["sequence"]=r.sequenceConverter(r.converters.DOMString);r.converters["DOMString or sequence"]=function(e,t,A){if(r.util.Type(e)==="Object"&&Symbol.iterator in e){return r.converters["sequence"](e)}return r.converters.DOMString(e,t,A)};r.converters.WebSocketInit=r.dictionaryConverter([{key:"protocols",converter:r.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:r.converters.any,defaultValue:()=>k()},{key:"headers",converter:r.nullableConverter(r.converters.HeadersInit)}]);r.converters["DOMString or sequence or WebSocketInit"]=function(e){if(r.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return r.converters.WebSocketInit(e)}return{protocols:r.converters["DOMString or sequence"](e)}};r.converters.WebSocketSendData=function(e){if(r.util.Type(e)==="Object"){if(R(e)){return r.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||S.isArrayBuffer(e)){return r.converters.BufferSource(e)}}return r.converters.USVString(e)};function onParserDrain(){this.ws[u].socket.resume()}function onParserError(e){let t;let A;if(e instanceof F){t=e.reason;A=e.code}else{t=e.message}p("error",this,()=>new b("error",{error:e,message:t}));m(this,A)}e.exports={WebSocket:WebSocket}},2613:t=>{t.exports=e(import.meta.url)("assert")},4434:t=>{t.exports=e(import.meta.url)("events")},8611:t=>{t.exports=e(import.meta.url)("http")},5692:t=>{t.exports=e(import.meta.url)("https")},9278:t=>{t.exports=e(import.meta.url)("net")},4589:t=>{t.exports=e(import.meta.url)("node:assert")},6698:t=>{t.exports=e(import.meta.url)("node:async_hooks")},4573:t=>{t.exports=e(import.meta.url)("node:buffer")},7540:t=>{t.exports=e(import.meta.url)("node:console")},7598:t=>{t.exports=e(import.meta.url)("node:crypto")},3053:t=>{t.exports=e(import.meta.url)("node:diagnostics_channel")},610:t=>{t.exports=e(import.meta.url)("node:dns")},8474:t=>{t.exports=e(import.meta.url)("node:events")},7067:t=>{t.exports=e(import.meta.url)("node:http")},2467:t=>{t.exports=e(import.meta.url)("node:http2")},7030:t=>{t.exports=e(import.meta.url)("node:net")},643:t=>{t.exports=e(import.meta.url)("node:perf_hooks")},1792:t=>{t.exports=e(import.meta.url)("node:querystring")},7075:t=>{t.exports=e(import.meta.url)("node:stream")},1692:t=>{t.exports=e(import.meta.url)("node:tls")},3136:t=>{t.exports=e(import.meta.url)("node:url")},7975:t=>{t.exports=e(import.meta.url)("node:util")},3429:t=>{t.exports=e(import.meta.url)("node:util/types")},5919:t=>{t.exports=e(import.meta.url)("node:worker_threads")},8522:t=>{t.exports=e(import.meta.url)("node:zlib")},3193:t=>{t.exports=e(import.meta.url)("string_decoder")},4756:t=>{t.exports=e(import.meta.url)("tls")},9023:t=>{t.exports=e(import.meta.url)("util")}};var A={};function __nccwpck_require__(e){var r=A[e];if(r!==undefined){return r.exports}var s=A[e]={exports:{}};var n=true;try{t[e](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete A[e]}return s.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=decodeURIComponent(new URL(".",import.meta.url).pathname).slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(A,r){if(r&1)A=this(A);if(r&8)return A;if(typeof A==="object"&&A){if(r&4&&A.__esModule)return A;if(r&16&&typeof A.then==="function")return A}var s=Object.create(null);__nccwpck_require__.r(s);var n={};t=t||[null,e({}),e([]),e(e)];for(var o=r&2&&A;typeof o=="object"&&!~t.indexOf(o);o=e(o)){Object.getOwnPropertyNames(o).forEach(e=>n[e]=()=>A[e])}n["default"]=()=>A;__nccwpck_require__.d(s,n);return s}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var A in t){if(__nccwpck_require__.o(t,A)&&!__nccwpck_require__.o(e,A)){Object.defineProperty(e,A,{enumerable:true,get:t[A]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();var r={};const s=e(import.meta.url)("os");function utils_toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}function utils_toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}function command_issueCommand(e,t,A){const r=new Command(e,t,A);process.stdout.write(r.toString()+s.EOL)}function command_issue(e,t=""){command_issueCommand(e,{},t)}const n="::";class Command{constructor(e,t,A){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=A}toString(){let e=n+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const A in this.properties){if(this.properties.hasOwnProperty(A)){const r=this.properties[A];if(r){if(t){t=false}else{e+=","}e+=`${A}=${escapeProperty(r)}`}}}}e+=`${n}${escapeData(this.message)}`;return e}}function escapeData(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}const o=e(import.meta.url)("crypto");const i=e(import.meta.url)("fs");function file_command_issueFileCommand(e,t){const A=process.env[`GITHUB_${e}`];if(!A){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!i.existsSync(A)){throw new Error(`Missing file at path: ${A}`)}i.appendFileSync(A,`${utils_toCommandValue(t)}${s.EOL}`,{encoding:"utf8"})}function file_command_prepareKeyValueMessage(e,t){const A=`ghadelimiter_${o.randomUUID()}`;const r=utils_toCommandValue(t);if(e.includes(A)){throw new Error(`Unexpected input: name should not contain the delimiter "${A}"`)}if(r.includes(A)){throw new Error(`Unexpected input: value should not contain the delimiter "${A}"`)}return`${e}<<${A}${s.EOL}${r}${s.EOL}${A}`}const a=e(import.meta.url)("path");var c=__nccwpck_require__(8611);var l=__nccwpck_require__.t(c,2);var g=__nccwpck_require__(5692);var E=__nccwpck_require__.t(g,2);function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const A=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(A){try{return new DecodedURL(A)}catch(e){if(!A.startsWith("http://")&&!A.startsWith("https://"))return new DecodedURL(`http://${A}`)}}else{return undefined}}function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const A=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!A){return false}let r;if(e.port){r=Number(e.port)}else if(e.protocol==="http:"){r=80}else if(e.protocol==="https:"){r=443}const s=[e.hostname.toUpperCase()];if(typeof r==="number"){s.push(`${s[0]}:${r}`)}for(const e of A.split(",").map(e=>e.trim().toUpperCase()).filter(e=>e)){if(e==="*"||s.some(t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`))){return true}}return false}function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}class DecodedURL extends URL{constructor(e,t){super(e,t);this._decodedUsername=decodeURIComponent(super.username);this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}var h=__nccwpck_require__(7013);var u=__nccwpck_require__(9309);var Q=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};var C;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(C||(C={}));var B;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(B||(B={}));var I;(function(e){e["ApplicationJson"]="application/json"})(I||(I={}));function lib_getProxyUrl(e){const t=pm.getProxyUrl(new URL(e));return t?t.href:""}const d=[C.MovedPermanently,C.ResourceMoved,C.SeeOther,C.TemporaryRedirect,C.PermanentRedirect];const f=[C.BadGateway,C.ServiceUnavailable,C.GatewayTimeout];const p=["OPTIONS","GET","DELETE","HEAD"];const w=10;const m=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}class HttpClientResponse{constructor(e){this.message=e}readBody(){return Q(this,void 0,void 0,function*(){return new Promise(e=>Q(this,void 0,void 0,function*(){let t=Buffer.alloc(0);this.message.on("data",e=>{t=Buffer.concat([t,e])});this.message.on("end",()=>{e(t.toString())})}))})}readBodyBuffer(){return Q(this,void 0,void 0,function*(){return new Promise(e=>Q(this,void 0,void 0,function*(){const t=[];this.message.on("data",e=>{t.push(e)});this.message.on("end",()=>{e(Buffer.concat(t))})}))})}}function isHttps(e){const t=new URL(e);return t.protocol==="https:"}class lib_HttpClient{constructor(e,t,A){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=this._getUserAgentWithOrchestrationId(e);this.handlers=t||[];this.requestOptions=A;if(A){if(A.ignoreSslError!=null){this._ignoreSslError=A.ignoreSslError}this._socketTimeout=A.socketTimeout;if(A.allowRedirects!=null){this._allowRedirects=A.allowRedirects}if(A.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=A.allowRedirectDowngrade}if(A.maxRedirects!=null){this._maxRedirects=Math.max(A.maxRedirects,0)}if(A.keepAlive!=null){this._keepAlive=A.keepAlive}if(A.allowRetries!=null){this._allowRetries=A.allowRetries}if(A.maxRetries!=null){this._maxRetries=A.maxRetries}}}options(e,t){return Q(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return Q(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return Q(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,A){return Q(this,void 0,void 0,function*(){return this.request("POST",e,t,A||{})})}patch(e,t,A){return Q(this,void 0,void 0,function*(){return this.request("PATCH",e,t,A||{})})}put(e,t,A){return Q(this,void 0,void 0,function*(){return this.request("PUT",e,t,A||{})})}head(e,t){return Q(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,A,r){return Q(this,void 0,void 0,function*(){return this.request(e,t,A,r)})}getJson(e){return Q(this,arguments,void 0,function*(e,t={}){t[B.Accept]=this._getExistingOrDefaultHeader(t,B.Accept,I.ApplicationJson);const A=yield this.get(e,t);return this._processResponse(A,this.requestOptions)})}postJson(e,t){return Q(this,arguments,void 0,function*(e,t,A={}){const r=JSON.stringify(t,null,2);A[B.Accept]=this._getExistingOrDefaultHeader(A,B.Accept,I.ApplicationJson);A[B.ContentType]=this._getExistingOrDefaultContentTypeHeader(A,I.ApplicationJson);const s=yield this.post(e,r,A);return this._processResponse(s,this.requestOptions)})}putJson(e,t){return Q(this,arguments,void 0,function*(e,t,A={}){const r=JSON.stringify(t,null,2);A[B.Accept]=this._getExistingOrDefaultHeader(A,B.Accept,I.ApplicationJson);A[B.ContentType]=this._getExistingOrDefaultContentTypeHeader(A,I.ApplicationJson);const s=yield this.put(e,r,A);return this._processResponse(s,this.requestOptions)})}patchJson(e,t){return Q(this,arguments,void 0,function*(e,t,A={}){const r=JSON.stringify(t,null,2);A[B.Accept]=this._getExistingOrDefaultHeader(A,B.Accept,I.ApplicationJson);A[B.ContentType]=this._getExistingOrDefaultContentTypeHeader(A,I.ApplicationJson);const s=yield this.patch(e,r,A);return this._processResponse(s,this.requestOptions)})}request(e,t,A,r){return Q(this,void 0,void 0,function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const s=new URL(t);let n=this._prepareRequest(e,s,r);const o=this._allowRetries&&p.includes(e)?this._maxRetries+1:1;let i=0;let a;do{a=yield this.requestRaw(n,A);if(a&&a.message&&a.message.statusCode===C.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(a)){e=t;break}}if(e){return e.handleAuthentication(this,n,A)}else{return a}}let t=this._maxRedirects;while(a.message.statusCode&&d.includes(a.message.statusCode)&&this._allowRedirects&&t>0){const o=a.message.headers["location"];if(!o){break}const i=new URL(o);if(s.protocol==="https:"&&s.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield a.readBody();if(i.hostname!==s.hostname){for(const e in r){if(e.toLowerCase()==="authorization"){delete r[e]}}}n=this._prepareRequest(e,i,r);a=yield this.requestRaw(n,A);t--}if(!a.message.statusCode||!f.includes(a.message.statusCode)){return a}i+=1;if(i{function callbackForResult(e,t){if(e){r(e)}else if(!t){r(new Error("Unknown error"))}else{A(t)}}this.requestRawWithCallback(e,t,callbackForResult)})})}requestRawWithCallback(e,t,A){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let r=false;function handleResult(e,t){if(!r){r=true;A(e,t)}}const s=e.httpModule.request(e.options,e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)});let n;s.on("socket",e=>{n=e});s.setTimeout(this._socketTimeout||3*6e4,()=>{if(n){n.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))});s.on("error",function(e){handleResult(e)});if(t&&typeof t==="string"){s.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",function(){s.end()});t.pipe(s)}else{s.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const A=getProxyUrl(t);const r=A&&A.hostname;if(!r){return}return this._getProxyAgentDispatcher(t,A)}_prepareRequest(e,t,A){const r={};r.parsedUrl=t;const s=r.parsedUrl.protocol==="https:";r.httpModule=s?E:l;const n=s?443:80;r.options={};r.options.host=r.parsedUrl.hostname;r.options.port=r.parsedUrl.port?parseInt(r.parsedUrl.port):n;r.options.path=(r.parsedUrl.pathname||"")+(r.parsedUrl.search||"");r.options.method=e;r.options.headers=this._mergeHeaders(A);if(this.userAgent!=null){r.options.headers["user-agent"]=this.userAgent}r.options.agent=this._getAgent(r.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(r.options)}}return r}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,A){let r;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[t];if(e){r=typeof e==="number"?e.toString():e}}const s=e[t];if(s!==undefined){return typeof s==="number"?s.toString():s}if(r!==undefined){return r}return A}_getExistingOrDefaultContentTypeHeader(e,t){let A;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[B.ContentType];if(e){if(typeof e==="number"){A=String(e)}else if(Array.isArray(e)){A=e.join(", ")}else{A=e}}}const r=e[B.ContentType];if(r!==undefined){if(typeof r==="number"){return String(r)}else if(Array.isArray(r)){return r.join(", ")}else{return r}}if(A!==undefined){return A}return t}_getAgent(e){let t;const A=getProxyUrl(e);const r=A&&A.hostname;if(this._keepAlive&&r){t=this._proxyAgent}if(!r){t=this._agent}if(t){return t}const s=e.protocol==="https:";let n=100;if(this.requestOptions){n=this.requestOptions.maxSockets||c.globalAgent.maxSockets}if(A&&A.hostname){const e={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(A.username||A.password)&&{proxyAuth:`${A.username}:${A.password}`}),{host:A.hostname,port:A.port})};let r;const o=A.protocol==="https:";if(s){r=o?h.httpsOverHttps:h.httpsOverHttp}else{r=o?h.httpOverHttps:h.httpOverHttp}t=r(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:n};t=s?new g.Agent(e):new c.Agent(e);this._agent=t}if(s&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let A;if(this._keepAlive){A=this._proxyAgentDispatcher}if(A){return A}const r=e.protocol==="https:";A=new u.kT(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`}));this._proxyAgentDispatcher=A;if(r&&this._ignoreSslError){A.options=Object.assign(A.options.requestTls||{},{rejectUnauthorized:false})}return A}_getUserAgentWithOrchestrationId(e){const t=e||"actions/http-client";const A=process.env["ACTIONS_ORCHESTRATION_ID"];if(A){const e=A.replace(/[^a-z0-9_.-]/gi,"_");return`${t} actions_orchestration_id/${e}`}return t}_performExponentialBackoff(e){return Q(this,void 0,void 0,function*(){e=Math.min(w,e);const t=m*Math.pow(2,e);return new Promise(e=>setTimeout(()=>e(),t))})}_processResponse(e,t){return Q(this,void 0,void 0,function*(){return new Promise((A,r)=>Q(this,void 0,void 0,function*(){const s=e.message.statusCode||0;const n={statusCode:s,result:null,headers:{}};if(s===C.NotFound){A(n)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let o;let i;try{i=yield e.readBody();if(i&&i.length>0){if(t&&t.deserializeDates){o=JSON.parse(i,dateTimeDeserializer)}else{o=JSON.parse(i)}n.result=o}n.headers=e.message.headers}catch(e){}if(s>299){let e;if(o&&o.message){e=o.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${s})`}const t=new HttpClientError(e,s);t.result=n.result;r(t)}else{A(n)}}))})}}const lowercaseKeys=e=>Object.keys(e).reduce((t,A)=>(t[A.toLowerCase()]=e[A],t),{});var y=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return y(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class auth_BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return y(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return y(this,void 0,void 0,function*(){throw new Error("not implemented")})}}var D=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};class oidc_utils_OidcClient{static createHttpClient(e=true,t=10){const A={allowRetries:e,maxRetries:t};return new HttpClient("actions/oidc-client",[new BearerCredentialHandler(oidc_utils_OidcClient.getRequestToken())],A)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){return D(this,void 0,void 0,function*(){var t;const A=oidc_utils_OidcClient.createHttpClient();const r=yield A.getJson(e).catch(e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)});const s=(t=r.result)===null||t===void 0?void 0:t.value;if(!s){throw new Error("Response json body do not have ID Token field")}return s})}static getIDToken(e){return D(this,void 0,void 0,function*(){try{let t=oidc_utils_OidcClient.getIDTokenUrl();if(e){const A=encodeURIComponent(e);t=`${t}&audience=${A}`}debug(`ID token url is ${t}`);const A=yield oidc_utils_OidcClient.getCall(t);setSecret(A);return A}catch(e){throw new Error(`Error message: ${e.message}`)}})}}var R=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};const{access:k,appendFile:S,writeFile:b}=i.promises;const F="GITHUB_STEP_SUMMARY";const N="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return R(this,void 0,void 0,function*(){if(this._filePath){return this._filePath}const e=process.env[F];if(!e){throw new Error(`Unable to find environment variable for $${F}. Check if your runtime environment supports job summaries.`)}try{yield k(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath})}wrap(e,t,A={}){const r=Object.entries(A).map(([e,t])=>` ${e}="${t}"`).join("");if(!t){return`<${e}${r}>`}return`<${e}${r}>${t}`}write(e){return R(this,void 0,void 0,function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const A=yield this.filePath();const r=t?b:S;yield r(A,this._buffer,{encoding:"utf8"});return this.emptyBuffer()})}clear(){return R(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:true})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(s.EOL)}addCodeBlock(e,t){const A=Object.assign({},t&&{lang:t});const r=this.wrap("pre",this.wrap("code",e),A);return this.addRaw(r).addEOL()}addList(e,t=false){const A=t?"ol":"ul";const r=e.map(e=>this.wrap("li",e)).join("");const s=this.wrap(A,r);return this.addRaw(s).addEOL()}addTable(e){const t=e.map(e=>{const t=e.map(e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:A,colspan:r,rowspan:s}=e;const n=t?"th":"td";const o=Object.assign(Object.assign({},r&&{colspan:r}),s&&{rowspan:s});return this.wrap(n,A,o)}).join("");return this.wrap("tr",t)}).join("");const A=this.wrap("table",t);return this.addRaw(A).addEOL()}addDetails(e,t){const A=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(A).addEOL()}addImage(e,t,A){const{width:r,height:s}=A||{};const n=Object.assign(Object.assign({},r&&{width:r}),s&&{height:s});const o=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(o).addEOL()}addHeading(e,t){const A=`h${t}`;const r=["h1","h2","h3","h4","h5","h6"].includes(A)?A:"h1";const s=this.wrap(r,e);return this.addRaw(s).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const A=Object.assign({},t&&{cite:t});const r=this.wrap("blockquote",e,A);return this.addRaw(r).addEOL()}addLink(e,t){const A=this.wrap("a",e,{href:t});return this.addRaw(A).addEOL()}}const M=new Summary;const U=null&&M;const L=null&&M;function toPosixPath(e){return e.replace(/[\\]/g,"/")}function toWin32Path(e){return e.replace(/[/]/g,"\\")}function toPlatformPath(e){return e.replace(/[/\\]/g,path.sep)}var T=__nccwpck_require__(3193);var v=__nccwpck_require__(4434);const H=e(import.meta.url)("child_process");var G=__nccwpck_require__(2613);var x=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};const{chmod:Y,copyFile:J,lstat:V,mkdir:O,open:P,readdir:W,rename:q,rm:_,rmdir:z,stat:Z,symlink:K,unlink:X}=i.promises;const j=process.platform==="win32";function readlink(e){return x(this,void 0,void 0,function*(){const t=yield i.promises.readlink(e);if(j&&!t.endsWith("\\")){return`${t}\\`}return t})}const $=268435456;const ee=i.constants.O_RDONLY;function exists(e){return x(this,void 0,void 0,function*(){try{yield Z(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}function isDirectory(e){return x(this,arguments,void 0,function*(e,t=false){const A=t?yield Z(e):yield V(e);return A.isDirectory()})}function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(j){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}function tryGetExecutablePath(e,t){return x(this,void 0,void 0,function*(){let A=undefined;try{A=yield Z(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(A&&A.isFile()){if(j){const A=a.extname(e).toUpperCase();if(t.some(e=>e.toUpperCase()===A)){return e}}else{if(isUnixExecutable(A)){return e}}}const r=e;for(const s of t){e=r+s;A=undefined;try{A=yield Z(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(A&&A.isFile()){if(j){try{const t=a.dirname(e);const A=a.basename(e).toUpperCase();for(const r of yield W(t)){if(A===r.toUpperCase()){e=a.join(t,r);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(A)){return e}}}}return""})}function normalizeSeparators(e){e=e||"";if(j){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&process.getgid!==undefined&&e.gid===process.getgid()||(e.mode&64)>0&&process.getuid!==undefined&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}var te=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};function io_cp(e,t){return te(this,arguments,void 0,function*(e,t,A={}){const{force:r,recursive:s,copySourceDirectory:n}=readCopyOptions(A);const o=(yield exists(t))?yield Z(t):null;if(o&&o.isFile()&&!r){return}const i=o&&o.isDirectory()&&n?a.join(t,a.basename(e)):t;if(!(yield exists(e))){throw new Error(`no such file or directory: ${e}`)}const c=yield Z(e);if(c.isDirectory()){if(!s){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,i,0,r)}}else{if(a.relative(e,i)===""){throw new Error(`'${i}' and '${e}' are the same file`)}yield io_copyFile(e,i,r)}})}function mv(e,t){return te(this,arguments,void 0,function*(e,t,A={}){if(yield ioUtil.exists(t)){let r=true;if(yield ioUtil.isDirectory(t)){t=path.join(t,path.basename(e));r=yield ioUtil.exists(t)}if(r){if(A.force==null||A.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(path.dirname(t));yield ioUtil.rename(e,t)})}function rmRF(e){return te(this,void 0,void 0,function*(){if(j){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield _(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}function mkdirP(e){return te(this,void 0,void 0,function*(){(0,G.ok)(e,"a path argument must be provided");yield O(e,{recursive:true})})}function which(e,t){return te(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(j){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return t}const A=yield findInPath(e);if(A&&A.length>0){return A[0]}return""})}function findInPath(e){return te(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}const t=[];if(j&&process.env["PATHEXT"]){for(const e of process.env["PATHEXT"].split(a.delimiter)){if(e){t.push(e)}}}if(isRooted(e)){const A=yield tryGetExecutablePath(e,t);if(A){return[A]}return[]}if(e.includes(a.sep)){return[]}const A=[];if(process.env.PATH){for(const e of process.env.PATH.split(a.delimiter)){if(e){A.push(e)}}}const r=[];for(const s of A){const A=yield tryGetExecutablePath(a.join(s,e),t);if(A){r.push(A)}}return r})}function readCopyOptions(e){const t=e.force==null?true:e.force;const A=Boolean(e.recursive);const r=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:A,copySourceDirectory:r}}function cpDirRecursive(e,t,A,r){return te(this,void 0,void 0,function*(){if(A>=255)return;A++;yield mkdirP(t);const s=yield W(e);for(const n of s){const s=`${e}/${n}`;const o=`${t}/${n}`;const i=yield V(s);if(i.isDirectory()){yield cpDirRecursive(s,o,A,r)}else{yield io_copyFile(s,o,r)}}yield Y(t,(yield Z(e)).mode)})}function io_copyFile(e,t,A){return te(this,void 0,void 0,function*(){if((yield V(e)).isSymbolicLink()){try{yield V(t);yield X(t)}catch(e){if(e.code==="EPERM"){yield Y(t,"0666");yield X(t)}}const A=yield readlink(e);yield K(A,t,j?"junction":null)}else if(!(yield exists(t))||A){yield J(e,t)}})}const Ae=e(import.meta.url)("timers");var re=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};const se=process.platform==="win32";class ToolRunner extends v.EventEmitter{constructor(e,t,A){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=A||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const A=this._getSpawnFileName();const r=this._getSpawnArgs(e);let s=t?"":"[command]";if(se){if(this._isCmdFile()){s+=A;for(const e of r){s+=` ${e}`}}else if(e.windowsVerbatimArguments){s+=`"${A}"`;for(const e of r){s+=` ${e}`}}else{s+=this._windowsQuoteCmdArg(A);for(const e of r){s+=` ${this._windowsQuoteCmdArg(e)}`}}}else{s+=A;for(const e of r){s+=` ${e}`}}return s}_processLineBuffer(e,t,A){try{let r=t+e.toString();let n=r.indexOf(s.EOL);while(n>-1){const e=r.substring(0,n);A(e);r=r.substring(n+s.EOL.length);n=r.indexOf(s.EOL)}return r}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(se){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(se){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const A of this.args){t+=" ";t+=e.windowsVerbatimArguments?A:this._windowsQuoteCmdArg(A)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let A=false;for(const r of e){if(t.some(e=>e===r)){A=true;break}}if(!A){return e}let r='"';let s=true;for(let t=e.length;t>0;t--){r+=e[t-1];if(s&&e[t-1]==="\\"){r+="\\"}else if(e[t-1]==='"'){s=true;r+='"'}else{s=false}}r+='"';return r.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let A=true;for(let r=e.length;r>0;r--){t+=e[r-1];if(A&&e[r-1]==="\\"){t+="\\"}else if(e[r-1]==='"'){A=true;t+="\\"}else{A=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const A={};A.cwd=e.cwd;A.env=e.env;A["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){A.argv0=`"${t}"`}return A}exec(){return re(this,void 0,void 0,function*(){if(!isRooted(this.toolPath)&&(this.toolPath.includes("/")||se&&this.toolPath.includes("\\"))){this.toolPath=a.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield which(this.toolPath,true);return new Promise((e,t)=>re(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const A=this._cloneExecOptions(this.options);if(!A.silent&&A.outStream){A.outStream.write(this._getCommandString(A)+s.EOL)}const r=new ExecState(A,this.toolPath);r.on("debug",e=>{this._debug(e)});if(this.options.cwd&&!(yield exists(this.options.cwd))){return t(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const n=this._getSpawnFileName();const o=H.spawn(n,this._getSpawnArgs(A),this._getSpawnOptions(this.options,n));let i="";if(o.stdout){o.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!A.silent&&A.outStream){A.outStream.write(e)}i=this._processLineBuffer(e,i,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}let a="";if(o.stderr){o.stderr.on("data",e=>{r.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!A.silent&&A.errStream&&A.outStream){const t=A.failOnStdErr?A.errStream:A.outStream;t.write(e)}a=this._processLineBuffer(e,a,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}o.on("error",e=>{r.processError=e.message;r.processExited=true;r.processClosed=true;r.CheckComplete()});o.on("exit",e=>{r.processExitCode=e;r.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);r.CheckComplete()});o.on("close",e=>{r.processExitCode=e;r.processExited=true;r.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);r.CheckComplete()});r.on("done",(A,r)=>{if(i.length>0){this.emit("stdline",i)}if(a.length>0){this.emit("errline",a)}o.removeAllListeners();if(A){t(A)}else{e(r)}});if(this.options.input){if(!o.stdin){throw new Error("child process missing stdin")}o.stdin.end(this.options.input)}}))})}}function argStringToArray(e){const t=[];let A=false;let r=false;let s="";function append(e){if(r&&e!=='"'){s+="\\"}s+=e;r=false}for(let n=0;n0){t.push(s);s=""}continue}append(o)}if(s.length>0){t.push(s.trim())}return t}class ExecState extends v.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=(0,Ae.setTimeout)(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}var ne=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};function exec_exec(e,t,A){return ne(this,void 0,void 0,function*(){const r=argStringToArray(e);if(r.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const s=r[0];t=r.slice(1).concat(t||[]);const n=new ToolRunner(s,t,A);return n.exec()})}function getExecOutput(e,t,A){return ne(this,void 0,void 0,function*(){var r,s;let n="";let o="";const i=new StringDecoder("utf8");const a=new StringDecoder("utf8");const c=(r=A===null||A===void 0?void 0:A.listeners)===null||r===void 0?void 0:r.stdout;const l=(s=A===null||A===void 0?void 0:A.listeners)===null||s===void 0?void 0:s.stderr;const stdErrListener=e=>{o+=a.write(e);if(l){l(e)}};const stdOutListener=e=>{n+=i.write(e);if(c){c(e)}};const g=Object.assign(Object.assign({},A===null||A===void 0?void 0:A.listeners),{stdout:stdOutListener,stderr:stdErrListener});const E=yield exec_exec(e,t,Object.assign(Object.assign({},A),{listeners:g}));n+=i.end();o+=a.end();return{exitCode:E,stdout:n,stderr:o}})}var oe=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};const getWindowsInfo=()=>oe(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}});const getMacOsInfo=()=>oe(void 0,void 0,void 0,function*(){var e,t,A,r;const{stdout:s}=yield exec.getExecOutput("sw_vers",undefined,{silent:true});const n=(t=(e=s.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const o=(r=(A=s.match(/ProductName:\s*(.+)/))===null||A===void 0?void 0:A[1])!==null&&r!==void 0?r:"";return{name:o,version:n}});const getLinuxInfo=()=>oe(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,A]=e.trim().split("\n");return{name:t,version:A}});const ie=s.platform();const ae=s.arch();const ce=ie==="win32";const le=ie==="darwin";const ge=ie==="linux";function getDetails(){return oe(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield ce?getWindowsInfo():le?getMacOsInfo():getLinuxInfo()),{platform:ie,arch:ae,isWindows:ce,isMacOS:le,isLinux:ge})})}var Ee=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};var he;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(he||(he={}));function exportVariable(e,t){const A=toCommandValue(t);process.env[e]=A;const r=process.env["GITHUB_ENV"]||"";if(r){return issueFileCommand("ENV",prepareKeyValueMessage(e,t))}issueCommand("set-env",{name:e},A)}function core_setSecret(e){issueCommand("add-mask",{},e)}function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){file_command_issueFileCommand("PATH",e)}else{command_issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${a.delimiter}${process.env["PATH"]}`}function core_getInput(e,t){const A=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!A){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return A}return A.trim()}function getMultilineInput(e,t){const A=core_getInput(e,t).split("\n").filter(e=>e!=="");if(t&&t.trimWhitespace===false){return A}return A.map(e=>e.trim())}function getBooleanInput(e,t){const A=["true","True","TRUE"];const r=["false","False","FALSE"];const s=core_getInput(e,t);if(A.includes(s))return true;if(r.includes(s))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}function setOutput(e,t){const A=process.env["GITHUB_OUTPUT"]||"";if(A){return file_command_issueFileCommand("OUTPUT",file_command_prepareKeyValueMessage(e,t))}process.stdout.write(s.EOL);command_issueCommand("set-output",{name:e},utils_toCommandValue(t))}function setCommandEcho(e){issue("echo",e?"on":"off")}function setFailed(e){process.exitCode=he.Failure;error(e)}function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}function core_debug(e){command_issueCommand("debug",{},e)}function error(e,t={}){command_issueCommand("error",utils_toCommandProperties(t),e instanceof Error?e.toString():e)}function warning(e,t={}){issueCommand("warning",toCommandProperties(t),e instanceof Error?e.toString():e)}function notice(e,t={}){issueCommand("notice",toCommandProperties(t),e instanceof Error?e.toString():e)}function info(e){process.stdout.write(e+s.EOL)}function startGroup(e){issue("group",e)}function endGroup(){issue("endgroup")}function group(e,t){return Ee(this,void 0,void 0,function*(){startGroup(e);let A;try{A=yield t()}finally{endGroup()}return A})}function saveState(e,t){const A=process.env["GITHUB_STATE"]||"";if(A){return issueFileCommand("STATE",prepareKeyValueMessage(e,t))}issueCommand("save-state",{name:e},toCommandValue(t))}function getState(e){return process.env[`STATE_${e}`]||""}function getIDToken(e){return Ee(this,void 0,void 0,function*(){return yield OidcClient.getIDToken(e)})}class SetupError extends Error{constructor(e){super(e);this.name="SetupError"}}function safeErrorMessage(e){if(e instanceof SetupError)return e.message;return"Setup CommerceKit CLI failed unexpectedly. Re-run with step debug logging enabled for more context."}var ue=__nccwpck_require__(2320);var Qe=__nccwpck_require__.n(ue);const Ce="0.1.0-preview.2";const Be="latest";const Ie="The version input must be an exact semantic version such as 0.1.0-preview.2. Mutable aliases, ranges, tags, URLs, and Git refs are not supported.";const de="The version input must be latest or an exact semantic version such as 0.1.0-preview.2. Other aliases, ranges, tags, URLs, and Git refs are not supported.";function isExactVersion(e){return e.length>0&&e.trim()===e&&Qe().valid(e)===e}function requireMinimumVersion(e){if(Qe().lt(e,Ce)){throw new SetupError(`CommerceKit CLI ${Ce} or newer is required by this Action.`)}return e}function validateExactVersion(e){if(!isExactVersion(e)){throw new SetupError(Ie)}return requireMinimumVersion(e)}function validateVersionInput(e){if(e===Be)return e;if(!isExactVersion(e))throw new SetupError(de);return requireMinimumVersion(e)}function validateStableReleaseVersion(e){if(Qe().valid(e)!==e||Qe().prerelease(e)!==null){throw new SetupError("The latest CommerceKit release metadata does not identify a stable semantic version.")}return requireMinimumVersion(e)}function readInputs(e=core_getInput){const t=e("version",{required:false,trimWhitespace:false});return{version:t.length===0?undefined:validateVersionInput(t)}}const fe=e(import.meta.url)("node:fs/promises");const pe=e(import.meta.url)("node:os");const we=e(import.meta.url)("node:path");var me=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};const ye={readLinuxVersionFile(){const e="/etc/lsb-release";const t="/etc/os-release";let A="";if(i.existsSync(e)){A=i.readFileSync(e).toString()}else if(i.existsSync(t)){A=i.readFileSync(t).toString()}return A}};function _findMatch(e,t,A,r){return me(this,void 0,void 0,function*(){const s=os.platform();let n;let o;let i;for(const n of A){const A=n.version;debug(`check ${A} satisfies ${e}`);if(semver.satisfies(A,e)&&(!t||n.stable===t)){i=n.files.find(e=>{debug(`${e.arch}===${r} && ${e.platform}===${s}`);let t=e.arch===r&&e.platform===s;if(t&&e.platform_version){const A=_getOsVersion();if(A===e.platform_version){t=true}else{t=semver.satisfies(A,e.platform_version)}}return t});if(i){debug(`matched ${n.version}`);o=n;break}}}if(o&&i){n=Object.assign({},o);n.files=[i]}return n})}function _getOsVersion(){const e=os.platform();let t="";if(e==="darwin"){t=cp.execSync("sw_vers -productVersion").toString()}else if(e==="linux"){const e=ye.readLinuxVersionFile();if(e){const A=e.split("\n");for(const e of A){const A=e.split("=");if(A.length===2&&(A[0].trim()==="VERSION_ID"||A[0].trim()==="DISTRIB_RELEASE")){t=A[1].trim().replace(/^"/,"").replace(/"$/,"");break}}}}return t}function _readLinuxVersionFile(){return ye.readLinuxVersionFile()}const De=e(import.meta.url)("stream");var Re=__nccwpck_require__(9023);var ke=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};class RetryHelper{constructor(e,t,A){if(e<1){throw new Error("max attempts should be greater than or equal to 1")}this.maxAttempts=e;this.minSeconds=Math.floor(t);this.maxSeconds=Math.floor(A);if(this.minSeconds>this.maxSeconds){throw new Error("min seconds should be less than or equal to max seconds")}}execute(e,t){return ke(this,void 0,void 0,function*(){let A=1;while(AsetTimeout(t,e*1e3))})}}var Se=undefined&&undefined.__awaiter||function(e,t,A,r){function adopt(e){return e instanceof A?e:new A(function(t){t(e)})}return new(A||(A=Promise))(function(A,s){function fulfilled(e){try{step(r.next(e))}catch(e){s(e)}}function rejected(e){try{step(r["throw"](e))}catch(e){s(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())})};class HTTPError extends Error{constructor(e){super(`Unexpected HTTP response: ${e}`);this.httpStatusCode=e;Object.setPrototypeOf(this,new.target.prototype)}}const be=process.platform==="win32";const Fe=process.platform==="darwin";const Ne="actions/tool-cache";function downloadTool(e,t,A,r){return Se(this,void 0,void 0,function*(){t=t||a.join(_getTempDirectory(),o.randomUUID());yield mkdirP(a.dirname(t));core_debug(`Downloading ${e}`);core_debug(`Destination ${t}`);const s=3;const n=_getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS",10);const i=_getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS",20);const c=new RetryHelper(s,n,i);return yield c.execute(()=>Se(this,void 0,void 0,function*(){return yield downloadToolAttempt(e,t||"",A,r)}),e=>{if(e instanceof HTTPError&&e.httpStatusCode){if(e.httpStatusCode<500&&e.httpStatusCode!==408&&e.httpStatusCode!==429){return false}}return true})})}function downloadToolAttempt(e,t,A,r){return Se(this,void 0,void 0,function*(){if(i.existsSync(t)){throw new Error(`Destination file path ${t} already exists`)}const s=new lib_HttpClient(Ne,[],{allowRetries:false});if(A){core_debug("set auth");if(r===undefined){r={}}r.authorization=A}const n=yield s.get(e,r);if(n.message.statusCode!==200){const t=new HTTPError(n.message.statusCode);core_debug(`Failed to download from "${e}". Code(${n.message.statusCode}) Message(${n.message.statusMessage})`);throw t}const o=Re.promisify(De.pipeline);const a=_getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY",()=>n.message);const c=a();let l=false;try{yield o(c,i.createWriteStream(t));core_debug("download complete");l=true;return t}finally{if(!l){core_debug("download failed");try{yield rmRF(t)}catch(e){core_debug(`Failed to delete '${t}'. ${e.message}`)}}}})}function extract7z(e,t,A){return Se(this,void 0,void 0,function*(){ok(be,"extract7z() not supported on current OS");ok(e,'parameter "file" is required');t=yield _createExtractFolder(t);const r=process.cwd();process.chdir(t);if(A){try{const t=core.isDebug()?"-bb1":"-bb0";const r=["x",t,"-bd","-sccUTF-8",e];const s={silent:true};yield exec(`"${A}"`,r,s)}finally{process.chdir(r)}}else{const A=path.join(__dirname,"..","scripts","Invoke-7zdec.ps1").replace(/'/g,"''").replace(/"|\n|\r/g,"");const s=e.replace(/'/g,"''").replace(/"|\n|\r/g,"");const n=t.replace(/'/g,"''").replace(/"|\n|\r/g,"");const o=`& '${A}' -Source '${s}' -Target '${n}'`;const i=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",o];const a={silent:true};try{const e=yield io.which("powershell",true);yield exec(`"${e}"`,i,a)}finally{process.chdir(r)}}return t})}function extractTar(e,t){return Se(this,arguments,void 0,function*(e,t,A="xz"){if(!e){throw new Error("parameter 'file' is required")}t=yield _createExtractFolder(t);core_debug("Checking tar --version");let r="";yield exec_exec("tar --version",[],{ignoreReturnCode:true,silent:true,listeners:{stdout:e=>r+=e.toString(),stderr:e=>r+=e.toString()}});core_debug(r.trim());const s=r.toUpperCase().includes("GNU TAR");let n;if(A instanceof Array){n=A}else{n=[A]}if(isDebug()&&!A.includes("v")){n.push("-v")}let o=t;let i=e;if(be&&s){n.push("--force-local");o=t.replace(/\\/g,"/");i=e.replace(/\\/g,"/")}if(s){n.push("--warning=no-unknown-keyword");n.push("--overwrite")}n.push("-C",o,"-f",i);yield exec_exec(`tar`,n);return t})}function extractXar(e,t){return Se(this,arguments,void 0,function*(e,t,A=[]){ok(Fe,"extractXar() not supported on current OS");ok(e,'parameter "file" is required');t=yield _createExtractFolder(t);let r;if(A instanceof Array){r=A}else{r=[A]}r.push("-x","-C",t,"-f",e);if(core.isDebug()){r.push("-v")}const s=yield io.which("xar",true);yield exec(`"${s}"`,_unique(r));return t})}function extractZip(e,t){return Se(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'file' is required")}t=yield _createExtractFolder(t);if(be){yield extractZipWin(e,t)}else{yield extractZipNix(e,t)}return t})}function extractZipWin(e,t){return Se(this,void 0,void 0,function*(){const A=e.replace(/'/g,"''").replace(/"|\n|\r/g,"");const r=t.replace(/'/g,"''").replace(/"|\n|\r/g,"");const s=yield which("pwsh",false);if(s){const e=[`$ErrorActionPreference = 'Stop' ;`,`try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${A}', '${r}', $true) }`,`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${A}' -DestinationPath '${r}' -Force } else { throw $_ } } ;`].join(" ");const t=["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",e];core_debug(`Using pwsh at path: ${s}`);yield exec_exec(`"${s}"`,t)}else{const e=[`$ErrorActionPreference = 'Stop' ;`,`try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${A}' -DestinationPath '${r}' -Force }`,`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${A}', '${r}', $true) }`].join(" ");const t=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",e];const s=yield which("powershell",true);core_debug(`Using powershell at path: ${s}`);yield exec_exec(`"${s}"`,t)}})}function extractZipNix(e,t){return Se(this,void 0,void 0,function*(){const A=yield which("unzip",true);const r=[e];if(!isDebug()){r.unshift("-q")}r.unshift("-o");yield exec_exec(`"${A}"`,r,{cwd:t})})}function cacheDir(e,t,A,r){return Se(this,void 0,void 0,function*(){A=ue.clean(A)||A;r=r||s.arch();core_debug(`Caching tool ${t} ${A} ${r}`);core_debug(`source dir: ${e}`);if(!i.statSync(e).isDirectory()){throw new Error("sourceDir is not a directory")}const n=yield _createToolPath(t,A,r);for(const t of i.readdirSync(e)){const A=a.join(e,t);yield io_cp(A,n,{recursive:true})}_completeToolPath(t,A,r);return n})}function cacheFile(e,t,A,r,s){return Se(this,void 0,void 0,function*(){r=semver.clean(r)||r;s=s||os.arch();core.debug(`Caching tool ${A} ${r} ${s}`);core.debug(`source file: ${e}`);if(!fs.statSync(e).isFile()){throw new Error("sourceFile is not a file")}const n=yield _createToolPath(A,r,s);const o=path.join(n,t);core.debug(`destination file ${o}`);yield io.cp(e,o);_completeToolPath(A,r,s);return n})}function find(e,t,A){if(!e){throw new Error("toolName parameter is required")}if(!t){throw new Error("versionSpec parameter is required")}A=A||s.arch();if(!isExplicitVersion(t)){const r=findAllVersions(e,A);const s=evaluateVersions(r,t);t=s}let r="";if(t){t=ue.clean(t)||"";const s=a.join(_getCacheDirectory(),e,t,A);core_debug(`checking cache: ${s}`);if(i.existsSync(s)&&i.existsSync(`${s}.complete`)){core_debug(`Found tool in cache ${e} ${t} ${A}`);r=s}else{core_debug("not found")}}return r}function findAllVersions(e,t){const A=[];t=t||s.arch();const r=a.join(_getCacheDirectory(),e);if(i.existsSync(r)){const e=i.readdirSync(r);for(const s of e){if(isExplicitVersion(s)){const e=a.join(r,s,t||"");if(i.existsSync(e)&&i.existsSync(`${e}.complete`)){A.push(s)}}}}return A}function getManifestFromRepo(e,t,A){return Se(this,arguments,void 0,function*(e,t,A,r="master"){let s=[];const n=`https://api.github.com/repos/${e}/${t}/git/trees/${r}`;const o=new httpm.HttpClient("tool-cache");const i={};if(A){core.debug("set auth");i.authorization=A}const a=yield o.getJson(n,i);if(!a.result){return s}let c="";for(const e of a.result.tree){if(e.path==="versions-manifest.json"){c=e.url;break}}i["accept"]="application/vnd.github.VERSION.raw";let l=yield(yield o.get(c,i)).readBody();if(l){l=l.replace(/^\uFEFF/,"");try{s=JSON.parse(l)}catch(e){core.debug("Invalid json")}}return s})}function findFromManifest(e,t,A){return Se(this,arguments,void 0,function*(e,t,A,r=os.arch()){const s=yield mm._findMatch(e,t,A,r);return s})}function _createExtractFolder(e){return Se(this,void 0,void 0,function*(){if(!e){e=a.join(_getTempDirectory(),o.randomUUID())}yield mkdirP(e);return e})}function _createToolPath(e,t,A){return Se(this,void 0,void 0,function*(){const r=a.join(_getCacheDirectory(),e,ue.clean(t)||t,A||"");core_debug(`destination ${r}`);const s=`${r}.complete`;yield rmRF(r);yield rmRF(s);yield mkdirP(r);return r})}function _completeToolPath(e,t,A){const r=a.join(_getCacheDirectory(),e,ue.clean(t)||t,A||"");const s=`${r}.complete`;i.writeFileSync(s,"");core_debug("finished caching tool")}function isExplicitVersion(e){const t=ue.clean(e)||"";core_debug(`isExplicit: ${t}`);const A=ue.valid(t)!=null;core_debug(`explicit? ${A}`);return A}function evaluateVersions(e,t){let A="";core_debug(`evaluating ${e.length} versions`);e=e.sort((e,t)=>{if(ue.gt(e,t)){return 1}return-1});for(let r=e.length-1;r>=0;r--){const s=e[r];const n=ue.satisfies(s,t);if(n){A=s;break}}if(A){core_debug(`matched: ${A}`)}else{core_debug("match not found")}return A}function _getCacheDirectory(){const e=process.env["RUNNER_TOOL_CACHE"]||"";(0,G.ok)(e,"Expected RUNNER_TOOL_CACHE to be defined");return e}function _getTempDirectory(){const e=process.env["RUNNER_TEMP"]||"";(0,G.ok)(e,"Expected RUNNER_TEMP to be defined");return e}function _getGlobal(e,t){const A=global[e];return A!==undefined?A:t}function _unique(e){return Array.from(new Set(e))}var Me=__nccwpck_require__(7598);const Ue=e(import.meta.url)("node:fs");const Le=/^[0-9a-f]{64}$/i;const Te=/^([0-9a-f]{64}) ([ *])(.+)$/i;function hasControlCharacter(e){return[...e].some(e=>{const t=e.codePointAt(0);return t!==undefined&&(t<=31||t===127)})}function isSha256(e){return Le.test(e)}function assertSafeAssetFilename(e){if(e.length===0||e.trim()!==e||e!==(0,we.basename)(e)||e.includes("/")||e.includes("\\")||e.includes("..")||hasControlCharacter(e)){throw new SetupError("Release metadata contains an unsafe asset filename.")}}function parseSha256Sums(e){const t=new Map;for(const[A,r]of e.split(/\r?\n/u).entries()){if(r.length===0)continue;const e=Te.exec(r);if(e===null){throw new SetupError(`SHA256SUMS line ${A+1} is malformed.`)}const s=e[1]?.toLowerCase();const n=e[3];if(s===undefined||n===undefined){throw new SetupError(`SHA256SUMS line ${A+1} is malformed.`)}assertSafeAssetFilename(n);const o=t.get(n);if(o!==undefined){const e=o===s?"duplicate":"conflicting";throw new SetupError(`SHA256SUMS contains a ${e} entry for ${n}.`)}t.set(n,s)}return t}function requireChecksum(e,t){const A=e.get(t);if(A===undefined){throw new SetupError(`SHA256SUMS does not contain ${t}.`)}return A}async function sha256File(e){const t=(0,Me.createHash)("sha256");await new Promise((A,r)=>{const s=(0,Ue.createReadStream)(e);s.on("error",r);s.on("data",e=>t.update(e));s.on("end",A)});return t.digest("hex")}async function verifyFileSha256(e,t,A){if(!isSha256(t)){throw new SetupError(`The expected SHA-256 for ${A} is malformed.`)}const r=await sha256File(e);if(!(0,Me.timingSafeEqual)(Buffer.from(r,"hex"),Buffer.from(t,"hex"))){throw new SetupError(`SHA-256 verification failed for ${A}.`)}}const ve=["darwin-arm64","darwin-x64","linux-arm64","linux-x64","windows-arm64","windows-x64"];const He=Object.freeze({"darwin-arm64":Object.freeze({target:"darwin-arm64",platform:"darwin",os:"darwin",architecture:"arm64",archiveExtension:".tar.gz",executableName:"commercekit"}),"darwin-x64":Object.freeze({target:"darwin-x64",platform:"darwin",os:"darwin",architecture:"x64",archiveExtension:".tar.gz",executableName:"commercekit"}),"linux-arm64":Object.freeze({target:"linux-arm64",platform:"linux",os:"linux",architecture:"arm64",archiveExtension:".tar.gz",executableName:"commercekit"}),"linux-x64":Object.freeze({target:"linux-x64",platform:"linux",os:"linux",architecture:"x64",archiveExtension:".tar.gz",executableName:"commercekit"}),"windows-arm64":Object.freeze({target:"windows-arm64",platform:"win32",os:"windows",architecture:"arm64",archiveExtension:".zip",executableName:"commercekit.exe"}),"windows-x64":Object.freeze({target:"windows-x64",platform:"win32",os:"windows",architecture:"x64",archiveExtension:".zip",executableName:"commercekit.exe"})});const Ge=new Map(ve.map(e=>{const t=He[e];return[`${t.platform}:${t.architecture}`,e]}));function resolveTarget(e=process.platform,t=process.arch){const A=Ge.get(`${e}:${t}`);if(A===undefined){throw new SetupError(`Runner platform ${e}/${t} is not supported by Setup CommerceKit CLI.`)}return He[A]}function isReleaseTarget(e){return Object.hasOwn(He,e)}const xe=1;function isRecord(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function requireString(e,t,A){if(typeof e!=="string"||e.length===0||A!==undefined&&!A.test(e)){throw new SetupError(`Release manifest field ${t} is invalid.`)}return e}function parseArtifact(e,t,A){if(!isRecord(e)){throw new SetupError("Release manifest contains an invalid artifact entry.")}const r=requireString(e["target"],"artifacts[].target");if(!isReleaseTarget(r)){throw new SetupError(`Release manifest contains unsupported target ${r}.`)}if(A.has(r)){throw new SetupError(`Release manifest contains duplicate target ${r}.`)}A.add(r);const s=He[r];const n=requireString(e["os"],`artifacts[${r}].os`);const o=requireString(e["architecture"],`artifacts[${r}].architecture`);if(n!==s.os||o!==s.architecture){throw new SetupError(`Release manifest target metadata is inconsistent for ${r}.`)}const i=requireString(e["filename"],`artifacts[${r}].filename`);assertSafeAssetFilename(i);const a=`commercekit-v${t}-${r}${s.archiveExtension}`;if(i!==a){throw new SetupError(`Release manifest filename is invalid for target ${r}.`)}const c=requireString(e["sha256"],`artifacts[${r}].sha256`).toLowerCase();if(!isSha256(c)){throw new SetupError(`Release manifest SHA-256 is invalid for target ${r}.`)}const l=e["size"];if(typeof l!=="number"||!Number.isSafeInteger(l)||l<=0){throw new SetupError(`Release manifest size is invalid for target ${r}.`)}return Object.freeze({target:r,os:s.os,architecture:s.architecture,filename:i,sha256:c,size:l})}function parseReleaseManifest(e,t){let A;try{A=JSON.parse(e)}catch{throw new SetupError("CommerceKit release manifest is not valid JSON.")}if(!isRecord(A)){throw new SetupError("CommerceKit release manifest must be a JSON object.")}const r=A["schemaVersion"];if(r!==xe){const e=typeof r==="number"||typeof r==="string"?String(r):"unknown";throw new SetupError(`CommerceKit release manifest schema ${e} is not supported by setup-commercekit v1. Upgrade the setup Action to a version that supports this manifest.`)}if(A["product"]!=="commercekit-cli"){throw new SetupError("Release manifest product is not commercekit-cli.")}const s=requireString(A["cliVersion"],"cliVersion");if(Qe().valid(s)!==s){throw new SetupError("Release manifest field cliVersion is invalid.")}if(t!==undefined&&s!==t){throw new SetupError(`Release manifest version does not match requested CommerceKit CLI ${t}.`)}const n=requireString(A["buildId"],"buildId",/^[0-9a-f]{40}$/iu).toLowerCase();const o=requireString(A["channel"],"channel",/^[a-z][a-z0-9-]{0,31}$/u);if(typeof A["unsigned"]!=="boolean"){throw new SetupError("Release manifest field unsigned is invalid.")}if(!Array.isArray(A["artifacts"])||A["artifacts"].length===0){throw new SetupError("Release manifest does not contain any artifacts.")}const i=new Set;const a=A["artifacts"].map(e=>parseArtifact(e,s,i));return Object.freeze({schemaVersion:xe,product:"commercekit-cli",cliVersion:s,buildId:n,channel:o,unsigned:A["unsigned"],artifacts:Object.freeze(a)})}function findManifestArtifact(e,t){const A=e.artifacts.find(e=>e.target===t);if(A===undefined){throw new SetupError(`CommerceKit CLI ${e.cliVersion} does not publish target ${t}.`)}return A}const Ye="commercekit-tools/cli";const Je=`https://github.com/${Ye}/releases/latest/download/`;const Ve="SHA256SUMS";const Oe="release-manifest.json";function releaseBaseUrl(e){return`https://github.com/${Ye}/releases/download/cli-v${e}/`}function releaseAssetUrl(e,t){assertSafeAssetFilename(t);return new URL(encodeURIComponent(t),releaseBaseUrl(e)).href}function latestStableAssetUrl(e){assertSafeAssetFilename(e);return new URL(encodeURIComponent(e),Je).href}async function downloadIntegrityMetadata(e,t,A,r,s){const n=(0,we.join)(t,`${A}-${Ve}`);try{await r(e(Ve),n)}catch{throw new SetupError(s(Ve))}const o=parseSha256Sums(await(0,fe.readFile)(n,"utf8"));const i=(0,we.join)(t,`${A}-${Oe}`);try{await r(e(Oe),i)}catch{throw new SetupError(s(Oe))}await verifyFileSha256(i,requireChecksum(o,Oe),Oe);return Object.freeze({checksums:o,manifestContent:await(0,fe.readFile)(i,"utf8")})}async function downloadLatestStableVersion(e,t){const A=await downloadIntegrityMetadata(latestStableAssetUrl,e,"latest-stable",t,()=>"Could not resolve the latest stable CommerceKit CLI release. Specify an exact version or confirm that a stable public release is available.");const r=parseReleaseManifest(A.manifestContent);return validateStableReleaseVersion(r.cliVersion)}async function downloadVerifiedReleaseMetadata(e,t,A,r=downloadTool){const s=await downloadIntegrityMetadata(t=>releaseAssetUrl(e,t),A,"exact",r,t=>`Could not download ${t} for CommerceKit CLI ${e}. Confirm that the exact public release exists.`);const n=parseReleaseManifest(s.manifestContent,e);const o=findManifestArtifact(n,t);const i=requireChecksum(s.checksums,o.filename);if(i!==o.sha256){throw new SetupError(`Release manifest and SHA256SUMS disagree for ${o.filename}.`)}return Object.freeze({manifest:n,artifact:o,archiveUrl:releaseAssetUrl(e,o.filename)})}const Pe=e(import.meta.url)("node:child_process");const executeFile=(e,t)=>new Promise((A,r)=>{(0,Pe.execFile)(e,[...t],{timeout:3e4,windowsHide:true,maxBuffer:1024*1024},(e,t,s)=>{if(e!==null){r(e instanceof Error?e:new Error("Execution failed."));return}A({stdout:t,stderr:s})})});async function verifyExecutableVersion(e,t,A=executeFile){let r;try{r=await(0,fe.lstat)(e)}catch{throw new SetupError("The CommerceKit executable is missing.")}if(!r.isFile()||r.isSymbolicLink()){throw new SetupError("The CommerceKit executable is not a regular file.")}let s;try{({stdout:s}=await A(e,["--version"]))}catch{throw new SetupError("The CommerceKit executable could not be started.")}if(s.trim()!==t){throw new SetupError(`The installed CommerceKit executable did not report expected version ${t}.`)}}const We="commercekit";const qe=".setup-commercekit.json";const _e=1e3;const ze={runnerTemp:process.env["RUNNER_TEMP"]??(0,pe.tmpdir)(),findTool:find,cacheDirectory:cacheDir,downloadFile:downloadTool,extractTar:(e,t)=>extractTar(e,t),extractZip:extractZip,resolveMetadata:downloadVerifiedReleaseMetadata,verifyExecutable:verifyExecutableVersion,log:()=>undefined,debug:()=>undefined};function parseCacheMetadata(e,t,A){let r;try{r=JSON.parse(e)}catch{throw new SetupError("Cached CommerceKit metadata is invalid.")}if(typeof r!=="object"||r===null||Array.isArray(r)){throw new SetupError("Cached CommerceKit metadata is invalid.")}const s=r;if(s["schemaVersion"]!==1||s["cliVersion"]!==t||s["target"]!==A||typeof s["buildId"]!=="string"||!/^[0-9a-f]{40}$/u.test(s["buildId"])||typeof s["archiveSha256"]!=="string"||!/^[0-9a-f]{64}$/u.test(s["archiveSha256"])){throw new SetupError("Cached CommerceKit metadata is invalid.")}return{schemaVersion:1,cliVersion:t,target:A,buildId:s["buildId"],archiveSha256:s["archiveSha256"]}}async function readCacheMetadata(e,t,A){try{return parseCacheMetadata(await(0,fe.readFile)((0,we.join)(e,qe),"utf8"),t,A)}catch(e){if(e instanceof SetupError)throw e;throw new SetupError("Cached CommerceKit metadata is missing.")}}async function findExecutable(e,t){const A=(0,we.resolve)(e);const r=[];let s=0;async function visit(e){for(const n of await(0,fe.readdir)(e,{withFileTypes:true})){s+=1;if(s>_e){throw new SetupError("The CommerceKit archive contains too many entries.")}const o=(0,we.resolve)(e,n.name);if(o!==A&&!o.startsWith(`${A}${we.sep}`)){throw new SetupError("The CommerceKit archive contains an unsafe path.")}if(n.isDirectory()){await visit(o)}else if(n.name===t){const e=await(0,fe.lstat)(o);if(!e.isFile()||e.isSymbolicLink()){throw new SetupError("The extracted CommerceKit executable is not a regular file.")}r.push(o)}}}await visit(A);if(r.length===0){throw new SetupError("The CommerceKit archive does not contain the expected executable.")}if(r.length>1){throw new SetupError("The CommerceKit archive contains multiple executable candidates.")}return r[0]}async function verifyCacheHit(e,t,A,r){try{const s=await readCacheMetadata(e,t,A.target);const n=await findExecutable(e,A.executableName);await r.verifyExecutable(n,t);return{version:t,executablePath:n,target:A.target,buildId:s.buildId,cacheHit:true}}catch{throw new SetupError(`Cached CommerceKit CLI ${t} for ${A.target} failed verification. Remove the corrupted runner tool-cache entry before retrying.`)}}async function extractArchive(e,t,A,r){try{return A.archiveExtension===".zip"?await r.extractZip(e,t):await r.extractTar(e,t)}catch{throw new SetupError("The CommerceKit release archive could not be extracted.")}}async function downloadArchive(e,t,A){const r=(0,we.join)(t,e.artifact.filename);try{await A.downloadFile(e.archiveUrl,r)}catch{throw new SetupError(`Could not download ${e.artifact.filename} from the exact CommerceKit release.`)}const s=await(0,fe.stat)(r);if(s.size!==e.artifact.size){throw new SetupError(`Downloaded size verification failed for ${e.artifact.filename}.`)}A.log("Verifying SHA-256");await verifyFileSha256(r,e.artifact.sha256,e.artifact.filename);return r}async function installCommerceKit(e,t,A={}){const r={...ze,...A};const s=r.findTool(We,e,t.target);if(s.length>0){r.log(`Using cached CommerceKit CLI ${e}`);return verifyCacheHit(s,e,t,r)}await(0,fe.mkdir)(r.runnerTemp,{recursive:true});const n=await(0,fe.mkdtemp)((0,we.join)(r.runnerTemp,"setup-commercekit-"));try{r.log("Verifying release metadata");const A=await r.resolveMetadata(e,t.target,n,r.downloadFile);r.log(`Downloading ${A.artifact.filename}`);const s=await downloadArchive(A,n,r);const o=(0,we.join)(n,"extracted");await(0,fe.mkdir)(o,{recursive:true});const i=await extractArchive(s,o,t,r);const a=await findExecutable(i,t.executableName);if(t.platform!=="win32"){await(0,fe.chmod)(a,493)}await r.verifyExecutable(a,e);const c={schemaVersion:1,cliVersion:e,target:t.target,buildId:A.manifest.buildId,archiveSha256:A.artifact.sha256};await(0,fe.writeFile)((0,we.join)(i,qe),`${JSON.stringify(c)}\n`,{encoding:"utf8",mode:384});const l=await r.cacheDirectory(i,We,e,t.target);const g=await findExecutable(l,t.executableName);await r.verifyExecutable(g,e);return{version:e,executablePath:g,target:t.target,buildId:A.manifest.buildId,cacheHit:false,archiveFilename:A.artifact.filename,archiveSha256:A.artifact.sha256}}finally{try{await(0,fe.rm)(n,{recursive:true,force:true})}catch{r.debug("Temporary setup directory cleanup did not complete.")}}}function executableDirectory(e){return(0,we.dirname)(e.executablePath)}const Ze={runnerTemp:process.env["RUNNER_TEMP"]??(0,pe.tmpdir)(),downloadFile:downloadTool,resolveLatestStable:downloadLatestStableVersion,debug:()=>undefined};async function resolveCommerceKitVersion(e,t={}){if(e!==undefined&&e!==Be){return validateExactVersion(e)}const A={...Ze,...t};await(0,fe.mkdir)(A.runnerTemp,{recursive:true});const r=await(0,fe.mkdtemp)((0,we.join)(A.runnerTemp,"setup-commercekit-version-"));try{return validateStableReleaseVersion(await A.resolveLatestStable(r,A.downloadFile))}finally{try{await(0,fe.rm)(r,{recursive:true,force:true})}catch{A.debug("Temporary version-resolution directory cleanup did not complete.")}}}async function runAction(e={}){const t=readInputs();const A=resolveTarget();const r=e.install??installCommerceKit;const s=e.resolveVersion??resolveCommerceKitVersion;const n=t.version===undefined||t.version===Be;info(n?"Resolving latest stable CommerceKit CLI":`Resolving CommerceKit CLI ${t.version}`);info(`Runner target: ${A.target}`);const o=await s(t.version,e.versionResolutionDependencies);if(n){info(`Resolved latest stable CommerceKit CLI ${o}`)}const i=await r(o,A,{log:info,debug:core_debug,...e.installDependencies});addPath(executableDirectory(i));setOutput("version",i.version);setOutput("path",i.executablePath);setOutput("target",i.target);setOutput("build-id",i.buildId);setOutput("cache-hit",i.cacheHit?"true":"false");info(`Installed CommerceKit CLI ${i.version}`);info("Added CommerceKit CLI to PATH")}void runAction().catch(e=>{setFailed(safeErrorMessage(e))}); \ No newline at end of file +import{createRequire as e}from"module";var t={7962:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.formatNames=t.fastFormats=t.fullFormats=void 0;function fmtDef(e,t){return{validate:e,compare:t}}t.fullFormats={date:fmtDef(date,compareDate),time:fmtDef(getTime(true),compareTime),"date-time":fmtDef(getDateTime(true),compareDateTime),"iso-time":fmtDef(getTime(),compareIsoTime),"iso-date-time":fmtDef(getDateTime(),compareIsoDateTime),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:true,binary:true};t.fastFormats={...t.fullFormats,date:fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,compareDate),time:fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareTime),"date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareDateTime),"iso-time":fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoTime),"iso-date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoDateTime),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};t.formatNames=Object.keys(t.fullFormats);function isLeapYear(e){return e%4===0&&(e%100!==0||e%400===0)}const r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;const n=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date(e){const t=r.exec(e);if(!t)return false;const A=+t[1];const s=+t[2];const o=+t[3];return s>=1&&s<=12&&o>=1&&o<=(s===2&&isLeapYear(A)?29:n[s])}function compareDate(e,t){if(!(e&&t))return undefined;if(e>t)return 1;if(e23||l>59||e&&!i)return false;if(n<=23&&s<=59&&o<60)return true;const u=s-l*a;const d=n-c*a-(u<0?1:0);return(d===23||d===-1)&&(u===59||u===-1)&&o<61}}function compareTime(e,t){if(!(e&&t))return undefined;const r=new Date("2020-01-01T"+e).valueOf();const n=new Date("2020-01-01T"+t).valueOf();if(!(r&&n))return undefined;return r-n}function compareIsoTime(e,t){if(!(e&&t))return undefined;const r=A.exec(e);const n=A.exec(t);if(!(r&&n))return undefined;e=r[1]+r[2]+r[3];t=n[1]+n[2]+n[3];if(e>t)return 1;if(e=c}function validateInt64(e){return Number.isInteger(e)}function validateNumber(){return true}const u=/[^\\]\\Z/;function regex(e){if(u.test(e))return false;try{new RegExp(e);return true}catch(e){return false}}},8078:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(7962);const A=r(725);const s=r(28);const o=new s.Name("fullFormats");const i=new s.Name("fastFormats");const formatsPlugin=(e,t={keywords:true})=>{if(Array.isArray(t)){addFormats(e,t,n.fullFormats,o);return e}const[r,s]=t.mode==="fast"?[n.fastFormats,i]:[n.fullFormats,o];const a=t.formats||n.formatNames;addFormats(e,a,r,s);if(t.keywords)(0,A.default)(e);return e};formatsPlugin.get=(e,t="full")=>{const r=t==="fast"?n.fastFormats:n.fullFormats;const A=r[e];if(!A)throw new Error(`Unknown format "${e}"`);return A};function addFormats(e,t,r,n){var A;var o;(A=(o=e.opts.code).formats)!==null&&A!==void 0?A:o.formats=(0,s._)`require("ajv-formats/dist/formats").${n}`;for(const n of t)e.addFormat(n,r[n])}e.exports=t=formatsPlugin;Object.defineProperty(t,"__esModule",{value:true});t["default"]=formatsPlugin},725:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.formatLimitDefinition=void 0;const n=r(6223);const A=r(28);const s=A.operators;const o={formatMaximum:{okStr:"<=",ok:s.LTE,fail:s.GT},formatMinimum:{okStr:">=",ok:s.GTE,fail:s.LT},formatExclusiveMaximum:{okStr:"<",ok:s.LT,fail:s.GTE},formatExclusiveMinimum:{okStr:">",ok:s.GT,fail:s.LTE}};const i={message:({keyword:e,schemaCode:t})=>(0,A.str)`should be ${o[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,A._)`{comparison: ${o[e].okStr}, limit: ${t}}`};t.formatLimitDefinition={keyword:Object.keys(o),type:"string",schemaType:"string",$data:true,error:i,code(e){const{gen:t,data:r,schemaCode:s,keyword:i,it:a}=e;const{opts:c,self:l}=a;if(!c.validateFormats)return;const u=new n.KeywordCxt(a,l.RULES.all.format.definition,"format");if(u.$data)validate$DataFormat();else validateFormat();function validate$DataFormat(){const r=t.scopeValue("formats",{ref:l.formats,code:c.code.formats});const n=t.const("fmt",(0,A._)`${r}[${u.schemaCode}]`);e.fail$data((0,A.or)((0,A._)`typeof ${n} != "object"`,(0,A._)`${n} instanceof RegExp`,(0,A._)`typeof ${n}.compare != "function"`,compareCode(n)))}function validateFormat(){const r=u.schema;const n=l.formats[r];if(!n||n===true)return;if(typeof n!="object"||n instanceof RegExp||typeof n.compare!="function"){throw new Error(`"${i}": format "${r}" does not define "compare" function`)}const s=t.scopeValue("formats",{key:r,ref:n,code:c.code.formats?(0,A._)`${c.code.formats}${(0,A.getProperty)(r)}`:undefined});e.fail$data(compareCode(s))}function compareCode(e){return(0,A._)`${e}.compare(${r}, ${s}) ${o[i].fail} 0`}},dependencies:["format"]};const formatLimitPlugin=e=>{e.addKeyword(t.formatLimitDefinition);return e};t["default"]=formatLimitPlugin},9474:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv2020=void 0;const n=r(2549);const A=r(3370);const s=r(5014);const o=r(3707);const i="https://json-schema.org/draft/2020-12/schema";class Ajv2020 extends n.default{constructor(e={}){super({...e,dynamicRef:true,next:true,unevaluated:true})}_addVocabularies(){super._addVocabularies();A.default.forEach(e=>this.addVocabulary(e));if(this.opts.discriminator)this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();const{$data:e,meta:t}=this.opts;if(!t)return;o.default.call(this,e);this.refs["http://json-schema.org/schema"]=i}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(i)?i:undefined)}}t.Ajv2020=Ajv2020;e.exports=t=Ajv2020;e.exports.Ajv2020=Ajv2020;Object.defineProperty(t,"__esModule",{value:true});t["default"]=Ajv2020;var a=r(4457);Object.defineProperty(t,"KeywordCxt",{enumerable:true,get:function(){return a.KeywordCxt}});var c=r(28);Object.defineProperty(t,"_",{enumerable:true,get:function(){return c._}});Object.defineProperty(t,"str",{enumerable:true,get:function(){return c.str}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return c.stringify}});Object.defineProperty(t,"nil",{enumerable:true,get:function(){return c.nil}});Object.defineProperty(t,"Name",{enumerable:true,get:function(){return c.Name}});Object.defineProperty(t,"CodeGen",{enumerable:true,get:function(){return c.CodeGen}});var l=r(4301);Object.defineProperty(t,"ValidationError",{enumerable:true,get:function(){return l.default}});var u=r(8922);Object.defineProperty(t,"MissingRefError",{enumerable:true,get:function(){return u.default}})},6223:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.MissingRefError=t.ValidationError=t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=t.Ajv=void 0;const n=r(2549);const A=r(5845);const s=r(5014);const o=r(7628);const i=["/properties"];const a="http://json-schema.org/draft-07/schema";class Ajv extends n.default{_addVocabularies(){super._addVocabularies();A.default.forEach(e=>this.addVocabulary(e));if(this.opts.discriminator)this.addKeyword(s.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();if(!this.opts.meta)return;const e=this.opts.$data?this.$dataMetaSchema(o,i):o;this.addMetaSchema(e,a,false);this.refs["http://json-schema.org/schema"]=a}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(a)?a:undefined)}}t.Ajv=Ajv;e.exports=t=Ajv;e.exports.Ajv=Ajv;Object.defineProperty(t,"__esModule",{value:true});t["default"]=Ajv;var c=r(4457);Object.defineProperty(t,"KeywordCxt",{enumerable:true,get:function(){return c.KeywordCxt}});var l=r(28);Object.defineProperty(t,"_",{enumerable:true,get:function(){return l._}});Object.defineProperty(t,"str",{enumerable:true,get:function(){return l.str}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return l.stringify}});Object.defineProperty(t,"nil",{enumerable:true,get:function(){return l.nil}});Object.defineProperty(t,"Name",{enumerable:true,get:function(){return l.Name}});Object.defineProperty(t,"CodeGen",{enumerable:true,get:function(){return l.CodeGen}});var u=r(4301);Object.defineProperty(t,"ValidationError",{enumerable:true,get:function(){return u.default}});var d=r(8922);Object.defineProperty(t,"MissingRefError",{enumerable:true,get:function(){return d.default}})},6711:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.regexpCode=t.getEsmExportName=t.getProperty=t.safeStringify=t.stringify=t.strConcat=t.addCodeArg=t.str=t._=t.nil=t._Code=t.Name=t.IDENTIFIER=t._CodeOrName=void 0;class _CodeOrName{}t._CodeOrName=_CodeOrName;t.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Name extends _CodeOrName{constructor(e){super();if(!t.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return false}get names(){return{[this.str]:1}}}t.Name=Name;class _Code extends _CodeOrName{constructor(e){super();this._items=typeof e==="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;const e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((e,t)=>`${e}${t}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((e,t)=>{if(t instanceof Name)e[t.str]=(e[t.str]||0)+1;return e},{})}}t._Code=_Code;t.nil=new _Code("");function _(e,...t){const r=[e[0]];let n=0;while(n{Object.defineProperty(t,"__esModule",{value:true});t.or=t.and=t.not=t.CodeGen=t.operators=t.varKinds=t.ValueScopeName=t.ValueScope=t.Scope=t.Name=t.regexpCode=t.stringify=t.getProperty=t.nil=t.strConcat=t.str=t._=void 0;const n=r(6711);const A=r(1404);var s=r(6711);Object.defineProperty(t,"_",{enumerable:true,get:function(){return s._}});Object.defineProperty(t,"str",{enumerable:true,get:function(){return s.str}});Object.defineProperty(t,"strConcat",{enumerable:true,get:function(){return s.strConcat}});Object.defineProperty(t,"nil",{enumerable:true,get:function(){return s.nil}});Object.defineProperty(t,"getProperty",{enumerable:true,get:function(){return s.getProperty}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return s.stringify}});Object.defineProperty(t,"regexpCode",{enumerable:true,get:function(){return s.regexpCode}});Object.defineProperty(t,"Name",{enumerable:true,get:function(){return s.Name}});var o=r(1404);Object.defineProperty(t,"Scope",{enumerable:true,get:function(){return o.Scope}});Object.defineProperty(t,"ValueScope",{enumerable:true,get:function(){return o.ValueScope}});Object.defineProperty(t,"ValueScopeName",{enumerable:true,get:function(){return o.ValueScopeName}});Object.defineProperty(t,"varKinds",{enumerable:true,get:function(){return o.varKinds}});t.operators={GT:new n._Code(">"),GTE:new n._Code(">="),LT:new n._Code("<"),LTE:new n._Code("<="),EQ:new n._Code("==="),NEQ:new n._Code("!=="),NOT:new n._Code("!"),OR:new n._Code("||"),AND:new n._Code("&&"),ADD:new n._Code("+")};class Node{optimizeNodes(){return this}optimizeNames(e,t){return this}}class Def extends Node{constructor(e,t,r){super();this.varKind=e;this.name=t;this.rhs=r}render({es5:e,_n:t}){const r=e?A.varKinds.var:this.varKind;const n=this.rhs===undefined?"":` = ${this.rhs}`;return`${r} ${this.name}${n};`+t}optimizeNames(e,t){if(!e[this.name.str])return;if(this.rhs)this.rhs=optimizeExpr(this.rhs,e,t);return this}get names(){return this.rhs instanceof n._CodeOrName?this.rhs.names:{}}}class Assign extends Node{constructor(e,t,r){super();this.lhs=e;this.rhs=t;this.sideEffects=r}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(this.lhs instanceof n.Name&&!e[this.lhs.str]&&!this.sideEffects)return;this.rhs=optimizeExpr(this.rhs,e,t);return this}get names(){const e=this.lhs instanceof n.Name?{}:{...this.lhs.names};return addExprNames(e,this.rhs)}}class AssignOp extends Assign{constructor(e,t,r,n){super(e,r,n);this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class Label extends Node{constructor(e){super();this.label=e;this.names={}}render({_n:e}){return`${this.label}:`+e}}class Break extends Node{constructor(e){super();this.label=e;this.names={}}render({_n:e}){const t=this.label?` ${this.label}`:"";return`break${t};`+e}}class Throw extends Node{constructor(e){super();this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class AnyCode extends Node{constructor(e){super();this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:undefined}optimizeNames(e,t){this.code=optimizeExpr(this.code,e,t);return this}get names(){return this.code instanceof n._CodeOrName?this.code.names:{}}}class ParentNode extends Node{constructor(e=[]){super();this.nodes=e}render(e){return this.nodes.reduce((t,r)=>t+r.render(e),"")}optimizeNodes(){const{nodes:e}=this;let t=e.length;while(t--){const r=e[t].optimizeNodes();if(Array.isArray(r))e.splice(t,1,...r);else if(r)e[t]=r;else e.splice(t,1)}return e.length>0?this:undefined}optimizeNames(e,t){const{nodes:r}=this;let n=r.length;while(n--){const A=r[n];if(A.optimizeNames(e,t))continue;subtractNames(e,A.names);r.splice(n,1)}return r.length>0?this:undefined}get names(){return this.nodes.reduce((e,t)=>addNames(e,t.names),{})}}class BlockNode extends ParentNode{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class Root extends ParentNode{}class Else extends BlockNode{}Else.kind="else";class If extends BlockNode{constructor(e,t){super(t);this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);if(this.else)t+="else "+this.else.render(e);return t}optimizeNodes(){super.optimizeNodes();const e=this.condition;if(e===true)return this.nodes;let t=this.else;if(t){const e=t.optimizeNodes();t=this.else=Array.isArray(e)?new Else(e):e}if(t){if(e===false)return t instanceof If?t:t.nodes;if(this.nodes.length)return this;return new If(not(e),t instanceof If?[t]:t.nodes)}if(e===false||!this.nodes.length)return undefined;return this}optimizeNames(e,t){var r;this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(e,t);if(!(super.optimizeNames(e,t)||this.else))return;this.condition=optimizeExpr(this.condition,e,t);return this}get names(){const e=super.names;addExprNames(e,this.condition);if(this.else)addNames(e,this.else.names);return e}}If.kind="if";class For extends BlockNode{}For.kind="for";class ForLoop extends For{constructor(e){super();this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;this.iteration=optimizeExpr(this.iteration,e,t);return this}get names(){return addNames(super.names,this.iteration.names)}}class ForRange extends For{constructor(e,t,r,n){super();this.varKind=e;this.name=t;this.from=r;this.to=n}render(e){const t=e.es5?A.varKinds.var:this.varKind;const{name:r,from:n,to:s}=this;return`for(${t} ${r}=${n}; ${r}<${s}; ${r}++)`+super.render(e)}get names(){const e=addExprNames(super.names,this.from);return addExprNames(e,this.to)}}class ForIter extends For{constructor(e,t,r,n){super();this.loop=e;this.varKind=t;this.name=r;this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;this.iterable=optimizeExpr(this.iterable,e,t);return this}get names(){return addNames(super.names,this.iterable.names)}}class Func extends BlockNode{constructor(e,t,r){super();this.name=e;this.args=t;this.async=r}render(e){const t=this.async?"async ":"";return`${t}function ${this.name}(${this.args})`+super.render(e)}}Func.kind="func";class Return extends ParentNode{render(e){return"return "+super.render(e)}}Return.kind="return";class Try extends BlockNode{render(e){let t="try"+super.render(e);if(this.catch)t+=this.catch.render(e);if(this.finally)t+=this.finally.render(e);return t}optimizeNodes(){var e,t;super.optimizeNodes();(e=this.catch)===null||e===void 0?void 0:e.optimizeNodes();(t=this.finally)===null||t===void 0?void 0:t.optimizeNodes();return this}optimizeNames(e,t){var r,n;super.optimizeNames(e,t);(r=this.catch)===null||r===void 0?void 0:r.optimizeNames(e,t);(n=this.finally)===null||n===void 0?void 0:n.optimizeNames(e,t);return this}get names(){const e=super.names;if(this.catch)addNames(e,this.catch.names);if(this.finally)addNames(e,this.finally.names);return e}}class Catch extends BlockNode{constructor(e){super();this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}Catch.kind="catch";class Finally extends BlockNode{render(e){return"finally"+super.render(e)}}Finally.kind="finally";class CodeGen{constructor(e,t={}){this._values={};this._blockStarts=[];this._constants={};this.opts={...t,_n:t.lines?"\n":""};this._extScope=e;this._scope=new A.Scope({parent:e});this._nodes=[new Root]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){const r=this._extScope.value(e,t);const n=this._values[r.prefix]||(this._values[r.prefix]=new Set);n.add(r);return r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){const A=this._scope.toName(t);if(r!==undefined&&n)this._constants[A.str]=r;this._leafNode(new Def(e,A,r));return A}const(e,t,r){return this._def(A.varKinds.const,e,t,r)}let(e,t,r){return this._def(A.varKinds.let,e,t,r)}var(e,t,r){return this._def(A.varKinds.var,e,t,r)}assign(e,t,r){return this._leafNode(new Assign(e,t,r))}add(e,r){return this._leafNode(new AssignOp(e,t.operators.ADD,r))}code(e){if(typeof e=="function")e();else if(e!==n.nil)this._leafNode(new AnyCode(e));return this}object(...e){const t=["{"];for(const[r,A]of e){if(t.length>1)t.push(",");t.push(r);if(r!==A||this.opts.es5){t.push(":");(0,n.addCodeArg)(t,A)}}t.push("}");return new n._Code(t)}if(e,t,r){this._blockNode(new If(e));if(t&&r){this.code(t).else().code(r).endIf()}else if(t){this.code(t).endIf()}else if(r){throw new Error('CodeGen: "else" body without "then" body')}return this}elseIf(e){return this._elseNode(new If(e))}else(){return this._elseNode(new Else)}endIf(){return this._endBlockNode(If,Else)}_for(e,t){this._blockNode(e);if(t)this.code(t).endFor();return this}for(e,t){return this._for(new ForLoop(e),t)}forRange(e,t,r,n,s=(this.opts.es5?A.varKinds.var:A.varKinds.let)){const o=this._scope.toName(e);return this._for(new ForRange(s,o,t,r),()=>n(o))}forOf(e,t,r,s=A.varKinds.const){const o=this._scope.toName(e);if(this.opts.es5){const e=t instanceof n.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,n._)`${e}.length`,t=>{this.var(o,(0,n._)`${e}[${t}]`);r(o)})}return this._for(new ForIter("of",s,o,t),()=>r(o))}forIn(e,t,r,s=(this.opts.es5?A.varKinds.var:A.varKinds.const)){if(this.opts.ownProperties){return this.forOf(e,(0,n._)`Object.keys(${t})`,r)}const o=this._scope.toName(e);return this._for(new ForIter("in",s,o,t),()=>r(o))}endFor(){return this._endBlockNode(For)}label(e){return this._leafNode(new Label(e))}break(e){return this._leafNode(new Break(e))}return(e){const t=new Return;this._blockNode(t);this.code(e);if(t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Return)}try(e,t,r){if(!t&&!r)throw new Error('CodeGen: "try" without "catch" and "finally"');const n=new Try;this._blockNode(n);this.code(e);if(t){const e=this.name("e");this._currNode=n.catch=new Catch(e);t(e)}if(r){this._currNode=n.finally=new Finally;this.code(r)}return this._endBlockNode(Catch,Finally)}throw(e){return this._leafNode(new Throw(e))}block(e,t){this._blockStarts.push(this._nodes.length);if(e)this.code(e).endBlock(t);return this}endBlock(e){const t=this._blockStarts.pop();if(t===undefined)throw new Error("CodeGen: not in self-balancing block");const r=this._nodes.length-t;if(r<0||e!==undefined&&r!==e){throw new Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`)}this._nodes.length=t;return this}func(e,t=n.nil,r,A){this._blockNode(new Func(e,t,r));if(A)this.code(A).endFunc();return this}endFunc(){return this._endBlockNode(Func)}optimize(e=1){while(e-- >0){this._root.optimizeNodes();this._root.optimizeNames(this._root.names,this._constants)}}_leafNode(e){this._currNode.nodes.push(e);return this}_blockNode(e){this._currNode.nodes.push(e);this._nodes.push(e)}_endBlockNode(e,t){const r=this._currNode;if(r instanceof e||t&&r instanceof t){this._nodes.pop();return this}throw new Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){const t=this._currNode;if(!(t instanceof If)){throw new Error('CodeGen: "else" without "if"')}this._currNode=t.else=e;return this}get _root(){return this._nodes[0]}get _currNode(){const e=this._nodes;return e[e.length-1]}set _currNode(e){const t=this._nodes;t[t.length-1]=e}}t.CodeGen=CodeGen;function addNames(e,t){for(const r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function addExprNames(e,t){return t instanceof n._CodeOrName?addNames(e,t.names):e}function optimizeExpr(e,t,r){if(e instanceof n.Name)return replaceName(e);if(!canOptimize(e))return e;return new n._Code(e._items.reduce((e,t)=>{if(t instanceof n.Name)t=replaceName(t);if(t instanceof n._Code)e.push(...t._items);else e.push(t);return e},[]));function replaceName(e){const n=r[e.str];if(n===undefined||t[e.str]!==1)return e;delete t[e.str];return n}function canOptimize(e){return e instanceof n._Code&&e._items.some(e=>e instanceof n.Name&&t[e.str]===1&&r[e.str]!==undefined)}}function subtractNames(e,t){for(const r in t)e[r]=(e[r]||0)-(t[r]||0)}function not(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,n._)`!${par(e)}`}t.not=not;const i=mappend(t.operators.AND);function and(...e){return e.reduce(i)}t.and=and;const a=mappend(t.operators.OR);function or(...e){return e.reduce(a)}t.or=or;function mappend(e){return(t,r)=>t===n.nil?r:r===n.nil?t:(0,n._)`${par(t)} ${e} ${par(r)}`}function par(e){return e instanceof n.Name?e:(0,n._)`(${e})`}},1404:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.ValueScope=t.ValueScopeName=t.Scope=t.varKinds=t.UsedValueState=void 0;const n=r(6711);class ValueError extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`);this.value=e.value}}var A;(function(e){e[e["Started"]=0]="Started";e[e["Completed"]=1]="Completed"})(A||(t.UsedValueState=A={}));t.varKinds={const:new n.Name("const"),let:new n.Name("let"),var:new n.Name("var")};class Scope{constructor({prefixes:e,parent:t}={}){this._names={};this._prefixes=e;this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){const t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,r;if(((r=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||r===void 0?void 0:r.has(e))||this._prefixes&&!this._prefixes.has(e)){throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`)}return this._names[e]={prefix:e,index:0}}}t.Scope=Scope;class ValueScopeName extends n.Name{constructor(e,t){super(t);this.prefix=e}setValue(e,{property:t,itemIndex:r}){this.value=e;this.scopePath=(0,n._)`.${new n.Name(t)}[${r}]`}}t.ValueScopeName=ValueScopeName;const s=(0,n._)`\n`;class ValueScope extends Scope{constructor(e){super(e);this._values={};this._scope=e.scope;this.opts={...e,_n:e.lines?s:n.nil}}get(){return this._scope}name(e){return new ValueScopeName(e,this._newName(e))}value(e,t){var r;if(t.ref===undefined)throw new Error("CodeGen: ref must be passed in value");const n=this.toName(e);const{prefix:A}=n;const s=(r=t.key)!==null&&r!==void 0?r:t.ref;let o=this._values[A];if(o){const e=o.get(s);if(e)return e}else{o=this._values[A]=new Map}o.set(s,n);const i=this._scope[A]||(this._scope[A]=[]);const a=i.length;i[a]=t.ref;n.setValue(t,{property:A,itemIndex:a});return n}getValue(e,t){const r=this._values[e];if(!r)return;return r.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,t=>{if(t.scopePath===undefined)throw new Error(`CodeGen: name "${t}" has no value`);return(0,n._)`${e}${t.scopePath}`})}scopeCode(e=this._values,t,r){return this._reduceValues(e,e=>{if(e.value===undefined)throw new Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,r)}_reduceValues(e,r,s={},o){let i=n.nil;for(const a in e){const c=e[a];if(!c)continue;const l=s[a]=s[a]||new Map;c.forEach(e=>{if(l.has(e))return;l.set(e,A.Started);let s=r(e);if(s){const r=this.opts.es5?t.varKinds.var:t.varKinds.const;i=(0,n._)`${i}${r} ${e} = ${s};${this.opts._n}`}else if(s=o===null||o===void 0?void 0:o(e)){i=(0,n._)`${i}${s}${this.opts._n}`}else{throw new ValueError(e)}l.set(e,A.Completed)})}return i}}t.ValueScope=ValueScope},3040:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.extendErrors=t.resetErrorsCount=t.reportExtraError=t.reportError=t.keyword$DataError=t.keywordError=void 0;const n=r(28);const A=r(3904);const s=r(5990);t.keywordError={message:({keyword:e})=>(0,n.str)`must pass "${e}" keyword validation`};t.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,n.str)`"${e}" keyword must be ${t} ($data)`:(0,n.str)`"${e}" keyword is invalid ($data)`};function reportError(e,r=t.keywordError,A,s){const{it:o}=e;const{gen:i,compositeRule:a,allErrors:c}=o;const l=errorObjectCode(e,r,A);if(s!==null&&s!==void 0?s:a||c){addError(i,l)}else{returnErrors(o,(0,n._)`[${l}]`)}}t.reportError=reportError;function reportExtraError(e,r=t.keywordError,n){const{it:A}=e;const{gen:o,compositeRule:i,allErrors:a}=A;const c=errorObjectCode(e,r,n);addError(o,c);if(!(i||a)){returnErrors(A,s.default.vErrors)}}t.reportExtraError=reportExtraError;function resetErrorsCount(e,t){e.assign(s.default.errors,t);e.if((0,n._)`${s.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,n._)`${s.default.vErrors}.length`,t),()=>e.assign(s.default.vErrors,null)))}t.resetErrorsCount=resetErrorsCount;function extendErrors({gen:e,keyword:t,schemaValue:r,data:A,errsCount:o,it:i}){if(o===undefined)throw new Error("ajv implementation error");const a=e.name("err");e.forRange("i",o,s.default.errors,o=>{e.const(a,(0,n._)`${s.default.vErrors}[${o}]`);e.if((0,n._)`${a}.instancePath === undefined`,()=>e.assign((0,n._)`${a}.instancePath`,(0,n.strConcat)(s.default.instancePath,i.errorPath)));e.assign((0,n._)`${a}.schemaPath`,(0,n.str)`${i.errSchemaPath}/${t}`);if(i.opts.verbose){e.assign((0,n._)`${a}.schema`,r);e.assign((0,n._)`${a}.data`,A)}})}t.extendErrors=extendErrors;function addError(e,t){const r=e.const("err",t);e.if((0,n._)`${s.default.vErrors} === null`,()=>e.assign(s.default.vErrors,(0,n._)`[${r}]`),(0,n._)`${s.default.vErrors}.push(${r})`);e.code((0,n._)`${s.default.errors}++`)}function returnErrors(e,t){const{gen:r,validateName:A,schemaEnv:s}=e;if(s.$async){r.throw((0,n._)`new ${e.ValidationError}(${t})`)}else{r.assign((0,n._)`${A}.errors`,t);r.return(false)}}const o={keyword:new n.Name("keyword"),schemaPath:new n.Name("schemaPath"),params:new n.Name("params"),propertyName:new n.Name("propertyName"),message:new n.Name("message"),schema:new n.Name("schema"),parentSchema:new n.Name("parentSchema")};function errorObjectCode(e,t,r){const{createErrors:A}=e.it;if(A===false)return(0,n._)`{}`;return errorObject(e,t,r)}function errorObject(e,t,r={}){const{gen:n,it:A}=e;const s=[errorInstancePath(A,r),errorSchemaPath(e,r)];extraErrorProps(e,t,s);return n.object(...s)}function errorInstancePath({errorPath:e},{instancePath:t}){const r=t?(0,n.str)`${e}${(0,A.getErrorPath)(t,A.Type.Str)}`:e;return[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,r)]}function errorSchemaPath({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:s}){let i=s?t:(0,n.str)`${t}/${e}`;if(r){i=(0,n.str)`${i}${(0,A.getErrorPath)(r,A.Type.Str)}`}return[o.schemaPath,i]}function extraErrorProps(e,{params:t,message:r},A){const{keyword:i,data:a,schemaValue:c,it:l}=e;const{opts:u,propertyName:d,topSchemaRef:h,schemaPath:g}=l;A.push([o.keyword,i],[o.params,typeof t=="function"?t(e):t||(0,n._)`{}`]);if(u.messages){A.push([o.message,typeof r=="function"?r(e):r])}if(u.verbose){A.push([o.schema,c],[o.parentSchema,(0,n._)`${h}${g}`],[s.default.data,a])}if(d)A.push([o.propertyName,d])}},9198:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.resolveSchema=t.getCompilingSchema=t.resolveRef=t.compileSchema=t.SchemaEnv=void 0;const n=r(28);const A=r(4301);const s=r(5990);const o=r(1946);const i=r(3904);const a=r(4457);class SchemaEnv{constructor(e){var t;this.refs={};this.dynamicAnchors={};let r;if(typeof e.schema=="object")r=e.schema;this.schema=e.schema;this.schemaId=e.schemaId;this.root=e.root||this;this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,o.normalizeId)(r===null||r===void 0?void 0:r[e.schemaId||"$id"]);this.schemaPath=e.schemaPath;this.localRefs=e.localRefs;this.meta=e.meta;this.$async=r===null||r===void 0?void 0:r.$async;this.refs={}}}t.SchemaEnv=SchemaEnv;function compileSchema(e){const t=getCompilingSchema.call(this,e);if(t)return t;const r=(0,o.getFullPath)(this.opts.uriResolver,e.root.baseId);const{es5:i,lines:c}=this.opts.code;const{ownProperties:l}=this.opts;const u=new n.CodeGen(this.scope,{es5:i,lines:c,ownProperties:l});let d;if(e.$async){d=u.scopeValue("Error",{ref:A.default,code:(0,n._)`require("ajv/dist/runtime/validation_error").default`})}const h=u.scopeName("validate");e.validateName=h;const g={gen:u,allErrors:this.opts.allErrors,data:s.default.data,parentData:s.default.parentData,parentDataProperty:s.default.parentDataProperty,dataNames:[s.default.data],dataPathArr:[n.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:u.scopeValue("schema",this.opts.code.source===true?{ref:e.schema,code:(0,n.stringify)(e.schema)}:{ref:e.schema}),validateName:h,ValidationError:d,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:n.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,n._)`""`,opts:this.opts,self:this};let f;try{this._compilations.add(e);(0,a.validateFunctionCode)(g);u.optimize(this.opts.code.optimize);const t=u.toString();f=`${u.scopeRefs(s.default.scope)}return ${t}`;if(this.opts.code.process)f=this.opts.code.process(f,e);const r=new Function(`${s.default.self}`,`${s.default.scope}`,f);const A=r(this,this.scope.get());this.scope.value(h,{ref:A});A.errors=null;A.schema=e.schema;A.schemaEnv=e;if(e.$async)A.$async=true;if(this.opts.code.source===true){A.source={validateName:h,validateCode:t,scopeValues:u._values}}if(this.opts.unevaluated){const{props:e,items:t}=g;A.evaluated={props:e instanceof n.Name?undefined:e,items:t instanceof n.Name?undefined:t,dynamicProps:e instanceof n.Name,dynamicItems:t instanceof n.Name};if(A.source)A.source.evaluated=(0,n.stringify)(A.evaluated)}e.validate=A;return e}catch(t){delete e.validate;delete e.validateName;if(f)this.logger.error("Error compiling schema, function code:",f);throw t}finally{this._compilations.delete(e)}}t.compileSchema=compileSchema;function resolveRef(e,t,r){var n;r=(0,o.resolveUrl)(this.opts.uriResolver,t,r);const A=e.refs[r];if(A)return A;let s=resolve.call(this,e,r);if(s===undefined){const A=(n=e.localRefs)===null||n===void 0?void 0:n[r];const{schemaId:o}=this.opts;if(A)s=new SchemaEnv({schema:A,schemaId:o,root:e,baseId:t})}if(s===undefined)return;return e.refs[r]=inlineOrCompile.call(this,s)}t.resolveRef=resolveRef;function inlineOrCompile(e){if((0,o.inlineRef)(e.schema,this.opts.inlineRefs))return e.schema;return e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(const t of this._compilations){if(sameSchemaEnv(t,e))return t}}t.getCompilingSchema=getCompilingSchema;function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve(e,t){let r;while(typeof(r=this.refs[t])=="string")t=r;return r||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){const r=this.opts.uriResolver.parse(t);const n=(0,o._getFullPath)(this.opts.uriResolver,r);let A=(0,o.getFullPath)(this.opts.uriResolver,e.baseId,undefined);if(Object.keys(e.schema).length>0&&n===A){return getJsonPointer.call(this,r,e)}const s=(0,o.normalizeId)(n);const i=this.refs[s]||this.schemas[s];if(typeof i=="string"){const t=resolveSchema.call(this,e,i);if(typeof(t===null||t===void 0?void 0:t.schema)!=="object")return;return getJsonPointer.call(this,r,t)}if(typeof(i===null||i===void 0?void 0:i.schema)!=="object")return;if(!i.validate)compileSchema.call(this,i);if(s===(0,o.normalizeId)(t)){const{schema:t}=i;const{schemaId:r}=this.opts;const n=t[r];if(n)A=(0,o.resolveUrl)(this.opts.uriResolver,A,n);return new SchemaEnv({schema:t,schemaId:r,root:e,baseId:A})}return getJsonPointer.call(this,r,i)}t.resolveSchema=resolveSchema;const c=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(e,{baseId:t,schema:r,root:n}){var A;if(((A=e.fragment)===null||A===void 0?void 0:A[0])!=="/")return;for(const n of e.fragment.slice(1).split("/")){if(typeof r==="boolean")return;const e=r[(0,i.unescapeFragment)(n)];if(e===undefined)return;r=e;const A=typeof r==="object"&&r[this.opts.schemaId];if(!c.has(n)&&A){t=(0,o.resolveUrl)(this.opts.uriResolver,t,A)}}let s;if(typeof r!="boolean"&&r.$ref&&!(0,i.schemaHasRulesButRef)(r,this.RULES)){const e=(0,o.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=resolveSchema.call(this,n,e)}const{schemaId:a}=this.opts;s=s||new SchemaEnv({schema:r,schemaId:a,root:n,baseId:t});if(s.schema!==s.root.schema)return s;return undefined}},5990:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A={data:new n.Name("data"),valCxt:new n.Name("valCxt"),instancePath:new n.Name("instancePath"),parentData:new n.Name("parentData"),parentDataProperty:new n.Name("parentDataProperty"),rootData:new n.Name("rootData"),dynamicAnchors:new n.Name("dynamicAnchors"),vErrors:new n.Name("vErrors"),errors:new n.Name("errors"),this:new n.Name("this"),self:new n.Name("self"),scope:new n.Name("scope"),json:new n.Name("json"),jsonPos:new n.Name("jsonPos"),jsonLen:new n.Name("jsonLen"),jsonPart:new n.Name("jsonPart")};t["default"]=A},8922:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(1946);class MissingRefError extends Error{constructor(e,t,r,A){super(A||`can't resolve reference ${r} from id ${t}`);this.missingRef=(0,n.resolveUrl)(e,t,r);this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}t["default"]=MissingRefError},1946:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.getSchemaRefs=t.resolveUrl=t.normalizeId=t._getFullPath=t.getFullPath=t.inlineRef=void 0;const n=r(3904);const A=r(7638);const s=r(8688);const o=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(e,t=true){if(typeof e=="boolean")return true;if(t===true)return!hasRef(e);if(!t)return false;return countKeys(e)<=t}t.inlineRef=inlineRef;const i=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(e){for(const t in e){if(i.has(t))return true;const r=e[t];if(Array.isArray(r)&&r.some(hasRef))return true;if(typeof r=="object"&&hasRef(r))return true}return false}function countKeys(e){let t=0;for(const r in e){if(r==="$ref")return Infinity;t++;if(o.has(r))continue;if(typeof e[r]=="object"){(0,n.eachItem)(e[r],e=>t+=countKeys(e))}if(t===Infinity)return Infinity}return t}function getFullPath(e,t="",r){if(r!==false)t=normalizeId(t);const n=e.parse(t);return _getFullPath(e,n)}t.getFullPath=getFullPath;function _getFullPath(e,t){const r=e.serialize(t);return r.split("#")[0]+"#"}t._getFullPath=_getFullPath;const a=/#\/?$/;function normalizeId(e){return e?e.replace(a,""):""}t.normalizeId=normalizeId;function resolveUrl(e,t,r){r=normalizeId(r);return e.resolve(t,r)}t.resolveUrl=resolveUrl;const c=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if(typeof e=="boolean")return{};const{schemaId:r,uriResolver:n}=this.opts;const o=normalizeId(e[r]||t);const i={"":o};const a=getFullPath(n,o,false);const l={};const u=new Set;s(e,{allKeys:true},(e,t,n,A)=>{if(A===undefined)return;const s=a+t;let o=i[A];if(typeof e[r]=="string")o=addRef.call(this,e[r]);addAnchor.call(this,e.$anchor);addAnchor.call(this,e.$dynamicAnchor);i[t]=o;function addRef(t){const r=this.opts.uriResolver.resolve;t=normalizeId(o?r(o,t):t);if(u.has(t))throw ambiguos(t);u.add(t);let n=this.refs[t];if(typeof n=="string")n=this.refs[n];if(typeof n=="object"){checkAmbiguosRef(e,n.schema,t)}else if(t!==normalizeId(s)){if(t[0]==="#"){checkAmbiguosRef(e,l[t],t);l[t]=e}else{this.refs[t]=s}}return t}function addAnchor(e){if(typeof e=="string"){if(!c.test(e))throw new Error(`invalid anchor "${e}"`);addRef.call(this,`#${e}`)}}});return l;function checkAmbiguosRef(e,t,r){if(t!==undefined&&!A(e,t))throw ambiguos(r)}function ambiguos(e){return new Error(`reference "${e}" resolves to more than one schema`)}}t.getSchemaRefs=getSchemaRefs},5513:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.getRules=t.isJSONType=void 0;const r=["string","number","integer","boolean","null","object","array"];const n=new Set(r);function isJSONType(e){return typeof e=="string"&&n.has(e)}t.isJSONType=isJSONType;function getRules(){const e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:true,boolean:true,null:true},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}t.getRules=getRules},3904:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.checkStrictMode=t.getErrorPath=t.Type=t.useFunc=t.setEvaluated=t.evaluatedPropsToName=t.mergeEvaluated=t.eachItem=t.unescapeJsonPointer=t.escapeJsonPointer=t.escapeFragment=t.unescapeFragment=t.schemaRefOrVal=t.schemaHasRulesButRef=t.schemaHasRules=t.checkUnknownRules=t.alwaysValidSchema=t.toHash=void 0;const n=r(28);const A=r(6711);function toHash(e){const t={};for(const r of e)t[r]=true;return t}t.toHash=toHash;function alwaysValidSchema(e,t){if(typeof t=="boolean")return t;if(Object.keys(t).length===0)return true;checkUnknownRules(e,t);return!schemaHasRules(t,e.self.RULES.all)}t.alwaysValidSchema=alwaysValidSchema;function checkUnknownRules(e,t=e.schema){const{opts:r,self:n}=e;if(!r.strictSchema)return;if(typeof t==="boolean")return;const A=n.RULES.keywords;for(const r in t){if(!A[r])checkStrictMode(e,`unknown keyword: "${r}"`)}}t.checkUnknownRules=checkUnknownRules;function schemaHasRules(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(t[r])return true;return false}t.schemaHasRules=schemaHasRules;function schemaHasRulesButRef(e,t){if(typeof e=="boolean")return!e;for(const r in e)if(r!=="$ref"&&t.all[r])return true;return false}t.schemaHasRulesButRef=schemaHasRulesButRef;function schemaRefOrVal({topSchemaRef:e,schemaPath:t},r,A,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,n._)`${r}`}return(0,n._)`${e}${t}${(0,n.getProperty)(A)}`}t.schemaRefOrVal=schemaRefOrVal;function unescapeFragment(e){return unescapeJsonPointer(decodeURIComponent(e))}t.unescapeFragment=unescapeFragment;function escapeFragment(e){return encodeURIComponent(escapeJsonPointer(e))}t.escapeFragment=escapeFragment;function escapeJsonPointer(e){if(typeof e=="number")return`${e}`;return e.replace(/~/g,"~0").replace(/\//g,"~1")}t.escapeJsonPointer=escapeJsonPointer;function unescapeJsonPointer(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}t.unescapeJsonPointer=unescapeJsonPointer;function eachItem(e,t){if(Array.isArray(e)){for(const r of e)t(r)}else{t(e)}}t.eachItem=eachItem;function makeMergeEvaluated({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:A}){return(s,o,i,a)=>{const c=i===undefined?o:i instanceof n.Name?(o instanceof n.Name?e(s,o,i):t(s,o,i),i):o instanceof n.Name?(t(s,i,o),o):r(o,i);return a===n.Name&&!(c instanceof n.Name)?A(s,c):c}}t.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(e,t,r)=>e.if((0,n._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,n._)`${t} === true`,()=>e.assign(r,true),()=>e.assign(r,(0,n._)`${r} || {}`).code((0,n._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,n._)`${r} !== true`,()=>{if(t===true){e.assign(r,true)}else{e.assign(r,(0,n._)`${r} || {}`);setEvaluated(e,r,t)}}),mergeValues:(e,t)=>e===true?true:{...e,...t},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(e,t,r)=>e.if((0,n._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,n._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,n._)`${r} !== true`,()=>e.assign(r,t===true?true:(0,n._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===true?true:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function evaluatedPropsToName(e,t){if(t===true)return e.var("props",true);const r=e.var("props",(0,n._)`{}`);if(t!==undefined)setEvaluated(e,r,t);return r}t.evaluatedPropsToName=evaluatedPropsToName;function setEvaluated(e,t,r){Object.keys(r).forEach(r=>e.assign((0,n._)`${t}${(0,n.getProperty)(r)}`,true))}t.setEvaluated=setEvaluated;const s={};function useFunc(e,t){return e.scopeValue("func",{ref:t,code:s[t.code]||(s[t.code]=new A._Code(t.code))})}t.useFunc=useFunc;var o;(function(e){e[e["Num"]=0]="Num";e[e["Str"]=1]="Str"})(o||(t.Type=o={}));function getErrorPath(e,t,r){if(e instanceof n.Name){const A=t===o.Num;return r?A?(0,n._)`"[" + ${e} + "]"`:(0,n._)`"['" + ${e} + "']"`:A?(0,n._)`"/" + ${e}`:(0,n._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,n.getProperty)(e).toString():"/"+escapeJsonPointer(e)}t.getErrorPath=getErrorPath;function checkStrictMode(e,t,r=e.opts.strictSchema){if(!r)return;t=`strict mode: ${t}`;if(r===true)throw new Error(t);e.self.logger.warn(t)}t.checkStrictMode=checkStrictMode},1356:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.shouldUseRule=t.shouldUseGroup=t.schemaHasRulesForType=void 0;function schemaHasRulesForType({schema:e,self:t},r){const n=t.RULES.types[r];return n&&n!==true&&shouldUseGroup(e,n)}t.schemaHasRulesForType=schemaHasRulesForType;function shouldUseGroup(e,t){return t.rules.some(t=>shouldUseRule(e,t))}t.shouldUseGroup=shouldUseGroup;function shouldUseRule(e,t){var r;return e[t.keyword]!==undefined||((r=t.definition.implements)===null||r===void 0?void 0:r.some(t=>e[t]!==undefined))}t.shouldUseRule=shouldUseRule},4690:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.boolOrEmptySchema=t.topBoolOrEmptySchema=void 0;const n=r(3040);const A=r(28);const s=r(5990);const o={message:"boolean schema is false"};function topBoolOrEmptySchema(e){const{gen:t,schema:r,validateName:n}=e;if(r===false){falseSchemaError(e,false)}else if(typeof r=="object"&&r.$async===true){t.return(s.default.data)}else{t.assign((0,A._)`${n}.errors`,null);t.return(true)}}t.topBoolOrEmptySchema=topBoolOrEmptySchema;function boolOrEmptySchema(e,t){const{gen:r,schema:n}=e;if(n===false){r.var(t,false);falseSchemaError(e)}else{r.var(t,true)}}t.boolOrEmptySchema=boolOrEmptySchema;function falseSchemaError(e,t){const{gen:r,data:A}=e;const s={gen:r,keyword:"false schema",data:A,schema:false,schemaCode:false,schemaValue:false,params:{},it:e};(0,n.reportError)(s,o,undefined,t)}},733:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.reportTypeError=t.checkDataTypes=t.checkDataType=t.coerceAndCheckDataType=t.getJSONTypes=t.getSchemaTypes=t.DataType=void 0;const n=r(5513);const A=r(1356);const s=r(3040);const o=r(28);const i=r(3904);var a;(function(e){e[e["Correct"]=0]="Correct";e[e["Wrong"]=1]="Wrong"})(a||(t.DataType=a={}));function getSchemaTypes(e){const t=getJSONTypes(e.type);const r=t.includes("null");if(r){if(e.nullable===false)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==undefined){throw new Error('"nullable" cannot be used without "type"')}if(e.nullable===true)t.push("null")}return t}t.getSchemaTypes=getSchemaTypes;function getJSONTypes(e){const t=Array.isArray(e)?e:e?[e]:[];if(t.every(n.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}t.getJSONTypes=getJSONTypes;function coerceAndCheckDataType(e,t){const{gen:r,data:n,opts:s}=e;const o=coerceToTypes(t,s.coerceTypes);const i=t.length>0&&!(o.length===0&&t.length===1&&(0,A.schemaHasRulesForType)(e,t[0]));if(i){const A=checkDataTypes(t,n,s.strictNumbers,a.Wrong);r.if(A,()=>{if(o.length)coerceData(e,t,o);else reportTypeError(e)})}return i}t.coerceAndCheckDataType=coerceAndCheckDataType;const c=new Set(["string","number","integer","boolean","null"]);function coerceToTypes(e,t){return t?e.filter(e=>c.has(e)||t==="array"&&e==="array"):[]}function coerceData(e,t,r){const{gen:n,data:A,opts:s}=e;const i=n.let("dataType",(0,o._)`typeof ${A}`);const a=n.let("coerced",(0,o._)`undefined`);if(s.coerceTypes==="array"){n.if((0,o._)`${i} == 'object' && Array.isArray(${A}) && ${A}.length == 1`,()=>n.assign(A,(0,o._)`${A}[0]`).assign(i,(0,o._)`typeof ${A}`).if(checkDataTypes(t,A,s.strictNumbers),()=>n.assign(a,A)))}n.if((0,o._)`${a} !== undefined`);for(const e of r){if(c.has(e)||e==="array"&&s.coerceTypes==="array"){coerceSpecificType(e)}}n.else();reportTypeError(e);n.endIf();n.if((0,o._)`${a} !== undefined`,()=>{n.assign(A,a);assignParentData(e,a)});function coerceSpecificType(e){switch(e){case"string":n.elseIf((0,o._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,o._)`"" + ${A}`).elseIf((0,o._)`${A} === null`).assign(a,(0,o._)`""`);return;case"number":n.elseIf((0,o._)`${i} == "boolean" || ${A} === null + || (${i} == "string" && ${A} && ${A} == +${A})`).assign(a,(0,o._)`+${A}`);return;case"integer":n.elseIf((0,o._)`${i} === "boolean" || ${A} === null + || (${i} === "string" && ${A} && ${A} == +${A} && !(${A} % 1))`).assign(a,(0,o._)`+${A}`);return;case"boolean":n.elseIf((0,o._)`${A} === "false" || ${A} === 0 || ${A} === null`).assign(a,false).elseIf((0,o._)`${A} === "true" || ${A} === 1`).assign(a,true);return;case"null":n.elseIf((0,o._)`${A} === "" || ${A} === 0 || ${A} === false`);n.assign(a,null);return;case"array":n.elseIf((0,o._)`${i} === "string" || ${i} === "number" + || ${i} === "boolean" || ${A} === null`).assign(a,(0,o._)`[${A}]`)}}}function assignParentData({gen:e,parentData:t,parentDataProperty:r},n){e.if((0,o._)`${t} !== undefined`,()=>e.assign((0,o._)`${t}[${r}]`,n))}function checkDataType(e,t,r,n=a.Correct){const A=n===a.Correct?o.operators.EQ:o.operators.NEQ;let s;switch(e){case"null":return(0,o._)`${t} ${A} null`;case"array":s=(0,o._)`Array.isArray(${t})`;break;case"object":s=(0,o._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=numCond((0,o._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=numCond();break;default:return(0,o._)`typeof ${t} ${A} ${e}`}return n===a.Correct?s:(0,o.not)(s);function numCond(e=o.nil){return(0,o.and)((0,o._)`typeof ${t} == "number"`,e,r?(0,o._)`isFinite(${t})`:o.nil)}}t.checkDataType=checkDataType;function checkDataTypes(e,t,r,n){if(e.length===1){return checkDataType(e[0],t,r,n)}let A;const s=(0,i.toHash)(e);if(s.array&&s.object){const e=(0,o._)`typeof ${t} != "object"`;A=s.null?e:(0,o._)`!${t} || ${e}`;delete s.null;delete s.array;delete s.object}else{A=o.nil}if(s.number)delete s.integer;for(const e in s)A=(0,o.and)(A,checkDataType(e,t,r,n));return A}t.checkDataTypes=checkDataTypes;const l={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,o._)`{type: ${e}}`:(0,o._)`{type: ${t}}`};function reportTypeError(e){const t=getTypeErrorContext(e);(0,s.reportError)(t,l)}t.reportTypeError=reportTypeError;function getTypeErrorContext(e){const{gen:t,data:r,schema:n}=e;const A=(0,i.schemaRefOrVal)(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:A,schemaValue:A,parentSchema:n,params:{},it:e}}},2483:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.assignDefaults=void 0;const n=r(28);const A=r(3904);function assignDefaults(e,t){const{properties:r,items:n}=e.schema;if(t==="object"&&r){for(const t in r){assignDefault(e,t,r[t].default)}}else if(t==="array"&&Array.isArray(n)){n.forEach((t,r)=>assignDefault(e,r,t.default))}}t.assignDefaults=assignDefaults;function assignDefault(e,t,r){const{gen:s,compositeRule:o,data:i,opts:a}=e;if(r===undefined)return;const c=(0,n._)`${i}${(0,n.getProperty)(t)}`;if(o){(0,A.checkStrictMode)(e,`default is ignored for: ${c}`);return}let l=(0,n._)`${c} === undefined`;if(a.useDefaults==="empty"){l=(0,n._)`${l} || ${c} === null || ${c} === ""`}s.if(l,(0,n._)`${c} = ${(0,n.stringify)(r)}`)}},4457:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.getData=t.KeywordCxt=t.validateFunctionCode=void 0;const n=r(4690);const A=r(733);const s=r(1356);const o=r(733);const i=r(2483);const a=r(18);const c=r(6392);const l=r(28);const u=r(5990);const d=r(1946);const h=r(3904);const g=r(3040);function validateFunctionCode(e){if(isSchemaObj(e)){checkKeywords(e);if(schemaCxtHasRules(e)){topSchemaObjCode(e);return}}validateFunction(e,()=>(0,n.topBoolOrEmptySchema)(e))}t.validateFunctionCode=validateFunctionCode;function validateFunction({gen:e,validateName:t,schema:r,schemaEnv:n,opts:A},s){if(A.code.es5){e.func(t,(0,l._)`${u.default.data}, ${u.default.valCxt}`,n.$async,()=>{e.code((0,l._)`"use strict"; ${funcSourceUrl(r,A)}`);destructureValCxtES5(e,A);e.code(s)})}else{e.func(t,(0,l._)`${u.default.data}, ${destructureValCxt(A)}`,n.$async,()=>e.code(funcSourceUrl(r,A)).code(s))}}function destructureValCxt(e){return(0,l._)`{${u.default.instancePath}="", ${u.default.parentData}, ${u.default.parentDataProperty}, ${u.default.rootData}=${u.default.data}${e.dynamicRef?(0,l._)`, ${u.default.dynamicAnchors}={}`:l.nil}}={}`}function destructureValCxtES5(e,t){e.if(u.default.valCxt,()=>{e.var(u.default.instancePath,(0,l._)`${u.default.valCxt}.${u.default.instancePath}`);e.var(u.default.parentData,(0,l._)`${u.default.valCxt}.${u.default.parentData}`);e.var(u.default.parentDataProperty,(0,l._)`${u.default.valCxt}.${u.default.parentDataProperty}`);e.var(u.default.rootData,(0,l._)`${u.default.valCxt}.${u.default.rootData}`);if(t.dynamicRef)e.var(u.default.dynamicAnchors,(0,l._)`${u.default.valCxt}.${u.default.dynamicAnchors}`)},()=>{e.var(u.default.instancePath,(0,l._)`""`);e.var(u.default.parentData,(0,l._)`undefined`);e.var(u.default.parentDataProperty,(0,l._)`undefined`);e.var(u.default.rootData,u.default.data);if(t.dynamicRef)e.var(u.default.dynamicAnchors,(0,l._)`{}`)})}function topSchemaObjCode(e){const{schema:t,opts:r,gen:n}=e;validateFunction(e,()=>{if(r.$comment&&t.$comment)commentKeyword(e);checkNoDefault(e);n.let(u.default.vErrors,null);n.let(u.default.errors,0);if(r.unevaluated)resetEvaluated(e);typeAndKeywords(e);returnResults(e)});return}function resetEvaluated(e){const{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,l._)`${r}.evaluated`);t.if((0,l._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,l._)`${e.evaluated}.props`,(0,l._)`undefined`));t.if((0,l._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,l._)`${e.evaluated}.items`,(0,l._)`undefined`))}function funcSourceUrl(e,t){const r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,l._)`/*# sourceURL=${r} */`:l.nil}function subschemaCode(e,t){if(isSchemaObj(e)){checkKeywords(e);if(schemaCxtHasRules(e)){subSchemaObjCode(e,t);return}}(0,n.boolOrEmptySchema)(e,t)}function schemaCxtHasRules({schema:e,self:t}){if(typeof e=="boolean")return!e;for(const r in e)if(t.RULES.all[r])return true;return false}function isSchemaObj(e){return typeof e.schema!="boolean"}function subSchemaObjCode(e,t){const{schema:r,gen:n,opts:A}=e;if(A.$comment&&r.$comment)commentKeyword(e);updateContext(e);checkAsyncSchema(e);const s=n.const("_errs",u.default.errors);typeAndKeywords(e,s);n.var(t,(0,l._)`${s} === ${u.default.errors}`)}function checkKeywords(e){(0,h.checkUnknownRules)(e);checkRefsAndKeywords(e)}function typeAndKeywords(e,t){if(e.opts.jtd)return schemaKeywords(e,[],false,t);const r=(0,A.getSchemaTypes)(e.schema);const n=(0,A.coerceAndCheckDataType)(e,r);schemaKeywords(e,r,!n,t)}function checkRefsAndKeywords(e){const{schema:t,errSchemaPath:r,opts:n,self:A}=e;if(t.$ref&&n.ignoreKeywordsWithRef&&(0,h.schemaHasRulesButRef)(t,A.RULES)){A.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}}function checkNoDefault(e){const{schema:t,opts:r}=e;if(t.default!==undefined&&r.useDefaults&&r.strictSchema){(0,h.checkStrictMode)(e,"default is ignored in the schema root")}}function updateContext(e){const t=e.schema[e.opts.schemaId];if(t)e.baseId=(0,d.resolveUrl)(e.opts.uriResolver,e.baseId,t)}function checkAsyncSchema(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:A}){const s=r.$comment;if(A.$comment===true){e.code((0,l._)`${u.default.self}.logger.log(${s})`)}else if(typeof A.$comment=="function"){const r=(0,l.str)`${n}/$comment`;const A=e.scopeValue("root",{ref:t.root});e.code((0,l._)`${u.default.self}.opts.$comment(${s}, ${r}, ${A}.schema)`)}}function returnResults(e){const{gen:t,schemaEnv:r,validateName:n,ValidationError:A,opts:s}=e;if(r.$async){t.if((0,l._)`${u.default.errors} === 0`,()=>t.return(u.default.data),()=>t.throw((0,l._)`new ${A}(${u.default.vErrors})`))}else{t.assign((0,l._)`${n}.errors`,u.default.vErrors);if(s.unevaluated)assignEvaluated(e);t.return((0,l._)`${u.default.errors} === 0`)}}function assignEvaluated({gen:e,evaluated:t,props:r,items:n}){if(r instanceof l.Name)e.assign((0,l._)`${t}.props`,r);if(n instanceof l.Name)e.assign((0,l._)`${t}.items`,n)}function schemaKeywords(e,t,r,n){const{gen:A,schema:i,data:a,allErrors:c,opts:d,self:g}=e;const{RULES:f}=g;if(i.$ref&&(d.ignoreKeywordsWithRef||!(0,h.schemaHasRulesButRef)(i,f))){A.block(()=>keywordCode(e,"$ref",f.all.$ref.definition));return}if(!d.jtd)checkStrictTypes(e,t);A.block(()=>{for(const e of f.rules)groupKeywords(e);groupKeywords(f.post)});function groupKeywords(h){if(!(0,s.shouldUseGroup)(i,h))return;if(h.type){A.if((0,o.checkDataType)(h.type,a,d.strictNumbers));iterateKeywords(e,h);if(t.length===1&&t[0]===h.type&&r){A.else();(0,o.reportTypeError)(e)}A.endIf()}else{iterateKeywords(e,h)}if(!c)A.if((0,l._)`${u.default.errors} === ${n||0}`)}}function iterateKeywords(e,t){const{gen:r,schema:n,opts:{useDefaults:A}}=e;if(A)(0,i.assignDefaults)(e,t.type);r.block(()=>{for(const r of t.rules){if((0,s.shouldUseRule)(n,r)){keywordCode(e,r.keyword,r.definition,t.type)}}})}function checkStrictTypes(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;checkContextTypes(e,t);if(!e.opts.allowUnionTypes)checkMultipleTypes(e,t);checkKeywordTypes(e,e.dataTypes)}function checkContextTypes(e,t){if(!t.length)return;if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(t=>{if(!includesType(e.dataTypes,t)){strictTypesError(e,`type "${t}" not allowed by context "${e.dataTypes.join(",")}"`)}});narrowSchemaTypes(e,t)}function checkMultipleTypes(e,t){if(t.length>1&&!(t.length===2&&t.includes("null"))){strictTypesError(e,"use allowUnionTypes to allow union type keyword")}}function checkKeywordTypes(e,t){const r=e.self.RULES.all;for(const n in r){const A=r[n];if(typeof A=="object"&&(0,s.shouldUseRule)(e.schema,A)){const{type:r}=A.definition;if(r.length&&!r.some(e=>hasApplicableType(t,e))){strictTypesError(e,`missing type "${r.join(",")}" for keyword "${n}"`)}}}}function hasApplicableType(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function includesType(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function narrowSchemaTypes(e,t){const r=[];for(const n of e.dataTypes){if(includesType(t,n))r.push(n);else if(t.includes("integer")&&n==="number")r.push("integer")}e.dataTypes=r}function strictTypesError(e,t){const r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`;(0,h.checkStrictMode)(e,t,e.opts.strictTypes)}class KeywordCxt{constructor(e,t,r){(0,a.validateKeywordUsage)(e,t,r);this.gen=e.gen;this.allErrors=e.allErrors;this.keyword=r;this.data=e.data;this.schema=e.schema[r];this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data;this.schemaValue=(0,h.schemaRefOrVal)(e,this.schema,r,this.$data);this.schemaType=t.schemaType;this.parentSchema=e.schema;this.params={};this.it=e;this.def=t;if(this.$data){this.schemaCode=e.gen.const("vSchema",getData(this.$data,e))}else{this.schemaCode=this.schemaValue;if(!(0,a.validSchemaType)(this.schema,t.schemaType,t.allowUndefined)){throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`)}}if("code"in t?t.trackErrors:t.errors!==false){this.errsCount=e.gen.const("_errs",u.default.errors)}}result(e,t,r){this.failResult((0,l.not)(e),t,r)}failResult(e,t,r){this.gen.if(e);if(r)r();else this.error();if(t){this.gen.else();t();if(this.allErrors)this.gen.endIf()}else{if(this.allErrors)this.gen.endIf();else this.gen.else()}}pass(e,t){this.failResult((0,l.not)(e),undefined,t)}fail(e){if(e===undefined){this.error();if(!this.allErrors)this.gen.if(false);return}this.gen.if(e);this.error();if(this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);const{schemaCode:t}=this;this.fail((0,l._)`${t} !== undefined && (${(0,l.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t){this.setParams(t);this._error(e,r);this.setParams({});return}this._error(e,r)}_error(e,t){(e?g.reportExtraError:g.reportError)(this,this.def.error,t)}$dataError(){(0,g.reportError)(this,this.def.$dataError||g.keyword$DataError)}reset(){if(this.errsCount===undefined)throw new Error('add "trackErrors" to keyword definition');(0,g.resetErrorsCount)(this.gen,this.errsCount)}ok(e){if(!this.allErrors)this.gen.if(e)}setParams(e,t){if(t)Object.assign(this.params,e);else this.params=e}block$data(e,t,r=l.nil){this.gen.block(()=>{this.check$data(e,r);t()})}check$data(e=l.nil,t=l.nil){if(!this.$data)return;const{gen:r,schemaCode:n,schemaType:A,def:s}=this;r.if((0,l.or)((0,l._)`${n} === undefined`,t));if(e!==l.nil)r.assign(e,true);if(A.length||s.validateSchema){r.elseIf(this.invalid$data());this.$dataError();if(e!==l.nil)r.assign(e,false)}r.else()}invalid$data(){const{gen:e,schemaCode:t,schemaType:r,def:n,it:A}=this;return(0,l.or)(wrong$DataType(),invalid$DataSchema());function wrong$DataType(){if(r.length){if(!(t instanceof l.Name))throw new Error("ajv implementation error");const e=Array.isArray(r)?r:[r];return(0,l._)`${(0,o.checkDataTypes)(e,t,A.opts.strictNumbers,o.DataType.Wrong)}`}return l.nil}function invalid$DataSchema(){if(n.validateSchema){const r=e.scopeValue("validate$data",{ref:n.validateSchema});return(0,l._)`!${r}(${t})`}return l.nil}}subschema(e,t){const r=(0,c.getSubschema)(this.it,e);(0,c.extendSubschemaData)(r,this.it,e);(0,c.extendSubschemaMode)(r,e);const n={...this.it,...r,items:undefined,props:undefined};subschemaCode(n,t);return n}mergeEvaluated(e,t){const{it:r,gen:n}=this;if(!r.opts.unevaluated)return;if(r.props!==true&&e.props!==undefined){r.props=h.mergeEvaluated.props(n,e.props,r.props,t)}if(r.items!==true&&e.items!==undefined){r.items=h.mergeEvaluated.items(n,e.items,r.items,t)}}mergeValidEvaluated(e,t){const{it:r,gen:n}=this;if(r.opts.unevaluated&&(r.props!==true||r.items!==true)){n.if(t,()=>this.mergeEvaluated(e,l.Name));return true}}}t.KeywordCxt=KeywordCxt;function keywordCode(e,t,r,n){const A=new KeywordCxt(e,r,t);if("code"in r){r.code(A,n)}else if(A.$data&&r.validate){(0,a.funcKeywordCode)(A,r)}else if("macro"in r){(0,a.macroKeywordCode)(A,r)}else if(r.compile||r.validate){(0,a.funcKeywordCode)(A,r)}}const f=/^\/(?:[^~]|~0|~1)*$/;const E=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let A;let s;if(e==="")return u.default.rootData;if(e[0]==="/"){if(!f.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);A=e;s=u.default.rootData}else{const o=E.exec(e);if(!o)throw new Error(`Invalid JSON-pointer: ${e}`);const i=+o[1];A=o[2];if(A==="#"){if(i>=t)throw new Error(errorMsg("property/index",i));return n[t-i]}if(i>t)throw new Error(errorMsg("data",i));s=r[t-i];if(!A)return s}let o=s;const i=A.split("/");for(const e of i){if(e){s=(0,l._)`${s}${(0,l.getProperty)((0,h.unescapeJsonPointer)(e))}`;o=(0,l._)`${o} && ${s}`}}return o;function errorMsg(e,r){return`Cannot access ${e} ${r} levels up, current level is ${t}`}}t.getData=getData},18:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.validateKeywordUsage=t.validSchemaType=t.funcKeywordCode=t.macroKeywordCode=void 0;const n=r(28);const A=r(5990);const s=r(6516);const o=r(3040);function macroKeywordCode(e,t){const{gen:r,keyword:A,schema:s,parentSchema:o,it:i}=e;const a=t.macro.call(i.self,s,o,i);const c=useKeyword(r,A,a);if(i.opts.validateSchema!==false)i.self.validateSchema(a,true);const l=r.name("valid");e.subschema({schema:a,schemaPath:n.nil,errSchemaPath:`${i.errSchemaPath}/${A}`,topSchemaRef:c,compositeRule:true},l);e.pass(l,()=>e.error(true))}t.macroKeywordCode=macroKeywordCode;function funcKeywordCode(e,t){var r;const{gen:o,keyword:i,schema:a,parentSchema:c,$data:l,it:u}=e;checkAsyncKeyword(u,t);const d=!l&&t.compile?t.compile.call(u.self,a,c,u):t.validate;const h=useKeyword(o,i,d);const g=o.let("valid");e.block$data(g,validateKeyword);e.ok((r=t.valid)!==null&&r!==void 0?r:g);function validateKeyword(){if(t.errors===false){assignValid();if(t.modifying)modifyData(e);reportErrs(()=>e.error())}else{const r=t.async?validateAsync():validateSync();if(t.modifying)modifyData(e);reportErrs(()=>addErrs(e,r))}}function validateAsync(){const e=o.let("ruleErrs",null);o.try(()=>assignValid((0,n._)`await `),t=>o.assign(g,false).if((0,n._)`${t} instanceof ${u.ValidationError}`,()=>o.assign(e,(0,n._)`${t}.errors`),()=>o.throw(t)));return e}function validateSync(){const e=(0,n._)`${h}.errors`;o.assign(e,null);assignValid(n.nil);return e}function assignValid(r=(t.async?(0,n._)`await `:n.nil)){const i=u.opts.passContext?A.default.this:A.default.self;const a=!("compile"in t&&!l||t.schema===false);o.assign(g,(0,n._)`${r}${(0,s.callValidateCode)(e,h,i,a)}`,t.modifying)}function reportErrs(e){var r;o.if((0,n.not)((r=t.valid)!==null&&r!==void 0?r:g),e)}}t.funcKeywordCode=funcKeywordCode;function modifyData(e){const{gen:t,data:r,it:A}=e;t.if(A.parentData,()=>t.assign(r,(0,n._)`${A.parentData}[${A.parentDataProperty}]`))}function addErrs(e,t){const{gen:r}=e;r.if((0,n._)`Array.isArray(${t})`,()=>{r.assign(A.default.vErrors,(0,n._)`${A.default.vErrors} === null ? ${t} : ${A.default.vErrors}.concat(${t})`).assign(A.default.errors,(0,n._)`${A.default.vErrors}.length`);(0,o.extendErrors)(e)},()=>e.error())}function checkAsyncKeyword({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function useKeyword(e,t,r){if(r===undefined)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,n.stringify)(r)})}function validSchemaType(e,t,r=false){return!t.length||t.some(t=>t==="array"?Array.isArray(e):t==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==t||r&&typeof e=="undefined")}t.validSchemaType=validSchemaType;function validateKeywordUsage({schema:e,opts:t,self:r,errSchemaPath:n},A,s){if(Array.isArray(A.keyword)?!A.keyword.includes(s):A.keyword!==s){throw new Error("ajv implementation error")}const o=A.dependencies;if(o===null||o===void 0?void 0:o.some(t=>!Object.prototype.hasOwnProperty.call(e,t))){throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`)}if(A.validateSchema){const o=A.validateSchema(e[s]);if(!o){const e=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(A.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(e);else throw new Error(e)}}}t.validateKeywordUsage=validateKeywordUsage},6392:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.extendSubschemaMode=t.extendSubschemaData=t.getSubschema=void 0;const n=r(28);const A=r(3904);function getSubschema(e,{keyword:t,schemaProp:r,schema:s,schemaPath:o,errSchemaPath:i,topSchemaRef:a}){if(t!==undefined&&s!==undefined){throw new Error('both "keyword" and "schema" passed, only one allowed')}if(t!==undefined){const s=e.schema[t];return r===undefined?{schema:s,schemaPath:(0,n._)`${e.schemaPath}${(0,n.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:s[r],schemaPath:(0,n._)`${e.schemaPath}${(0,n.getProperty)(t)}${(0,n.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,A.escapeFragment)(r)}`}}if(s!==undefined){if(o===undefined||i===undefined||a===undefined){throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"')}return{schema:s,schemaPath:o,topSchemaRef:a,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}t.getSubschema=getSubschema;function extendSubschemaData(e,t,{dataProp:r,dataPropType:s,data:o,dataTypes:i,propertyName:a}){if(o!==undefined&&r!==undefined){throw new Error('both "data" and "dataProp" passed, only one allowed')}const{gen:c}=t;if(r!==undefined){const{errorPath:o,dataPathArr:i,opts:a}=t;const l=c.let("data",(0,n._)`${t.data}${(0,n.getProperty)(r)}`,true);dataContextProps(l);e.errorPath=(0,n.str)`${o}${(0,A.getErrorPath)(r,s,a.jsPropertySyntax)}`;e.parentDataProperty=(0,n._)`${r}`;e.dataPathArr=[...i,e.parentDataProperty]}if(o!==undefined){const t=o instanceof n.Name?o:c.let("data",o,true);dataContextProps(t);if(a!==undefined)e.propertyName=a}if(i)e.dataTypes=i;function dataContextProps(r){e.data=r;e.dataLevel=t.dataLevel+1;e.dataTypes=[];t.definedProperties=new Set;e.parentData=t.data;e.dataNames=[...t.dataNames,r]}}t.extendSubschemaData=extendSubschemaData;function extendSubschemaMode(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:A,allErrors:s}){if(n!==undefined)e.compositeRule=n;if(A!==undefined)e.createErrors=A;if(s!==undefined)e.allErrors=s;e.jtdDiscriminator=t;e.jtdMetadata=r}t.extendSubschemaMode=extendSubschemaMode},2549:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.CodeGen=t.Name=t.nil=t.stringify=t.str=t._=t.KeywordCxt=void 0;var n=r(4457);Object.defineProperty(t,"KeywordCxt",{enumerable:true,get:function(){return n.KeywordCxt}});var A=r(28);Object.defineProperty(t,"_",{enumerable:true,get:function(){return A._}});Object.defineProperty(t,"str",{enumerable:true,get:function(){return A.str}});Object.defineProperty(t,"stringify",{enumerable:true,get:function(){return A.stringify}});Object.defineProperty(t,"nil",{enumerable:true,get:function(){return A.nil}});Object.defineProperty(t,"Name",{enumerable:true,get:function(){return A.Name}});Object.defineProperty(t,"CodeGen",{enumerable:true,get:function(){return A.CodeGen}});const s=r(4301);const o=r(8922);const i=r(5513);const a=r(9198);const c=r(28);const l=r(1946);const u=r(733);const d=r(3904);const h=r(8422);const g=r(6669);const defaultRegExp=(e,t)=>new RegExp(e,t);defaultRegExp.code="new RegExp";const f=["removeAdditional","useDefaults","coerceTypes"];const E=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]);const C={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."};const Q={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'};const I=200;function requiredOptions(e){var t,r,n,A,s,o,i,a,c,l,u,d,h,f,E,C,Q,B,p,m,y,w,b,R,S;const k=e.strict;const D=(t=e.code)===null||t===void 0?void 0:t.optimize;const N=D===true||D===undefined?1:D||0;const F=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:defaultRegExp;const v=(A=e.uriResolver)!==null&&A!==void 0?A:g.default;return{strictSchema:(o=(s=e.strictSchema)!==null&&s!==void 0?s:k)!==null&&o!==void 0?o:true,strictNumbers:(a=(i=e.strictNumbers)!==null&&i!==void 0?i:k)!==null&&a!==void 0?a:true,strictTypes:(l=(c=e.strictTypes)!==null&&c!==void 0?c:k)!==null&&l!==void 0?l:"log",strictTuples:(d=(u=e.strictTuples)!==null&&u!==void 0?u:k)!==null&&d!==void 0?d:"log",strictRequired:(f=(h=e.strictRequired)!==null&&h!==void 0?h:k)!==null&&f!==void 0?f:false,code:e.code?{...e.code,optimize:N,regExp:F}:{optimize:N,regExp:F},loopRequired:(E=e.loopRequired)!==null&&E!==void 0?E:I,loopEnum:(C=e.loopEnum)!==null&&C!==void 0?C:I,meta:(Q=e.meta)!==null&&Q!==void 0?Q:true,messages:(B=e.messages)!==null&&B!==void 0?B:true,inlineRefs:(p=e.inlineRefs)!==null&&p!==void 0?p:true,schemaId:(m=e.schemaId)!==null&&m!==void 0?m:"$id",addUsedSchema:(y=e.addUsedSchema)!==null&&y!==void 0?y:true,validateSchema:(w=e.validateSchema)!==null&&w!==void 0?w:true,validateFormats:(b=e.validateFormats)!==null&&b!==void 0?b:true,unicodeRegExp:(R=e.unicodeRegExp)!==null&&R!==void 0?R:true,int32range:(S=e.int32range)!==null&&S!==void 0?S:true,uriResolver:v}}class Ajv{constructor(e={}){this.schemas={};this.refs={};this.formats=Object.create(null);this._compilations=new Set;this._loading={};this._cache=new Map;e=this.opts={...e,...requiredOptions(e)};const{es5:t,lines:r}=this.opts.code;this.scope=new c.ValueScope({scope:{},prefixes:E,es5:t,lines:r});this.logger=getLogger(e.logger);const n=e.validateFormats;e.validateFormats=false;this.RULES=(0,i.getRules)();checkOptions.call(this,C,e,"NOT SUPPORTED");checkOptions.call(this,Q,e,"DEPRECATED","warn");this._metaOpts=getMetaSchemaOptions.call(this);if(e.formats)addInitialFormats.call(this);this._addVocabularies();this._addDefaultMetaSchema();if(e.keywords)addInitialKeywords.call(this,e.keywords);if(typeof e.meta=="object")this.addMetaSchema(e.meta);addInitialSchemas.call(this);e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){const{$data:e,meta:t,schemaId:r}=this.opts;let n=h;if(r==="id"){n={...h};n.id=n.$id;delete n.$id}if(t&&e)this.addMetaSchema(n,n[r],false)}defaultMeta(){const{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:undefined}validate(e,t){let r;if(typeof e=="string"){r=this.getSchema(e);if(!r)throw new Error(`no schema with key or ref "${e}"`)}else{r=this.compile(e)}const n=r(t);if(!("$async"in r))this.errors=r.errors;return n}compile(e,t){const r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function"){throw new Error("options.loadSchema should be a function")}const{loadSchema:r}=this.opts;return runCompileAsync.call(this,e,t);async function runCompileAsync(e,t){await loadMetaSchema.call(this,e.$schema);const r=this._addSchema(e,t);return r.validate||_compileAsync.call(this,r)}async function loadMetaSchema(e){if(e&&!this.getSchema(e)){await runCompileAsync.call(this,{$ref:e},true)}}async function _compileAsync(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof o.default))throw t;checkLoaded.call(this,t);await loadMissingSchema.call(this,t.missingSchema);return _compileAsync.call(this,e)}}function checkLoaded({missingSchema:e,missingRef:t}){if(this.refs[e]){throw new Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}}async function loadMissingSchema(e){const r=await _loadSchema.call(this,e);if(!this.refs[e])await loadMetaSchema.call(this,r.$schema);if(!this.refs[e])this.addSchema(r,e,t)}async function _loadSchema(e){const t=this._loading[e];if(t)return t;try{return await(this._loading[e]=r(e))}finally{delete this._loading[e]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(const t of e)this.addSchema(t,undefined,r,n);return this}let A;if(typeof e==="object"){const{schemaId:t}=this.opts;A=e[t];if(A!==undefined&&typeof A!="string"){throw new Error(`schema ${t} must be string`)}}t=(0,l.normalizeId)(t||A);this._checkUnique(t);this.schemas[t]=this._addSchema(e,r,t,n,true);return this}addMetaSchema(e,t,r=this.opts.validateSchema){this.addSchema(e,t,true,r);return this}validateSchema(e,t){if(typeof e=="boolean")return true;let r;r=e.$schema;if(r!==undefined&&typeof r!="string"){throw new Error("$schema must be a string")}r=r||this.opts.defaultMeta||this.defaultMeta();if(!r){this.logger.warn("meta-schema not available");this.errors=null;return true}const n=this.validate(r,e);if(!n&&t){const e="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(e);else throw new Error(e)}return n}getSchema(e){let t;while(typeof(t=getSchEnv.call(this,e))=="string")e=t;if(t===undefined){const{schemaId:r}=this.opts;const n=new a.SchemaEnv({schema:{},schemaId:r});t=a.resolveSchema.call(this,n,e);if(!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp){this._removeAllSchemas(this.schemas,e);this._removeAllSchemas(this.refs,e);return this}switch(typeof e){case"undefined":this._removeAllSchemas(this.schemas);this._removeAllSchemas(this.refs);this._cache.clear();return this;case"string":{const t=getSchEnv.call(this,e);if(typeof t=="object")this._cache.delete(t.schema);delete this.schemas[e];delete this.refs[e];return this}case"object":{const t=e;this._cache.delete(t);let r=e[this.opts.schemaId];if(r){r=(0,l.normalizeId)(r);delete this.schemas[r];delete this.refs[r]}return this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(const t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if(typeof e=="string"){r=e;if(typeof t=="object"){this.logger.warn("these parameters are deprecated, see docs for addKeyword");t.keyword=r}}else if(typeof e=="object"&&t===undefined){t=e;r=t.keyword;if(Array.isArray(r)&&!r.length){throw new Error("addKeywords: keyword must be string or non-empty array")}}else{throw new Error("invalid addKeywords parameters")}checkKeyword.call(this,r,t);if(!t){(0,d.eachItem)(r,e=>addRule.call(this,e));return this}keywordMetaschema.call(this,t);const n={...t,type:(0,u.getJSONTypes)(t.type),schemaType:(0,u.getJSONTypes)(t.schemaType)};(0,d.eachItem)(r,n.type.length===0?e=>addRule.call(this,e,n):e=>n.type.forEach(t=>addRule.call(this,e,n,t)));return this}getKeyword(e){const t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){const{RULES:t}=this;delete t.keywords[e];delete t.all[e];for(const r of t.rules){const t=r.rules.findIndex(t=>t.keyword===e);if(t>=0)r.rules.splice(t,1)}return this}addFormat(e,t){if(typeof t=="string")t=new RegExp(t);this.formats[e]=t;return this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){if(!e||e.length===0)return"No errors";return e.map(e=>`${r}${e.instancePath} ${e.message}`).reduce((e,r)=>e+t+r)}$dataMetaSchema(e,t){const r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(const n of t){const t=n.split("/").slice(1);let A=e;for(const e of t)A=A[e];for(const e in r){const t=r[e];if(typeof t!="object")continue;const{$data:n}=t.definition;const s=A[e];if(n&&s)A[e]=schemaOrData(s)}}return e}_removeAllSchemas(e,t){for(const r in e){const n=e[r];if(!t||t.test(r)){if(typeof n=="string"){delete e[r]}else if(n&&!n.meta){this._cache.delete(n.schema);delete e[r]}}}}_addSchema(e,t,r,n=this.opts.validateSchema,A=this.opts.addUsedSchema){let s;const{schemaId:o}=this.opts;if(typeof e=="object"){s=e[o]}else{if(this.opts.jtd)throw new Error("schema must be object");else if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let i=this._cache.get(e);if(i!==undefined)return i;r=(0,l.normalizeId)(s||r);const c=l.getSchemaRefs.call(this,e,r);i=new a.SchemaEnv({schema:e,schemaId:o,meta:t,baseId:r,localRefs:c});this._cache.set(i.schema,i);if(A&&!r.startsWith("#")){if(r)this._checkUnique(r);this.refs[r]=i}if(n)this.validateSchema(e,true);return i}_checkUnique(e){if(this.schemas[e]||this.refs[e]){throw new Error(`schema with key or id "${e}" already exists`)}}_compileSchemaEnv(e){if(e.meta)this._compileMetaSchema(e);else a.compileSchema.call(this,e);if(!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){const t=this.opts;this.opts=this._metaOpts;try{a.compileSchema.call(this,e)}finally{this.opts=t}}}Ajv.ValidationError=s.default;Ajv.MissingRefError=o.default;t["default"]=Ajv;function checkOptions(e,t,r,n="error"){for(const A in e){const s=A;if(s in t)this.logger[n](`${r}: option ${A}. ${e[s]}`)}}function getSchEnv(e){e=(0,l.normalizeId)(e);return this.schemas[e]||this.refs[e]}function addInitialSchemas(){const e=this.opts.schemas;if(!e)return;if(Array.isArray(e))this.addSchema(e);else for(const t in e)this.addSchema(e[t],t)}function addInitialFormats(){for(const e in this.opts.formats){const t=this.opts.formats[e];if(t)this.addFormat(e,t)}}function addInitialKeywords(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(const t in e){const r=e[t];if(!r.keyword)r.keyword=t;this.addKeyword(r)}}function getMetaSchemaOptions(){const e={...this.opts};for(const t of f)delete e[t];return e}const B={log(){},warn(){},error(){}};function getLogger(e){if(e===false)return B;if(e===undefined)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}const p=/^[a-z_$][a-z0-9_$:-]*$/i;function checkKeyword(e,t){const{RULES:r}=this;(0,d.eachItem)(e,e=>{if(r.keywords[e])throw new Error(`Keyword ${e} is already defined`);if(!p.test(e))throw new Error(`Keyword ${e} has invalid name`)});if(!t)return;if(t.$data&&!("code"in t||"validate"in t)){throw new Error('$data keyword must have "code" or "validate" function')}}function addRule(e,t,r){var n;const A=t===null||t===void 0?void 0:t.post;if(r&&A)throw new Error('keyword with "post" flag cannot have "type"');const{RULES:s}=this;let o=A?s.post:s.rules.find(({type:e})=>e===r);if(!o){o={type:r,rules:[]};s.rules.push(o)}s.keywords[e]=true;if(!t)return;const i={keyword:e,definition:{...t,type:(0,u.getJSONTypes)(t.type),schemaType:(0,u.getJSONTypes)(t.schemaType)}};if(t.before)addBeforeRule.call(this,o,i,t.before);else o.rules.push(i);s.all[e]=i;(n=t.implements)===null||n===void 0?void 0:n.forEach(e=>this.addKeyword(e))}function addBeforeRule(e,t,r){const n=e.rules.findIndex(e=>e.keyword===r);if(n>=0){e.rules.splice(n,0,t)}else{e.rules.push(t);this.logger.warn(`rule ${r} is not defined`)}}function keywordMetaschema(e){let{metaSchema:t}=e;if(t===undefined)return;if(e.$data&&this.opts.$data)t=schemaOrData(t);e.validateSchema=this.compile(t,true)}const m={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function schemaOrData(e){return{anyOf:[e,m]}}},3707:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(8097);const A=r(5849);const s=r(3488);const o=r(1305);const i=r(7255);const a=r(2427);const c=r(1976);const l=r(5619);const u=["/properties"];function addMetaSchema2020(e){[n,A,s,o,i,with$data(this,a),c,with$data(this,l)].forEach(e=>this.addMetaSchema(e,undefined,false));return this;function with$data(t,r){return e?t.$dataMetaSchema(r,u):r}}t["default"]=addMetaSchema2020},4839:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(7638);n.code='require("ajv/dist/runtime/equal").default';t["default"]=n},2998:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});function ucs2length(e){const t=e.length;let r=0;let n=0;let A;while(n=55296&&A<=56319&&n{Object.defineProperty(t,"__esModule",{value:true});const n=r(2027);n.code='require("ajv/dist/runtime/uri").default';t["default"]=n},4301:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});class ValidationError extends Error{constructor(e){super("validation failed");this.errors=e;this.ajv=this.validation=true}}t["default"]=ValidationError},6728:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.validateAdditionalItems=void 0;const n=r(28);const A=r(3904);const s={message:({params:{len:e}})=>(0,n.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,n._)`{limit: ${e}}`};const o={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:s,code(e){const{parentSchema:t,it:r}=e;const{items:n}=t;if(!Array.isArray(n)){(0,A.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}validateAdditionalItems(e,n)}};function validateAdditionalItems(e,t){const{gen:r,schema:s,data:o,keyword:i,it:a}=e;a.items=true;const c=r.const("len",(0,n._)`${o}.length`);if(s===false){e.setParams({len:t.length});e.pass((0,n._)`${c} <= ${t.length}`)}else if(typeof s=="object"&&!(0,A.alwaysValidSchema)(a,s)){const A=r.var("valid",(0,n._)`${c} <= ${t.length}`);r.if((0,n.not)(A),()=>validateItems(A));e.ok(A)}function validateItems(s){r.forRange("i",t.length,c,t=>{e.subschema({keyword:i,dataProp:t,dataPropType:A.Type.Num},s);if(!a.allErrors)r.if((0,n.not)(s),()=>r.break())})}}t.validateAdditionalItems=validateAdditionalItems;t["default"]=o},3631:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6516);const A=r(28);const s=r(5990);const o=r(3904);const i={message:"must NOT have additional properties",params:({params:e})=>(0,A._)`{additionalProperty: ${e.additionalProperty}}`};const a={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:i,code(e){const{gen:t,schema:r,parentSchema:i,data:a,errsCount:c,it:l}=e;if(!c)throw new Error("ajv implementation error");const{allErrors:u,opts:d}=l;l.props=true;if(d.removeAdditional!=="all"&&(0,o.alwaysValidSchema)(l,r))return;const h=(0,n.allSchemaProperties)(i.properties);const g=(0,n.allSchemaProperties)(i.patternProperties);checkAdditionalProperties();e.ok((0,A._)`${c} === ${s.default.errors}`);function checkAdditionalProperties(){t.forIn("key",a,e=>{if(!h.length&&!g.length)additionalPropertyCode(e);else t.if(isAdditional(e),()=>additionalPropertyCode(e))})}function isAdditional(r){let s;if(h.length>8){const e=(0,o.schemaRefOrVal)(l,i.properties,"properties");s=(0,n.isOwnProperty)(t,e,r)}else if(h.length){s=(0,A.or)(...h.map(e=>(0,A._)`${r} === ${e}`))}else{s=A.nil}if(g.length){s=(0,A.or)(s,...g.map(t=>(0,A._)`${(0,n.usePattern)(e,t)}.test(${r})`))}return(0,A.not)(s)}function deleteAdditional(e){t.code((0,A._)`delete ${a}[${e}]`)}function additionalPropertyCode(n){if(d.removeAdditional==="all"||d.removeAdditional&&r===false){deleteAdditional(n);return}if(r===false){e.setParams({additionalProperty:n});e.error();if(!u)t.break();return}if(typeof r=="object"&&!(0,o.alwaysValidSchema)(l,r)){const r=t.name("valid");if(d.removeAdditional==="failing"){applyAdditionalSchema(n,r,false);t.if((0,A.not)(r),()=>{e.reset();deleteAdditional(n)})}else{applyAdditionalSchema(n,r);if(!u)t.if((0,A.not)(r),()=>t.break())}}}function applyAdditionalSchema(t,r,n){const A={keyword:"additionalProperties",dataProp:t,dataPropType:o.Type.Str};if(n===false){Object.assign(A,{compositeRule:true,createErrors:false,allErrors:false})}e.subschema(A,r)}}};t["default"]=a},5077:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(3904);const A={keyword:"allOf",schemaType:"array",code(e){const{gen:t,schema:r,it:A}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const s=t.name("valid");r.forEach((t,r)=>{if((0,n.alwaysValidSchema)(A,t))return;const o=e.subschema({keyword:"allOf",schemaProp:r},s);e.ok(s);e.mergeEvaluated(o)})}};t["default"]=A},564:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6516);const A={keyword:"anyOf",schemaType:"array",trackErrors:true,code:n.validateUnion,error:{message:"must match a schema in anyOf"}};t["default"]=A},2374:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s={message:({params:{min:e,max:t}})=>t===undefined?(0,n.str)`must contain at least ${e} valid item(s)`:(0,n.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===undefined?(0,n._)`{minContains: ${e}}`:(0,n._)`{minContains: ${e}, maxContains: ${t}}`};const o={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:s,code(e){const{gen:t,schema:r,parentSchema:s,data:o,it:i}=e;let a;let c;const{minContains:l,maxContains:u}=s;if(i.opts.next){a=l===undefined?1:l;c=u}else{a=1}const d=t.const("len",(0,n._)`${o}.length`);e.setParams({min:a,max:c});if(c===undefined&&a===0){(0,A.checkStrictMode)(i,`"minContains" == 0 without "maxContains": "contains" keyword ignored`);return}if(c!==undefined&&a>c){(0,A.checkStrictMode)(i,`"minContains" > "maxContains" is always invalid`);e.fail();return}if((0,A.alwaysValidSchema)(i,r)){let t=(0,n._)`${d} >= ${a}`;if(c!==undefined)t=(0,n._)`${t} && ${d} <= ${c}`;e.pass(t);return}i.items=true;const h=t.name("valid");if(c===undefined&&a===1){validateItems(h,()=>t.if(h,()=>t.break()))}else if(a===0){t.let(h,true);if(c!==undefined)t.if((0,n._)`${o}.length > 0`,validateItemsWithCount)}else{t.let(h,false);validateItemsWithCount()}e.result(h,()=>e.reset());function validateItemsWithCount(){const e=t.name("_valid");const r=t.let("count",0);validateItems(e,()=>t.if(e,()=>checkLimits(r)))}function validateItems(r,n){t.forRange("i",0,d,t=>{e.subschema({keyword:"contains",dataProp:t,dataPropType:A.Type.Num,compositeRule:true},r);n()})}function checkLimits(e){t.code((0,n._)`${e}++`);if(c===undefined){t.if((0,n._)`${e} >= ${a}`,()=>t.assign(h,true).break())}else{t.if((0,n._)`${e} > ${c}`,()=>t.assign(h,false).break());if(a===1)t.assign(h,true);else t.if((0,n._)`${e} >= ${a}`,()=>t.assign(h,true))}}}};t["default"]=o},9170:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.validateSchemaDeps=t.validatePropertyDeps=t.error=void 0;const n=r(28);const A=r(3904);const s=r(6516);t.error={message:({params:{property:e,depsCount:t,deps:r}})=>{const A=t===1?"property":"properties";return(0,n.str)`must have ${A} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:A}})=>(0,n._)`{property: ${e}, + missingProperty: ${A}, + depsCount: ${t}, + deps: ${r}}`};const o={keyword:"dependencies",type:"object",schemaType:"object",error:t.error,code(e){const[t,r]=splitDependencies(e);validatePropertyDeps(e,t);validateSchemaDeps(e,r)}};function splitDependencies({schema:e}){const t={};const r={};for(const n in e){if(n==="__proto__")continue;const A=Array.isArray(e[n])?t:r;A[n]=e[n]}return[t,r]}function validatePropertyDeps(e,t=e.schema){const{gen:r,data:A,it:o}=e;if(Object.keys(t).length===0)return;const i=r.let("missing");for(const a in t){const c=t[a];if(c.length===0)continue;const l=(0,s.propertyInData)(r,A,a,o.opts.ownProperties);e.setParams({property:a,depsCount:c.length,deps:c.join(", ")});if(o.allErrors){r.if(l,()=>{for(const t of c){(0,s.checkReportMissingProp)(e,t)}})}else{r.if((0,n._)`${l} && (${(0,s.checkMissingProp)(e,c,i)})`);(0,s.reportMissingProp)(e,i);r.else()}}}t.validatePropertyDeps=validatePropertyDeps;function validateSchemaDeps(e,t=e.schema){const{gen:r,data:n,keyword:o,it:i}=e;const a=r.name("valid");for(const c in t){if((0,A.alwaysValidSchema)(i,t[c]))continue;r.if((0,s.propertyInData)(r,n,c,i.opts.ownProperties),()=>{const t=e.subschema({keyword:o,schemaProp:c},a);e.mergeValidEvaluated(t,a)},()=>r.var(a,true));e.ok(a)}}t.validateSchemaDeps=validateSchemaDeps;t["default"]=o},4602:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(9170);const A={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,n.validateSchemaDeps)(e)};t["default"]=A},4216:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s={message:({params:e})=>(0,n.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,n._)`{failingKeyword: ${e.ifClause}}`};const o={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:s,code(e){const{gen:t,parentSchema:r,it:s}=e;if(r.then===undefined&&r.else===undefined){(0,A.checkStrictMode)(s,'"if" without "then" and "else" is ignored')}const o=hasSchema(s,"then");const i=hasSchema(s,"else");if(!o&&!i)return;const a=t.let("valid",true);const c=t.name("_valid");validateIf();e.reset();if(o&&i){const r=t.let("ifClause");e.setParams({ifClause:r});t.if(c,validateClause("then",r),validateClause("else",r))}else if(o){t.if(c,validateClause("then"))}else{t.if((0,n.not)(c),validateClause("else"))}e.pass(a,()=>e.error(true));function validateIf(){const t=e.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},c);e.mergeEvaluated(t)}function validateClause(r,A){return()=>{const s=e.subschema({keyword:r},c);t.assign(a,c);e.mergeValidEvaluated(s,a);if(A)t.assign(A,(0,n._)`${r}`);else e.setParams({ifClause:r})}}}};function hasSchema(e,t){const r=e.schema[t];return r!==undefined&&!(0,A.alwaysValidSchema)(e,r)}t["default"]=o},2519:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6728);const A=r(323);const s=r(5199);const o=r(3087);const i=r(2374);const a=r(9170);const c=r(9948);const l=r(3631);const u=r(8874);const d=r(24);const h=r(5326);const g=r(564);const f=r(7770);const E=r(5077);const C=r(4216);const Q=r(2637);function getApplicator(e=false){const t=[h.default,g.default,f.default,E.default,C.default,Q.default,c.default,l.default,a.default,u.default,d.default];if(e)t.push(A.default,o.default);else t.push(n.default,s.default);t.push(i.default);return t}t["default"]=getApplicator},5199:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.validateTuple=void 0;const n=r(28);const A=r(3904);const s=r(6516);const o={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){const{schema:t,it:r}=e;if(Array.isArray(t))return validateTuple(e,"additionalItems",t);r.items=true;if((0,A.alwaysValidSchema)(r,t))return;e.ok((0,s.validateArray)(e))}};function validateTuple(e,t,r=e.schema){const{gen:s,parentSchema:o,data:i,keyword:a,it:c}=e;checkStrictTuple(o);if(c.opts.unevaluated&&r.length&&c.items!==true){c.items=A.mergeEvaluated.items(s,r.length,c.items)}const l=s.name("valid");const u=s.const("len",(0,n._)`${i}.length`);r.forEach((t,r)=>{if((0,A.alwaysValidSchema)(c,t))return;s.if((0,n._)`${u} > ${r}`,()=>e.subschema({keyword:a,schemaProp:r,dataProp:r},l));e.ok(l)});function checkStrictTuple(e){const{opts:n,errSchemaPath:s}=c;const o=r.length;const i=o===e.minItems&&(o===e.maxItems||e[t]===false);if(n.strictTuples&&!i){const e=`"${a}" is ${o}-tuple, but minItems or maxItems/${t} are not specified or different at path "${s}"`;(0,A.checkStrictMode)(c,e,n.strictTuples)}}}t.validateTuple=validateTuple;t["default"]=o},3087:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s=r(6516);const o=r(6728);const i={message:({params:{len:e}})=>(0,n.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,n._)`{limit: ${e}}`};const a={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:i,code(e){const{schema:t,parentSchema:r,it:n}=e;const{prefixItems:i}=r;n.items=true;if((0,A.alwaysValidSchema)(n,t))return;if(i)(0,o.validateAdditionalItems)(e,i);else e.ok((0,s.validateArray)(e))}};t["default"]=a},5326:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(3904);const A={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(e){const{gen:t,schema:r,it:A}=e;if((0,n.alwaysValidSchema)(A,r)){e.fail();return}const s=t.name("valid");e.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s);e.failResult(s,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};t["default"]=A},7770:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,n._)`{passingSchemas: ${e.passing}}`};const o={keyword:"oneOf",schemaType:"array",trackErrors:true,error:s,code(e){const{gen:t,schema:r,parentSchema:s,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&s.discriminator)return;const i=r;const a=t.let("valid",false);const c=t.let("passing",null);const l=t.name("_valid");e.setParams({passing:c});t.block(validateOneOf);e.result(a,()=>e.reset(),()=>e.error(true));function validateOneOf(){i.forEach((r,s)=>{let i;if((0,A.alwaysValidSchema)(o,r)){t.var(l,true)}else{i=e.subschema({keyword:"oneOf",schemaProp:s,compositeRule:true},l)}if(s>0){t.if((0,n._)`${l} && ${a}`).assign(a,false).assign(c,(0,n._)`[${c}, ${s}]`).else()}t.if(l,()=>{t.assign(a,true);t.assign(c,s);if(i)e.mergeEvaluated(i,n.Name)})})}}};t["default"]=o},24:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6516);const A=r(28);const s=r(3904);const o=r(3904);const i={keyword:"patternProperties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,data:i,parentSchema:a,it:c}=e;const{opts:l}=c;const u=(0,n.allSchemaProperties)(r);const d=u.filter(e=>(0,s.alwaysValidSchema)(c,r[e]));if(u.length===0||d.length===u.length&&(!c.opts.unevaluated||c.props===true)){return}const h=l.strictSchema&&!l.allowMatchingProperties&&a.properties;const g=t.name("valid");if(c.props!==true&&!(c.props instanceof A.Name)){c.props=(0,o.evaluatedPropsToName)(t,c.props)}const{props:f}=c;validatePatternProperties();function validatePatternProperties(){for(const e of u){if(h)checkMatchingProperties(e);if(c.allErrors){validateProperties(e)}else{t.var(g,true);validateProperties(e);t.if(g)}}}function checkMatchingProperties(e){for(const t in h){if(new RegExp(e).test(t)){(0,s.checkStrictMode)(c,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}}}function validateProperties(r){t.forIn("key",i,s=>{t.if((0,A._)`${(0,n.usePattern)(e,r)}.test(${s})`,()=>{const n=d.includes(r);if(!n){e.subschema({keyword:"patternProperties",schemaProp:r,dataProp:s,dataPropType:o.Type.Str},g)}if(c.opts.unevaluated&&f!==true){t.assign((0,A._)`${f}[${s}]`,true)}else if(!n&&!c.allErrors){t.if((0,A.not)(g),()=>t.break())}})})}}};t["default"]=i},323:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(5199);const A={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,n.validateTuple)(e,"items")};t["default"]=A},8874:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(4457);const A=r(6516);const s=r(3904);const o=r(3631);const i={keyword:"properties",type:"object",schemaType:"object",code(e){const{gen:t,schema:r,parentSchema:i,data:a,it:c}=e;if(c.opts.removeAdditional==="all"&&i.additionalProperties===undefined){o.default.code(new n.KeywordCxt(c,o.default,"additionalProperties"))}const l=(0,A.allSchemaProperties)(r);for(const e of l){c.definedProperties.add(e)}if(c.opts.unevaluated&&l.length&&c.props!==true){c.props=s.mergeEvaluated.props(t,(0,s.toHash)(l),c.props)}const u=l.filter(e=>!(0,s.alwaysValidSchema)(c,r[e]));if(u.length===0)return;const d=t.name("valid");for(const r of u){if(hasDefault(r)){applyPropertySchema(r)}else{t.if((0,A.propertyInData)(t,a,r,c.opts.ownProperties));applyPropertySchema(r);if(!c.allErrors)t.else().var(d,true);t.endIf()}e.it.definedProperties.add(r);e.ok(d)}function hasDefault(e){return c.opts.useDefaults&&!c.compositeRule&&r[e].default!==undefined}function applyPropertySchema(t){e.subschema({keyword:"properties",schemaProp:t,dataProp:t},d)}}};t["default"]=i},9948:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s={message:"property name must be valid",params:({params:e})=>(0,n._)`{propertyName: ${e.propertyName}}`};const o={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:s,code(e){const{gen:t,schema:r,data:s,it:o}=e;if((0,A.alwaysValidSchema)(o,r))return;const i=t.name("valid");t.forIn("key",s,r=>{e.setParams({propertyName:r});e.subschema({keyword:"propertyNames",data:r,dataTypes:["string"],propertyName:r,compositeRule:true},i);t.if((0,n.not)(i),()=>{e.error(true);if(!o.allErrors)t.break()})});e.ok(i)}};t["default"]=o},2637:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(3904);const A={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){if(t.if===undefined)(0,n.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};t["default"]=A},6516:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.validateUnion=t.validateArray=t.usePattern=t.callValidateCode=t.schemaProperties=t.allSchemaProperties=t.noPropertyInData=t.propertyInData=t.isOwnProperty=t.hasPropFunc=t.reportMissingProp=t.checkMissingProp=t.checkReportMissingProp=void 0;const n=r(28);const A=r(3904);const s=r(5990);const o=r(3904);function checkReportMissingProp(e,t){const{gen:r,data:A,it:s}=e;r.if(noPropertyInData(r,A,t,s.opts.ownProperties),()=>{e.setParams({missingProperty:(0,n._)`${t}`},true);e.error()})}t.checkReportMissingProp=checkReportMissingProp;function checkMissingProp({gen:e,data:t,it:{opts:r}},A,s){return(0,n.or)(...A.map(A=>(0,n.and)(noPropertyInData(e,t,A,r.ownProperties),(0,n._)`${s} = ${A}`)))}t.checkMissingProp=checkMissingProp;function reportMissingProp(e,t){e.setParams({missingProperty:t},true);e.error()}t.reportMissingProp=reportMissingProp;function hasPropFunc(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,n._)`Object.prototype.hasOwnProperty`})}t.hasPropFunc=hasPropFunc;function isOwnProperty(e,t,r){return(0,n._)`${hasPropFunc(e)}.call(${t}, ${r})`}t.isOwnProperty=isOwnProperty;function propertyInData(e,t,r,A){const s=(0,n._)`${t}${(0,n.getProperty)(r)} !== undefined`;return A?(0,n._)`${s} && ${isOwnProperty(e,t,r)}`:s}t.propertyInData=propertyInData;function noPropertyInData(e,t,r,A){const s=(0,n._)`${t}${(0,n.getProperty)(r)} === undefined`;return A?(0,n.or)(s,(0,n.not)(isOwnProperty(e,t,r))):s}t.noPropertyInData=noPropertyInData;function allSchemaProperties(e){return e?Object.keys(e).filter(e=>e!=="__proto__"):[]}t.allSchemaProperties=allSchemaProperties;function schemaProperties(e,t){return allSchemaProperties(t).filter(r=>!(0,A.alwaysValidSchema)(e,t[r]))}t.schemaProperties=schemaProperties;function callValidateCode({schemaCode:e,data:t,it:{gen:r,topSchemaRef:A,schemaPath:o,errorPath:i},it:a},c,l,u){const d=u?(0,n._)`${e}, ${t}, ${A}${o}`:t;const h=[[s.default.instancePath,(0,n.strConcat)(s.default.instancePath,i)],[s.default.parentData,a.parentData],[s.default.parentDataProperty,a.parentDataProperty],[s.default.rootData,s.default.rootData]];if(a.opts.dynamicRef)h.push([s.default.dynamicAnchors,s.default.dynamicAnchors]);const g=(0,n._)`${d}, ${r.object(...h)}`;return l!==n.nil?(0,n._)`${c}.call(${l}, ${g})`:(0,n._)`${c}(${g})`}t.callValidateCode=callValidateCode;const i=(0,n._)`new RegExp`;function usePattern({gen:e,it:{opts:t}},r){const A=t.unicodeRegExp?"u":"";const{regExp:s}=t.code;const a=s(r,A);return e.scopeValue("pattern",{key:a.toString(),ref:a,code:(0,n._)`${s.code==="new RegExp"?i:(0,o.useFunc)(e,s)}(${r}, ${A})`})}t.usePattern=usePattern;function validateArray(e){const{gen:t,data:r,keyword:s,it:o}=e;const i=t.name("valid");if(o.allErrors){const e=t.let("valid",true);validateItems(()=>t.assign(e,false));return e}t.var(i,true);validateItems(()=>t.break());return i;function validateItems(o){const a=t.const("len",(0,n._)`${r}.length`);t.forRange("i",0,a,r=>{e.subschema({keyword:s,dataProp:r,dataPropType:A.Type.Num},i);t.if((0,n.not)(i),o)})}}t.validateArray=validateArray;function validateUnion(e){const{gen:t,schema:r,keyword:s,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");const i=r.some(e=>(0,A.alwaysValidSchema)(o,e));if(i&&!o.opts.unevaluated)return;const a=t.let("valid",false);const c=t.name("_valid");t.block(()=>r.forEach((r,A)=>{const o=e.subschema({keyword:s,schemaProp:A,compositeRule:true},c);t.assign(a,(0,n._)`${a} || ${c}`);const i=e.mergeValidEvaluated(o,c);if(!i)t.if((0,n.not)(a))}));e.result(a,()=>e.reset(),()=>e.error(true))}t.validateUnion=validateUnion},544:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});const r={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};t["default"]=r},6325:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(544);const A=r(3652);const s=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",n.default,A.default];t["default"]=s},3652:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.callRef=t.getValidate=void 0;const n=r(8922);const A=r(6516);const s=r(28);const o=r(5990);const i=r(9198);const a=r(3904);const c={keyword:"$ref",schemaType:"string",code(e){const{gen:t,schema:r,it:A}=e;const{baseId:o,schemaEnv:a,validateName:c,opts:l,self:u}=A;const{root:d}=a;if((r==="#"||r==="#/")&&o===d.baseId)return callRootRef();const h=i.resolveRef.call(u,d,o,r);if(h===undefined)throw new n.default(A.opts.uriResolver,o,r);if(h instanceof i.SchemaEnv)return callValidate(h);return inlineRefSchema(h);function callRootRef(){if(a===d)return callRef(e,c,a,a.$async);const r=t.scopeValue("root",{ref:d});return callRef(e,(0,s._)`${r}.validate`,d,d.$async)}function callValidate(t){const r=getValidate(e,t);callRef(e,r,t,t.$async)}function inlineRefSchema(n){const A=t.scopeValue("schema",l.code.source===true?{ref:n,code:(0,s.stringify)(n)}:{ref:n});const o=t.name("valid");const i=e.subschema({schema:n,dataTypes:[],schemaPath:s.nil,topSchemaRef:A,errSchemaPath:r},o);e.mergeEvaluated(i);e.ok(o)}}};function getValidate(e,t){const{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,s._)`${r.scopeValue("wrapper",{ref:t})}.validate`}t.getValidate=getValidate;function callRef(e,t,r,n){const{gen:i,it:c}=e;const{allErrors:l,schemaEnv:u,opts:d}=c;const h=d.passContext?o.default.this:s.nil;if(n)callAsyncRef();else callSyncRef();function callAsyncRef(){if(!u.$async)throw new Error("async schema referenced by sync schema");const r=i.let("valid");i.try(()=>{i.code((0,s._)`await ${(0,A.callValidateCode)(e,t,h)}`);addEvaluatedFrom(t);if(!l)i.assign(r,true)},e=>{i.if((0,s._)`!(${e} instanceof ${c.ValidationError})`,()=>i.throw(e));addErrorsFrom(e);if(!l)i.assign(r,false)});e.ok(r)}function callSyncRef(){e.result((0,A.callValidateCode)(e,t,h),()=>addEvaluatedFrom(t),()=>addErrorsFrom(t))}function addErrorsFrom(e){const t=(0,s._)`${e}.errors`;i.assign(o.default.vErrors,(0,s._)`${o.default.vErrors} === null ? ${t} : ${o.default.vErrors}.concat(${t})`);i.assign(o.default.errors,(0,s._)`${o.default.vErrors}.length`)}function addEvaluatedFrom(e){var t;if(!c.opts.unevaluated)return;const n=(t=r===null||r===void 0?void 0:r.validate)===null||t===void 0?void 0:t.evaluated;if(c.props!==true){if(n&&!n.dynamicProps){if(n.props!==undefined){c.props=a.mergeEvaluated.props(i,n.props,c.props)}}else{const t=i.var("props",(0,s._)`${e}.evaluated.props`);c.props=a.mergeEvaluated.props(i,t,c.props,s.Name)}}if(c.items!==true){if(n&&!n.dynamicItems){if(n.items!==undefined){c.items=a.mergeEvaluated.items(i,n.items,c.items)}}else{const t=i.var("items",(0,s._)`${e}.evaluated.items`);c.items=a.mergeEvaluated.items(i,t,c.items,s.Name)}}}}t.callRef=callRef;t["default"]=c},5014:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(5563);const s=r(9198);const o=r(8922);const i=r(3904);const a={message:({params:{discrError:e,tagName:t}})=>e===A.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,n._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`};const c={keyword:"discriminator",type:"object",schemaType:"object",error:a,code(e){const{gen:t,data:r,schema:a,parentSchema:c,it:l}=e;const{oneOf:u}=c;if(!l.opts.discriminator){throw new Error("discriminator: requires discriminator option")}const d=a.propertyName;if(typeof d!="string")throw new Error("discriminator: requires propertyName");if(a.mapping)throw new Error("discriminator: mapping is not supported");if(!u)throw new Error("discriminator: requires oneOf keyword");const h=t.let("valid",false);const g=t.const("tag",(0,n._)`${r}${(0,n.getProperty)(d)}`);t.if((0,n._)`typeof ${g} == "string"`,()=>validateMapping(),()=>e.error(false,{discrError:A.DiscrError.Tag,tag:g,tagName:d}));e.ok(h);function validateMapping(){const r=getMapping();t.if(false);for(const e in r){t.elseIf((0,n._)`${g} === ${e}`);t.assign(h,applyTagSchema(r[e]))}t.else();e.error(false,{discrError:A.DiscrError.Mapping,tag:g,tagName:d});t.endIf()}function applyTagSchema(r){const A=t.name("valid");const s=e.subschema({keyword:"oneOf",schemaProp:r},A);e.mergeEvaluated(s,n.Name);return A}function getMapping(){var e;const t={};const r=hasRequired(c);let n=true;for(let t=0;t{Object.defineProperty(t,"__esModule",{value:true});t.DiscrError=void 0;var r;(function(e){e["Tag"]="tag";e["Mapping"]="mapping"})(r||(t.DiscrError=r={}))},3370:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6325);const A=r(6841);const s=r(2519);const o=r(5731);const i=r(1332);const a=r(3498);const c=r(9);const l=r(492);const u=[o.default,n.default,A.default,(0,s.default)(true),c.default,l.metadataVocabulary,l.contentVocabulary,i.default,a.default];t["default"]=u},5845:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6325);const A=r(6841);const s=r(2519);const o=r(9);const i=r(492);const a=[n.default,A.default,(0,s.default)(),o.default,i.metadataVocabulary,i.contentVocabulary];t["default"]=a},8527:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.dynamicAnchor=void 0;const n=r(28);const A=r(5990);const s=r(9198);const o=r(3652);const i={keyword:"$dynamicAnchor",schemaType:"string",code:e=>dynamicAnchor(e,e.schema)};function dynamicAnchor(e,t){const{gen:r,it:s}=e;s.schemaEnv.root.dynamicAnchors[t]=true;const o=(0,n._)`${A.default.dynamicAnchors}${(0,n.getProperty)(t)}`;const i=s.errSchemaPath==="#"?s.validateName:_getValidate(e);r.if((0,n._)`!${o}`,()=>r.assign(o,i))}t.dynamicAnchor=dynamicAnchor;function _getValidate(e){const{schemaEnv:t,schema:r,self:n}=e.it;const{root:A,baseId:i,localRefs:a,meta:c}=t.root;const{schemaId:l}=n.opts;const u=new s.SchemaEnv({schema:r,schemaId:l,root:A,baseId:i,localRefs:a,meta:c});s.compileSchema.call(n,u);return(0,o.getValidate)(e,u)}t["default"]=i},4537:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.dynamicRef=void 0;const n=r(28);const A=r(5990);const s=r(3652);const o={keyword:"$dynamicRef",schemaType:"string",code:e=>dynamicRef(e,e.schema)};function dynamicRef(e,t){const{gen:r,keyword:o,it:i}=e;if(t[0]!=="#")throw new Error(`"${o}" only supports hash fragment reference`);const a=t.slice(1);if(i.allErrors){_dynamicRef()}else{const t=r.let("valid",false);_dynamicRef(t);e.ok(t)}function _dynamicRef(e){if(i.schemaEnv.root.dynamicAnchors[a]){const t=r.let("_v",(0,n._)`${A.default.dynamicAnchors}${(0,n.getProperty)(a)}`);r.if(t,_callRef(t,e),_callRef(i.validateName,e))}else{_callRef(i.validateName,e)()}}function _callRef(t,n){return n?()=>r.block(()=>{(0,s.callRef)(e,t);r.let(n,true)}):()=>(0,s.callRef)(e,t)}}t.dynamicRef=dynamicRef;t["default"]=o},5731:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(8527);const A=r(4537);const s=r(46);const o=r(629);const i=[n.default,A.default,s.default,o.default];t["default"]=i},46:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(8527);const A=r(3904);const s={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){if(e.schema)(0,n.dynamicAnchor)(e,"");else(0,A.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};t["default"]=s},629:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(4537);const A={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,n.dynamicRef)(e,e.schema)};t["default"]=A},2466:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A={message:({schemaCode:e})=>(0,n.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,n._)`{format: ${e}}`};const s={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:A,code(e,t){const{gen:r,data:A,$data:s,schema:o,schemaCode:i,it:a}=e;const{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;if(s)validate$DataFormat();else validateFormat();function validate$DataFormat(){const s=r.scopeValue("formats",{ref:d.formats,code:c.code.formats});const o=r.const("fDef",(0,n._)`${s}[${i}]`);const a=r.let("fType");const l=r.let("format");r.if((0,n._)`typeof ${o} == "object" && !(${o} instanceof RegExp)`,()=>r.assign(a,(0,n._)`${o}.type || "string"`).assign(l,(0,n._)`${o}.validate`),()=>r.assign(a,(0,n._)`"string"`).assign(l,o));e.fail$data((0,n.or)(unknownFmt(),invalidFmt()));function unknownFmt(){if(c.strictSchema===false)return n.nil;return(0,n._)`${i} && !${l}`}function invalidFmt(){const e=u.$async?(0,n._)`(${o}.async ? await ${l}(${A}) : ${l}(${A}))`:(0,n._)`${l}(${A})`;const r=(0,n._)`(typeof ${l} == "function" ? ${e} : ${l}.test(${A}))`;return(0,n._)`${l} && ${l} !== true && ${a} === ${t} && !${r}`}}function validateFormat(){const s=d.formats[o];if(!s){unknownFormat();return}if(s===true)return;const[i,a,h]=getFormat(s);if(i===t)e.pass(validCondition());function unknownFormat(){if(c.strictSchema===false){d.logger.warn(unknownMsg());return}throw new Error(unknownMsg());function unknownMsg(){return`unknown format "${o}" ignored in schema at path "${l}"`}}function getFormat(e){const t=e instanceof RegExp?(0,n.regexpCode)(e):c.code.formats?(0,n._)`${c.code.formats}${(0,n.getProperty)(o)}`:undefined;const A=r.scopeValue("formats",{key:o,ref:e,code:t});if(typeof e=="object"&&!(e instanceof RegExp)){return[e.type||"string",e.validate,(0,n._)`${A}.validate`]}return["string",e,A]}function validCondition(){if(typeof s=="object"&&!(s instanceof RegExp)&&s.async){if(!u.$async)throw new Error("async format in sync schema");return(0,n._)`await ${h}(${A})`}return typeof a=="function"?(0,n._)`${h}(${A})`:(0,n._)`${h}.test(${A})`}}}};t["default"]=s},9:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(2466);const A=[n.default];t["default"]=A},492:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.contentVocabulary=t.metadataVocabulary=void 0;t.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];t.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]},1332:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(1331);const A=r(4602);const s=r(9731);const o=[n.default,A.default,s.default];t["default"]=o},3498:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(4119);const A=r(9808);const s=[n.default,A.default];t["default"]=s},9808:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s={message:({params:{len:e}})=>(0,n.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,n._)`{limit: ${e}}`};const o={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:s,code(e){const{gen:t,schema:r,data:s,it:o}=e;const i=o.items||0;if(i===true)return;const a=t.const("len",(0,n._)`${s}.length`);if(r===false){e.setParams({len:i});e.fail((0,n._)`${a} > ${i}`)}else if(typeof r=="object"&&!(0,A.alwaysValidSchema)(o,r)){const r=t.var("valid",(0,n._)`${a} <= ${i}`);t.if((0,n.not)(r),()=>validateItems(r,i));e.ok(r)}o.items=true;function validateItems(r,s){t.forRange("i",s,a,s=>{e.subschema({keyword:"unevaluatedItems",dataProp:s,dataPropType:A.Type.Num},r);if(!o.allErrors)t.if((0,n.not)(r),()=>t.break())})}}};t["default"]=o},4119:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s=r(5990);const o={message:"must NOT have unevaluated properties",params:({params:e})=>(0,n._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`};const i={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:o,code(e){const{gen:t,schema:r,data:o,errsCount:i,it:a}=e;if(!i)throw new Error("ajv implementation error");const{allErrors:c,props:l}=a;if(l instanceof n.Name){t.if((0,n._)`${l} !== true`,()=>t.forIn("key",o,e=>t.if(unevaluatedDynamic(l,e),()=>unevaluatedPropCode(e))))}else if(l!==true){t.forIn("key",o,e=>l===undefined?unevaluatedPropCode(e):t.if(unevaluatedStatic(l,e),()=>unevaluatedPropCode(e)))}a.props=true;e.ok((0,n._)`${i} === ${s.default.errors}`);function unevaluatedPropCode(s){if(r===false){e.setParams({unevaluatedProperty:s});e.error();if(!c)t.break();return}if(!(0,A.alwaysValidSchema)(a,r)){const r=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:s,dataPropType:A.Type.Str},r);if(!c)t.if((0,n.not)(r),()=>t.break())}}function unevaluatedDynamic(e,t){return(0,n._)`!${e} || !${e}[${t}]`}function unevaluatedStatic(e,t){const r=[];for(const A in e){if(e[A]===true)r.push((0,n._)`${t} !== ${A}`)}return(0,n.and)(...r)}}};t["default"]=i},970:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s=r(4839);const o={message:"must be equal to constant",params:({schemaCode:e})=>(0,n._)`{allowedValue: ${e}}`};const i={keyword:"const",$data:true,error:o,code(e){const{gen:t,data:r,$data:o,schemaCode:i,schema:a}=e;if(o||a&&typeof a=="object"){e.fail$data((0,n._)`!${(0,A.useFunc)(t,s.default)}(${r}, ${i})`)}else{e.fail((0,n._)`${a} !== ${r}`)}}};t["default"]=i},1331:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(9170);const A={keyword:"dependentRequired",type:"object",schemaType:"object",error:n.error,code:e=>(0,n.validatePropertyDeps)(e)};t["default"]=A},6928:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s=r(4839);const o={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,n._)`{allowedValues: ${e}}`};const i={keyword:"enum",schemaType:"array",$data:true,error:o,code(e){const{gen:t,data:r,$data:o,schema:i,schemaCode:a,it:c}=e;if(!o&&i.length===0)throw new Error("enum must have non-empty array");const l=i.length>=c.opts.loopEnum;let u;const getEql=()=>u!==null&&u!==void 0?u:u=(0,A.useFunc)(t,s.default);let d;if(l||o){d=t.let("valid");e.block$data(d,loopEnum)}else{if(!Array.isArray(i))throw new Error("ajv implementation error");const e=t.const("vSchema",a);d=(0,n.or)(...i.map((t,r)=>equalCode(e,r)))}e.pass(d);function loopEnum(){t.assign(d,false);t.forOf("v",a,e=>t.if((0,n._)`${getEql()}(${r}, ${e})`,()=>t.assign(d,true).break()))}function equalCode(e,t){const A=i[t];return typeof A==="object"&&A!==null?(0,n._)`${getEql()}(${r}, ${e}[${t}])`:(0,n._)`${r} === ${A}`}}};t["default"]=i},6841:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(8795);const A=r(6068);const s=r(8130);const o=r(6407);const i=r(5951);const a=r(8216);const c=r(4376);const l=r(2108);const u=r(970);const d=r(6928);const h=[n.default,A.default,s.default,o.default,i.default,a.default,c.default,l.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},u.default,d.default];t["default"]=h},9731:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(3904);const A={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){if(t.contains===undefined){(0,n.checkStrictMode)(r,`"${e}" without "contains" is ignored`)}}};t["default"]=A},4376:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A={message({keyword:e,schemaCode:t}){const r=e==="maxItems"?"more":"fewer";return(0,n.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,n._)`{limit: ${e}}`};const s={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:A,code(e){const{keyword:t,data:r,schemaCode:A}=e;const s=t==="maxItems"?n.operators.GT:n.operators.LT;e.fail$data((0,n._)`${r}.length ${s} ${A}`)}};t["default"]=s},8130:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=r(3904);const s=r(2998);const o={message({keyword:e,schemaCode:t}){const r=e==="maxLength"?"more":"fewer";return(0,n.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,n._)`{limit: ${e}}`};const i={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:o,code(e){const{keyword:t,data:r,schemaCode:o,it:i}=e;const a=t==="maxLength"?n.operators.GT:n.operators.LT;const c=i.opts.unicode===false?(0,n._)`${r}.length`:(0,n._)`${(0,A.useFunc)(e.gen,s.default)}(${r})`;e.fail$data((0,n._)`${c} ${a} ${o}`)}};t["default"]=i},8795:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A=n.operators;const s={maximum:{okStr:"<=",ok:A.LTE,fail:A.GT},minimum:{okStr:">=",ok:A.GTE,fail:A.LT},exclusiveMaximum:{okStr:"<",ok:A.LT,fail:A.GTE},exclusiveMinimum:{okStr:">",ok:A.GT,fail:A.LTE}};const o={message:({keyword:e,schemaCode:t})=>(0,n.str)`must be ${s[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,n._)`{comparison: ${s[e].okStr}, limit: ${t}}`};const i={keyword:Object.keys(s),type:"number",schemaType:"number",$data:true,error:o,code(e){const{keyword:t,data:r,schemaCode:A}=e;e.fail$data((0,n._)`${r} ${s[t].fail} ${A} || isNaN(${r})`)}};t["default"]=i},5951:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A={message({keyword:e,schemaCode:t}){const r=e==="maxProperties"?"more":"fewer";return(0,n.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,n._)`{limit: ${e}}`};const s={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:A,code(e){const{keyword:t,data:r,schemaCode:A}=e;const s=t==="maxProperties"?n.operators.GT:n.operators.LT;e.fail$data((0,n._)`Object.keys(${r}).length ${s} ${A}`)}};t["default"]=s},6068:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(28);const A={message:({schemaCode:e})=>(0,n.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,n._)`{multipleOf: ${e}}`};const s={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:A,code(e){const{gen:t,data:r,schemaCode:A,it:s}=e;const o=s.opts.multipleOfPrecision;const i=t.let("res");const a=o?(0,n._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${o}`:(0,n._)`${i} !== parseInt(${i})`;e.fail$data((0,n._)`(${A} === 0 || (${i} = ${r}/${A}, ${a}))`)}};t["default"]=s},6407:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6516);const A=r(3904);const s=r(28);const o={message:({schemaCode:e})=>(0,s.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,s._)`{pattern: ${e}}`};const i={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:o,code(e){const{gen:t,data:r,$data:o,schema:i,schemaCode:a,it:c}=e;const l=c.opts.unicodeRegExp?"u":"";if(o){const{regExp:n}=c.opts.code;const o=n.code==="new RegExp"?(0,s._)`new RegExp`:(0,A.useFunc)(t,n);const i=t.let("valid");t.try(()=>t.assign(i,(0,s._)`${o}(${a}, ${l}).test(${r})`),()=>t.assign(i,false));e.fail$data((0,s._)`!${i}`)}else{const t=(0,n.usePattern)(e,i);e.fail$data((0,s._)`!${t}.test(${r})`)}}};t["default"]=i},8216:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(6516);const A=r(28);const s=r(3904);const o={message:({params:{missingProperty:e}})=>(0,A.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,A._)`{missingProperty: ${e}}`};const i={keyword:"required",type:"object",schemaType:"array",$data:true,error:o,code(e){const{gen:t,schema:r,schemaCode:o,data:i,$data:a,it:c}=e;const{opts:l}=c;if(!a&&r.length===0)return;const u=r.length>=l.loopRequired;if(c.allErrors)allErrorsMode();else exitOnErrorMode();if(l.strictRequired){const t=e.parentSchema.properties;const{definedProperties:n}=e.it;for(const e of r){if((t===null||t===void 0?void 0:t[e])===undefined&&!n.has(e)){const t=c.schemaEnv.baseId+c.errSchemaPath;const r=`required property "${e}" is not defined at "${t}" (strictRequired)`;(0,s.checkStrictMode)(c,r,c.opts.strictRequired)}}}function allErrorsMode(){if(u||a){e.block$data(A.nil,loopAllRequired)}else{for(const t of r){(0,n.checkReportMissingProp)(e,t)}}}function exitOnErrorMode(){const A=t.let("missing");if(u||a){const r=t.let("valid",true);e.block$data(r,()=>loopUntilMissing(A,r));e.ok(r)}else{t.if((0,n.checkMissingProp)(e,r,A));(0,n.reportMissingProp)(e,A);t.else()}}function loopAllRequired(){t.forOf("prop",o,r=>{e.setParams({missingProperty:r});t.if((0,n.noPropertyInData)(t,i,r,l.ownProperties),()=>e.error())})}function loopUntilMissing(r,s){e.setParams({missingProperty:r});t.forOf(r,o,()=>{t.assign(s,(0,n.propertyInData)(t,i,r,l.ownProperties));t.if((0,A.not)(s),()=>{e.error();t.break()})},A.nil)}}};t["default"]=i},2108:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});const n=r(733);const A=r(28);const s=r(3904);const o=r(4839);const i={message:({params:{i:e,j:t}})=>(0,A.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,A._)`{i: ${e}, j: ${t}}`};const a={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:i,code(e){const{gen:t,data:r,$data:i,schema:a,parentSchema:c,schemaCode:l,it:u}=e;if(!i&&!a)return;const d=t.let("valid");const h=c.items?(0,n.getSchemaTypes)(c.items):[];e.block$data(d,validateUniqueItems,(0,A._)`${l} === false`);e.ok(d);function validateUniqueItems(){const n=t.let("i",(0,A._)`${r}.length`);const s=t.let("j");e.setParams({i:n,j:s});t.assign(d,true);t.if((0,A._)`${n} > 1`,()=>(canOptimize()?loopN:loopN2)(n,s))}function canOptimize(){return h.length>0&&!h.some(e=>e==="object"||e==="array")}function loopN(s,o){const i=t.name("item");const a=(0,n.checkDataTypes)(h,i,u.opts.strictNumbers,n.DataType.Wrong);const c=t.const("indices",(0,A._)`{}`);t.for((0,A._)`;${s}--;`,()=>{t.let(i,(0,A._)`${r}[${s}]`);t.if(a,(0,A._)`continue`);if(h.length>1)t.if((0,A._)`typeof ${i} == "string"`,(0,A._)`${i} += "_"`);t.if((0,A._)`typeof ${c}[${i}] == "number"`,()=>{t.assign(o,(0,A._)`${c}[${i}]`);e.error();t.assign(d,false).break()}).code((0,A._)`${c}[${i}] = ${s}`)})}function loopN2(n,i){const a=(0,s.useFunc)(t,o.default);const c=t.name("outer");t.label(c).for((0,A._)`;${n}--;`,()=>t.for((0,A._)`${i} = ${n}; ${i}--;`,()=>t.if((0,A._)`${a}(${r}[${n}], ${r}[${i}])`,()=>{e.error();t.assign(d,false).break(c)})))}}};t["default"]=a},7638:e=>{e.exports=function equal(e,t){if(e===t)return true;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return false;var r,n,A;if(Array.isArray(e)){r=e.length;if(r!=t.length)return false;for(n=r;n--!==0;)if(!equal(e[n],t[n]))return false;return true}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();A=Object.keys(e);r=A.length;if(r!==Object.keys(t).length)return false;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,A[n]))return false;for(n=r;n--!==0;){var s=A[n];if(!equal(e[s],t[s]))return false}return true}return e!==e&&t!==t}},8688:e=>{var t=e.exports=function(e,t,r){if(typeof t=="function"){r=t;t={}}r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){};var A=r.post||function(){};_traverse(t,n,A,e,"",e)};t.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};t.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};t.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};t.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function _traverse(e,r,n,A,s,o,i,a,c,l){if(A&&typeof A=="object"&&!Array.isArray(A)){r(A,s,o,i,a,c,l);for(var u in A){var d=A[u];if(Array.isArray(d)){if(u in t.arrayKeywords){for(var h=0;h{const n=Symbol("SemVer ANY");class Comparator{static get ANY(){return n}constructor(e,t){t=A(t);if(e instanceof Comparator){if(e.loose===!!t.loose){return e}else{e=e.value}}e=e.trim().split(/\s+/).join(" ");a("comparator",e,t);this.options=t;this.loose=!!t.loose;this.parse(e);if(this.semver===n){this.value=""}else{this.value=this.operator+this.semver.version}a("comp",this)}parse(e){const t=this.options.loose?s[o.COMPARATORLOOSE]:s[o.COMPARATOR];const r=e.match(t);if(!r){throw new TypeError(`Invalid comparator: ${e}`)}this.operator=r[1]!==undefined?r[1]:"";if(this.operator==="="){this.operator=""}if(!r[2]){this.semver=n}else{this.semver=new c(r[2],this.options.loose)}}toString(){return this.value}test(e){a("Comparator.test",e,this.options.loose);if(this.semver===n||e===n){return true}if(typeof e==="string"){try{e=new c(e,this.options)}catch(e){return false}}return i(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof Comparator)){throw new TypeError("a Comparator is required")}if(this.operator===""){if(this.value===""){return true}return new l(e.value,t).test(this.value)}else if(e.operator===""){if(e.value===""){return true}return new l(this.value,t).test(e.semver)}t=A(t);if(t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")){return false}if(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))){return false}if(this.operator.startsWith(">")&&e.operator.startsWith(">")){return true}if(this.operator.startsWith("<")&&e.operator.startsWith("<")){return true}if(this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")){return true}if(i(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")){return true}if(i(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")){return true}return false}}e.exports=Comparator;const A=r(7308);const{safeRe:s,t:o}=r(3191);const i=r(8446);const a=r(5519);const c=r(1603);const l=r(9046)},9046:(e,t,r)=>{const n=/\s+/g;class Range{constructor(e,t){t=o(t);if(e instanceof Range){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease){return e}else{return new Range(e.raw,t)}}if(e instanceof i){this.raw=e.value;this.set=[[e]];this.formatted=undefined;return this}this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;this.raw=e.trim().replace(n," ");this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length);if(!this.set.length){throw new TypeError(`Invalid SemVer Range: ${this.raw}`)}if(this.set.length>1){const e=this.set[0];this.set=this.set.filter(e=>!isNullSet(e[0]));if(this.set.length===0){this.set=[e]}else if(this.set.length>1){for(const e of this.set){if(e.length===1&&isAny(e[0])){this.set=[e];break}}}}this.formatted=undefined}get range(){if(this.formatted===undefined){this.formatted="";for(let e=0;e0){this.formatted+="||"}const t=this.set[e];for(let e=0;e0){this.formatted+=" "}this.formatted+=t[e].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){e=e.replace(Q,"");const t=(this.options.includePrerelease&&E)|(this.options.loose&&C);const r=t+":"+e;const n=s.get(r);if(n){return n}const A=this.options.loose;const o=A?u[h.HYPHENRANGELOOSE]:u[h.HYPHENRANGE];e=e.replace(o,hyphenReplace(this.options.includePrerelease));a("hyphen replace",e);e=l(e);a("comparator trim",e);e=e.replace(u[h.TILDETRIM],g);a("tilde trim",e);e=e.replace(u[h.CARETTRIM],f);a("caret trim",e);let c=e.split(" ").map(e=>parseComparator(e,this.options)).join(" ").split(/\s+/).map(e=>replaceGTE0(e,this.options));if(A){c=c.filter(e=>{a("loose invalid filter",e,this.options);return!!e.match(u[h.COMPARATORLOOSE])})}a("range list",c);const d=new Map;const I=c.map(e=>new i(e,this.options));for(const e of I){if(isNullSet(e)){return[e]}d.set(e.value,e)}if(d.size>1&&d.has("")){d.delete("")}const B=[...d.values()];s.set(r,B);return B}intersects(e,t){if(!(e instanceof Range)){throw new TypeError("a Range is required")}return this.set.some(r=>isSatisfiable(r,t)&&e.set.some(e=>isSatisfiable(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e){return false}if(typeof e==="string"){try{e=new c(e,this.options)}catch(e){return false}}for(let t=0;te.value==="<0.0.0-0";const isAny=e=>e.value==="";const isSatisfiable=(e,t)=>{let r=true;const n=e.slice();let A=n.pop();while(r&&n.length){r=n.every(e=>A.intersects(e,t));A=n.pop()}return r};const parseComparator=(e,t)=>{e=e.replace(u[h.BUILD],"");a("comp",e,t);e=replaceCarets(e,t);a("caret",e);e=replaceTildes(e,t);a("tildes",e);e=replaceXRanges(e,t);a("xrange",e);e=replaceStars(e,t);a("stars",e);return e};const isX=e=>!e||e.toLowerCase()==="x"||e==="*";const invalidXRangeOrder=(e,t,r)=>isX(e)&&!isX(t)||isX(t)&&r&&!isX(r);const replaceTildes=(e,t)=>e.trim().split(/\s+/).map(e=>replaceTilde(e,t)).join(" ");const replaceTilde=(e,t)=>{const r=t.loose?u[h.TILDELOOSE]:u[h.TILDE];const n=t.includePrerelease?"-0":"";return e.replace(r,(t,r,A,s,o)=>{a("tilde",e,t,r,A,s,o);let i;if(isX(r)){i=""}else if(isX(A)){i=`>=${r}.0.0${n} <${+r+1}.0.0-0`}else if(isX(s)){i=`>=${r}.${A}.0${n} <${r}.${+A+1}.0-0`}else if(o){a("replaceTilde pr",o);i=`>=${r}.${A}.${s}-${o} <${r}.${+A+1}.0-0`}else{i=`>=${r}.${A}.${s} <${r}.${+A+1}.0-0`}a("tilde return",i);return i})};const replaceCarets=(e,t)=>e.trim().split(/\s+/).map(e=>replaceCaret(e,t)).join(" ");const replaceCaret=(e,t)=>{a("caret",e,t);const r=t.loose?u[h.CARETLOOSE]:u[h.CARET];const n=t.includePrerelease?"-0":"";return e.replace(r,(t,r,A,s,o)=>{a("caret",e,t,r,A,s,o);let i;if(isX(r)){i=""}else if(isX(A)){i=`>=${r}.0.0${n} <${+r+1}.0.0-0`}else if(isX(s)){if(r==="0"){i=`>=${r}.${A}.0${n} <${r}.${+A+1}.0-0`}else{i=`>=${r}.${A}.0${n} <${+r+1}.0.0-0`}}else if(o){a("replaceCaret pr",o);if(r==="0"){if(A==="0"){i=`>=${r}.${A}.${s}-${o} <${r}.${A}.${+s+1}-0`}else{i=`>=${r}.${A}.${s}-${o} <${r}.${+A+1}.0-0`}}else{i=`>=${r}.${A}.${s}-${o} <${+r+1}.0.0-0`}}else{a("no pr");if(r==="0"){if(A==="0"){i=`>=${r}.${A}.${s} <${r}.${A}.${+s+1}-0`}else{i=`>=${r}.${A}.${s} <${r}.${+A+1}.0-0`}}else{i=`>=${r}.${A}.${s} <${+r+1}.0.0-0`}}a("caret return",i);return i})};const replaceXRanges=(e,t)=>{a("replaceXRanges",e,t);return e.split(/\s+/).map(e=>replaceXRange(e,t)).join(" ")};const replaceXRange=(e,t)=>{e=e.trim();const r=t.loose?u[h.XRANGELOOSE]:u[h.XRANGE];return e.replace(r,(r,n,A,s,o,i)=>{a("xRange",e,r,n,A,s,o,i);if(invalidXRangeOrder(A,s,o)){return e}const c=isX(A);const l=c||isX(s);const u=l||isX(o);const d=u;if(n==="="&&d){n=""}i=t.includePrerelease?"-0":"";if(c){if(n===">"||n==="<"){r="<0.0.0-0"}else{r="*"}}else if(n&&d){if(l){s=0}o=0;if(n===">"){n=">=";if(l){A=+A+1;s=0;o=0}else{s=+s+1;o=0}}else if(n==="<="){n="<";if(l){A=+A+1}else{s=+s+1}}if(n==="<"){i="-0"}r=`${n+A}.${s}.${o}${i}`}else if(l){r=`>=${A}.0.0${i} <${+A+1}.0.0-0`}else if(u){r=`>=${A}.${s}.0${i} <${A}.${+s+1}.0-0`}a("xRange return",r);return r})};const replaceStars=(e,t)=>{a("replaceStars",e,t);return e.trim().replace(u[h.STAR],"")};const replaceGTE0=(e,t)=>{a("replaceGTE0",e,t);return e.trim().replace(u[t.includePrerelease?h.GTE0PRE:h.GTE0],"")};const hyphenReplace=e=>(t,r,n,A,s,o,i,a,c,l,u,d)=>{if(isX(n)){r=""}else if(isX(A)){r=`>=${n}.0.0${e?"-0":""}`}else if(isX(s)){r=`>=${n}.${A}.0${e?"-0":""}`}else if(o){r=`>=${r}`}else{r=`>=${r}${e?"-0":""}`}if(isX(c)){a=""}else if(isX(l)){a=`<${+c+1}.0.0-0`}else if(isX(u)){a=`<${c}.${+l+1}.0-0`}else if(d){a=`<=${c}.${l}.${u}-${d}`}else if(e){a=`<${c}.${l}.${+u+1}-0`}else{a=`<=${a}`}return`${r} ${a}`.trim()};const testSet=(e,t,r)=>{for(let r=0;r0){const n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch){return true}}}return false}return true}},1603:(e,t,r)=>{const n=r(5519);const{MAX_LENGTH:A,MAX_SAFE_INTEGER:s}=r(8114);const{safeRe:o,t:i}=r(3191);const a=r(7308);const{compareIdentifiers:c}=r(9916);const isPrereleaseIdentifier=(e,t)=>{const r=t.split(".");if(r.length>e.length){return false}for(let t=0;tA){throw new TypeError(`version is longer than ${A} characters`)}n("SemVer",e,t);this.options=t;this.loose=!!t.loose;this.includePrerelease=!!t.includePrerelease;const r=e.trim().match(t.loose?o[i.LOOSE]:o[i.FULL]);if(!r){throw new TypeError(`Invalid Version: ${e}`)}this.raw=e;this.major=+r[1];this.minor=+r[2];this.patch=+r[3];if(this.major>s||this.major<0){throw new TypeError("Invalid major version")}if(this.minor>s||this.minor<0){throw new TypeError("Invalid minor version")}if(this.patch>s||this.patch<0){throw new TypeError("Invalid patch version")}if(!r[4]){this.prerelease=[]}else{this.prerelease=r[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&te.major){return 1}if(this.minore.minor){return 1}if(this.patche.patch){return 1}return 0}comparePre(e){if(!(e instanceof SemVer)){e=new SemVer(e,this.options)}if(this.prerelease.length&&!e.prerelease.length){return-1}else if(!this.prerelease.length&&e.prerelease.length){return 1}else if(!this.prerelease.length&&!e.prerelease.length){return 0}let t=0;do{const r=this.prerelease[t];const A=e.prerelease[t];n("prerelease compare",t,r,A);if(r===undefined&&A===undefined){return 0}else if(A===undefined){return 1}else if(r===undefined){return-1}else if(r===A){continue}else{return c(r,A)}}while(++t)}compareBuild(e){if(!(e instanceof SemVer)){e=new SemVer(e,this.options)}let t=0;do{const r=this.build[t];const A=e.build[t];n("build compare",t,r,A);if(r===undefined&&A===undefined){return 0}else if(A===undefined){return 1}else if(r===undefined){return-1}else if(r===A){continue}else{return c(r,A)}}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===false){throw new Error("invalid increment argument: identifier is empty")}if(t){const e=`-${t}`.match(this.options.loose?o[i.PRERELEASELOOSE]:o[i.PRERELEASE]);if(!e||e[1]!==t){throw new Error(`invalid identifier: ${t}`)}}}switch(e){case"premajor":this.prerelease.length=0;this.patch=0;this.minor=0;this.major++;this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0;this.patch=0;this.minor++;this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0;this.inc("patch",t,r);this.inc("pre",t,r);break;case"prerelease":if(this.prerelease.length===0){this.inc("patch",t,r)}this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0){throw new Error(`version ${this.raw} is not a prerelease`)}this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0){this.major++}this.minor=0;this.patch=0;this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0){this.minor++}this.patch=0;this.prerelease=[];break;case"patch":if(this.prerelease.length===0){this.patch++}this.prerelease=[];break;case"pre":{const e=Number(r)?1:0;if(this.prerelease.length===0){this.prerelease=[e]}else{let n=this.prerelease.length;while(--n>=0){if(typeof this.prerelease[n]==="number"){this.prerelease[n]++;n=-2}}if(n===-1){if(t===this.prerelease.join(".")&&r===false){throw new Error("invalid increment argument: identifier already exists")}this.prerelease.push(e)}}if(t){let n=[t,e];if(r===false){n=[t]}if(isPrereleaseIdentifier(this.prerelease,t)){const e=this.prerelease[t.split(".").length];if(isNaN(e)){this.prerelease=n}}else{this.prerelease=n}}break}default:throw new Error(`invalid increment argument: ${e}`)}this.raw=this.format();if(this.build.length){this.raw+=`+${this.build.join(".")}`}return this}}e.exports=SemVer},9455:(e,t,r)=>{const n=r(1817);const clean=(e,t)=>{const r=n(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};e.exports=clean},8446:(e,t,r)=>{const n=r(3714);const A=r(6518);const s=r(5743);const o=r(972);const i=r(3896);const a=r(7221);const cmp=(e,t,r,c)=>{switch(t){case"===":if(typeof e==="object"){e=e.version}if(typeof r==="object"){r=r.version}return e===r;case"!==":if(typeof e==="object"){e=e.version}if(typeof r==="object"){r=r.version}return e!==r;case"":case"=":case"==":return n(e,r,c);case"!=":return A(e,r,c);case">":return s(e,r,c);case">=":return o(e,r,c);case"<":return i(e,r,c);case"<=":return a(e,r,c);default:throw new TypeError(`Invalid operator: ${t}`)}};e.exports=cmp},9889:(e,t,r)=>{const n=r(1603);const A=r(1817);const{safeRe:s,t:o}=r(3191);const coerce=(e,t)=>{if(e instanceof n){return e}if(typeof e==="number"){e=String(e)}if(typeof e!=="string"){return null}t=t||{};let r=null;if(!t.rtl){r=e.match(t.includePrerelease?s[o.COERCEFULL]:s[o.COERCE])}else{const n=t.includePrerelease?s[o.COERCERTLFULL]:s[o.COERCERTL];let A;while((A=n.exec(e))&&(!r||r.index+r[0].length!==e.length)){if(!r||A.index+A[0].length!==r.index+r[0].length){r=A}n.lastIndex=A.index+A[1].length+A[2].length}n.lastIndex=-1}if(r===null){return null}const i=r[2];const a=r[3]||"0";const c=r[4]||"0";const l=t.includePrerelease&&r[5]?`-${r[5]}`:"";const u=t.includePrerelease&&r[6]?`+${r[6]}`:"";return A(`${i}.${a}.${c}${l}${u}`,t)};e.exports=coerce},9256:(e,t,r)=>{const n=r(1603);const compareBuild=(e,t,r)=>{const A=new n(e,r);const s=new n(t,r);return A.compare(s)||A.compareBuild(s)};e.exports=compareBuild},2498:(e,t,r)=>{const n=r(6061);const compareLoose=(e,t)=>n(e,t,true);e.exports=compareLoose},6061:(e,t,r)=>{const n=r(1603);const compare=(e,t,r)=>new n(e,r).compare(new n(t,r));e.exports=compare},7535:(e,t,r)=>{const n=r(1817);const diff=(e,t)=>{const r=n(e,null,true);const A=n(t,null,true);const s=r.compare(A);if(s===0){return null}const o=s>0;const i=o?r:A;const a=o?A:r;const c=!!i.prerelease.length;const l=!!a.prerelease.length;if(l&&!c){if(!a.patch&&!a.minor){return"major"}if(a.compareMain(i)===0){if(a.minor&&!a.patch){return"minor"}return"patch"}}const u=c?"pre":"";if(r.major!==A.major){return u+"major"}if(r.minor!==A.minor){return u+"minor"}if(r.patch!==A.patch){return u+"patch"}return"prerelease"};e.exports=diff},3714:(e,t,r)=>{const n=r(6061);const eq=(e,t,r)=>n(e,t,r)===0;e.exports=eq},5743:(e,t,r)=>{const n=r(6061);const gt=(e,t,r)=>n(e,t,r)>0;e.exports=gt},972:(e,t,r)=>{const n=r(6061);const gte=(e,t,r)=>n(e,t,r)>=0;e.exports=gte},4858:(e,t,r)=>{const n=r(1603);const inc=(e,t,r,A,s)=>{if(typeof r==="string"){s=A;A=r;r=undefined}try{return new n(e instanceof n?e.version:e,r).inc(t,A,s).version}catch(e){return null}};e.exports=inc},3896:(e,t,r)=>{const n=r(6061);const lt=(e,t,r)=>n(e,t,r)<0;e.exports=lt},7221:(e,t,r)=>{const n=r(6061);const lte=(e,t,r)=>n(e,t,r)<=0;e.exports=lte},4567:(e,t,r)=>{const n=r(1603);const major=(e,t)=>new n(e,t).major;e.exports=major},8467:(e,t,r)=>{const n=r(1603);const minor=(e,t)=>new n(e,t).minor;e.exports=minor},6518:(e,t,r)=>{const n=r(6061);const neq=(e,t,r)=>n(e,t,r)!==0;e.exports=neq},1817:(e,t,r)=>{const n=r(1603);const parse=(e,t,r=false)=>{if(e instanceof n){return e}try{return new n(e,t)}catch(e){if(!r){return null}throw e}};e.exports=parse},3276:(e,t,r)=>{const n=r(1603);const patch=(e,t)=>new n(e,t).patch;e.exports=patch},4282:(e,t,r)=>{const n=r(1817);const prerelease=(e,t)=>{const r=n(e,t);return r&&r.prerelease.length?r.prerelease:null};e.exports=prerelease},6149:(e,t,r)=>{const n=r(6061);const rcompare=(e,t,r)=>n(t,e,r);e.exports=rcompare},4624:(e,t,r)=>{const n=r(9256);const rsort=(e,t)=>e.sort((e,r)=>n(r,e,t));e.exports=rsort},883:(e,t,r)=>{const n=r(9046);const satisfies=(e,t,r)=>{try{t=new n(t,r)}catch(e){return false}return t.test(e)};e.exports=satisfies},4888:(e,t,r)=>{const n=r(9256);const sort=(e,t)=>e.sort((e,r)=>n(e,r,t));e.exports=sort},8314:(e,t,r)=>{const n=r(1817);const A=r(8114);const s=r(1603);const truncate=(e,t,r)=>{if(!A.RELEASE_TYPES.includes(t)){return null}const n=cloneInputVersion(e,r);return n&&doTruncation(n,t)};const cloneInputVersion=(e,t)=>{const r=e instanceof s?e.version:e;return n(r,t)};const doTruncation=(e,t)=>{if(isPrerelease(t)){return e.version}e.prerelease=[];switch(t){case"major":e.minor=0;e.patch=0;break;case"minor":e.patch=0;break}return e.format()};const isPrerelease=e=>e.startsWith("pre");e.exports=truncate},1988:(e,t,r)=>{const n=r(1817);const valid=(e,t)=>{const r=n(e,t);return r?r.version:null};e.exports=valid},2320:(e,t,r)=>{const n=r(3191);const A=r(8114);const s=r(1603);const o=r(9916);const i=r(1817);const a=r(1988);const c=r(9455);const l=r(4858);const u=r(7535);const d=r(4567);const h=r(8467);const g=r(3276);const f=r(4282);const E=r(6061);const C=r(6149);const Q=r(2498);const I=r(9256);const B=r(4888);const p=r(4624);const m=r(5743);const y=r(3896);const w=r(3714);const b=r(6518);const R=r(972);const S=r(7221);const k=r(8446);const D=r(9889);const N=r(8314);const F=r(5275);const v=r(9046);const M=r(883);const T=r(9830);const U=r(5377);const L=r(2235);const x=r(2210);const H=r(7705);const G=r(5472);const P=r(940);const V=r(9605);const O=r(6465);const Y=r(7076);const J=r(6585);e.exports={parse:i,valid:a,clean:c,inc:l,diff:u,major:d,minor:h,patch:g,prerelease:f,compare:E,rcompare:C,compareLoose:Q,compareBuild:I,sort:B,rsort:p,gt:m,lt:y,eq:w,neq:b,gte:R,lte:S,cmp:k,coerce:D,truncate:N,Comparator:F,Range:v,satisfies:M,toComparators:T,maxSatisfying:U,minSatisfying:L,minVersion:x,validRange:H,outside:G,gtr:P,ltr:V,intersects:O,simplifyRange:Y,subset:J,SemVer:s,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:A.SEMVER_SPEC_VERSION,RELEASE_TYPES:A.RELEASE_TYPES,compareIdentifiers:o.compareIdentifiers,rcompareIdentifiers:o.rcompareIdentifiers}},8114:e=>{const t="2.0.0";const r=256;const n=Number.MAX_SAFE_INTEGER||9007199254740991;const A=16;const s=r-6;const o=["\t","\n","\v","\f","\r"," "," "," "," "," "," "," "," "," "," "," "," "," "," ","\u2028","\u2029"," "," "," ","\ufeff"];const i=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e.exports={MAX_LENGTH:r,MAX_SAFE_COMPONENT_LENGTH:A,MAX_SAFE_BUILD_LENGTH:s,MAX_SAFE_INTEGER:n,WHITESPACE_CHARACTERS:o,RELEASE_TYPES:i,SEMVER_SPEC_VERSION:t,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}},5519:e=>{const t=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=t},9916:e=>{const t=/^[0-9]+$/;const compareIdentifiers=(e,r)=>{if(typeof e==="number"&&typeof r==="number"){return e===r?0:ecompareIdentifiers(t,e);e.exports={compareIdentifiers:compareIdentifiers,rcompareIdentifiers:rcompareIdentifiers}},1663:e=>{class LRUCache{constructor(){this.max=1e3;this.map=new Map}get(e){const t=this.map.get(e);if(t===undefined){return undefined}else{this.map.delete(e);this.map.set(e,t);return t}}delete(e){return this.map.delete(e)}set(e,t){const r=this.delete(e);if(!r&&t!==undefined){if(this.map.size>=this.max){const e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}e.exports=LRUCache},7308:e=>{const t=Object.freeze({loose:true});const r=Object.freeze({});const parseOptions=e=>{if(!e){return r}if(typeof e!=="object"){return t}return e};e.exports=parseOptions},3191:(e,t,r)=>{const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:A,MAX_LENGTH:s}=r(8114);const o=r(5519);t=e.exports={};const i=t.re=[];const a=t.safeRe=[];const c=t.src=[];const l=t.safeSrc=[];const u=t.t={};let d=0;const h="[a-zA-Z0-9-]";const g=[["\\s",1],["\\d",s],[h,A]];const makeSafeRegex=e=>{for(const[t,r]of g){e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`)}return e};const createToken=(e,t,r)=>{const n=makeSafeRegex(t);const A=d++;o(e,A,t);u[e]=A;c[A]=t;l[A]=n;i[A]=new RegExp(t,r?"g":undefined);a[A]=new RegExp(n,r?"g":undefined)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${h}*`);createToken("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.`+`(${c[u.NUMERICIDENTIFIER]})\\.`+`(${c[u.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.`+`(${c[u.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${h}+`);createToken("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`);createToken("FULL",`^${c[u.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`);createToken("LOOSE",`^${c[u.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})`+`(?:\\.(${c[u.XRANGEIDENTIFIER]})`+`(?:\\.(${c[u.XRANGEIDENTIFIER]})`+`(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?`+`)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})`+`(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?`+`)?)?`);createToken("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`${"(^|[^\\d])"+"(\\d{1,"}${n}})`+`(?:\\.(\\d{1,${n}}))?`+`(?:\\.(\\d{1,${n}}))?`);createToken("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?`+`(?:$|[^\\d])`);createToken("COERCERTL",c[u.COERCE],true);createToken("COERCERTLFULL",c[u.COERCEFULL],true);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,true);t.tildeTrimReplace="$1~";createToken("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,true);t.caretTrimReplace="$1^";createToken("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,true);t.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})`+`\\s+-\\s+`+`(${c[u.XRANGEPLAIN]})`+`\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})`+`\\s+-\\s+`+`(${c[u.XRANGEPLAINLOOSE]})`+`\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")},1777:(e,t,r)=>{const{MAX_LENGTH:n,MAX_SAFE_BUILD_LENGTH:A,WHITESPACE_CHARACTERS:s}=r(8114);const o=new Uint8Array(65536);for(const e of s){o[e.charCodeAt(0)]=1}const isWhitespace=e=>e!==undefined&&o[e.charCodeAt(0)]===1;const isVersionPrefix=e=>e==="v"||e==="="||isWhitespace(e);const isDigit=e=>e!==undefined&&e>="0"&&e<="9";const isLetter=e=>e!==undefined&&(e>="a"&&e<="z"||e>="A"&&e<="Z");const isIdentifierCharacter=e=>isDigit(e)||isLetter(e)||e==="-";const isVersionStart=e=>isDigit(e)||e==="x"||e==="X"||e==="*";const findDigitsEndIndex=(e,t,r,n)=>{if(!isDigit(e[t])){return t}if(t>=n.start&&t=n.previousStart&&t{if(!r&&e[t]==="0"){return t+1}return findDigitsEndIndex(e,t,r?n:n+1,A)};const findPrereleaseIdentifierEndIndex=(e,t,r,s)=>{const o=findDigitsEndIndex(e,t,n,s);if(isLetter(e[o])||e[o]==="-"){let t=o+1;const r=t+A;while(t{const A=e[t]==="-";if(!r&&!A){return t}const s=t+(A?1:0);let o=findPrereleaseIdentifierEndIndex(e,s,r,n);if(o===s){if(!r||!A){return t}o=findPrereleaseIdentifierEndIndex(e,t,r,n)}while(e[o]==="."){const t=findPrereleaseIdentifierEndIndex(e,o+1,r,n);if(t===o+1){break}o=t}return o};const findBuildIdentifierEndIndex=(e,t)=>{let r=t;while(r-t{if(e[t]!=="+"){return t}let r=findBuildIdentifierEndIndex(e,t+1);if(r===t+1){return t}while(e[r]==="."){const t=findBuildIdentifierEndIndex(e,r+1);if(t===r+1){break}r=t}return r};const findLooseFullVersionEndIndex=(e,t,r)=>{let n=t;for(let A=0;A<3;A++){const s=findVersionNumberEndIndex(e,n,true,r);if(s===n){return t}n=s;if(A<2){if(e[n]!=="."){return t}n++}}const A=findPrereleaseEndIndex(e,n,true,r);return findBuildEndIndex(e,A)};const findPartialVersionComponentEndIndex=(e,t,r)=>{if(isDigit(e[t])){return findVersionNumberEndIndex(e,t,false,r)}return isVersionStart(e[t])?t+1:t};const findPartialVersionEndIndex=(e,t,r)=>{let n=findPartialVersionComponentEndIndex(e,t,r);for(let t=0;t<2;t++){if(e[n]!=="."){return n}const t=findPartialVersionComponentEndIndex(e,n+1,r);if(t===n+1){return n}n=t}const A=findPrereleaseEndIndex(e,n,false,r);return findBuildEndIndex(e,A)};const findVersionEndIndex=(e,t,r)=>{const n=findLooseFullVersionEndIndex(e,t,r);return n!==t?n:findPartialVersionEndIndex(e,t,r)};const findRemovableWhitespaceIndex=(e,t)=>{let r=t;if(isWhitespace(e[r])){r++}if(e[r]==="<"||e[r]===">"){r++}if(e[r]==="="){r++}return isWhitespace(e[r])?r:-1};const trimComparatorWhitespace=e=>{let t="";let r=0;let n=0;const A={start:-1,end:-1,previousStart:-1,previousEnd:-1};while(n"){n++}else if(!isVersionPrefix(e[n])&&!isVersionStart(e[n])){n++;continue}while(n{const n=r(5472);const gtr=(e,t,r)=>n(e,t,">",r);e.exports=gtr},6465:(e,t,r)=>{const n=r(9046);const intersects=(e,t,r)=>{e=new n(e,r);t=new n(t,r);return e.intersects(t,r)};e.exports=intersects},9605:(e,t,r)=>{const n=r(5472);const ltr=(e,t,r)=>n(e,t,"<",r);e.exports=ltr},5377:(e,t,r)=>{const n=r(1603);const A=r(9046);const maxSatisfying=(e,t,r)=>{let s=null;let o=null;let i=null;try{i=new A(t,r)}catch(e){return null}e.forEach(e=>{if(i.test(e)){if(!s||o.compare(e)===-1){s=e;o=new n(s,r)}}});return s};e.exports=maxSatisfying},2235:(e,t,r)=>{const n=r(1603);const A=r(9046);const minSatisfying=(e,t,r)=>{let s=null;let o=null;let i=null;try{i=new A(t,r)}catch(e){return null}e.forEach(e=>{if(i.test(e)){if(!s||o.compare(e)===1){s=e;o=new n(s,r)}}});return s};e.exports=minSatisfying},2210:(e,t,r)=>{const n=r(1603);const A=r(9046);const s=r(5743);const minVersion=(e,t)=>{e=new A(e,t);let r=new n("0.0.0");if(e.test(r)){return r}r=new n("0.0.0-0");if(e.test(r)){return r}r=null;for(let t=0;t{const t=new n(e.semver.version);switch(e.operator){case">":if(t.prerelease.length===0){t.patch++}else{t.prerelease.push(0)}t.raw=t.format();case"":case">=":if(!o||s(t,o)){o=t}break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}});if(o&&(!r||s(r,o))){r=o}}if(r&&e.test(r)){return r}return null};e.exports=minVersion},5472:(e,t,r)=>{const n=r(1603);const A=r(5275);const{ANY:s}=A;const o=r(9046);const i=r(883);const a=r(5743);const c=r(3896);const l=r(7221);const u=r(972);const outside=(e,t,r,d)=>{e=new n(e,d);t=new o(t,d);let h,g,f,E,C;switch(r){case">":h=a;g=l;f=c;E=">";C=">=";break;case"<":h=c;g=u;f=a;E="<";C="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(i(e,t,d)){return false}for(let r=0;r{if(e.semver===s){e=new A(">=0.0.0")}o=o||e;i=i||e;if(h(e.semver,o.semver,d)){o=e}else if(f(e.semver,i.semver,d)){i=e}});if(o.operator===E||o.operator===C){return false}if((!i.operator||i.operator===E)&&g(e,i.semver)){return false}else if(i.operator===C&&f(e,i.semver)){return false}}return true};e.exports=outside},7076:(e,t,r)=>{const n=r(883);const A=r(6061);e.exports=(e,t,r)=>{const s=[];let o=null;let i=null;const a=e.sort((e,t)=>A(e,t,r));for(const e of a){const A=n(e,t,r);if(A){i=e;if(!o){o=e}}else{if(i){s.push([o,i])}i=null;o=null}}if(o){s.push([o,null])}const c=[];for(const[e,t]of s){if(e===t){c.push(e)}else if(!t&&e===a[0]){c.push("*")}else if(!t){c.push(`>=${e}`)}else if(e===a[0]){c.push(`<=${t}`)}else{c.push(`${e} - ${t}`)}}const l=c.join(" || ");const u=typeof t.raw==="string"?t.raw:String(t);return l.length{const n=r(9046);const A=r(5275);const{ANY:s}=A;const o=r(883);const i=r(6061);const subset=(e,t,r={})=>{if(e===t){return true}e=new n(e,r);t=new n(t,r);let A=false;e:for(const n of e.set){for(const e of t.set){const t=simpleSubset(n,e,r);A=A||t!==null;if(t){continue e}}if(A){return false}}return true};const a=[new A(">=0.0.0-0")];const c=[new A(">=0.0.0")];const simpleSubset=(e,t,r)=>{if(e===t){return true}if(e.length===1&&e[0].semver===s){if(t.length===1&&t[0].semver===s){return true}else if(r.includePrerelease){e=a}else{e=c}}if(t.length===1&&t[0].semver===s){if(r.includePrerelease){return true}else{t=c}}const n=new Set;let A,l;for(const t of e){if(t.operator===">"||t.operator===">="){A=higherGT(A,t,r)}else if(t.operator==="<"||t.operator==="<="){l=lowerLT(l,t,r)}else{n.add(t.semver)}}if(n.size>1){return null}let u;if(A&&l){u=i(A.semver,l.semver,r);if(u>0){return null}else if(u===0&&(A.operator!==">="||l.operator!=="<=")){return null}}for(const e of n){if(A&&!o(e,String(A),r)){return null}if(l&&!o(e,String(l),r)){return null}for(const n of t){if(!o(e,String(n),r)){return false}}return true}let d,h;let g,f;let E=l&&!r.includePrerelease&&l.semver.prerelease.length?l.semver:false;let C=A&&!r.includePrerelease&&A.semver.prerelease.length?A.semver:false;if(E&&E.prerelease.length===1&&l.operator==="<"&&E.prerelease[0]===0){E=false}for(const e of t){f=f||e.operator===">"||e.operator===">=";g=g||e.operator==="<"||e.operator==="<=";if(A){if(C){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===C.major&&e.semver.minor===C.minor&&e.semver.patch===C.patch){C=false}}if(e.operator===">"||e.operator===">="){d=higherGT(A,e,r);if(d===e&&d!==A){return false}}else if(A.operator===">="&&!e.test(A.semver)){return false}}if(l){if(E){if(e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===E.major&&e.semver.minor===E.minor&&e.semver.patch===E.patch){E=false}}if(e.operator==="<"||e.operator==="<="){h=lowerLT(l,e,r);if(h===e&&h!==l){return false}}else if(l.operator==="<="&&!e.test(l.semver)){return false}}if(!e.operator&&(l||A)&&u!==0){return false}}if(A&&g&&!l&&u!==0){return false}if(l&&f&&!A&&u!==0){return false}if(C||E){return false}return true};const higherGT=(e,t,r)=>{if(!e){return t}const n=i(e.semver,t.semver,r);return n>0?e:n<0?t:t.operator===">"&&e.operator===">="?t:e};const lowerLT=(e,t,r)=>{if(!e){return t}const n=i(e.semver,t.semver,r);return n<0?e:n>0?t:t.operator==="<"&&e.operator==="<="?t:e};e.exports=subset},9830:(e,t,r)=>{const n=r(9046);const toComparators=(e,t)=>new n(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "));e.exports=toComparators},7705:(e,t,r)=>{const n=r(9046);const validRange=(e,t)=>{try{return new n(e,t).range||"*"}catch(e){return null}};e.exports=validRange},7013:(e,t,r)=>{e.exports=r(8479)},8479:(e,t,r)=>{var n;var A=r(9278);var s=r(4756);var o=r(8611);var i=r(5692);var a=r(4434);var c=r(2613);var l=r(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",function onFree(e,r,n,A){var s=toOptions(r,n,A);for(var o=0,i=t.requests.length;o=this.maxSockets){A.requests.push(s);return}A.createSocket(s,function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){A.emit("free",t,s)}function onCloseOrRemove(e){A.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}})};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var n={};r.sockets.push(n);var A=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){A.localAddress=e.localAddress}if(A.proxyAuth){A.headers=A.headers||{};A.headers["Proxy-Authorization"]="Basic "+new Buffer(A.proxyAuth).toString("base64")}u("making CONNECT request");var s=r.request(A);s.useChunkedEncodingByDefault=false;s.once("response",onResponse);s.once("upgrade",onUpgrade);s.once("connect",onConnect);s.once("error",onError);s.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick(function(){onConnect(e,t,r)})}function onConnect(A,o,i){s.removeAllListeners();o.removeAllListeners();if(A.statusCode!==200){u("tunneling socket could not be established, statusCode=%d",A.statusCode);o.destroy();var a=new Error("tunneling socket could not be established, "+"statusCode="+A.statusCode);a.code="ECONNRESET";e.request.emit("error",a);r.removeSocket(n);return}if(i.length>0){u("got illegal response body from proxy");o.destroy();var a=new Error("got illegal response body from proxy");a.code="ECONNRESET";e.request.emit("error",a);r.removeSocket(n);return}u("tunneling connection has established");r.sockets[r.sockets.indexOf(n)]=o;return t(o)}function onError(t){s.removeAllListeners();u("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var A=new Error("tunneling socket could not be established, "+"cause="+t.message);A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,function(e){r.request.onSocket(e)})}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,function(n){var A=e.request.getHeader("host");var o=mergeOptions({},r.options,{socket:n,servername:A?A.replace(/:.*$/,""):e.host});var i=s.connect(0,o);r.sockets[r.sockets.indexOf(n)]=i;t(i)})}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{var n;const A=r(7140);const s=r(5030);const o=r(2921);const i=r(9390);const a=r(4586);const c=r(3747);const l=r(6920);const u=r(9089);const d=r(9934);const h=r(8529);const{InvalidArgumentError:g}=d;const f=r(7998);const E=r(951);const C=r(8570);const Q=r(8444);const I=r(3927);const B=r(9654);const p=r(7877);const{getGlobalDispatcher:m,setGlobalDispatcher:y}=r(4498);const w=r(4606);const b=r(3669);const R=r(7327);Object.assign(s.prototype,f);n=s;n=A;n=o;n=i;n=a;e.exports.kT=c;n=l;n=u;n=p;n=w;n=b;n=R;n={redirect:r(910),retry:r(2503),dump:r(7407),dns:r(6814)};n=E;n=d;n={parseHeaders:h.parseHeaders,headerNameToString:h.headerNameToString};function makeDispatcher(e){return(t,r,n)=>{if(typeof r==="function"){n=r;r=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new g("invalid url")}if(r!=null&&typeof r!=="object"){throw new g("invalid opts")}if(r&&r.path!=null){if(typeof r.path!=="string"){throw new g("invalid opts.path")}let e=r.path;if(!r.path.startsWith("/")){e=`/${e}`}t=new URL(h.parseOrigin(t).origin+e)}else{if(!r){r=typeof t==="object"?t:{}}t=h.parseURL(t)}const{agent:A,dispatcher:s=m()}=r;if(A){throw new g("unsupported opts.agent. Did you mean opts.client?")}return e.call(s,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},n)}}n=y;n=m;const S=r(8263).fetch;n=async function fetch(e,t=undefined){try{return await S(e,t)}catch(e){if(e&&typeof e==="object"){Error.captureStackTrace(e)}throw e}};r(3257).Headers;r(1328).Response;r(6398).Request;r(7653).FormData;n=globalThis.File??r(4573).File;r(5660).FileReader;const{setGlobalOrigin:k,getGlobalOrigin:D}=r(8712);n=k;n=D;const{CacheStorage:N}=r(2118);const{kConstruct:F}=r(8404);n=new N(F);const{deleteCookie:v,getCookies:M,getSetCookies:T,setCookie:U}=r(6748);n=v;n=M;n=T;n=U;const{parseMIMEType:L,serializeAMimeType:x}=r(5192);n=L;n=x;const{CloseEvent:H,ErrorEvent:G,MessageEvent:P}=r(659);r(9708).WebSocket;n=H;n=G;n=P;n=makeDispatcher(f.request);n=makeDispatcher(f.stream);n=makeDispatcher(f.pipeline);n=makeDispatcher(f.connect);n=makeDispatcher(f.upgrade);n=C;n=I;n=Q;n=B;const{EventSource:V}=r(9207);n=V},2917:(e,t,r)=>{const{addAbortListener:n}=r(8529);const{RequestAbortedError:A}=r(9934);const s=Symbol("kListener");const o=Symbol("kSignal");function abort(e){if(e.abort){e.abort(e[o]?.reason)}else{e.reason=e[o]?.reason??new A}removeSignal(e)}function addSignal(e,t){e.reason=null;e[o]=null;e[s]=null;if(!t){return}if(t.aborted){abort(e);return}e[o]=t;e[s]=()=>{abort(e)};n(e[o],e[s])}function removeSignal(e){if(!e[o]){return}if("removeEventListener"in e[o]){e[o].removeEventListener("abort",e[s])}else{e[o].removeListener("abort",e[s])}e[o]=null;e[s]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},4505:(e,t,r)=>{const n=r(4589);const{AsyncResource:A}=r(6698);const{InvalidArgumentError:s,SocketError:o}=r(9934);const i=r(8529);const{addSignal:a,removeSignal:c}=r(2917);class ConnectHandler extends A{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:r,opaque:n,responseHeaders:A}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=n||null;this.responseHeaders=A||null;this.callback=t;this.abort=null;a(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}n(this.callback);this.abort=e;this.context=t}onHeaders(){throw new o("bad connect",null)}onUpgrade(e,t,r){const{callback:n,opaque:A,context:s}=this;c(this);this.callback=null;let o=t;if(o!=null){o=this.responseHeaders==="raw"?i.parseRawHeaders(t):i.parseHeaders(t)}this.runInAsyncScope(n,null,null,{statusCode:e,headers:o,socket:r,opaque:A,context:s})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})})}}}function connect(e,t){if(t===undefined){return new Promise((t,r)=>{connect.call(this,e,(e,n)=>e?r(e):t(n))})}try{const r=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},r)}catch(r){if(typeof t!=="function"){throw r}const n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}e.exports=connect},7329:(e,t,r)=>{const{Readable:n,Duplex:A,PassThrough:s}=r(7075);const{InvalidArgumentError:o,InvalidReturnValueError:i,RequestAbortedError:a}=r(9934);const c=r(8529);const{AsyncResource:l}=r(6698);const{addSignal:u,removeSignal:d}=r(2917);const h=r(4589);const g=Symbol("resume");class PipelineRequest extends n{constructor(){super({autoDestroy:true});this[g]=null}_read(){const{[g]:e}=this;if(e){this[g]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends n{constructor(e){super({autoDestroy:true});this[g]=e}_read(){this[g]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new a}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new o("invalid opts")}if(typeof t!=="function"){throw new o("invalid handler")}const{signal:r,method:n,opaque:s,onInfo:i,responseHeaders:l}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new o("invalid method")}if(i&&typeof i!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=s||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=i||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new A({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e?.resume){e.resume()}},write:(e,t,r)=>{const{req:n}=this;if(n.push(e,t)||n._readableState.destroyed){r()}else{n[g]=r}},destroy:(e,t)=>{const{body:r,req:n,res:A,ret:s,abort:o}=this;if(!e&&!s._readableState.endEmitted){e=new a}if(o&&e){o()}c.destroy(r,e);c.destroy(n,e);c.destroy(A,e);d(this);t(e)}}).on("prefinish",()=>{const{req:e}=this;e.push(null)});this.res=null;u(this,r)}onConnect(e,t){const{ret:r,res:n}=this;if(this.reason){e(this.reason);return}h(!n,"pipeline cannot be retried");h(!r.destroyed);this.abort=e;this.context=t}onHeaders(e,t,r){const{opaque:n,handler:A,context:s}=this;if(e<200){if(this.onInfo){const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:r})}return}this.res=new PipelineResponse(r);let o;try{this.handler=null;const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);o=this.runInAsyncScope(A,null,{statusCode:e,headers:r,opaque:n,body:this.res,context:s})}catch(e){this.res.on("error",c.nop);throw e}if(!o||typeof o.on!=="function"){throw new i("expected Readable")}o.on("data",e=>{const{ret:t,body:r}=this;if(!t.push(e)&&r.pause){r.pause()}}).on("error",e=>{const{ret:t}=this;c.destroy(t,e)}).on("end",()=>{const{ret:e}=this;e.push(null)}).on("close",()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new a)}});this.body=o}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const r=new PipelineHandler(e,t);this.dispatch({...e,body:r.req},r);return r.ret}catch(e){return(new s).destroy(e)}}e.exports=pipeline},3850:(e,t,r)=>{const n=r(4589);const{Readable:A}=r(2036);const{InvalidArgumentError:s,RequestAbortedError:o}=r(9934);const i=r(8529);const{getResolveErrorBodyCallback:a}=r(8352);const{AsyncResource:c}=r(6698);class RequestHandler extends c{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}const{signal:r,method:n,opaque:A,body:a,onInfo:c,responseHeaders:l,throwOnError:u,highWaterMark:d}=e;try{if(typeof t!=="function"){throw new s("invalid callback")}if(d&&(typeof d!=="number"||d<0)){throw new s("invalid highWaterMark")}if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new s("invalid method")}if(c&&typeof c!=="function"){throw new s("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(a)){i.destroy(a.on("error",i.nop),e)}throw e}this.method=n;this.responseHeaders=l||null;this.opaque=A||null;this.callback=t;this.res=null;this.abort=null;this.body=a;this.trailers={};this.context=null;this.onInfo=c||null;this.throwOnError=u;this.highWaterMark=d;this.signal=r;this.reason=null;this.removeAbortListener=null;if(i.isStream(a)){a.on("error",e=>{this.onError(e)})}if(this.signal){if(this.signal.aborted){this.reason=this.signal.reason??new o}else{this.removeAbortListener=i.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new o;if(this.res){i.destroy(this.res.on("error",i.nop),this.reason)}else if(this.abort){this.abort(this.reason)}if(this.removeAbortListener){this.res?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}})}}}onConnect(e,t){if(this.reason){e(this.reason);return}n(this.callback);this.abort=e;this.context=t}onHeaders(e,t,r,n){const{callback:s,opaque:o,abort:c,context:l,responseHeaders:u,highWaterMark:d}=this;const h=u==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:h})}return}const g=u==="raw"?i.parseHeaders(t):h;const f=g["content-type"];const E=g["content-length"];const C=new A({resume:r,abort:c,contentType:f,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:d});if(this.removeAbortListener){C.on("close",this.removeAbortListener)}this.callback=null;this.res=C;if(s!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(a,null,{callback:s,body:C,contentType:f,statusCode:e,statusMessage:n,headers:h})}else{this.runInAsyncScope(s,null,null,{statusCode:e,headers:h,trailers:this.trailers,opaque:o,body:C,context:l})}}}onData(e){return this.res.push(e)}onComplete(e){i.parseHeaders(e,this.trailers);this.res.push(null)}onError(e){const{res:t,callback:r,body:n,opaque:A}=this;if(r){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:A})})}if(t){this.res=null;queueMicrotask(()=>{i.destroy(t,e)})}if(n){this.body=null;i.destroy(n,e)}if(this.removeAbortListener){t?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}}}function request(e,t){if(t===undefined){return new Promise((t,r)=>{request.call(this,e,(e,n)=>e?r(e):t(n))})}try{this.dispatch(e,new RequestHandler(e,t))}catch(r){if(typeof t!=="function"){throw r}const n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}e.exports=request;e.exports.RequestHandler=RequestHandler},2159:(e,t,r)=>{const n=r(4589);const{finished:A,PassThrough:s}=r(7075);const{InvalidArgumentError:o,InvalidReturnValueError:i}=r(9934);const a=r(8529);const{getResolveErrorBodyCallback:c}=r(8352);const{AsyncResource:l}=r(6698);const{addSignal:u,removeSignal:d}=r(2917);class StreamHandler extends l{constructor(e,t,r){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:n,method:A,opaque:s,body:i,onInfo:c,responseHeaders:l,throwOnError:d}=e;try{if(typeof r!=="function"){throw new o("invalid callback")}if(typeof t!=="function"){throw new o("invalid factory")}if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(A==="CONNECT"){throw new o("invalid method")}if(c&&typeof c!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(a.isStream(i)){a.destroy(i.on("error",a.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=s||null;this.factory=t;this.callback=r;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=i;this.onInfo=c||null;this.throwOnError=d||false;if(a.isStream(i)){i.on("error",e=>{this.onError(e)})}u(this,n)}onConnect(e,t){if(this.reason){e(this.reason);return}n(this.callback);this.abort=e;this.context=t}onHeaders(e,t,r,n){const{factory:o,opaque:l,context:u,callback:d,responseHeaders:h}=this;const g=h==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:g})}return}this.factory=null;let f;if(this.throwOnError&&e>=400){const r=h==="raw"?a.parseHeaders(t):g;const A=r["content-type"];f=new s;this.callback=null;this.runInAsyncScope(c,null,{callback:d,body:f,contentType:A,statusCode:e,statusMessage:n,headers:g})}else{if(o===null){return}f=this.runInAsyncScope(o,null,{statusCode:e,headers:g,opaque:l,context:u});if(!f||typeof f.write!=="function"||typeof f.end!=="function"||typeof f.on!=="function"){throw new i("expected Writable")}A(f,{readable:false},e=>{const{callback:t,res:r,opaque:n,trailers:A,abort:s}=this;this.res=null;if(e||!r.readable){a.destroy(r,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:n,trailers:A});if(e){s()}})}f.on("drain",r);this.res=f;const E=f.writableNeedDrain!==undefined?f.writableNeedDrain:f._writableState?.needDrain;return E!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;d(this);if(!t){return}this.trailers=a.parseHeaders(e);t.end()}onError(e){const{res:t,callback:r,opaque:n,body:A}=this;d(this);this.factory=null;if(t){this.res=null;a.destroy(t,e)}else if(r){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:n})})}if(A){this.body=null;a.destroy(A,e)}}}function stream(e,t,r){if(r===undefined){return new Promise((r,n)=>{stream.call(this,e,t,(e,t)=>e?n(e):r(t))})}try{this.dispatch(e,new StreamHandler(e,t,r))}catch(t){if(typeof r!=="function"){throw t}const n=e?.opaque;queueMicrotask(()=>r(t,{opaque:n}))}}e.exports=stream},3827:(e,t,r)=>{const{InvalidArgumentError:n,SocketError:A}=r(9934);const{AsyncResource:s}=r(6698);const o=r(8529);const{addSignal:i,removeSignal:a}=r(2917);const c=r(4589);class UpgradeHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:r,opaque:A,responseHeaders:s}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=s||null;this.opaque=A||null;this.callback=t;this.abort=null;this.context=null;i(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}c(this.callback);this.abort=e;this.context=null}onHeaders(){throw new A("bad upgrade",null)}onUpgrade(e,t,r){c(e===101);const{callback:n,opaque:A,context:s}=this;a(this);this.callback=null;const i=this.responseHeaders==="raw"?o.parseRawHeaders(t):o.parseHeaders(t);this.runInAsyncScope(n,null,null,{headers:i,socket:r,opaque:A,context:s})}onError(e){const{callback:t,opaque:r}=this;a(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})})}}}function upgrade(e,t){if(t===undefined){return new Promise((t,r)=>{upgrade.call(this,e,(e,n)=>e?r(e):t(n))})}try{const r=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},r)}catch(r){if(typeof t!=="function"){throw r}const n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}e.exports=upgrade},7998:(e,t,r)=>{e.exports.request=r(3850);e.exports.stream=r(2159);e.exports.pipeline=r(7329);e.exports.upgrade=r(3827);e.exports.connect=r(4505)},2036:(e,t,r)=>{const n=r(4589);const{Readable:A}=r(7075);const{RequestAbortedError:s,NotSupportedError:o,InvalidArgumentError:i,AbortError:a}=r(9934);const c=r(8529);const{ReadableStreamFrom:l}=r(8529);const u=Symbol("kConsume");const d=Symbol("kReading");const h=Symbol("kBody");const g=Symbol("kAbort");const f=Symbol("kContentType");const E=Symbol("kContentLength");const noop=()=>{};class BodyReadable extends A{constructor({resume:e,abort:t,contentType:r="",contentLength:n,highWaterMark:A=64*1024}){super({autoDestroy:true,read:e,highWaterMark:A});this._readableState.dataEmitted=false;this[g]=t;this[u]=null;this[h]=null;this[f]=r;this[E]=n;this[d]=false}destroy(e){if(!e&&!this._readableState.endEmitted){e=new s}if(e){this[g]()}return super.destroy(e)}_destroy(e,t){if(!this[d]){setImmediate(()=>{t(e)})}else{t(e)}}on(e,...t){if(e==="data"||e==="readable"){this[d]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const r=super.off(e,...t);if(e==="data"||e==="readable"){this[d]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return r}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[u]&&e!==null){consumePush(this[u],e);return this[d]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async bytes(){return consume(this,"bytes")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new o}get bodyUsed(){return c.isDisturbed(this)}get body(){if(!this[h]){this[h]=l(this);if(this[u]){this[h].getReader();n(this[h].locked)}}return this[h]}async dump(e){let t=Number.isFinite(e?.limit)?e.limit:128*1024;const r=e?.signal;if(r!=null&&(typeof r!=="object"||!("aborted"in r))){throw new i("signal must be an AbortSignal")}r?.throwIfAborted();if(this._readableState.closeEmitted){return null}return await new Promise((e,n)=>{if(this[E]>t){this.destroy(new a)}const onAbort=()=>{this.destroy(r.reason??new a)};r?.addEventListener("abort",onAbort);this.on("close",function(){r?.removeEventListener("abort",onAbort);if(r?.aborted){n(r.reason??new a)}else{e(null)}}).on("error",noop).on("data",function(e){t-=e.length;if(t<=0){this.destroy()}}).resume()})}}function isLocked(e){return e[h]&&e[h].locked===true||e[u]}function isUnusable(e){return c.isDisturbed(e)||isLocked(e)}async function consume(e,t){n(!e[u]);return new Promise((r,n)=>{if(isUnusable(e)){const t=e._readableState;if(t.destroyed&&t.closeEmitted===false){e.on("error",e=>{n(e)}).on("close",()=>{n(new TypeError("unusable"))})}else{n(t.errored??new TypeError("unusable"))}}else{queueMicrotask(()=>{e[u]={type:t,stream:e,resolve:r,reject:n,length:0,body:[]};e.on("error",function(e){consumeFinish(this[u],e)}).on("close",function(){if(this[u].body!==null){consumeFinish(this[u],new s)}});consumeStart(e[u])})}})}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;if(t.bufferIndex){const r=t.bufferIndex;const n=t.buffer.length;for(let A=r;A2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return r.utf8Slice(A,n)}function chunksConcat(e,t){if(e.length===0||t===0){return new Uint8Array(0)}if(e.length===1){return new Uint8Array(e[0])}const r=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer);let n=0;for(let t=0;t{const n=r(4589);const{ResponseStatusCodeError:A}=r(9934);const{chunksDecode:s}=r(2036);const o=128*1024;async function getResolveErrorBodyCallback({callback:e,body:t,contentType:r,statusCode:i,statusMessage:a,headers:c}){n(t);let l=[];let u=0;try{for await(const e of t){l.push(e);u+=e.length;if(u>o){l=[];u=0;break}}}catch{l=[];u=0}const d=`Response status code ${i}${a?`: ${a}`:""}`;if(i===204||!r||!u){queueMicrotask(()=>e(new A(d,i,c)));return}const h=Error.stackTraceLimit;Error.stackTraceLimit=0;let g;try{if(isContentTypeApplicationJson(r)){g=JSON.parse(s(l,u))}else if(isContentTypeText(r)){g=s(l,u)}}catch{}finally{Error.stackTraceLimit=h}queueMicrotask(()=>e(new A(d,i,c,g)))}const isContentTypeApplicationJson=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n";const isContentTypeText=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback,isContentTypeApplicationJson:isContentTypeApplicationJson,isContentTypeText:isContentTypeText}},951:(e,t,r)=>{const n=r(7030);const A=r(4589);const s=r(8529);const{InvalidArgumentError:o,ConnectTimeoutError:i}=r(9934);const a=r(4486);function noop(){}let c;let l;if(global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)){l=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry(e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:i,timeout:a,session:d,...h}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new o("maxCachedSessions must be a positive integer or zero")}const g={path:i,...h};const f=new l(t==null?100:t);a=a==null?1e4:a;e=e!=null?e:false;return function connect({hostname:t,host:o,protocol:i,port:l,servername:h,localAddress:E,httpSocket:C},Q){let I;if(i==="https:"){if(!c){c=r(1692)}h=h||g.servername||s.getServerName(o)||null;const n=h||t;A(n);const i=d||f.get(n)||null;l=l||443;I=c.connect({highWaterMark:16384,...g,servername:h,session:i,localAddress:E,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:C,port:l,host:t});I.on("session",function(e){f.set(n,e)})}else{A(!C,"httpSocket can only be sent on TLS update");l=l||80;I=n.connect({highWaterMark:64*1024,...g,localAddress:E,port:l,host:t})}if(g.keepAlive==null||g.keepAlive){const e=g.keepAliveInitialDelay===undefined?6e4:g.keepAliveInitialDelay;I.setKeepAlive(true,e)}const B=u(new WeakRef(I),{timeout:a,hostname:t,port:l});I.setNoDelay(true).once(i==="https:"?"secureConnect":"connect",function(){queueMicrotask(B);if(Q){const e=Q;Q=null;e(null,this)}}).on("error",function(e){queueMicrotask(B);if(Q){const t=Q;Q=null;t(e)}});return I}}const u=process.platform==="win32"?(e,t)=>{if(!t.timeout){return noop}let r=null;let n=null;const A=a.setFastTimeout(()=>{r=setImmediate(()=>{n=setImmediate(()=>onConnectTimeout(e.deref(),t))})},t.timeout);return()=>{a.clearFastTimeout(A);clearImmediate(r);clearImmediate(n)}}:(e,t)=>{if(!t.timeout){return noop}let r=null;const n=a.setFastTimeout(()=>{r=setImmediate(()=>{onConnectTimeout(e.deref(),t)})},t.timeout);return()=>{a.clearFastTimeout(n);clearImmediate(r)}};function onConnectTimeout(e,t){if(e==null){return}let r="Connect Timeout Error";if(Array.isArray(e.autoSelectFamilyAttemptedAddresses)){r+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`}else{r+=` (attempted address: ${t.hostname}:${t.port},`}r+=` timeout: ${t.timeout}ms)`;s.destroy(e,new i(r))}e.exports=buildConnector},4448:e=>{const t={};const r=["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"];for(let e=0;e{const n=r(3053);const A=r(7975);const s=A.debuglog("undici");const o=A.debuglog("fetch");const i=A.debuglog("websocket");let a=false;const c={beforeConnect:n.channel("undici:client:beforeConnect"),connected:n.channel("undici:client:connected"),connectError:n.channel("undici:client:connectError"),sendHeaders:n.channel("undici:client:sendHeaders"),create:n.channel("undici:request:create"),bodySent:n.channel("undici:request:bodySent"),headers:n.channel("undici:request:headers"),trailers:n.channel("undici:request:trailers"),error:n.channel("undici:request:error"),open:n.channel("undici:websocket:open"),close:n.channel("undici:websocket:close"),socketError:n.channel("undici:websocket:socket_error"),ping:n.channel("undici:websocket:ping"),pong:n.channel("undici:websocket:pong")};if(s.enabled||o.enabled){const e=o.enabled?o:s;n.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s}}=t;e("connecting to %s using %s%s",`${s}${A?`:${A}`:""}`,n,r)});n.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s}}=t;e("connected to %s using %s%s",`${s}${A?`:${A}`:""}`,n,r)});n.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s},error:o}=t;e("connection to %s using %s%s errored - %s",`${s}${A?`:${A}`:""}`,n,r,o.message)});n.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:r,path:n,origin:A}}=t;e("sending request to %s %s/%s",r,A,n)});n.channel("undici:request:headers").subscribe(t=>{const{request:{method:r,path:n,origin:A},response:{statusCode:s}}=t;e("received response to %s %s/%s - HTTP %d",r,A,n,s)});n.channel("undici:request:trailers").subscribe(t=>{const{request:{method:r,path:n,origin:A}}=t;e("trailers received from %s %s/%s",r,A,n)});n.channel("undici:request:error").subscribe(t=>{const{request:{method:r,path:n,origin:A},error:s}=t;e("request to %s %s/%s errored - %s",r,A,n,s.message)});a=true}if(i.enabled){if(!a){const e=s.enabled?s:i;n.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s}}=t;e("connecting to %s%s using %s%s",s,A?`:${A}`:"",n,r)});n.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s}}=t;e("connected to %s%s using %s%s",s,A?`:${A}`:"",n,r)});n.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:r,protocol:n,port:A,host:s},error:o}=t;e("connection to %s%s using %s%s errored - %s",s,A?`:${A}`:"",n,r,o.message)});n.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:r,path:n,origin:A}}=t;e("sending request to %s %s/%s",r,A,n)})}n.channel("undici:websocket:open").subscribe(e=>{const{address:{address:t,port:r}}=e;i("connection opened %s%s",t,r?`:${r}`:"")});n.channel("undici:websocket:close").subscribe(e=>{const{websocket:t,code:r,reason:n}=e;i("closed connection to %s - %s %s",t.url,r,n)});n.channel("undici:websocket:socket_error").subscribe(e=>{i("connection errored - %s",e.message)});n.channel("undici:websocket:ping").subscribe(e=>{i("ping received")});n.channel("undici:websocket:pong").subscribe(e=>{i("pong received")})}e.exports={channels:c}},9934:e=>{const t=Symbol.for("undici.error.UND_ERR");class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[t]===true}[t]=true}const r=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class ConnectTimeoutError extends UndiciError{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[r]===true}[r]=true}const n=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class HeadersTimeoutError extends UndiciError{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[n]===true}[n]=true}const A=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class HeadersOverflowError extends UndiciError{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[A]===true}[A]=true}const s=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class BodyTimeoutError extends UndiciError{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[s]===true}[s]=true}const o=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");class ResponseStatusCodeError extends UndiciError{constructor(e,t,r,n){super(e);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=n;this.status=t;this.statusCode=t;this.headers=r}static[Symbol.hasInstance](e){return e&&e[o]===true}[o]=true}const i=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class InvalidArgumentError extends UndiciError{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[i]===true}[i]=true}const a=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class InvalidReturnValueError extends UndiciError{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[a]===true}[a]=true}const c=Symbol.for("undici.error.UND_ERR_ABORT");class AbortError extends UndiciError{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[c]===true}[c]=true}const l=Symbol.for("undici.error.UND_ERR_ABORTED");class RequestAbortedError extends AbortError{constructor(e){super(e);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[l]===true}[l]=true}const u=Symbol.for("undici.error.UND_ERR_INFO");class InformationalError extends UndiciError{constructor(e){super(e);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[u]===true}[u]=true}const d=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class RequestContentLengthMismatchError extends UndiciError{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[d]===true}[d]=true}const h=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class ResponseContentLengthMismatchError extends UndiciError{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[h]===true}[h]=true}const g=Symbol.for("undici.error.UND_ERR_DESTROYED");class ClientDestroyedError extends UndiciError{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[g]===true}[g]=true}const f=Symbol.for("undici.error.UND_ERR_CLOSED");class ClientClosedError extends UndiciError{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[f]===true}[f]=true}const E=Symbol.for("undici.error.UND_ERR_SOCKET");class SocketError extends UndiciError{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[E]===true}[E]=true}const C=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class NotSupportedError extends UndiciError{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[C]===true}[C]=true}const Q=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class BalancedPoolMissingUpstreamError extends UndiciError{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[Q]===true}[Q]=true}const I=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class HTTPParserError extends Error{constructor(e,t,r){super(e);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=r?r.toString():undefined}static[Symbol.hasInstance](e){return e&&e[I]===true}[I]=true}const B=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class ResponseExceededMaxSizeError extends UndiciError{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[B]===true}[B]=true}const p=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class RequestRetryError extends UndiciError{constructor(e,t,{headers:r,data:n}){super(e);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=n;this.headers=r}static[Symbol.hasInstance](e){return e&&e[p]===true}[p]=true}const m=Symbol.for("undici.error.UND_ERR_RESPONSE");class ResponseError extends UndiciError{constructor(e,t,{headers:r,data:n}){super(e);this.name="ResponseError";this.message=e||"Response error";this.code="UND_ERR_RESPONSE";this.statusCode=t;this.data=n;this.headers=r}static[Symbol.hasInstance](e){return e&&e[m]===true}[m]=true}const y=Symbol.for("undici.error.UND_ERR_PRX_TLS");class SecureProxyConnectionError extends UndiciError{constructor(e,t,r){super(t,{cause:e,...r??{}});this.name="SecureProxyConnectionError";this.message=t||"Secure Proxy Connection failed";this.code="UND_ERR_PRX_TLS";this.cause=e}static[Symbol.hasInstance](e){return e&&e[y]===true}[y]=true}const w=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class MessageSizeExceededError extends UndiciError{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[w]===true}get[w](){return true}}e.exports={AbortError:AbortError,HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError,ResponseError:ResponseError,SecureProxyConnectionError:SecureProxyConnectionError,MessageSizeExceededError:MessageSizeExceededError}},6540:(e,t,r)=>{const{InvalidArgumentError:n,NotSupportedError:A}=r(9934);const s=r(4589);const{isValidHTTPToken:o,isValidHeaderValue:i,isStream:a,destroy:c,isBuffer:l,isFormDataLike:u,isIterable:d,isBlobLike:h,buildURL:g,validateHandler:f,getServerName:E,normalizedMethodRecords:C}=r(8529);const{channels:Q}=r(1509);const{headerNameLowerCasedRecord:I}=r(4448);const B=/[^\u0021-\u00ff]/;const p=Symbol("handler");class Request{constructor(e,{path:t,method:r,body:A,headers:s,query:I,idempotent:m,blocking:y,upgrade:w,headersTimeout:b,bodyTimeout:R,reset:S,throwOnError:k,expectContinue:D,servername:N},F){if(typeof t!=="string"){throw new n("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT"){throw new n("path must be an absolute URL or start with a slash")}else if(B.test(t)){throw new n("invalid request path")}if(typeof r!=="string"){throw new n("method must be a string")}else if(C[r]===undefined&&!o(r)){throw new n("invalid request method")}if(w&&typeof w!=="string"){throw new n("upgrade must be a string")}if(w&&!i(w)){throw new n("invalid upgrade header")}if(b!=null&&(!Number.isFinite(b)||b<0)){throw new n("invalid headersTimeout")}if(R!=null&&(!Number.isFinite(R)||R<0)){throw new n("invalid bodyTimeout")}if(S!=null&&typeof S!=="boolean"){throw new n("invalid reset")}if(D!=null&&typeof D!=="boolean"){throw new n("invalid expectContinue")}this.headersTimeout=b;this.bodyTimeout=R;this.throwOnError=k===true;this.method=r;this.abort=null;if(A==null){this.body=null}else if(a(A)){this.body=A;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(l(A)){this.body=A.byteLength?A:null}else if(ArrayBuffer.isView(A)){this.body=A.buffer.byteLength?Buffer.from(A.buffer,A.byteOffset,A.byteLength):null}else if(A instanceof ArrayBuffer){this.body=A.byteLength?Buffer.from(A):null}else if(typeof A==="string"){this.body=A.length?Buffer.from(A):null}else if(u(A)||d(A)||h(A)){this.body=A}else{throw new n("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=w||null;this.path=I?g(t,I):t;this.origin=e;this.idempotent=m==null?r==="HEAD"||r==="GET":m;this.blocking=y==null?false:y;this.reset=S==null?null:S;this.host=null;this.contentLength=null;this.contentType=null;this.headers=[];this.expectContinue=D!=null?D:false;if(Array.isArray(s)){if(s.length%2!==0){throw new n("headers array must be even")}for(let e=0;e{e.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"),kInterceptors:Symbol("dispatch interceptors"),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"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}},8313:(e,t,r)=>{const{wellknownHeaderNames:n,headerNameLowerCasedRecord:A}=r(4448);class TstNode{value=null;left=null;middle=null;right=null;code;constructor(e,t,r){if(r===undefined||r>=e.length){throw new TypeError("Unreachable")}const n=this.code=e.charCodeAt(r);if(n>127){throw new TypeError("key must be ascii string")}if(e.length!==++r){this.middle=new TstNode(e,t,r)}else{this.value=t}}add(e,t){const r=e.length;if(r===0){throw new TypeError("Unreachable")}let n=0;let A=this;while(true){const s=e.charCodeAt(n);if(s>127){throw new TypeError("key must be ascii string")}if(A.code===s){if(r===++n){A.value=t;break}else if(A.middle!==null){A=A.middle}else{A.middle=new TstNode(e,t,n);break}}else if(A.code=65){A|=32}while(n!==null){if(A===n.code){if(t===++r){return n}n=n.middle;break}n=n.code{const n=r(4589);const{kDestroyed:A,kBodyUsed:s,kListeners:o,kBody:i}=r(5424);const{IncomingMessage:a}=r(7067);const c=r(7075);const l=r(7030);const{Blob:u}=r(4573);const d=r(7975);const{stringify:h}=r(1792);const{EventEmitter:g}=r(8474);const{InvalidArgumentError:f}=r(9934);const{headerNameLowerCasedRecord:E}=r(4448);const{tree:C}=r(8313);const[Q,I]=process.versions.node.split(".").map(e=>Number(e));class BodyAsyncIterable{constructor(e){this[i]=e;this[s]=false}async*[Symbol.asyncIterator](){n(!this[s],"disturbed");this[s]=true;yield*this[i]}}function wrapRequestBody(e){if(isStream(e)){if(bodyLength(e)===0){e.on("data",function(){n(false)})}if(typeof e.readableDidRead!=="boolean"){e[s]=false;g.prototype.on.call(e,"data",function(){this[s]=true})}return e}else if(e&&typeof e.pipeTo==="function"){return new BodyAsyncIterable(e)}else if(e&&typeof e!=="string"&&!ArrayBuffer.isView(e)&&isIterable(e)){return new BodyAsyncIterable(e)}else{return e}}function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){if(e===null){return false}else if(e instanceof u){return true}else if(typeof e!=="object"){return false}else{const t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream==="function"||"arrayBuffer"in e&&typeof e.arrayBuffer==="function")}}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const r=h(t);if(r){e+="?"+r}return e}function isValidPort(e){const t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function isHttpOrHttpsPrefixed(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new f("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new f("Invalid URL: The URL argument must be a non-null object.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&isValidPort(e.port)===false){throw new f("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 f("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new f("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new f("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new f("Invalid URL origin: the origin must be a string or null/undefined.")}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new f("Invalid URL protocol: the URL must start with `http:` or `https:`.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let r=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`;let n=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(r[r.length-1]==="/"){r=r.slice(0,r.length-1)}if(n&&n[0]!=="/"){n=`/${n}`}return new URL(`${r}${n}`)}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new f("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new f("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");n(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}n(typeof e==="string");const t=getHostname(e);if(l.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return e&&!!(e.destroyed||e[A]||c.isDestroyed?.(e))}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===a){e.socket=null}e.destroy(t)}else if(t){queueMicrotask(()=>{e.emit("error",t)})}if(e.destroyed!==true){e[A]=true}}const B=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(B);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return typeof e==="string"?E[e]??e.toLowerCase():C.lookup(e)??e.toString("latin1").toLowerCase()}function bufferToLowerCasedHeaderName(e){return C.lookup(e)??e.toString("latin1").toLowerCase()}function parseHeaders(e,t){if(t===undefined)t={};for(let r=0;re.toString("utf8")):A.toString("utf8")}}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=e.length;const r=new Array(t);let n=false;let A=-1;let s;let o;let i=0;for(let t=0;t{e.close();e.byobRequest?.respond(0)})}else{const t=Buffer.isBuffer(n)?n:Buffer.from(n);if(t.byteLength){e.enqueue(new Uint8Array(t))}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}function isFormDataLike(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 addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const p=typeof String.prototype.toWellFormed==="function";const m=typeof String.prototype.isWellFormed==="function";function toUSVString(e){return p?`${e}`.toWellFormed():d.toUSVString(e)}function isUSVString(e){return m?`${e}`.isWellFormed():toUSVString(e)===`${e}`}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t{const{InvalidArgumentError:n}=r(9934);const{kClients:A,kRunning:s,kClose:o,kDestroy:i,kDispatch:a,kInterceptors:c}=r(5424);const l=r(6870);const u=r(2921);const d=r(7140);const h=r(8529);const g=r(7327);const f=Symbol("onConnect");const E=Symbol("onDisconnect");const C=Symbol("onConnectionError");const Q=Symbol("maxRedirections");const I=Symbol("onDrain");const B=Symbol("factory");const p=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new d(e,t):new u(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:r,tls:s,...o}={}){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(!Number.isInteger(t)||t<0){throw new n("maxRedirections must be a positive number")}super(o);if(r&&typeof r!=="function"){r={...r}}if(s&&typeof s!=="function"){s={...s}}this[c]=o.interceptors?.Agent&&Array.isArray(o.interceptors.Agent)?o.interceptors.Agent:[g({maxRedirections:t})];this[p]={...h.deepClone(o),connect:r,tls:s};this[p].interceptors=o.interceptors?{...o.interceptors}:undefined;this[Q]=t;this[B]=e;this[A]=new Map;this[I]=(e,t)=>{this.emit("drain",e,[this,...t])};this[f]=(e,t)=>{this.emit("connect",e,[this,...t])};this[E]=(e,t,r)=>{this.emit("disconnect",e,[this,...t],r)};this[C]=(e,t,r)=>{this.emit("connectionError",e,[this,...t],r)}}get[s](){let e=0;for(const t of this[A].values()){e+=t[s]}return e}[a](e,t){let r;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){r=String(e.origin)}else{throw new n("opts.origin must be a non-empty string or URL.")}let s=this[A].get(r);if(!s){s=this[B](e.origin,this[p]).on("drain",this[I]).on("connect",this[f]).on("disconnect",this[E]).on("connectionError",this[C]);this[A].set(r,s)}return s.dispatch(e,t)}async[o](){const e=[];for(const t of this[A].values()){e.push(t.close())}this[A].clear();await Promise.all(e)}async[i](e){const t=[];for(const r of this[A].values()){t.push(r.destroy(e))}this[A].clear();await Promise.all(t)}}e.exports=Agent},9390:(e,t,r)=>{const{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:A}=r(9934);const{PoolBase:s,kClients:o,kNeedDrain:i,kAddClient:a,kRemoveClient:c,kGetDispatcher:l}=r(627);const u=r(2921);const{kUrl:d,kInterceptors:h}=r(5424);const{parseOrigin:g}=r(8529);const f=Symbol("factory");const E=Symbol("options");const C=Symbol("kGreatestCommonDivisor");const Q=Symbol("kCurrentWeight");const I=Symbol("kIndex");const B=Symbol("kWeight");const p=Symbol("kMaxWeightPerServer");const m=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(e===0)return t;while(t!==0){const r=t;t=e%t;e=r}return e}function defaultFactory(e,t){return new u(e,t)}class BalancedPool extends s{constructor(e=[],{factory:t=defaultFactory,...r}={}){super();this[E]=r;this[I]=-1;this[Q]=0;this[p]=this[E].maxWeightPerServer||100;this[m]=this[E].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new A("factory must be a function.")}this[h]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[];this[f]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=g(e).origin;if(this[o].find(e=>e[d].origin===t&&e.closed!==true&&e.destroyed!==true)){return this}const r=this[f](t,Object.assign({},this[E]));this[a](r);r.on("connect",()=>{r[B]=Math.min(this[p],r[B]+this[m])});r.on("connectionError",()=>{r[B]=Math.max(1,r[B]-this[m]);this._updateBalancedPoolStats()});r.on("disconnect",(...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){r[B]=Math.max(1,r[B]-this[m]);this._updateBalancedPoolStats()}});for(const e of this[o]){e[B]=this[p]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){let e=0;for(let t=0;te[d].origin===t&&e.closed!==true&&e.destroyed!==true);if(r){this[c](r)}return this}get upstreams(){return this[o].filter(e=>e.closed!==true&&e.destroyed!==true).map(e=>e[d].origin)}[l](){if(this[o].length===0){throw new n}const e=this[o].find(e=>!e[i]&&e.closed!==true&&e.destroyed!==true);if(!e){return}const t=this[o].map(e=>e[i]).reduce((e,t)=>e&&t,true);if(t){return}let r=0;let A=this[o].findIndex(e=>!e[i]);while(r++this[o][A][B]&&!e[i]){A=this[I]}if(this[I]===0){this[Q]=this[Q]-this[C];if(this[Q]<=0){this[Q]=this[p]}}if(e[B]>=this[Q]&&!e[i]){return e}}this[Q]=this[o][A][B];this[I]=A;return this[o][A]}}e.exports=BalancedPool},3010:(e,t,r)=>{const n=r(4589);const A=r(8529);const{channels:s}=r(1509);const o=r(4486);const{RequestContentLengthMismatchError:i,ResponseContentLengthMismatchError:a,RequestAbortedError:c,InvalidArgumentError:l,HeadersTimeoutError:u,HeadersOverflowError:d,SocketError:h,InformationalError:g,BodyTimeoutError:f,HTTPParserError:E,ResponseExceededMaxSizeError:C}=r(9934);const{kUrl:Q,kReset:I,kClient:B,kParser:p,kBlocking:m,kRunning:y,kPending:w,kSize:b,kWriting:R,kQueue:S,kNoRef:k,kKeepAliveDefaultTimeout:D,kHostHeader:N,kPendingIdx:F,kRunningIdx:v,kError:M,kPipelining:T,kSocket:U,kKeepAliveTimeoutValue:L,kMaxHeadersSize:x,kKeepAliveMaxTimeout:H,kKeepAliveTimeoutThreshold:G,kHeadersTimeout:P,kBodyTimeout:V,kStrictContentLength:O,kMaxRequests:Y,kCounter:J,kMaxResponseSize:$,kOnError:W,kResume:q,kHTTPContext:j}=r(5424);const z=r(2811);const K=Buffer.alloc(0);const Z=Buffer[Symbol.species];const X=A.addListener;const ee=A.removeAllListeners;const te=Symbol("kIdleSocketValidation");const re=Symbol("kIdleSocketValidationTimeout");const ne=Symbol("kSocketUsed");let Ae;async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?r(5381):undefined;let t;try{t=await WebAssembly.compile(r(4823))}catch(n){t=await WebAssembly.compile(e||r(5381))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,r)=>0,wasm_on_status:(e,t,r)=>{n(ie.ptr===e);const A=t-le+ae.byteOffset;return ie.onStatus(new Z(ae.buffer,A,r))||0},wasm_on_message_begin:e=>{n(ie.ptr===e);return ie.onMessageBegin()||0},wasm_on_header_field:(e,t,r)=>{n(ie.ptr===e);const A=t-le+ae.byteOffset;return ie.onHeaderField(new Z(ae.buffer,A,r))||0},wasm_on_header_value:(e,t,r)=>{n(ie.ptr===e);const A=t-le+ae.byteOffset;return ie.onHeaderValue(new Z(ae.buffer,A,r))||0},wasm_on_headers_complete:(e,t,r,A)=>{n(ie.ptr===e);return ie.onHeadersComplete(t,Boolean(r),Boolean(A))||0},wasm_on_body:(e,t,r)=>{n(ie.ptr===e);const A=t-le+ae.byteOffset;return ie.onBody(new Z(ae.buffer,A,r))||0},wasm_on_message_complete:e=>{n(ie.ptr===e);return ie.onMessageComplete()||0}}})}let se=null;let oe=lazyllhttp();oe.catch();let ie=null;let ae=null;let ce=0;let le=null;const ue=0;const de=1;const he=2|de;const ge=4|de;const fe=8|ue;class Parser{constructor(e,t,{exports:r}){n(Number.isFinite(e[x])&&e[x]>0);this.llhttp=r;this.ptr=this.llhttp.llhttp_alloc(z.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[x];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[$]}setTimeout(e,t){if(e!==this.timeoutValue||t&de^this.timeoutType&de){if(this.timeout){o.clearTimeout(this.timeout);this.timeout=null}if(e){if(t&de){this.timeout=o.setFastTimeout(onParserTimeout,e,new WeakRef(this))}else{this.timeout=setTimeout(onParserTimeout,e,new WeakRef(this));this.timeout.unref()}}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.timeoutType=t}resume(){if(this.socket.destroyed||!this.paused){return}n(this.ptr!=null);n(ie==null);this.llhttp.llhttp_resume(this.ptr);n(this.timeoutType===ge);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||K);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){n(this.ptr!=null);n(ie==null);n(!this.paused);const{socket:t,llhttp:r}=this;if(e.length>ce){if(le){r.free(le)}ce=Math.ceil(e.length/4096)*4096;le=r.malloc(ce)}new Uint8Array(r.memory.buffer,le,ce).set(e);try{let n;try{ae=e;ie=this;n=r.llhttp_execute(this.ptr,le,e.length)}catch(e){throw e}finally{ie=null;ae=null}const A=r.llhttp_get_error_pos(this.ptr)-le;if(n!==z.ERROR.OK){const r=e.subarray(A);if(n===z.ERROR.PAUSED_UPGRADE){this.onUpgrade(r)}else if(n===z.ERROR.PAUSED){this.paused=true;t.unshift(r)}else{throw this.createError(n,r)}}}catch(e){A.destroy(t,e)}}finish(){n(ie===null);n(this.ptr!=null);n(!this.paused);const{llhttp:e}=this;let t;try{ie=this;t=e.llhttp_finish(this.ptr)}finally{ie=null}if(t===z.ERROR.OK){return null}if(t===z.ERROR.PAUSED||t===z.ERROR.PAUSED_UPGRADE){this.paused=true;return null}return this.createError(t,K)}createError(e,t){const{llhttp:r,contentLength:n,bytesRead:A}=this;if(n&&A!==parseInt(n,10)){return new a}const s=r.llhttp_get_error_reason(this.ptr);let o="";if(s){const e=new Uint8Array(r.memory.buffer,s).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,s,e).toString()+")"}return new E(o,z.ERROR[e],t)}destroy(){n(this.ptr!=null);n(ie==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=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}if(t[y]===0){A.destroy(e,new h("bad response",A.getSocketInfo(e)));return-1}const r=t[S][t[v]];if(!r){return-1}r.onResponseStarted()}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const r=this.headers[t-2];if(r.length===10){const t=A.bufferToLowerCasedHeaderName(r);if(t==="keep-alive"){this.keepAlive+=e.toString()}else if(t==="connection"){this.connection+=e.toString()}}else if(r.length===14&&A.bufferToLowerCasedHeaderName(r)==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){A.destroy(this.socket,new d)}}onUpgrade(e){const{upgrade:t,client:r,socket:s,headers:o,statusCode:i,statusText:a}=this;n(t);n(r[U]===s);n(!s.destroyed);n(!this.paused);n((o.length&1)===0);const c=r[S][r[v]];n(c);n(c.upgrade||c.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;this.headers=[];this.headersSize=0;s.unshift(e);s[p].destroy();s[p]=null;s[B]=null;s[M]=null;ee(s);r[U]=null;r[j]=null;r[S][r[v]++]=null;r.emit("disconnect",r[Q],[r],new g("upgrade"));try{c.onUpgrade(i,o,s,a)}catch(e){A.errorRequest(r,c,e);A.destroy(s,e)}r[q]()}onHeadersComplete(e,t,r){const{client:s,socket:o,headers:i,statusText:a}=this;if(o.destroyed){return-1}if(s[y]===0){A.destroy(o,new h("bad response",A.getSocketInfo(o)));return-1}const c=s[S][s[v]];if(!c){return-1}n(!this.upgrade);n(this.statusCode<200);if(e===100){A.destroy(o,new h("bad response",A.getSocketInfo(o)));return-1}if(t&&!c.upgrade){A.destroy(o,new h("bad upgrade",A.getSocketInfo(o)));return-1}n(this.timeoutType===he);this.statusCode=e;this.shouldKeepAlive=r||c.method==="HEAD"&&!o[I]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:s[V];this.setTimeout(e,ge)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){n(s[y]===1);this.upgrade=true;return 2}if(t){n(s[y]===1);this.upgrade=true;return 2}n((this.headers.length&1)===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&s[T]){const e=this.keepAlive?A.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-s[G],s[H]);if(t<=0){o[I]=true}else{s[L]=t}}else{s[L]=s[D]}}else{o[I]=true}const l=c.onHeaders(e,i,this.resume,a)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(o[m]){o[m]=false;s[q]()}return l?z.ERROR.PAUSED:0}onBody(e){const{client:t,socket:r,statusCode:s,maxResponseSize:o}=this;if(r.destroyed){return-1}const i=t[S][t[v]];n(i);n(this.timeoutType===ge);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}n(s>=200);if(o>-1&&this.bytesRead+e.length>o){A.destroy(r,new C);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return z.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:r,upgrade:s,headers:o,contentLength:i,bytesRead:c,shouldKeepAlive:l}=this;if(t.destroyed&&(!r||l)){return-1}if(s){return}n(r>=100);n((this.headers.length&1)===0);const u=e[S][e[v]];n(u);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";this.headers=[];this.headersSize=0;if(r<200){return}if(u.method!=="HEAD"&&i&&c!==parseInt(i,10)){A.destroy(t,new a);return-1}u.onComplete(o);e[S][e[v]++]=null;t[ne]=true;if(t[R]){n(e[y]===0);A.destroy(t,new g("reset"));return z.ERROR.PAUSED}else if(!l){A.destroy(t,new g("reset"));return z.ERROR.PAUSED}else if(t[I]&&e[y]===0){A.destroy(t,new g("reset"));return z.ERROR.PAUSED}else if(e[T]==null||e[T]===1){setImmediate(()=>e[q]())}else{e[q]()}}}function onParserTimeout(e){const{socket:t,timeoutType:r,client:s,paused:o}=e.deref();if(r===he){if(!t[R]||t.writableNeedDrain||s[y]>1){n(!o,"cannot be paused while waiting for headers");A.destroy(t,new u)}}else if(r===ge){if(!o){A.destroy(t,new f)}}else if(r===fe){n(s[y]===0&&s[L]);A.destroy(t,new g("socket idle timeout"))}}async function connectH1(e,t){e[U]=t;if(!se){se=await oe;oe=null}t[k]=false;t[R]=false;t[I]=false;t[m]=false;t[te]=0;t[re]=null;t[ne]=false;t[p]=new Parser(e,t,se);X(t,"error",function(e){const t=this[p];if(e.code==="ECONNRESET"&&t.statusCode&&!t.shouldKeepAlive){const e=t.finish();if(e){this[M]=e;this[B][W](e)}return}this[M]=e;this[B][W](e)});X(t,"readable",function(){const e=this[p];if(e){e.readMore()}});X(t,"end",function(){const e=this[p];if(e.statusCode&&!e.shouldKeepAlive){const t=e.finish();if(t){A.destroy(this,t)}return}A.destroy(this,new h("other side closed",A.getSocketInfo(this)))});X(t,"close",function(){const e=this[B];const t=this[p];clearIdleSocketValidation(this);if(t){if(!this[M]&&t.statusCode&&!t.shouldKeepAlive){this[M]=t.finish()||this[M]}this[p].destroy();this[p]=null}const r=this[M]||new h("closed",A.getSocketInfo(this));e[U]=null;e[j]=null;if(e.destroyed){n(e[w]===0);const t=e[S].splice(e[v]);for(let n=0;n0&&r.code!=="UND_ERR_INFO"){const t=e[S][e[v]];e[S][e[v]++]=null;A.errorRequest(e,t,r)}e[F]=e[v];n(e[y]===0);e.emit("disconnect",e[Q],[e],r);e[q]()});let r=false;t.on("close",()=>{r=true});return{version:"h1",defaultPipelining:1,write(...t){return writeH1(e,...t)},resume(){resumeH1(e)},destroy(e,n){if(r){queueMicrotask(n)}else{t.destroy(e).on("close",n)}},get destroyed(){return t.destroyed},busy(r){if(t[R]||t[I]||t[m]||t[te]===1){return true}if(r){if(e[y]>0&&!r.idempotent){return true}if(e[y]>0&&(r.upgrade||r.method==="CONNECT")){return true}if(e[y]>0&&A.bodyLength(r.body)!==0&&(A.isStream(r.body)||A.isAsyncIterable(r.body)||A.isFormDataLike(r.body))){return true}}return false}}}function clearIdleSocketValidation(e){if(e[re]){clearImmediate(e[re]);e[re]=null}e[te]=0}function scheduleIdleSocketValidation(e,t){t[te]=1;t[re]=setImmediate(()=>{t[re]=null;t[te]=2;if(e[U]===t&&!t.destroyed){e[q]()}})}function resumeH1(e){const t=e[U];if(t&&!t.destroyed){if(e[b]===0){if(!t[k]&&t.unref){t.unref();t[k]=true}}else if(t[k]&&t.ref){t.ref();t[k]=false}if(e[y]===0&&e[w]>0&&t[ne]){if(t[te]===0){scheduleIdleSocketValidation(e,t);t[p].readMore();if(t.destroyed){return}return}if(t[te]===1){t[p].readMore();if(t.destroyed){return}return}}if(e[y]===0){t[p].readMore();if(t.destroyed){return}}if(e[b]===0){if(t[p].timeoutType!==fe){t[p].setTimeout(e[L],fe)}}else if(e[y]>0&&t[p].statusCode<200){if(t[p].timeoutType!==he){const r=e[S][e[v]];const n=r.headersTimeout!=null?r.headersTimeout:e[P];t[p].setTimeout(n,he)}}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function writeH1(e,t){const{method:o,path:a,host:u,upgrade:d,blocking:h,reset:f}=t;let{body:E,headers:C,contentLength:Q}=t;const B=o==="PUT"||o==="POST"||o==="PATCH"||o==="QUERY"||o==="PROPFIND"||o==="PROPPATCH";if(A.isFormDataLike(E)){if(!Ae){Ae=r(6455).extractBody}const[e,n]=Ae(E);if(t.contentType==null){C.push("content-type",n)}E=e.stream;Q=e.length}else if(A.isBlobLike(E)&&t.contentType==null){const r=E.type;if(r){const n=`${r}`;if(!A.isValidHeaderValue(n)){A.errorRequest(e,t,new l("invalid content-type header"));return false}C.push("content-type",n)}}if(E&&typeof E.read==="function"){E.read(0)}const p=A.bodyLength(E);Q=p??Q;if(Q===null){Q=t.contentLength}if(Q===0&&!B){Q=null}if(shouldSendContentLength(o)&&Q>0&&t.contentLength!==null&&t.contentLength!==Q){if(e[O]){A.errorRequest(e,t,new i);return false}process.emitWarning(new i)}const y=e[U];clearIdleSocketValidation(y);const abort=r=>{if(t.aborted){return}if(t.completed){if(t.upgrade||t.method==="CONNECT"){A.destroy(y,new g("aborted"))}return}A.errorRequest(e,t,r||new c);A.destroy(E);A.destroy(y,new g("aborted"))};try{t.onConnect(abort)}catch(r){A.errorRequest(e,t,r)}if(t.aborted){return false}if(o==="HEAD"){y[I]=true}if(d||o==="CONNECT"){y[I]=true}if(f!=null){y[I]=f}if(e[Y]&&y[J]++>=e[Y]){y[I]=true}if(h){y[m]=true}let w=`${o} ${a} HTTP/1.1\r\n`;if(typeof u==="string"){w+=`host: ${u}\r\n`}else{w+=e[N]}if(d){w+=`connection: upgrade\r\nupgrade: ${d}\r\n`}else if(e[T]&&!y[I]){w+="connection: keep-alive\r\n"}else{w+="connection: close\r\n"}if(Array.isArray(C)){for(let e=0;e{t.removeListener("error",onFinished)});if(!u){const e=new c;queueMicrotask(()=>onFinished(e))}};const onFinished=function(e){if(u){return}u=true;n(o.destroyed||o[R]&&r[y]<=1);o.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("close",onClose);if(!e){try{d.end()}catch(t){e=t}}d.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){A.destroy(t,e)}else{A.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onClose);if(t.resume){t.resume()}o.on("drain",onDrain).on("error",onFinished);if(t.errorEmitted??t.errored){setImmediate(()=>onFinished(t.errored))}else if(t.endEmitted??t.readableEnded){setImmediate(()=>onFinished(null))}if(t.closeEmitted??t.closed){setImmediate(onClose)}}function writeBuffer(e,t,r,s,o,i,a,c){try{if(!t){if(i===0){o.write(`${a}content-length: 0\r\n\r\n`,"latin1")}else{n(i===null,"no body must not have content length");o.write(`${a}\r\n`,"latin1")}}else if(A.isBuffer(t)){n(i===t.byteLength,"buffer body must have content length");o.cork();o.write(`${a}content-length: ${i}\r\n\r\n`,"latin1");o.write(t);o.uncork();s.onBodySent(t);if(!c&&s.reset!==false){o[I]=true}}s.onRequestSent();r[q]()}catch(t){e(t)}}async function writeBlob(e,t,r,A,s,o,a,c){n(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size){throw new i}const e=Buffer.from(await t.arrayBuffer());s.cork();s.write(`${a}content-length: ${o}\r\n\r\n`,"latin1");s.write(e);s.uncork();A.onBodySent(e);A.onRequestSent();if(!c&&A.reset!==false){s[I]=true}r[q]()}catch(t){e(t)}}async function writeIterable(e,t,r,A,s,o,i,a){n(o!==0||r[y]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{n(c===null);if(s[M]){t(s[M])}else{c=e}});s.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({abort:e,socket:s,request:A,contentLength:o,client:r,expectsPayload:a,header:i});try{for await(const e of t){if(s[M]){throw s[M]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{s.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({abort:e,socket:t,request:r,contentLength:n,client:A,expectsPayload:s,header:o}){this.socket=t;this.request=r;this.contentLength=n;this.client=A;this.bytesWritten=0;this.expectsPayload=s;this.header=o;this.abort=e;t[R]=true}write(e){const{socket:t,request:r,contentLength:n,client:A,bytesWritten:s,expectsPayload:o,header:a}=this;if(t[M]){throw t[M]}if(t.destroyed){return false}const c=Buffer.byteLength(e);if(!c){return true}if(n!==null&&s+c>n){if(A[O]){throw new i}process.emitWarning(new i)}t.cork();if(s===0){if(!o&&r.reset!==false){t[I]=true}if(n===null){t.write(`${a}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${a}content-length: ${n}\r\n\r\n`,"latin1")}}if(n===null){t.write(`\r\n${c.toString(16)}\r\n`,"latin1")}this.bytesWritten+=c;const l=t.write(e);t.uncork();r.onBodySent(e);if(!l){if(t[p].timeout&&t[p].timeoutType===he){if(t[p].timeout.refresh){t[p].timeout.refresh()}}}return l}end(){const{socket:e,contentLength:t,client:r,bytesWritten:n,expectsPayload:A,header:s,request:o}=this;o.onRequestSent();e[R]=false;if(e[M]){throw e[M]}if(e.destroyed){return}if(n===0){if(A){e.write(`${s}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${s}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&n!==t){if(r[O]){throw new i}else{process.emitWarning(new i)}}if(e[p].timeout&&e[p].timeoutType===he){if(e[p].timeout.refresh){e[p].timeout.refresh()}}r[q]()}destroy(e){const{socket:t,client:r,abort:A}=this;t[R]=false;if(e){n(r[y]<=1,"pipeline should only contain this request");A(e)}}}e.exports=connectH1},1967:(e,t,r)=>{const n=r(4589);const{errorMonitor:A}=r(8474);const{pipeline:s}=r(7075);const o=r(8529);const{RequestContentLengthMismatchError:i,RequestAbortedError:a,SocketError:c,InformationalError:l}=r(9934);const{kUrl:u,kReset:d,kClient:h,kRunning:g,kPending:f,kQueue:E,kPendingIdx:C,kRunningIdx:Q,kError:I,kSocket:B,kStrictContentLength:p,kOnError:m,kMaxConcurrentStreams:y,kHTTP2Session:w,kResume:b,kSize:R,kHTTPContext:S}=r(5424);const k=Symbol("open streams");let D;let N=false;let F;try{F=r(2467)}catch{F={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:v,HTTP2_HEADER_METHOD:M,HTTP2_HEADER_PATH:T,HTTP2_HEADER_SCHEME:U,HTTP2_HEADER_CONTENT_LENGTH:L,HTTP2_HEADER_EXPECT:x,HTTP2_HEADER_STATUS:H}}=F;function parseH2Headers(e){const t=[];for(const[r,n]of Object.entries(e)){if(Array.isArray(n)){for(const e of n){t.push(Buffer.from(r),Buffer.from(e))}}else{t.push(Buffer.from(r),Buffer.from(n))}}return t}function parseH2ResponseHeaders(e){const{[H]:t,...r}=e;return parseH2Headers(r)}async function connectH2(e,t){e[B]=t;if(!N){N=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const r=F.connect(e[u],{createConnection:()=>t,peerMaxConcurrentStreams:e[y]});r[k]=0;r[h]=e;r[B]=t;o.addListener(r,"error",onHttp2SessionError);o.addListener(r,"frameError",onHttp2FrameError);o.addListener(r,"end",onHttp2SessionEnd);o.addListener(r,"goaway",onHTTP2GoAway);o.addListener(r,"close",function(){const{[h]:e}=this;const{[B]:t}=e;const r=this[B][I]||this[I]||new c("closed",o.getSocketInfo(t));e[w]=null;if(e.destroyed){n(e[f]===0);const t=e[E].splice(e[Q]);for(let n=0;n{A=true});return{version:"h2",defaultPipelining:Infinity,write(...t){return writeH2(e,...t)},resume(){resumeH2(e)},destroy(e,r){if(A){queueMicrotask(r)}else{t.destroy(e).on("close",r)}},get destroyed(){return t.destroyed},busy(){return false}}}function resumeH2(e){const t=e[B];if(t?.destroyed===false){if(e[R]===0&&e[y]===0){t.unref();e[w].unref()}else{t.ref();e[w].ref()}}}function onHttp2SessionError(e){this[B][I]=e;this[h][m](e)}function onHttp2FrameError(e,t,r){if(r===0){const r=new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[B][I]=r;this[h][m](r)}}function onHttp2SessionEnd(){const e=new c("other side closed",o.getSocketInfo(this[B]));this.destroy(e);o.destroy(this[B],e)}function onHTTP2GoAway(e){const t=this[I]||new c(`HTTP/2: "GOAWAY" frame received with code ${e}`,o.getSocketInfo(this));const r=this[h];r[B]=null;r[S]=null;if(this[w]!=null){this[w].destroy(t);this[w]=null}o.destroy(this[B],t);if(r[Q]{if(t.aborted){return}if(t.completed){if(c==="CONNECT"&&S!=null){o.destroy(S,r||new a)}return}r=r||new a;o.errorRequest(e,t,r);if(S!=null){o.destroy(S,r)}o.destroy(y,r);e[E][e[Q]++]=null;e[b]()};try{t.onConnect(abort)}catch(r){o.errorRequest(e,t,r)}if(t.aborted){return false}if(c==="CONNECT"){s.ref();S=s.request(R,{endStream:false,signal:I});let r=false;const onResponse=e=>{r=true;S.off(A,onUpgradeError);t.onUpgradeResponse(Number(e[H]),e,parseH2ResponseHeaders)};const onUpgradeError=e=>{r=true;S.off("response",onResponse);t.onUpgradeError(e)};const onReady=()=>{try{t.onUpgrade(null,null,S)}catch(e){S.off("response",onResponse);abort(e);return}if(t.aborted){return}S.off("error",abort);S.once(A,onUpgradeError);e[E][e[Q]++]=null};S.once("response",onResponse);S.once("error",abort);++s[k];onReady();S.once("close",()=>{if(!r&&t.completed){S.off("response",onResponse);S.off(A,onUpgradeError);t.onUpgradeError(new l(`HTTP/2: "stream error" received - code ${S.rstCode}`))}s[k]-=1;if(s[k]===0)s.unref()});return true}R[T]=d;R[U]="https";const G=c==="PUT"||c==="POST"||c==="PATCH";if(y&&typeof y.read==="function"){y.read(0)}let P=o.bodyLength(y);if(o.isFormDataLike(y)){D??=r(6455).extractBody;const[e,t]=D(y);R["content-type"]=t;y=e.stream;P=e.length}if(P==null){P=t.contentLength}if(P===0||!G){P=null}if(shouldSendContentLength(c)&&P>0&&t.contentLength!=null&&t.contentLength!==P){if(e[p]){o.errorRequest(e,t,new i);return false}process.emitWarning(new i)}if(P!=null){n(y,"no body must not have content length");R[L]=`${P}`}s.ref();const V=c==="GET"||c==="HEAD"||y===null;if(f){R[x]="100-continue";S=s.request(R,{endStream:V,signal:I});S.once("continue",writeBodyH2)}else{S=s.request(R,{endStream:V,signal:I});writeBodyH2()}++s[k];S.once("response",r=>{const{[H]:n,...A}=r;t.onResponseStarted();if(t.aborted){const r=new a;o.errorRequest(e,t,r);o.destroy(S,r);return}if(t.onHeaders(Number(n),parseH2Headers(A),S.resume.bind(S),"")===false){S.pause()}S.on("data",e=>{if(t.onData(e)===false){S.pause()}})});S.once("end",()=>{if(S.state?.state==null||S.state.state<6){t.onComplete([])}if(s[k]===0){s.unref()}abort(new l("HTTP/2: stream half-closed (remote)"));e[E][e[Q]++]=null;e[C]=e[Q];e[b]()});S.once("close",()=>{s[k]-=1;if(s[k]===0){s.unref()}});S.once("error",function(e){abort(e)});S.once("frameError",(e,t)=>{abort(new l(`HTTP/2: "frameError" received - type ${e}, code ${t}`))});return true;function writeBodyH2(){if(!y||P===0){writeBuffer(abort,S,null,e,t,e[B],P,G)}else if(o.isBuffer(y)){writeBuffer(abort,S,y,e,t,e[B],P,G)}else if(o.isBlobLike(y)){if(typeof y.stream==="function"){writeIterable(abort,S,y.stream(),e,t,e[B],P,G)}else{writeBlob(abort,S,y,e,t,e[B],P,G)}}else if(o.isStream(y)){writeStream(abort,e[B],G,S,y,e,t,P)}else if(o.isIterable(y)){writeIterable(abort,S,y,e,t,e[B],P,G)}else{n(false)}}}function writeBuffer(e,t,r,A,s,i,a,c){try{if(r!=null&&o.isBuffer(r)){n(a===r.byteLength,"buffer body must have content length");t.cork();t.write(r);t.uncork();t.end();s.onBodySent(r)}if(!c){i[d]=true}s.onRequestSent();A[b]()}catch(t){e(t)}}function writeStream(e,t,r,A,i,a,c,l){n(l!==0||a[g]===0,"stream body cannot be pipelined");const u=s(i,A,n=>{if(n){o.destroy(u,n);e(n)}else{o.removeAllListeners(u);c.onRequestSent();if(!r){t[d]=true}a[b]()}});o.addListener(u,"data",onPipeData);function onPipeData(e){c.onBodySent(e)}}async function writeBlob(e,t,r,A,s,o,a,c){n(a===r.size,"blob body must have content length");try{if(a!=null&&a!==r.size){throw new i}const e=Buffer.from(await r.arrayBuffer());t.cork();t.write(e);t.uncork();t.end();s.onBodySent(e);s.onRequestSent();if(!c){o[d]=true}A[b]()}catch(t){e(t)}}async function writeIterable(e,t,r,A,s,o,i,a){n(i!==0||A[g]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{n(c===null);if(o[I]){t(o[I])}else{c=e}});t.on("close",onDrain).on("drain",onDrain);try{for await(const e of r){if(o[I]){throw o[I]}const r=t.write(e);s.onBodySent(e);if(!r){await waitForDrain()}}t.end();s.onRequestSent();if(!a){o[d]=true}A[b]()}catch(t){e(t)}finally{t.off("close",onDrain).off("drain",onDrain)}}e.exports=connectH2},7140:(e,t,r)=>{const n=r(4589);const A=r(7030);const s=r(7067);const o=r(8529);const{channels:i}=r(1509);const a=r(6540);const c=r(6870);const{InvalidArgumentError:l,InformationalError:u,ClientDestroyedError:d}=r(9934);const h=r(951);const{kUrl:g,kServerName:f,kClient:E,kBusy:C,kConnect:Q,kResuming:I,kRunning:B,kPending:p,kSize:m,kQueue:y,kConnected:w,kConnecting:b,kNeedDrain:R,kKeepAliveDefaultTimeout:S,kHostHeader:k,kPendingIdx:D,kRunningIdx:N,kError:F,kPipelining:v,kKeepAliveTimeoutValue:M,kMaxHeadersSize:T,kKeepAliveMaxTimeout:U,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:x,kBodyTimeout:H,kStrictContentLength:G,kConnector:P,kMaxRedirections:V,kMaxRequests:O,kCounter:Y,kClose:J,kDestroy:$,kDispatch:W,kInterceptors:q,kLocalAddress:j,kMaxResponseSize:z,kOnError:K,kHTTPContext:Z,kMaxConcurrentStreams:X,kResume:ee}=r(5424);const te=r(3010);const re=r(1967);let ne=false;const Ae=Symbol("kClosedResolve");const noop=()=>{};function getPipelining(e){return e[v]??e[Z]?.defaultPipelining??1}class Client extends c{constructor(e,{interceptors:t,maxHeaderSize:r,headersTimeout:n,socketTimeout:i,requestTimeout:a,connectTimeout:c,bodyTimeout:u,idleTimeout:d,keepAlive:E,keepAliveTimeout:C,maxKeepAliveTimeout:Q,keepAliveMaxTimeout:B,keepAliveTimeoutThreshold:p,socketPath:m,pipelining:w,tls:b,strictContentLength:F,maxCachedSessions:Y,maxRedirections:J,connect:$,maxRequestsPerClient:W,localAddress:te,maxResponseSize:re,autoSelectFamily:oe,autoSelectFamilyAttemptTimeout:ie,maxConcurrentStreams:ae,allowH2:ce,webSocket:le,eventSource:ue}={}){super({webSocket:le,eventSource:ue});if(E!==undefined){throw new l("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(a!==undefined){throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(d!==undefined){throw new l("unsupported idleTimeout, use keepAliveTimeout instead")}if(Q!==undefined){throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(r!=null&&!Number.isFinite(r)){throw new l("invalid maxHeaderSize")}if(m!=null&&typeof m!=="string"){throw new l("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new l("invalid connectTimeout")}if(C!=null&&(!Number.isFinite(C)||C<=0)){throw new l("invalid keepAliveTimeout")}if(B!=null&&(!Number.isFinite(B)||B<=0)){throw new l("invalid keepAliveMaxTimeout")}if(p!=null&&!Number.isFinite(p)){throw new l("invalid keepAliveTimeoutThreshold")}if(n!=null&&(!Number.isInteger(n)||n<0)){throw new l("headersTimeout must be a positive integer or zero")}if(u!=null&&(!Number.isInteger(u)||u<0)){throw new l("bodyTimeout must be a positive integer or zero")}if($!=null&&typeof $!=="function"&&typeof $!=="object"){throw new l("connect must be a function or an object")}if(J!=null&&(!Number.isInteger(J)||J<0)){throw new l("maxRedirections must be a positive number")}if(W!=null&&(!Number.isInteger(W)||W<0)){throw new l("maxRequestsPerClient must be a positive number")}if(te!=null&&(typeof te!=="string"||A.isIP(te)===0)){throw new l("localAddress must be valid string IP address")}if(re!=null&&(!Number.isInteger(re)||re<-1)){throw new l("maxResponseSize must be a positive number")}if(ie!=null&&(!Number.isInteger(ie)||ie<-1)){throw new l("autoSelectFamilyAttemptTimeout must be a positive number")}if(ce!=null&&typeof ce!=="boolean"){throw new l("allowH2 must be a valid boolean value")}if(ae!=null&&(typeof ae!=="number"||ae<1)){throw new l("maxConcurrentStreams must be a positive integer, greater than 0")}if(typeof $!=="function"){$=h({...b,maxCachedSessions:Y,allowH2:ce,socketPath:m,timeout:c,...oe?{autoSelectFamily:oe,autoSelectFamilyAttemptTimeout:ie}:undefined,...$})}if(t?.Client&&Array.isArray(t.Client)){this[q]=t.Client;if(!ne){ne=true;process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"})}}else{this[q]=[se({maxRedirections:J})]}this[g]=o.parseOrigin(e);this[P]=$;this[v]=w!=null?w:1;this[T]=r||s.maxHeaderSize;this[S]=C==null?4e3:C;this[U]=B==null?6e5:B;this[L]=p==null?2e3:p;this[M]=this[S];this[f]=null;this[j]=te!=null?te:null;this[I]=0;this[R]=0;this[k]=`host: ${this[g].hostname}${this[g].port?`:${this[g].port}`:""}\r\n`;this[H]=u!=null?u:3e5;this[x]=n!=null?n:3e5;this[G]=F==null?true:F;this[V]=J;this[O]=W;this[Ae]=null;this[z]=re>-1?re:-1;this[X]=ae!=null?ae:100;this[Z]=null;this[y]=[];this[N]=0;this[D]=0;this[ee]=e=>resume(this,e);this[K]=e=>onError(this,e)}get pipelining(){return this[v]}set pipelining(e){this[v]=e;this[ee](true)}get[p](){return this[y].length-this[D]}get[B](){return this[D]-this[N]}get[m](){return this[y].length-this[N]}get[w](){return!!this[Z]&&!this[b]&&!this[Z].destroyed}get[C](){return Boolean(this[Z]?.busy(null)||this[m]>=(getPipelining(this)||1)||this[p]>0)}[Q](e){connect(this);this.once("connect",e)}[W](e,t){const r=e.origin||this[g].origin;const n=new a(r,e,t);this[y].push(n);if(this[I]){}else if(o.bodyLength(n.body)==null&&o.isIterable(n.body)){this[I]=1;queueMicrotask(()=>resume(this))}else{this[ee](true)}if(this[I]&&this[R]!==2&&this[C]){this[R]=2}return this[R]<2}async[J](){return new Promise(e=>{if(this[m]){this[Ae]=e}else{e(null)}})}async[$](e){return new Promise(t=>{const r=this[y].splice(this[D]);for(let t=0;t{if(this[Ae]){this[Ae]();this[Ae]=null}t(null)};if(this[Z]){this[Z].destroy(e,callback);this[Z]=null}else{queueMicrotask(callback)}this[ee]()})}}const se=r(7327);function onError(e,t){if(e[B]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){n(e[D]===e[N]);const r=e[y].splice(e[N]);for(let n=0;n{e[P]({host:t,hostname:r,protocol:s,port:a,servername:e[f],localAddress:e[j]},(e,t)=>{if(e){A(e)}else{n(t)}})});if(e.destroyed){o.destroy(A.on("error",noop),new d);return}n(A);try{e[Z]=A.alpnProtocol==="h2"?await re(e,A):await te(e,A)}catch(e){A.destroy().on("error",noop);throw e}e[b]=false;A[Y]=0;A[O]=e[O];A[E]=e;A[F]=null;if(i.connected.hasSubscribers){i.connected.publish({connectParams:{host:t,hostname:r,protocol:s,port:a,version:e[Z]?.version,servername:e[f],localAddress:e[j]},connector:e[P],socket:A})}e.emit("connect",e[g],[e])}catch(A){if(e.destroyed){return}e[b]=false;if(i.connectError.hasSubscribers){i.connectError.publish({connectParams:{host:t,hostname:r,protocol:s,port:a,version:e[Z]?.version,servername:e[f],localAddress:e[j]},connector:e[P],error:A})}if(A.code==="ERR_TLS_CERT_ALTNAME_INVALID"){n(e[B]===0);while(e[p]>0&&e[y][e[D]].servername===e[f]){const t=e[y][e[D]++];o.errorRequest(e,t,A)}}else{onError(e,A)}e.emit("connectionError",e[g],[e],A)}e[ee]()}function emitDrain(e){e[R]=0;e.emit("drain",e[g],[e])}function resume(e,t){if(e[I]===2){return}e[I]=2;_resume(e,t);e[I]=0;if(e[N]>256){e[y].splice(0,e[N]);e[D]-=e[N];e[N]=0}}function _resume(e,t){while(true){if(e.destroyed){n(e[p]===0);return}if(e[Ae]&&!e[m]){e[Ae]();e[Ae]=null;return}if(e[Z]){e[Z].resume()}if(e[C]){e[R]=2}else if(e[R]===2){if(t){e[R]=1;queueMicrotask(()=>emitDrain(e))}else{emitDrain(e)}continue}if(e[p]===0){return}if(e[B]>=(getPipelining(e)||1)){return}const r=e[y][e[D]];if(e[g].protocol==="https:"&&e[f]!==r.servername){if(e[B]>0){return}e[f]=r.servername;e[Z]?.destroy(new u("servername changed"),()=>{e[Z]=null;resume(e)})}if(e[b]){return}if(!e[Z]){connect(e);return}if(e[Z].destroyed){return}if(e[Z].busy(r)){return}if(!r.aborted&&e[Z].write(r)){e[D]++}else{e[y].splice(e[D],1)}}}e.exports=Client},6870:(e,t,r)=>{const n=r(4573);const A=r(5030);const{ClientDestroyedError:s,ClientClosedError:o,InvalidArgumentError:i}=r(9934);const{kDestroy:a,kClose:c,kClosed:l,kDestroyed:u,kDispatch:d,kInterceptors:h}=r(5424);const g=Symbol("onDestroyed");const f=Symbol("onClosed");const E=Symbol("Intercepted Dispatch");const C=Symbol("webSocketOptions");const Q=Symbol("eventSourceOptions");class DispatcherBase extends A{constructor(e){super();this[u]=false;this[g]=null;this[l]=false;this[f]=[];this[C]=e?.webSocket??{};this[Q]=e?.eventSource??{}}get webSocketOptions(){return{maxFragments:this[C].maxFragments??131072,maxPayloadSize:this[C].maxPayloadSize??128*1024*1024}}get eventSourceOptions(){return{maxEventSize:this[Q].maxEventSize??n.kStringMaxLength}}get destroyed(){return this[u]}get closed(){return this[l]}get interceptors(){return this[h]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[h][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[h]=e}close(e){if(e===undefined){return new Promise((e,t)=>{this.close((r,n)=>r?t(r):e(n))})}if(typeof e!=="function"){throw new i("invalid callback")}if(this[u]){queueMicrotask(()=>e(new s,null));return}if(this[l]){if(this[f]){this[f].push(e)}else{queueMicrotask(()=>e(null,null))}return}this[l]=true;this[f].push(e);const onClosed=()=>{const e=this[f];this[f]=null;for(let t=0;tthis.destroy()).then(()=>{queueMicrotask(onClosed)})}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise((t,r)=>{this.destroy(e,(e,n)=>e?r(e):t(n))})}if(typeof t!=="function"){throw new i("invalid callback")}if(this[u]){if(this[g]){this[g].push(t)}else{queueMicrotask(()=>t(null,null))}return}if(!e){e=new s}this[u]=true;this[g]=this[g]||[];this[g].push(t);const onDestroyed=()=>{const e=this[g];this[g]=null;for(let t=0;t{queueMicrotask(onDestroyed)})}[E](e,t){if(!this[h]||this[h].length===0){this[E]=this[d];return this[d](e,t)}let r=this[d].bind(this);for(let e=this[h].length-1;e>=0;e--){r=this[h][e](r)}this[E]=r;return r(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[u]||this[g]){throw new s}if(this[l]){throw new o}return this[E](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},5030:(e,t,r)=>{const n=r(8474);class Dispatcher extends n{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){const t=Array.isArray(e[0])?e[0]:e;let r=this.dispatch.bind(this);for(const e of t){if(e==null){continue}if(typeof e!=="function"){throw new TypeError(`invalid interceptor, expected function received ${typeof e}`)}r=e(r);if(r==null||typeof r!=="function"||r.length!==2){throw new TypeError("invalid interceptor")}}return new ComposedDispatcher(this,r)}}class ComposedDispatcher extends Dispatcher{#r=null;#n=null;constructor(e,t){super();this.#r=e;this.#n=t}dispatch(...e){this.#n(...e)}close(...e){return this.#r.close(...e)}destroy(...e){return this.#r.destroy(...e)}}e.exports=Dispatcher},6920:(e,t,r)=>{const n=r(6870);const{kClose:A,kDestroy:s,kClosed:o,kDestroyed:i,kDispatch:a,kNoProxyAgent:c,kHttpProxyAgent:l,kHttpsProxyAgent:u}=r(5424);const d=r(3747);const h=r(4586);const g={"http:":80,"https:":443};let f=false;class EnvHttpProxyAgent extends n{#A=null;#s=null;#o=null;constructor(e={}){super();this.#o=e;if(!f){f=true;process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"})}const{httpProxy:t,httpsProxy:r,noProxy:n,...A}=e;this[c]=new h(A);const s=t??process.env.http_proxy??process.env.HTTP_PROXY;if(s){this[l]=new d({...A,uri:s})}else{this[l]=this[c]}const o=r??process.env.https_proxy??process.env.HTTPS_PROXY;if(o){this[u]=new d({...A,uri:o})}else{this[u]=this[l]}this.#i()}[a](e,t){const r=new URL(e.origin);const n=this.#a(r);return n.dispatch(e,t)}async[A](){await this[c].close();if(!this[l][o]){await this[l].close()}if(!this[u][o]){await this[u].close()}}async[s](e){await this[c].destroy(e);if(!this[l][i]){await this[l].destroy(e)}if(!this[u][i]){await this[u].destroy(e)}}#a(e){let{protocol:t,host:r,port:n}=e;r=r.replace(/:\d*$/,"").toLowerCase();n=Number.parseInt(n,10)||g[t]||0;if(!this.#c(r,n)){return this[c]}if(t==="https:"){return this[u]}return this[l]}#c(e,t){if(this.#l){this.#i()}if(this.#s.length===0){return true}if(this.#A==="*"){return false}for(let r=0;r{const t=2048;const r=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.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(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&r;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},627:(e,t,r)=>{const n=r(6870);const A=r(4007);const{kConnected:s,kSize:o,kRunning:i,kPending:a,kQueued:c,kBusy:l,kFree:u,kUrl:d,kClose:h,kDestroy:g,kDispatch:f}=r(5424);const E=r(5871);const C=Symbol("clients");const Q=Symbol("needDrain");const I=Symbol("queue");const B=Symbol("closed resolve");const p=Symbol("onDrain");const m=Symbol("onConnect");const y=Symbol("onDisconnect");const w=Symbol("onConnectionError");const b=Symbol("get dispatcher");const R=Symbol("add client");const S=Symbol("remove client");const k=Symbol("stats");class PoolBase extends n{constructor(e){super(e);this[I]=new A;this[C]=[];this[c]=0;const t=this;this[p]=function onDrain(e,r){const n=t[I];let A=false;while(!A){const e=n.shift();if(!e){break}t[c]--;A=!this.dispatch(e.opts,e.handler)}this[Q]=A;if(!this[Q]&&t[Q]){t[Q]=false;t.emit("drain",e,[t,...r])}if(t[B]&&n.isEmpty()){Promise.all(t[C].map(e=>e.close())).then(t[B])}};this[m]=(e,r)=>{t.emit("connect",e,[t,...r])};this[y]=(e,r,n)=>{t.emit("disconnect",e,[t,...r],n)};this[w]=(e,r,n)=>{t.emit("connectionError",e,[t,...r],n)};this[k]=new E(this)}get[l](){return this[Q]}get[s](){return this[C].filter(e=>e[s]).length}get[u](){return this[C].filter(e=>e[s]&&!e[Q]).length}get[a](){let e=this[c];for(const{[a]:t}of this[C]){e+=t}return e}get[i](){let e=0;for(const{[i]:t}of this[C]){e+=t}return e}get[o](){let e=this[c];for(const{[o]:t}of this[C]){e+=t}return e}get stats(){return this[k]}async[h](){if(this[I].isEmpty()){await Promise.all(this[C].map(e=>e.close()))}else{await new Promise(e=>{this[B]=e})}}async[g](e){while(true){const t=this[I].shift();if(!t){break}t.handler.onError(e)}await Promise.all(this[C].map(t=>t.destroy(e)))}[f](e,t){const r=this[b]();if(!r){this[Q]=true;this[I].push({opts:e,handler:t});this[c]++}else if(!r.dispatch(e,t)){r[Q]=true;this[Q]=!this[b]()}return!this[Q]}[R](e){e.on("drain",this[p]).on("connect",this[m]).on("disconnect",this[y]).on("connectionError",this[w]);this[C].push(e);if(this[Q]){queueMicrotask(()=>{if(this[Q]){this[p](e[d],[this,e])}})}return this}[S](e){e.close(()=>{const t=this[C].indexOf(e);if(t!==-1){this[C].splice(t,1)}});this[Q]=this[C].some(e=>!e[Q]&&e.closed!==true&&e.destroyed!==true)}}e.exports={PoolBase:PoolBase,kClients:C,kNeedDrain:Q,kAddClient:R,kRemoveClient:S,kGetDispatcher:b}},5871:(e,t,r)=>{const{kFree:n,kConnected:A,kPending:s,kQueued:o,kRunning:i,kSize:a}=r(5424);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][A]}get free(){return this[c][n]}get pending(){return this[c][s]}get queued(){return this[c][o]}get running(){return this[c][i]}get size(){return this[c][a]}}e.exports=PoolStats},2921:(e,t,r)=>{const{PoolBase:n,kClients:A,kNeedDrain:s,kAddClient:o,kGetDispatcher:i}=r(627);const a=r(7140);const{InvalidArgumentError:c}=r(9934);const l=r(8529);const{kUrl:u,kInterceptors:d}=r(5424);const h=r(951);const g=Symbol("options");const f=Symbol("connections");const E=Symbol("factory");function defaultFactory(e,t){return new a(e,t)}class Pool extends n{constructor(e,{connections:t,factory:r=defaultFactory,connect:n,connectTimeout:s,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:C,autoSelectFamilyAttemptTimeout:Q,allowH2:I,...B}={}){if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof r!=="function"){throw new c("factory must be a function.")}if(n!=null&&typeof n!=="function"&&typeof n!=="object"){throw new c("connect must be a function or an object")}if(typeof n!=="function"){n=h({...o,maxCachedSessions:i,allowH2:I,socketPath:a,timeout:s,...C?{autoSelectFamily:C,autoSelectFamilyAttemptTimeout:Q}:undefined,...n})}super(B);this[d]=B.interceptors?.Pool&&Array.isArray(B.interceptors.Pool)?B.interceptors.Pool:[];this[f]=t||null;this[u]=l.parseOrigin(e);this[g]={...l.deepClone(B),connect:n,allowH2:I};this[g].interceptors=B.interceptors?{...B.interceptors}:undefined;this[E]=r;this.on("connectionError",(e,t,r)=>{for(const e of t){const t=this[A].indexOf(e);if(t!==-1){this[A].splice(t,1)}}})}[i](){for(const e of this[A]){if(!e[s]){return e}}if(!this[f]||this[A].length{const{kProxy:n,kClose:A,kDestroy:s,kDispatch:o,kInterceptors:i}=r(5424);const{URL:a}=r(3136);const c=r(4586);const l=r(2921);const u=r(6870);const{InvalidArgumentError:d,RequestAbortedError:h,SecureProxyConnectionError:g}=r(9934);const f=r(951);const E=r(7140);const C=Symbol("proxy agent");const Q=Symbol("proxy client");const I=Symbol("proxy headers");const B=Symbol("request tls settings");const p=Symbol("proxy tls settings");const m=Symbol("connect endpoint function");const y=Symbol("tunnel proxy");function defaultProtocolPort(e){return e==="https:"?443:80}function defaultFactory(e,t){return new l(e,t)}const noop=()=>{};function defaultAgentFactory(e,t){if(t.connections===1){return new E(e,t)}return new l(e,t)}class Http1ProxyWrapper extends u{#d;constructor(e,{headers:t={},connect:r,factory:n}){super();if(!e){throw new d("Proxy URL is mandatory")}this[I]=t;if(n){this.#d=n(e,{connect:r})}else{this.#d=new E(e,{connect:r})}}[o](e,t){const r=t.onHeaders;t.onHeaders=function(e,n,A){if(e===407){if(typeof t.onError==="function"){t.onError(new d("Proxy Authentication Required (407)"))}return}if(r)r.call(this,e,n,A)};const{origin:n,path:A="/",headers:s={}}=e;e.path=n+A;if(!("host"in s)&&!("Host"in s)){const{host:e}=new a(n);s.host=e}e.headers={...this[I],...s};return this.#d[o](e,t)}async[A](){return this.#d.close()}async[s](e){return this.#d.destroy(e)}}class ProxyAgent extends u{constructor(e){super();if(!e||typeof e==="object"&&!(e instanceof a)&&!e.uri){throw new d("Proxy uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new d("Proxy opts.clientFactory must be a function.")}const{proxyTunnel:r=true}=e;const A=this.#h(e);const{href:s,origin:o,port:l,protocol:u,username:E,password:w,hostname:b}=A;this[n]={uri:s,protocol:u};this[i]=e.interceptors?.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];this[B]=e.requestTls;this[p]=e.proxyTls;this[I]=e.headers||{};this[y]=r;if(e.auth&&e.token){throw new d("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[I]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[I]["proxy-authorization"]=e.token}else if(E&&w){this[I]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(E)}:${decodeURIComponent(w)}`).toString("base64")}`}const R=f({...e.proxyTls});this[m]=f({...e.requestTls});const S=e.factory||defaultAgentFactory;const factory=(e,t)=>{const{protocol:r}=new a(e);if(!this[y]&&r==="http:"&&this[n].protocol==="http:"){return new Http1ProxyWrapper(this[n].uri,{headers:this[I],connect:R,factory:S})}return S(e,t)};this[Q]=t(A,{connect:R});this[C]=new c({...e,factory:factory,connect:async(e,t)=>{let r=e.host;if(!e.port){r+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:n,statusCode:A}=await this[Q].connect({origin:o,port:l,path:r,signal:e.signal,headers:{...this[I],host:e.host},servername:this[p]?.servername||b});if(A!==200){n.on("error",noop).destroy();t(new h(`Proxy response (${A}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,n);return}let s;if(this[B]){s=this[B].servername}else{s=e.servername}this[m]({...e,servername:s,httpSocket:n},t)}catch(e){if(e.code==="ERR_TLS_CERT_ALTNAME_INVALID"){t(new g(e))}else{t(e)}}}})}dispatch(e,t){const r=buildHeaders(e.headers);throwIfProxyAuthIsSent(r);if(r&&!("host"in r)&&!("Host"in r)){const{host:t}=new a(e.origin);r.host=t}return this[C].dispatch({...e,headers:r},t)}#h(e){if(typeof e==="string"){return new a(e)}else if(e instanceof a){return e}else{return new a(e.uri)}}async[A](){await this[C].close();await this[Q].close()}async[s](){await this[C].destroy();await this[Q].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let r=0;re.toLowerCase()==="proxy-authorization");if(t){throw new d("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},9089:(e,t,r)=>{const n=r(5030);const A=r(7877);class RetryAgent extends n{#g=null;#f=null;constructor(e,t={}){super(t);this.#g=e;this.#f=t}dispatch(e,t){const r=new A({...e,retryOptions:this.#f},{dispatch:this.#g.dispatch.bind(this.#g),handler:t});return this.#g.dispatch(e,r)}close(){return this.#g.close()}destroy(){return this.#g.destroy()}}e.exports=RetryAgent},4498:(e,t,r)=>{const n=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:A}=r(9934);const s=r(4586);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new s)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new A("Argument agent must implement Agent")}Object.defineProperty(globalThis,n,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[n]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},4606:e=>{e.exports=class DecoratorHandler{#E;constructor(e){if(typeof e!=="object"||e===null){throw new TypeError("handler must be an object")}this.#E=e}onConnect(...e){return this.#E.onConnect?.(...e)}onError(...e){return this.#E.onError?.(...e)}onUpgrade(...e){return this.#E.onUpgrade?.(...e)}onResponseStarted(...e){return this.#E.onResponseStarted?.(...e)}onHeaders(...e){return this.#E.onHeaders?.(...e)}onData(...e){return this.#E.onData?.(...e)}onComplete(...e){return this.#E.onComplete?.(...e)}onBodySent(...e){return this.#E.onBodySent?.(...e)}}},3669:(e,t,r)=>{const n=r(8529);const{kBodyUsed:A}=r(5424);const s=r(4589);const{InvalidArgumentError:o}=r(9934);const i=r(8474);const a=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[A]=false}async*[Symbol.asyncIterator](){s(!this[A],"disturbed");this[A]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,r,a){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new o("maxRedirections must be a positive number")}n.validateHandler(a,r.method,r.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...r,maxRedirections:0};this.maxRedirections=t;this.handler=a;this.history=[];this.redirectionLimitReached=false;if(n.isStream(this.opts.body)){if(n.bodyLength(this.opts.body)===0){this.opts.body.on("data",function(){s(false)})}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[A]=false;i.prototype.on.call(this.opts.body,"data",function(){this[A]=true})}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&n.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,r){this.handler.onUpgrade(e,t,r)}onError(e){this.handler.onError(e)}onHeaders(e,t,r,A){this.location=this.history.length>=this.maxRedirections||n.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){if(this.request){this.request.abort(new Error("max redirects"))}this.redirectionLimitReached=true;this.abort(new Error("max redirects"));return}if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,r,A)}const{origin:s,pathname:o,search:i}=n.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const a=i?`${o}${i}`:o;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==s);this.opts.path=a;this.opts.origin=s;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(a.indexOf(e)===-1){return null}for(let e=0;e{const n=r(4589);const{kRetryHandlerDefaultRetry:A}=r(5424);const{RequestRetryError:s}=r(9934);const{isDisturbed:o,parseHeaders:i,parseRangeHeader:a,wrapRequestBody:c}=r(8529);function calculateRetryAfterHeader(e){const t=Date.now();return new Date(e).getTime()-t}function validatePartialResponseContentLength(e,t,r,n){const A=e["content-length"];if(A==null){return null}if(!Number.isFinite(t.start)||!Number.isFinite(t.end)){return null}const o=Number(A);const i=t.end-t.start+1;if(!Number.isFinite(o)||o!==i){return new s("Content-Length mismatch",r,{headers:e,data:{count:n}})}return null}class RetryHandler{constructor(e,t){const{retryOptions:r,...n}=e;const{retry:s,maxRetries:o,maxTimeout:i,minTimeout:a,timeoutFactor:l,methods:u,errorCodes:d,retryAfter:h,statusCodes:g}=r??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts={...n,body:c(e.body)};this.abort=null;this.aborted=false;this.retryOpts={retry:s??RetryHandler[A],retryAfter:h??true,maxTimeout:i??30*1e3,minTimeout:a??500,timeoutFactor:l??2,maxRetries:o??5,methods:u??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:g??[500,502,503,504,429],errorCodes:d??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]};this.retryCount=0;this.retryCountCheckpoint=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.headersSent=false;this.handler.onConnect(e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}})}checkpointResponseEnd(e,t){if(this.end==null&&this.opts.method!=="HEAD"){const t=e["content-length"];this.end=t!=null?Number(t)-1:null;n(this.end==null||Number.isFinite(this.end),"invalid content-length")}this.resume=this.end!=null?t:null}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,r){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,r)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[A](e,{state:t,opts:r},n){const{statusCode:A,code:s,headers:o}=e;const{method:i,retryOptions:a}=r;const{maxRetries:c,minTimeout:l,maxTimeout:u,timeoutFactor:d,statusCodes:h,errorCodes:g,methods:f}=a;const{counter:E}=t;if(s&&s!=="UND_ERR_REQ_RETRY"&&!g.includes(s)){n(e);return}if(Array.isArray(f)&&!f.includes(i)){n(e);return}if(A!=null&&Array.isArray(h)&&!h.includes(A)){n(e);return}if(E>c){n(e);return}let C=o?.["retry-after"];if(C){C=Number(C);C=Number.isNaN(C)?calculateRetryAfterHeader(C):C*1e3}const Q=C>0?Math.min(C,u):Math.min(l*d**(E-1),u);setTimeout(()=>n(null),Q)}onHeaders(e,t,r,A){const o=i(t);this.retryCount+=1;if(e>=300){if(!this.headersSent&&this.retryOpts.statusCodes.includes(e)===false){this.headersSent=true;this.checkpointResponseEnd(o,r);return this.handler.onHeaders(e,t,r,A)}else{this.abort(new s("Request failed",e,{headers:o,data:{count:this.retryCount}}));return false}}if(this.resume!=null){this.resume=null;if(e!==206&&(this.start>0||e!==200)){this.abort(new s("server does not support the range header and the payload was partially consumed",e,{headers:o,data:{count:this.retryCount}}));return false}const t=a(o["content-range"]);if(!t){this.abort(new s("Content-Range mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}if(this.etag!=null&&this.etag!==o.etag){this.abort(new s("ETag mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}const n=validatePartialResponseContentLength(o,t,e,this.retryCount);if(n!=null){this.abort(n);return false}const{start:A,size:i,end:c=i-1}=t;if(this.start!==A||this.end!=null&&this.end!==c){this.abort(new s("Content-Range mismatch",e,{headers:o,data:{count:this.retryCount}}));return false}this.resume=r;return true}if(this.end==null){if(e===206){const s=a(o["content-range"]);if(s==null){this.headersSent=true;return this.handler.onHeaders(e,t,r,A)}const i=validatePartialResponseContentLength(o,s,e,this.retryCount);if(i!=null){this.abort(i);return false}const{start:c,size:l,end:u=l-1}=s;n(c!=null&&Number.isFinite(c),"content-range mismatch");n(u!=null&&Number.isFinite(u),"invalid content-length");this.start=c;this.end=u}if(this.end==null){const e=o["content-length"];this.end=e!=null?Number(e)-1:null}n(Number.isFinite(this.start));n(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=r;this.headersSent=true;this.etag=o.etag!=null?o.etag:null;if(this.etag!=null&&this.etag.startsWith("W/")){this.etag=null}return this.handler.onHeaders(e,t,r,A)}const c=new s("Request failed",e,{headers:o,data:{count:this.retryCount}});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||o(this.opts.body)||this.headersSent&&this.resume==null){return this.handler.onError(e)}if(this.retryCount-this.retryCountCheckpoint>0){this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint)}else{this.retryCount+=1}this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||o(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){const e={range:`bytes=${this.start}-${this.end??""}`};if(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(e){this.handler.onError(e)}}}}e.exports=RetryHandler},6814:(e,t,r)=>{const{isIP:n}=r(7030);const{lookup:A}=r(610);const s=r(4606);const{InvalidArgumentError:o,InformationalError:i}=r(9934);const a=Math.pow(2,31)-1;class DNSInstance{#C=0;#Q=0;#I=new Map;dualStack=true;affinity=null;lookup=null;pick=null;constructor(e){this.#C=e.maxTTL;this.#Q=e.maxItems;this.dualStack=e.dualStack;this.affinity=e.affinity;this.lookup=e.lookup??this.#B;this.pick=e.pick??this.#p}get full(){return this.#I.size===this.#Q}runLookup(e,t,r){const n=this.#I.get(e.hostname);if(n==null&&this.full){r(null,e.origin);return}const A={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#C,maxItems:this.#Q};if(n==null){this.lookup(e,A,(t,n)=>{if(t||n==null||n.length===0){r(t??new i("No DNS entries found"));return}this.setRecords(e,n);const s=this.#I.get(e.hostname);const o=this.pick(e,s,A.affinity);let a;if(typeof o.port==="number"){a=`:${o.port}`}else if(e.port!==""){a=`:${e.port}`}else{a=""}r(null,`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`)})}else{const s=this.pick(e,n,A.affinity);if(s==null){this.#I.delete(e.hostname);this.runLookup(e,t,r);return}let o;if(typeof s.port==="number"){o=`:${s.port}`}else if(e.port!==""){o=`:${e.port}`}else{o=""}r(null,`${e.protocol}//${s.family===6?`[${s.address}]`:s.address}${o}`)}}#B(e,t,r){A(e.hostname,{all:true,family:this.dualStack===false?this.affinity:0,order:"ipv4first"},(e,t)=>{if(e){return r(e)}const n=new Map;for(const e of t){n.set(`${e.address}:${e.family}`,e)}r(null,n.values())})}#p(e,t,r){let n=null;const{records:A,offset:s}=t;let o;if(this.dualStack){if(r==null){if(s==null||s===a){t.offset=0;r=4}else{t.offset++;r=(t.offset&1)===1?6:4}}if(A[r]!=null&&A[r].ips.length>0){o=A[r]}else{o=A[r===4?6:4]}}else{o=A[r]}if(o==null||o.ips.length===0){return n}if(o.offset==null||o.offset===a){o.offset=0}else{o.offset++}const i=o.offset%o.ips.length;n=o.ips[i]??null;if(n==null){return n}if(Date.now()-n.timestamp>n.ttl){o.ips.splice(i,1);return this.pick(e,t,r)}return n}setRecords(e,t){const r=Date.now();const n={records:{4:null,6:null}};for(const e of t){e.timestamp=r;if(typeof e.ttl==="number"){e.ttl=Math.min(e.ttl,this.#C)}else{e.ttl=this.#C}const t=n.records[e.family]??{ips:[]};t.ips.push(e);n.records[e.family]=t}this.#I.set(e.hostname,n)}getHandler(e,t){return new DNSDispatchHandler(this,e,t)}}class DNSDispatchHandler extends s{#m=null;#o=null;#n=null;#E=null;#y=null;constructor(e,{origin:t,handler:r,dispatch:n},A){super(r);this.#y=t;this.#E=r;this.#o={...A};this.#m=e;this.#n=n}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#m.dualStack){this.#m.runLookup(this.#y,this.#o,(e,t)=>{if(e){return this.#E.onError(e)}const r={...this.#o,origin:t};this.#n(r,this)});return}this.#E.onError(e);return}case"ENOTFOUND":this.#m.deleteRecord(this.#y);default:this.#E.onError(e);break}}}e.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")}const t=e?.dualStack??true;let r;if(t){r=e?.affinity??null}else{r=e?.affinity??4}const A={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:r,maxItems:e?.maxItems??Infinity};const s=new DNSInstance(A);return e=>function dnsInterceptor(t,r){const A=t.origin.constructor===URL?t.origin:new URL(t.origin);if(n(A.hostname)!==0){return e(t,r)}s.runLookup(A,t,(n,o)=>{if(n){return r.onError(n)}let i=null;i={...t,servername:A.hostname,origin:o,headers:{host:A.hostname,...t.headers}};e(i,s.getHandler({origin:A,dispatch:e,handler:r},t))});return true}}},7407:(e,t,r)=>{const n=r(8529);const{InvalidArgumentError:A,RequestAbortedError:s}=r(9934);const o=r(4606);class DumpHandler extends o{#w=1024*1024;#b=null;#R=false;#S=false;#k=0;#D=null;#E=null;constructor({maxSize:e},t){super(t);if(e!=null&&(!Number.isFinite(e)||e<1)){throw new A("maxSize must be a number greater than 0")}this.#w=e??this.#w;this.#E=t}onConnect(e){this.#b=e;this.#E.onConnect(this.#N.bind(this))}#N(e){this.#S=true;this.#D=e}onHeaders(e,t,r,A){const o=n.parseHeaders(t);const i=o["content-length"];if(i!=null&&i>this.#w){throw new s(`Response size (${i}) larger than maxSize (${this.#w})`)}if(this.#S){return true}return this.#E.onHeaders(e,t,r,A)}onError(e){if(this.#R){return}e=this.#D??e;this.#E.onError(e)}onData(e){this.#k=this.#k+e.length;if(this.#k>=this.#w){this.#R=true;if(this.#S){this.#E.onError(this.#D)}else{this.#E.onComplete([])}}return true}onComplete(e){if(this.#R){return}if(this.#S){this.#E.onError(this.reason);return}this.#E.onComplete(e)}}function createDumpInterceptor({maxSize:e}={maxSize:1024*1024}){return t=>function Intercept(r,n){const{dumpMaxSize:A=e}=r;const s=new DumpHandler({maxSize:A},n);return t(r,s)}}e.exports=createDumpInterceptor},7327:(e,t,r)=>{const n=r(3669);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(r,A){const{maxRedirections:s=e}=r;if(!s){return t(r,A)}const o=new n(t,s,r,A);r={...r,maxRedirections:0};return t(r,o)}}e.exports=createRedirectInterceptor},910:(e,t,r)=>{const n=r(3669);e.exports=e=>{const t=e?.maxRedirections;return e=>function redirectInterceptor(r,A){const{maxRedirections:s=t,...o}=r;if(!s){return e(r,A)}const i=new n(e,s,r,A);return e(o,i)}}},2503:(e,t,r)=>{const n=r(7877);e.exports=e=>t=>function retryInterceptor(r,A){return t(r,new n({...r,retryOptions:{...e,...r.retryOptions}},{handler:A,dispatch:t}))}},2811:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const n=r(6683);var A;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(A=t.ERROR||(t.ERROR={}));var s;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(s=t.TYPE||(t.TYPE={}));var o;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(o=t.FLAGS||(t.FLAGS={}));var i;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(i=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var a;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(a=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[a.DELETE,a.GET,a.HEAD,a.POST,a.PUT,a.CONNECT,a.OPTIONS,a.TRACE,a.COPY,a.LOCK,a.MKCOL,a.MOVE,a.PROPFIND,a.PROPPATCH,a.SEARCH,a.UNLOCK,a.BIND,a.REBIND,a.UNBIND,a.ACL,a.REPORT,a.MKACTIVITY,a.CHECKOUT,a.MERGE,a["M-SEARCH"],a.NOTIFY,a.SUBSCRIBE,a.UNSUBSCRIBE,a.PATCH,a.PURGE,a.MKCALENDAR,a.LINK,a.UNLINK,a.PRI,a.SOURCE];t.METHODS_ICE=[a.SOURCE];t.METHODS_RTSP=[a.OPTIONS,a.DESCRIBE,a.ANNOUNCE,a.SETUP,a.PLAY,a.PAUSE,a.TEARDOWN,a.GET_PARAMETER,a.SET_PARAMETER,a.REDIRECT,a.RECORD,a.FLUSH,a.GET,a.POST];t.METHOD_MAP=n.enumToMap(a);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach(e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}});var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.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};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter(e=>e!==44);t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},5381:(e,t,r)=>{const{Buffer:n}=r(4573);e.exports=n.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")},4823:(e,t,r)=>{const{Buffer:n}=r(4573);e.exports=n.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")},6683:(e,t)=>{Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach(r=>{const n=e[r];if(typeof n==="number"){t[r]=n}});return t}t.enumToMap=enumToMap},8444:(e,t,r)=>{const{kClients:n}=r(5424);const A=r(4586);const{kAgent:s,kMockAgentSet:o,kMockAgentGet:i,kDispatches:a,kIsMockActive:c,kNetConnect:l,kGetNetConnect:u,kOptions:d,kFactory:h}=r(2104);const g=r(8570);const f=r(3927);const{matchValue:E,buildMockOptions:C}=r(7532);const{InvalidArgumentError:Q,UndiciError:I}=r(9934);const B=r(5030);const p=r(2492);const m=r(4955);class MockAgent extends B{constructor(e){super(e);this[l]=true;this[c]=true;if(e?.agent&&typeof e.agent.dispatch!=="function"){throw new Q("Argument opts.agent must implement Agent")}const t=e?.agent?e.agent:new A(e);this[s]=t;this[n]=t[n];this[d]=C(e)}get(e){let t=this[i](e);if(!t){t=this[h](e);this[o](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[s].dispatch(e,t)}async close(){await this[s].close();this[n].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new Q("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[o](e,t){this[n].set(e,t)}[h](e){const t=Object.assign({agent:this},this[d]);return this[d]&&this[d].connections===1?new g(e,t):new f(e,t)}[i](e){const t=this[n].get(e);if(t){return t}if(typeof e!=="string"){const t=this[h]("http://localhost:9999");this[o](e,t);return t}for(const[t,r]of Array.from(this[n])){if(r&&typeof t!=="string"&&E(t,e)){const t=this[h](e);this[o](e,t);t[a]=r[a];return t}}}[u](){return this[l]}pendingInterceptors(){const e=this[n];return Array.from(e.entries()).flatMap(([e,t])=>t[a].map(t=>({...t,origin:e}))).filter(({pending:e})=>e)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new m}={}){const t=this.pendingInterceptors();if(t.length===0){return}const r=new p("interceptor","interceptors").pluralize(t.length);throw new I(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},8570:(e,t,r)=>{const{promisify:n}=r(7975);const A=r(7140);const{buildMockDispatch:s}=r(7532);const{kDispatches:o,kMockAgent:i,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:d}=r(2104);const{MockInterceptor:h}=r(9478);const g=r(5424);const{InvalidArgumentError:f}=r(9934);class MockClient extends A{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new f("Argument opts.agent must implement Agent")}this[i]=t.agent;this[l]=e;this[o]=[];this[d]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=s.call(this);this.close=this[a]}get[g.kConnected](){return this[d]}intercept(e){return new h(e,this[o])}async[a](){await n(this[c])();this[d]=0;this[i][g.kClients].delete(this[l])}}e.exports=MockClient},9654:(e,t,r)=>{const{UndiciError:n}=r(9934);const A=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class MockNotMatchedError extends n{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);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[A]===true}[A]=true}e.exports={MockNotMatchedError:MockNotMatchedError}},9478:(e,t,r)=>{const{getResponseData:n,buildKey:A,addMockDispatch:s}=r(7532);const{kDispatches:o,kDispatchKey:i,kDefaultHeaders:a,kDefaultTrailers:c,kContentLength:l,kMockDispatch:u}=r(2104);const{InvalidArgumentError:d}=r(9934);const{buildURL:h}=r(8529);class MockScope{constructor(e){this[u]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new d("waitInMs must be a valid integer > 0")}this[u].delay=e;return this}persist(){this[u].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new d("repeatTimes must be a valid integer > 0")}this[u].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new d("opts must be an object")}if(typeof e.path==="undefined"){throw new d("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=h(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[i]=A(e);this[o]=t;this[a]={};this[c]={};this[l]=false}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){const A=n(t);const s=this[l]?{"content-length":A.length}:{};const o={...this[a],...s,...r.headers};const i={...this[c],...r.trailers};return{statusCode:e,data:t,headers:o,trailers:i}}validateReplyParameters(e){if(typeof e.statusCode==="undefined"){throw new d("statusCode must be defined")}if(typeof e.responseOptions!=="object"||e.responseOptions===null){throw new d("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const r=e(t);if(typeof r!=="object"||r===null){throw new d("reply options callback must return an object")}const n={data:"",responseOptions:{},...r};this.validateReplyParameters(n);return{...this.createMockScopeDispatchData(n)}};const t=s(this[o],this[i],wrappedDefaultsCallback);return new MockScope(t)}const t={statusCode:e,data:arguments[1]===undefined?"":arguments[1],responseOptions:arguments[2]===undefined?{}:arguments[2]};this.validateReplyParameters(t);const r=this.createMockScopeDispatchData(t);const n=s(this[o],this[i],r);return new MockScope(n)}replyWithError(e){if(typeof e==="undefined"){throw new d("error must be defined")}const t=s(this[o],this[i],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new d("headers must be defined")}this[a]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new d("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},3927:(e,t,r)=>{const{promisify:n}=r(7975);const A=r(2921);const{buildMockDispatch:s}=r(7532);const{kDispatches:o,kMockAgent:i,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:u,kConnected:d}=r(2104);const{MockInterceptor:h}=r(9478);const g=r(5424);const{InvalidArgumentError:f}=r(9934);class MockPool extends A{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new f("Argument opts.agent must implement Agent")}this[i]=t.agent;this[l]=e;this[o]=[];this[d]=1;this[u]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=s.call(this);this.close=this[a]}get[g.kConnected](){return this[d]}intercept(e){return new h(e,this[o])}async[a](){await n(this[c])();this[d]=0;this[i][g.kClients].delete(this[l])}}e.exports=MockPool},2104:e=>{e.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"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},7532:(e,t,r)=>{const{MockNotMatchedError:n}=r(9654);const{kDispatches:A,kMockAgent:s,kOriginalDispatch:o,kOrigin:i,kGetNetConnect:a}=r(2104);const{buildURL:c}=r(8529);const{STATUS_CODES:l}=r(7067);const{types:{isPromise:u}}=r(7975);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let r=0;r!e).filter(({path:e})=>matchValue(safeUrl(e),A));if(s.length===0){throw new n(`Mock dispatch not matched for path '${A}'`)}s=s.filter(({method:e})=>matchValue(e,t.method));if(s.length===0){throw new n(`Mock dispatch not matched for method '${t.method}' on path '${A}'`)}s=s.filter(({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true);if(s.length===0){throw new n(`Mock dispatch not matched for body '${t.body}' on path '${A}'`)}s=s.filter(e=>matchHeaders(e,t.headers));if(s.length===0){const e=typeof t.headers==="object"?JSON.stringify(t.headers):t.headers;throw new n(`Mock dispatch not matched for headers '${e}' on path '${A}'`)}return s[0]}function addMockDispatch(e,t,r){const n={timesInvoked:0,times:1,persist:false,consumed:false};const A=typeof r==="function"?{callback:r}:{...r};const s={...n,...t,pending:true,data:{error:null,...A}};e.push(s);return s}function deleteMockDispatch(e,t){const r=e.findIndex(e=>{if(!e.consumed){return false}return matchKey(e,t)});if(r!==-1){e.splice(r,1)}}function buildKey(e){const{path:t,method:r,body:n,headers:A,query:s}=e;return{path:t,method:r,body:n,headers:A,query:s}}function generateKeyValues(e){const t=Object.keys(e);const r=[];for(let n=0;n=g;n.pending=h0){setTimeout(()=>{handleReply(this[A])},l)}else{handleReply(this[A])}function handleReply(n,A=o){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const l=typeof A==="function"?A({...e,headers:c}):A;if(u(l)){l.then(e=>handleReply(n,e));return}const d=getResponseData(l);const h=generateKeyValues(i);const g=generateKeyValues(a);t.onConnect?.(e=>t.onError(e),null);t.onHeaders?.(s,h,resume,getStatusText(s));t.onData?.(Buffer.from(d));t.onComplete?.(g);deleteMockDispatch(n,r)}function resume(){}return true}function buildMockDispatch(){const e=this[s];const t=this[i];const r=this[o];return function dispatch(A,s){if(e.isMockActive){try{mockDispatch.call(this,A,s)}catch(o){if(o instanceof n){const i=e[a]();if(i===false){throw new n(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(i,t)){r.call(this,A,s)}else{throw new n(`${o.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw o}}}else{r.call(this,A,s)}}}function checkNetConnect(e,t){const r=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some(e=>matchValue(e,r.host))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...r}=e;return r}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName,buildHeadersFromArray:buildHeadersFromArray}},4955:(e,t,r)=>{const{Transform:n}=r(7075);const{Console:A}=r(7540);const s=process.versions.icu?"✅":"Y ";const o=process.versions.icu?"❌":"N ";e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new n({transform(e,t,r){r(null,e)}});this.logger=new A({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map(({method:e,path:t,data:{statusCode:r},persist:n,times:A,timesInvoked:i,origin:a})=>({Method:e,Origin:a,Path:t,"Status code":r,Persistent:n?s:o,Invocations:i,Remaining:n?Infinity:A-i}));this.logger.table(t);return this.transform.read().toString()}}},2492:e=>{const t={pronoun:"it",is:"is",was:"was",this:"this"};const r={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const n=e===1;const A=n?t:r;const s=n?this.singular:this.plural;return{...A,count:e,noun:s}}}},4486:e=>{let t=0;const r=1e3;const n=(r>>1)-1;let A;const s=Symbol("kFastTimer");const o=[];const i=-2;const a=-1;const c=0;const l=1;function onTick(){t+=n;let e=0;let r=o.length;while(e=A._idleStart+A._idleTimeout){A._state=a;A._idleStart=-1;A._onTimeout(A._timerArg)}if(A._state===a){A._state=i;if(--r!==0){o[e]=o[r]}}else{++e}}o.length=r;if(o.length!==0){refreshTimeout()}}function refreshTimeout(){if(A){A.refresh()}else{clearTimeout(A);A=setTimeout(onTick,n);if(A.unref){A.unref()}}}class FastTimer{[s]=true;_state=i;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,r){this._onTimeout=e;this._idleTimeout=t;this._timerArg=r;this.refresh()}refresh(){if(this._state===i){o.push(this)}if(!A||o.length===1){refreshTimeout()}this._state=c}clear(){this._state=a;this._idleStart=-1}}e.exports={setTimeout(e,t,n){return t<=r?setTimeout(e,t,n):new FastTimer(e,t,n)},clearTimeout(e){if(e[s]){e.clear()}else{clearTimeout(e)}},setFastTimeout(e,t,r){return new FastTimer(e,t,r)},clearFastTimeout(e){e.clear()},now(){return t},tick(e=0){t+=e-r+1;onTick();onTick()},reset(){t=0;o.length=0;clearTimeout(A);A=null},kFastTimer:s}},9419:(e,t,r)=>{const{kConstruct:n}=r(8404);const{urlEquals:A,getFieldValues:s}=r(6893);const{kEnumerableProperty:o,isDisturbed:i}=r(8529);const{webidl:a}=r(5162);const{Response:c,cloneResponse:l,fromInnerResponse:u}=r(1328);const{Request:d,fromInnerRequest:h}=r(6398);const{kState:g}=r(6602);const{fetching:f}=r(8263);const{urlIsHttpHttpsScheme:E,createDeferredPromise:C,readAllBytes:Q}=r(3095);const I=r(4589);class Cache{#F;constructor(){if(arguments[0]!==n){a.illegalConstructor()}a.util.markAsUncloneable(this);this.#F=arguments[1]}async match(e,t={}){a.brandCheck(this,Cache);const r="Cache.match";a.argumentLengthCheck(arguments,1,r);e=a.converters.RequestInfo(e,r,"request");t=a.converters.CacheQueryOptions(t,r,"options");const n=this.#v(e,t,1);if(n.length===0){return}return n[0]}async matchAll(e=undefined,t={}){a.brandCheck(this,Cache);const r="Cache.matchAll";if(e!==undefined)e=a.converters.RequestInfo(e,r,"request");t=a.converters.CacheQueryOptions(t,r,"options");return this.#v(e,t)}async add(e){a.brandCheck(this,Cache);const t="Cache.add";a.argumentLengthCheck(arguments,1,t);e=a.converters.RequestInfo(e,t,"request");const r=[e];const n=this.addAll(r);return await n}async addAll(e){a.brandCheck(this,Cache);const t="Cache.addAll";a.argumentLengthCheck(arguments,1,t);const r=[];const n=[];for(let r of e){if(r===undefined){throw a.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]})}r=a.converters.RequestInfo(r);if(typeof r==="string"){continue}const e=r[g];if(!E(e.url)||e.method!=="GET"){throw a.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}}const A=[];for(const o of e){const e=new d(o)[g];if(!E(e.url)){throw a.errors.exception({header:t,message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";n.push(e);const i=C();A.push(f({request:e,processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(a.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=s(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(a.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of A){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));r.push(i.promise)}const o=Promise.all(r);const i=await o;const c=[];let l=0;for(const e of i){const t={type:"put",request:n[l],response:e};c.push(t);l++}const u=C();let h=null;try{this.#M(c)}catch(e){h=e}queueMicrotask(()=>{if(h===null){u.resolve(undefined)}else{u.reject(h)}});return u.promise}async put(e,t){a.brandCheck(this,Cache);const r="Cache.put";a.argumentLengthCheck(arguments,2,r);e=a.converters.RequestInfo(e,r,"request");t=a.converters.Response(t,r,"response");let n=null;if(e instanceof d){n=e[g]}else{n=new d(e)[g]}if(!E(n.url)||n.method!=="GET"){throw a.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"})}const A=t[g];if(A.status===206){throw a.errors.exception({header:r,message:"Got 206 status"})}if(A.headersList.contains("vary")){const e=s(A.headersList.get("vary"));for(const t of e){if(t==="*"){throw a.errors.exception({header:r,message:"Got * vary field value"})}}}if(A.body&&(i(A.body.stream)||A.body.stream.locked)){throw a.errors.exception({header:r,message:"Response body is locked or disturbed"})}const o=l(A);const c=C();if(A.body!=null){const e=A.body.stream;const t=e.getReader();Q(t).then(c.resolve,c.reject)}else{c.resolve(undefined)}const u=[];const h={type:"put",request:n,response:o};u.push(h);const f=await c.promise;if(o.body!=null){o.body.source=f}const I=C();let B=null;try{this.#M(u)}catch(e){B=e}queueMicrotask(()=>{if(B===null){I.resolve()}else{I.reject(B)}});return I.promise}async delete(e,t={}){a.brandCheck(this,Cache);const r="Cache.delete";a.argumentLengthCheck(arguments,1,r);e=a.converters.RequestInfo(e,r,"request");t=a.converters.CacheQueryOptions(t,r,"options");let n=null;if(e instanceof d){n=e[g];if(n.method!=="GET"&&!t.ignoreMethod){return false}}else{I(typeof e==="string");n=new d(e)[g]}const A=[];const s={type:"delete",request:n,options:t};A.push(s);const o=C();let i=null;let c;try{c=this.#M(A)}catch(e){i=e}queueMicrotask(()=>{if(i===null){o.resolve(!!c?.length)}else{o.reject(i)}});return o.promise}async keys(e=undefined,t={}){a.brandCheck(this,Cache);const r="Cache.keys";if(e!==undefined)e=a.converters.RequestInfo(e,r,"request");t=a.converters.CacheQueryOptions(t,r,"options");let n=null;if(e!==undefined){if(e instanceof d){n=e[g];if(n.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){n=new d(e)[g]}}const A=C();const s=[];if(e===undefined){for(const e of this.#F){s.push(e[0])}}else{const e=this.#T(n,t);for(const t of e){s.push(t[0])}}queueMicrotask(()=>{const e=[];for(const t of s){const r=h(t,(new AbortController).signal,"immutable");e.push(r)}A.resolve(Object.freeze(e))});return A.promise}#M(e){const t=this.#F;const r=[...t];const n=[];const A=[];try{for(const r of e){if(r.type!=="delete"&&r.type!=="put"){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(r.type==="delete"&&r.response!=null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#T(r.request,r.options,n).length){throw new DOMException("???","InvalidStateError")}let e;if(r.type==="delete"){e=this.#T(r.request,r.options);if(e.length===0){return[]}for(const r of e){const e=t.indexOf(r);I(e!==-1);t.splice(e,1)}}else if(r.type==="put"){if(r.response==null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const A=r.request;if(!E(A.url)){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(A.method!=="GET"){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(r.options!=null){throw a.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#T(r.request);for(const r of e){const e=t.indexOf(r);I(e!==-1);t.splice(e,1)}t.push([r.request,r.response]);n.push([r.request,r.response])}A.push([r.request,r.response])}return A}catch(e){this.#F.length=0;this.#F=r;throw e}}#T(e,t,r){const n=[];const A=r??this.#F;for(const r of A){const[A,s]=r;if(this.#U(e,A,s,t)){n.push(r)}}return n}#U(e,t,r=null,n){const o=new URL(e.url);const i=new URL(t.url);if(n?.ignoreSearch){i.search="";o.search=""}if(!A(o,i,true)){return false}if(r==null||n?.ignoreVary||!r.headersList.contains("vary")){return true}const a=s(r.headersList.get("vary"));for(const r of a){if(r==="*"){return false}const n=t.headersList.get(r);const A=e.headersList.get(r);if(n!==A){return false}}return true}#v(e,t,r=Infinity){let n=null;if(e!==undefined){if(e instanceof d){n=e[g];if(n.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){n=new d(e)[g]}}const A=[];if(e===undefined){for(const e of this.#F){A.push(e[1])}}else{const e=this.#T(n,t);for(const t of e){A.push(t[1])}}const s=[];for(const e of A){const t=u(e,"immutable");s.push(t.clone());if(s.length>=r){break}}return Object.freeze(s)}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:o,matchAll:o,add:o,addAll:o,put:o,delete:o,keys:o});const B=[{key:"ignoreSearch",converter:a.converters.boolean,defaultValue:()=>false},{key:"ignoreMethod",converter:a.converters.boolean,defaultValue:()=>false},{key:"ignoreVary",converter:a.converters.boolean,defaultValue:()=>false}];a.converters.CacheQueryOptions=a.dictionaryConverter(B);a.converters.MultiCacheQueryOptions=a.dictionaryConverter([...B,{key:"cacheName",converter:a.converters.DOMString}]);a.converters.Response=a.interfaceConverter(c);a.converters["sequence"]=a.sequenceConverter(a.converters.RequestInfo);e.exports={Cache:Cache}},2118:(e,t,r)=>{const{kConstruct:n}=r(8404);const{Cache:A}=r(9419);const{webidl:s}=r(5162);const{kEnumerableProperty:o}=r(8529);class CacheStorage{#L=new Map;constructor(){if(arguments[0]!==n){s.illegalConstructor()}s.util.markAsUncloneable(this)}async match(e,t={}){s.brandCheck(this,CacheStorage);s.argumentLengthCheck(arguments,1,"CacheStorage.match");e=s.converters.RequestInfo(e);t=s.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#L.has(t.cacheName)){const r=this.#L.get(t.cacheName);const s=new A(n,r);return await s.match(e,t)}}else{for(const r of this.#L.values()){const s=new A(n,r);const o=await s.match(e,t);if(o!==undefined){return o}}}}async has(e){s.brandCheck(this,CacheStorage);const t="CacheStorage.has";s.argumentLengthCheck(arguments,1,t);e=s.converters.DOMString(e,t,"cacheName");return this.#L.has(e)}async open(e){s.brandCheck(this,CacheStorage);const t="CacheStorage.open";s.argumentLengthCheck(arguments,1,t);e=s.converters.DOMString(e,t,"cacheName");if(this.#L.has(e)){const t=this.#L.get(e);return new A(n,t)}const r=[];this.#L.set(e,r);return new A(n,r)}async delete(e){s.brandCheck(this,CacheStorage);const t="CacheStorage.delete";s.argumentLengthCheck(arguments,1,t);e=s.converters.DOMString(e,t,"cacheName");return this.#L.delete(e)}async keys(){s.brandCheck(this,CacheStorage);const e=this.#L.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:o,has:o,open:o,delete:o,keys:o});e.exports={CacheStorage:CacheStorage}},8404:(e,t,r)=>{e.exports={kConstruct:r(5424).kConstruct}},6893:(e,t,r)=>{const n=r(4589);const{URLSerializer:A}=r(5192);const{isValidHeaderName:s}=r(3095);function urlEquals(e,t,r=false){const n=A(e,r);const s=A(t,r);return n===s}function getFieldValues(e){n(e!==null);const t=[];for(let r of e.split(",")){r=r.trim();if(s(r)){t.push(r)}}return t}e.exports={urlEquals:urlEquals,getFieldValues:getFieldValues}},9265:e=>{const t=1024;const r=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:r}},6748:(e,t,r)=>{const{parseSetCookie:n}=r(2351);const{stringify:A}=r(190);const{webidl:s}=r(5162);const{Headers:o}=r(3257);function getCookies(e){s.argumentLengthCheck(arguments,1,"getCookies");s.brandCheck(e,o,{strict:false});const t=e.get("cookie");const r={};if(!t){return r}for(const e of t.split(";")){const[t,...n]=e.split("=");r[t.trim()]=n.join("=")}return r}function deleteCookie(e,t,r){s.brandCheck(e,o,{strict:false});const n="deleteCookie";s.argumentLengthCheck(arguments,2,n);t=s.converters.DOMString(t,n,"name");r=s.converters.DeleteCookieAttributes(r);setCookie(e,{name:t,value:"",expires:new Date(0),...r})}function getSetCookies(e){s.argumentLengthCheck(arguments,1,"getSetCookies");s.brandCheck(e,o,{strict:false});const t=e.getSetCookie();if(!t){return[]}return t.map(e=>n(e))}function setCookie(e,t){s.argumentLengthCheck(arguments,2,"setCookie");s.brandCheck(e,o,{strict:false});t=s.converters.Cookie(t);const r=A(t);if(r){e.append("Set-Cookie",r)}}s.converters.DeleteCookieAttributes=s.dictionaryConverter([{converter:s.nullableConverter(s.converters.DOMString),key:"path",defaultValue:()=>null},{converter:s.nullableConverter(s.converters.DOMString),key:"domain",defaultValue:()=>null}]);s.converters.Cookie=s.dictionaryConverter([{converter:s.converters.DOMString,key:"name"},{converter:s.converters.DOMString,key:"value"},{converter:s.nullableConverter(e=>{if(typeof e==="number"){return s.converters["unsigned long long"](e)}return new Date(e)}),key:"expires",defaultValue:()=>null},{converter:s.nullableConverter(s.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:s.nullableConverter(s.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:s.nullableConverter(s.converters.DOMString),key:"path",defaultValue:()=>null},{converter:s.nullableConverter(s.converters.boolean),key:"secure",defaultValue:()=>null},{converter:s.nullableConverter(s.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:s.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:s.sequenceConverter(s.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},2351:(e,t,r)=>{const{maxNameValuePairSize:n,maxAttributeValueSize:A}=r(9265);const{isCTLExcludingHtab:s}=r(190);const{collectASequenceOfCodePointsFast:o}=r(5192);const i=r(4589);function parseSetCookie(e){if(s(e)){return null}let t="";let r="";let A="";let i="";if(e.includes(";")){const n={position:0};t=o(";",e,n);r=e.slice(n.position)}else{t=e}if(!t.includes("=")){i=t}else{const e={position:0};A=o("=",t,e);i=t.slice(e.position+1)}A=A.trim();i=i.trim();if(A.length+i.length>n){return null}return{name:A,value:i,...parseUnparsedAttributes(r)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}i(e[0]===";");e=e.slice(1);let r="";if(e.includes(";")){r=o(";",e,{position:0});e=e.slice(r.length)}else{r=e;e=""}let n="";let s="";if(r.includes("=")){const e={position:0};n=o("=",r,e);s=r.slice(e.position+1)}else{n=r}n=n.trim();s=s.trim();if(s.length>A){return parseUnparsedAttributes(e,t)}const a=n.toLowerCase();if(a==="expires"){const e=new Date(s);t.expires=e}else if(a==="max-age"){const r=s.charCodeAt(0);if((r<48||r>57)&&s[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(s)){return parseUnparsedAttributes(e,t)}const n=Number(s);t.maxAge=n}else if(a==="domain"){let e=s;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(a==="path"){let e="";if(s.length===0||s[0]!=="/"){e="/"}else{e=s}t.path=e}else if(a==="secure"){t.secure=true}else if(a==="httponly"){t.httpOnly=true}else if(a==="samesite"){const e=s.toLowerCase();if(e==="none"){t.sameSite="None"}else if(e==="strict"){t.sameSite="Strict"}else if(e==="lax"){t.sameSite="Lax"}}else{t.unparsed??=[];t.unparsed.push(`${n}=${s}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},190:e=>{function isCTLExcludingHtab(e){for(let t=0;t=0&&r<=8||r>=10&&r<=31||r===127){return true}}return false}function validateCookieName(e){for(let t=0;t126||r===34||r===40||r===41||r===60||r===62||r===64||r===44||r===59||r===58||r===92||r===47||r===91||r===93||r===63||r===61||r===123||r===125){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){let t=e.length;let r=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"'){throw new Error("Invalid cookie value")}--t;++r}while(r126||t===34||t===44||t===59||t===92){throw new Error("Invalid cookie value")}}}function validateCookiePath(e){for(let t=0;t126||r===59){throw new Error("Invalid cookie path")}}}function isLetterOrDigit(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function validateCookieDomain(e){if(e===" "){return}if(e.length>255){throw new Error("Invalid cookie domain")}let t=0;for(let r=0;r63){throw new Error("Invalid cookie domain")}}if(t===0||e.charCodeAt(e.length-1)===45){throw new Error("Invalid cookie domain")}}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const n=Array(61).fill(0).map((e,t)=>t.toString().padStart(2,"0"));function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}return`${t[e.getUTCDay()]}, ${n[e.getUTCDate()]} ${r[e.getUTCMonth()]} ${e.getUTCFullYear()} ${n[e.getUTCHours()]}:${n[e.getUTCMinutes()]}:${n[e.getUTCSeconds()]} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const r of e.unparsed){if(!r.includes("=")){throw new Error("Invalid unparsed")}const[e,...n]=r.split("=");const A=e.trim();const s=n.join("=");validateCookieName(A);validateCookieValue(s);t.push(`${A}=${s}`)}return t.join("; ")}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},2900:(e,t,r)=>{const n=r(4573);const{Transform:A}=r(7075);const{isASCIINumber:s,isValidLastEventId:o}=r(1048);const i=[239,187,191];const a=10;const c=13;const l=58;const u=32;const d=n.kStringMaxLength;const h=Buffer.from("data");const g=Buffer.from("event");const f=Buffer.from("id");const E=Buffer.from("retry");const C=1024;const Q=131072;const I=128;function isASCIINumberBytes(e,t){if(t>=e.length){return false}for(let r=t;r57){return false}}return true}function isValidLastEventIdBytes(e,t){for(let r=t;r0?Math.min(Q,Math.max(C,Math.floor(this.maxEventSize/I))):0;this.maxDataLines=t;this.maxBufferedChunks=t;if(e.push){this.push=e.push}}_transform(e,t,r){if(e.length===0){r();return}if(this.maxEventSize>0&&this.chunks.length>=this.maxBufferedChunks&&e[0]!==a&&e[0]!==c){r(createMaxEventSizeExceededError());return}this.chunks.push(e);if(this.checkBOM){if(this.handleBOM()){r();return}}while(this.hasCurrentByte()){const e=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(e===a){this.crlfCheck=false;this.consumeCurrentByte();continue}this.crlfCheck=false}if(e===a||e===c){if(e===c){this.crlfCheck=true}this.consumeCurrentByte();if(this.hasPendingEvent()){this.processEvent(this.event)}this.clearEvent();continue}this.eventEndCheck=false;continue}if(e===a||e===c){if(e===c){this.crlfCheck=true}try{this.parseLine(this.readLine(),this.event)}catch(e){r(e);return}this.consumeCurrentByte();this.eventEndCheck=true;continue}if(this.maxEventSize>0&&++this.lineLength>this.maxEventSize+7){r(createMaxEventSizeExceededError());return}this.advanceCursor()}r()}_destroy(e,t){this.chunks.length=0;this.clearEvent();super._destroy(e,t)}parseLine(e,t){if(e.length===0){return}const r=e.indexOf(l);if(r===0){return}let n=e.length;let A=e.length;if(r!==-1){n=r;A=r+1;if(e[A]===u){++A}}if(isFieldName(e,n,h)){if(this.maxEventSize>0&&this.dataLineCount>=this.maxDataLines){throw createMaxEventSizeExceededError()}const r=e.length-A;const n=this.eventFieldSizes.data+(t.data===undefined?0:1)+r;this.setEventFieldSize("data",n);const s=e.toString("utf8",A);if(t.data===undefined){t.data=s}else{t.data+=`\n${s}`}this.dataLineCount++;return}if(isFieldName(e,n,E)){if(isASCIINumberBytes(e,A)){this.setEventFieldSize("retry",e.length-A);t.retry=e.toString("utf8",A)}return}if(isFieldName(e,n,f)){if(isValidLastEventIdBytes(e,A)){this.setEventFieldSize("id",e.length-A);t.id=e.toString("utf8",A)}return}if(isFieldName(e,n,g)){if(A0&&r>this.maxEventSize){throw createMaxEventSizeExceededError()}this.eventSize=r;this.eventFieldSizes[e]=t}processEvent(e){if(e.retry&&s(e.retry)){this.state.reconnectionTime=parseInt(e.retry,10)}if(e.id&&o(e.id)){this.state.lastEventId=e.id}if(e.data!==undefined){this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}}clearEvent(){this.event.data=undefined;this.event.event=undefined;this.event.id=undefined;this.event.retry=undefined;this.eventSize=0;this.dataLineCount=0;this.eventFieldSizes.data=0;this.eventFieldSizes.event=0;this.eventFieldSizes.id=0;this.eventFieldSizes.retry=0}hasPendingEvent(){return this.event.data!==undefined||this.event.event!==undefined||this.event.id!==undefined||this.event.retry!==undefined}hasCurrentByte(){return this.chunkIndex=this.chunks[this.chunkIndex].length){this.chunkIndex++;this.pos=0}}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex;this.linePos=this.pos;this.lineLength=0;this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){const e=this.lineChunkIndex;this.chunks.splice(0,e);this.lineChunkIndex=0;this.chunkIndex-=e}if(this.chunkIndex===this.chunks.length){this.chunks.length=0;this.chunkIndex=0;this.pos=0;this.lineChunkIndex=0;this.linePos=0}}readLine(){if(this.lineChunkIndex===this.chunkIndex){return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos)}const e=[];let t=0;for(let r=this.lineChunkIndex;r<=this.chunkIndex;r++){const n=this.chunks[r];const A=r===this.lineChunkIndex?this.linePos:0;const s=r===this.chunkIndex?this.pos:n.length;const o=n.subarray(A,s);t+=o.length;e.push(o)}return Buffer.concat(e,t)}peekBufferedByte(e){let t=this.lineChunkIndex;let r=this.linePos;while(t0&&this.lineChunkIndex{const{pipeline:n}=r(7075);const{fetching:A}=r(8263);const{makeRequest:s}=r(6398);const{webidl:o}=r(5162);const{EventSourceStream:i}=r(2900);const{parseMIMEType:a}=r(5192);const{createFastMessageEvent:c}=r(659);const{isNetworkError:l}=r(1328);const{delay:u}=r(1048);const{kEnumerableProperty:d}=r(8529);const{environmentSettingsObject:h}=r(3095);const{getGlobalDispatcher:g}=r(4498);let f=false;const E=3e3;const C=0;const Q=1;const I=2;const B="anonymous";const p="use-credentials";class EventSource extends EventTarget{#x={open:null,error:null,message:null};#H=null;#G=false;#P=C;#V=null;#O=null;#r;#m;constructor(e,t={}){super();o.util.markAsUncloneable(this);const r="EventSource constructor";o.argumentLengthCheck(arguments,1,r);if(!f){f=true;process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})}e=o.converters.USVString(e,r,"url");t=o.converters.EventSourceInitDict(t,r,"eventSourceInitDict");this.#r=t.dispatcher;this.#m={lastEventId:"",reconnectionTime:E};const n=h;let A;try{A=new URL(e,n.settingsObject.baseUrl);this.#m.origin=A.origin}catch(e){throw new DOMException(e,"SyntaxError")}this.#H=A.href;let i=B;if(t.withCredentials){i=p;this.#G=true}const a={redirect:"follow",keepalive:true,mode:"cors",credentials:i==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=h.settingsObject;a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]];a.cache="no-store";a.initiator="other";a.urlList=[new URL(this.#H)];this.#V=s(a);this.#Y()}get readyState(){return this.#P}get url(){return this.#H}get withCredentials(){return this.#G}#Y(){if(this.#P===I)return;this.#P=C;const e={request:this.#V,dispatcher:this.#r};const processEventSourceEndOfBody=e=>{if(l(e)){this.dispatchEvent(new Event("error"));this.close()}this.#_()};e.processResponseEndOfBody=processEventSourceEndOfBody;e.processResponse=e=>{if(l(e)){if(e.aborted){this.close();this.dispatchEvent(new Event("error"));return}else{this.#_();return}}const t=e.headersList.get("content-type",true);const r=t!==null?a(t):"failure";const A=r!=="failure"&&r.essence==="text/event-stream";if(e.status!==200||A===false){this.close();this.dispatchEvent(new Event("error"));return}this.#P=Q;this.dispatchEvent(new Event("open"));this.#m.origin=e.urlList[e.urlList.length-1].origin;const s=new i({eventSourceSettings:this.#m,maxEventSize:this.#r.eventSourceOptions?.maxEventSize,push:e=>{this.dispatchEvent(c(e.type,e.options))}});n(e.body.stream,s,e=>{if(e?.aborted===false){this.close();this.dispatchEvent(new Event("error"))}})};this.#O=A(e)}async#_(){if(this.#P===I)return;this.#P=C;this.dispatchEvent(new Event("error"));await u(this.#m.reconnectionTime);if(this.#P!==C)return;if(this.#m.lastEventId.length){this.#V.headersList.set("last-event-id",this.#m.lastEventId,true)}this.#Y()}close(){o.brandCheck(this,EventSource);if(this.#P===I)return;this.#P=I;this.#O.abort();this.#V=null}get onopen(){return this.#x.open}set onopen(e){if(this.#x.open){this.removeEventListener("open",this.#x.open)}if(typeof e==="function"){this.#x.open=e;this.addEventListener("open",e)}else{this.#x.open=null}}get onmessage(){return this.#x.message}set onmessage(e){if(this.#x.message){this.removeEventListener("message",this.#x.message)}if(typeof e==="function"){this.#x.message=e;this.addEventListener("message",e)}else{this.#x.message=null}}get onerror(){return this.#x.error}set onerror(e){if(this.#x.error){this.removeEventListener("error",this.#x.error)}if(typeof e==="function"){this.#x.error=e;this.addEventListener("error",e)}else{this.#x.error=null}}}const m={CONNECTING:{__proto__:null,configurable:false,enumerable:true,value:C,writable:false},OPEN:{__proto__:null,configurable:false,enumerable:true,value:Q,writable:false},CLOSED:{__proto__:null,configurable:false,enumerable:true,value:I,writable:false}};Object.defineProperties(EventSource,m);Object.defineProperties(EventSource.prototype,m);Object.defineProperties(EventSource.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:()=>false},{key:"dispatcher",converter:o.converters.any,defaultValue:()=>g()}]);e.exports={EventSource:EventSource,defaultReconnectionTime:E}},1048:e=>{function isValidLastEventId(e){return e.indexOf("\0")===-1}function isASCIINumber(e){if(e.length===0)return false;for(let t=0;t57)return false}return true}function delay(e){return new Promise(t=>{setTimeout(t,e).unref()})}e.exports={isValidLastEventId:isValidLastEventId,isASCIINumber:isASCIINumber,delay:delay}},6455:(e,t,r)=>{const n=r(8529);const{ReadableStreamFrom:A,isBlobLike:s,isReadableStreamLike:o,readableStreamClose:i,createDeferredPromise:a,fullyReadBody:c,extractMimeType:l,utf8DecodeBytes:u}=r(3095);const{FormData:d}=r(7653);const{kState:h}=r(6602);const{webidl:g}=r(5162);const{Blob:f}=r(4573);const E=r(4589);const{isErrored:C,isDisturbed:Q}=r(7075);const{isArrayBuffer:I}=r(3429);const{serializeAMimeType:B}=r(5192);const{multipartFormDataParser:p}=r(6701);let m;try{const e=r(7598);m=t=>e.randomInt(0,t)}catch{m=e=>Math.floor(Math.random(e))}const y=new TextEncoder;function noop(){}const w=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0;let b;if(w){b=new FinalizationRegistry(e=>{const t=e.deref();if(t&&!t.locked&&!Q(t)&&!C(t)){t.cancel("Response object has been garbage collected").catch(noop)}})}function extractBody(e,t=false){let r=null;if(e instanceof ReadableStream){r=e}else if(s(e)){r=e.stream()}else{r=new ReadableStream({async pull(e){const t=typeof c==="string"?y.encode(c):c;if(t.byteLength){e.enqueue(t)}queueMicrotask(()=>i(e))},start(){},type:"bytes"})}E(o(r));let a=null;let c=null;let l=null;let u=null;if(typeof e==="string"){c=e;u="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){c=e.toString();u="application/x-www-form-urlencoded;charset=UTF-8"}else if(I(e)){c=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){c=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(n.isFormDataLike(e)){const t=`----formdata-undici-0${`${m(1e11)}`.padStart(11,"0")}`;const r=`--${t}\r\nContent-Disposition: form-data` +/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const n=[];const A=new Uint8Array([13,10]);l=0;let s=false;for(const[t,o]of e){if(typeof o==="string"){const e=y.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(o)}\r\n`);n.push(e);l+=e.byteLength}else{const e=y.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(o.name?`; filename="${escape(o.name)}"`:"")+"\r\n"+`Content-Type: ${o.type||"application/octet-stream"}\r\n\r\n`);n.push(e,o,A);if(typeof o.size==="number"){l+=e.byteLength+o.size+A.byteLength}else{s=true}}}const o=y.encode(`--${t}--\r\n`);n.push(o);l+=o.byteLength;if(s){l=null}c=e;a=async function*(){for(const e of n){if(e.stream){yield*e.stream()}else{yield e}}};u=`multipart/form-data; boundary=${t}`}else if(s(e)){c=e;l=e.size;if(e.type){u=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(n.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}r=e instanceof ReadableStream?e:A(e)}if(typeof c==="string"||n.isBuffer(c)){l=Buffer.byteLength(c)}if(a!=null){let t;r=new ReadableStream({async start(){t=a(e)[Symbol.asyncIterator]()},async pull(e){const{value:n,done:A}=await t.next();if(A){queueMicrotask(()=>{e.close();e.byobRequest?.respond(0)})}else{if(!C(r)){const t=new Uint8Array(n);if(t.byteLength){e.enqueue(t)}}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}const d={stream:r,source:c,length:l};return[d,u]}function safelyExtractBody(e,t=false){if(e instanceof ReadableStream){E(!n.isDisturbed(e),"The body has already been consumed.");E(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e,t){const[r,n]=t.stream.tee();t.stream=r;return{stream:n,length:t.length,source:t.source}}function throwIfAborted(e){if(e.aborted){throw new DOMException("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return consumeBody(this,e=>{let t=bodyMimeType(this);if(t===null){t=""}else if(t){t=B(t)}return new f([e],{type:t})},e)},arrayBuffer(){return consumeBody(this,e=>new Uint8Array(e).buffer,e)},text(){return consumeBody(this,u,e)},json(){return consumeBody(this,parseJSONFromBytes,e)},formData(){return consumeBody(this,e=>{const t=bodyMimeType(this);if(t!==null){switch(t.essence){case"multipart/form-data":{const r=p(e,t);if(r==="failure"){throw new TypeError("Failed to parse body as FormData.")}const n=new d;n[h]=r;return n}case"application/x-www-form-urlencoded":{const t=new URLSearchParams(e.toString());const r=new d;for(const[e,n]of t){r.append(e,n)}return r}}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return consumeBody(this,e=>new Uint8Array(e),e)}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function consumeBody(e,t,r){g.brandCheck(e,r);if(bodyUnusable(e)){throw new TypeError("Body is unusable: Body has already been read")}throwIfAborted(e[h]);const n=a();const errorSteps=e=>n.reject(e);const successSteps=e=>{try{n.resolve(t(e))}catch(e){errorSteps(e)}};if(e[h].body==null){successSteps(Buffer.allocUnsafe(0));return n.promise}await c(e[h].body,successSteps,errorSteps);return n.promise}function bodyUnusable(e){const t=e[h].body;return t!=null&&(t.stream.locked||n.isDisturbed(t.stream))}function parseJSONFromBytes(e){return JSON.parse(u(e))}function bodyMimeType(e){const t=e[h].headersList;const r=l(t);if(r==="failure"){return null}return r}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody,streamRegistry:b,hasFinalizationRegistry:w,bodyUnusable:bodyUnusable}},5706:e=>{const t=["GET","HEAD","POST"];const r=new Set(t);const n=[101,204,205,304];const A=[301,302,303,307,308];const s=new Set(A);const o=["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"];const i=new Set(o);const a=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const c=new Set(a);const l=["follow","manual","error"];const u=["GET","HEAD","OPTIONS","TRACE"];const d=new Set(u);const h=["navigate","same-origin","no-cors","cors"];const g=["omit","same-origin","include"];const f=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const E=["content-encoding","content-language","content-location","content-type","content-length"];const C=["half"];const Q=["CONNECT","TRACE","TRACK"];const I=new Set(Q);const B=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const p=new Set(B);e.exports={subresource:B,forbiddenMethods:Q,requestBodyHeader:E,referrerPolicy:a,requestRedirect:l,requestMode:h,requestCredentials:g,requestCache:f,redirectStatus:A,corsSafeListedMethods:t,nullBodyStatus:n,safeMethods:u,badPorts:o,requestDuplex:C,subresourceSet:p,badPortsSet:i,redirectStatusSet:s,corsSafeListedMethodsSet:r,safeMethodsSet:d,forbiddenMethodsSet:I,referrerPolicySet:c}},5192:(e,t,r)=>{const n=r(4589);const A=new TextEncoder;const s=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;const o=/[\u000A\u000D\u0009\u0020]/;const i=/[\u0009\u000A\u000C\u000D\u0020]/g;const a=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function dataURLProcessor(e){n(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const r={position:0};let A=collectASequenceOfCodePointsFast(",",t,r);const s=A.length;A=removeASCIIWhitespace(A,true,true);if(r.position>=t.length){return"failure"}r.position++;const o=t.slice(s+1);let i=stringPercentDecode(o);if(/;(\u0020){0,}base64$/i.test(A)){const e=isomorphicDecode(i);i=forgivingBase64(e);if(i==="failure"){return"failure"}A=A.slice(0,-6);A=A.replace(/(\u0020)+$/,"");A=A.slice(0,-1)}if(A.startsWith(";")){A="text/plain"+A}let a=parseMIMEType(A);if(a==="failure"){a=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:a,body:i}}function URLSerializer(e,t=false){if(!t){return e.href}const r=e.href;const n=e.hash.length;const A=n===0?r:r.substring(0,r.length-n);if(!n&&r.endsWith("#")){return A.slice(0,-1)}return A}function collectASequenceOfCodePoints(e,t,r){let n="";while(r.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexByteToNumber(e){return e>=48&&e<=57?e-48:(e&223)-55}function percentDecode(e){const t=e.length;const r=new Uint8Array(t);let n=0;for(let A=0;Ae.length){return"failure"}t.position++;let n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0||!s.test(n)){return"failure"}const A=r.toLowerCase();const i=n.toLowerCase();const c={type:A,subtype:i,parameters:new Map,essence:`${A}/${i}`};while(t.positiono.test(e),e,t);let r=collectASequenceOfCodePoints(e=>e!==";"&&e!=="=",e,t);r=r.toLowerCase();if(t.positione.length){break}let n=null;if(e[t.position]==='"'){n=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{n=collectASequenceOfCodePointsFast(";",e,t);n=removeHTTPWhitespace(n,false,true);if(n.length===0){continue}}if(r.length!==0&&s.test(r)&&(n.length===0||a.test(n))&&!c.parameters.has(r)){c.parameters.set(r,n)}}return c}function forgivingBase64(e){e=e.replace(i,"");let t=e.length;if(t%4===0){if(e.charCodeAt(t-1)===61){--t;if(e.charCodeAt(t-1)===61){--t}}}if(t%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t))){return"failure"}const r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function collectAnHTTPQuotedString(e,t,r){const A=t.position;let s="";n(e[t.position]==='"');t.position++;while(true){s+=collectASequenceOfCodePoints(e=>e!=='"'&&e!=="\\",e,t);if(t.position>=e.length){break}const r=e[t.position];t.position++;if(r==="\\"){if(t.position>=e.length){s+="\\";break}s+=e[t.position];t.position++}else{n(r==='"');break}}if(r){return s}return e.slice(A,t.position)}function serializeAMimeType(e){n(e!=="failure");const{parameters:t,essence:r}=e;let A=r;for(let[e,r]of t.entries()){A+=";";A+=e;A+="=";if(!s.test(r)){r=r.replace(/(\\|")/g,"\\$1");r='"'+r;r+='"'}A+=r}return A}function isHTTPWhiteSpace(e){return e===13||e===10||e===9||e===32}function removeHTTPWhitespace(e,t=true,r=true){return removeChars(e,t,r,isHTTPWhiteSpace)}function isASCIIWhitespace(e){return e===13||e===10||e===9||e===12||e===32}function removeASCIIWhitespace(e,t=true,r=true){return removeChars(e,t,r,isASCIIWhitespace)}function removeChars(e,t,r,n){let A=0;let s=e.length-1;if(t){while(A0&&n(e.charCodeAt(s)))s--}return A===0&&s===e.length-1?e:e.slice(A,s+1)}function isomorphicDecode(e){const t=e.length;if((2<<15)-1>t){return String.fromCharCode.apply(null,e)}let r="";let n=0;let A=(2<<15)-1;while(nt){A=t-n}r+=String.fromCharCode.apply(null,e.subarray(n,n+=A))}return r}function minimizeSupportedMimeType(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"}if(e.subtype.endsWith("+json")){return"application/json"}if(e.subtype.endsWith("+xml")){return"application/xml"}return""}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType,removeChars:removeChars,removeHTTPWhitespace:removeHTTPWhitespace,minimizeSupportedMimeType:minimizeSupportedMimeType,HTTP_TOKEN_CODEPOINTS:s,isomorphicDecode:isomorphicDecode}},3090:(e,t,r)=>{const{kConnected:n,kSize:A}=r(5424);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[n]===0&&this.value[A]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",()=>{if(e[n]===0&&e[A]===0){this.finalizer(t)}})}}unregister(e){}}e.exports=function(){if(process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")){process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:WeakRef,FinalizationRegistry:FinalizationRegistry}}},5733:(e,t,r)=>{const{Blob:n,File:A}=r(4573);const{kState:s}=r(6602);const{webidl:o}=r(5162);class FileLike{constructor(e,t,r={}){const n=t;const A=r.type;const o=r.lastModified??Date.now();this[s]={blobLike:e,name:n,type:A,lastModified:o}}stream(...e){o.brandCheck(this,FileLike);return this[s].blobLike.stream(...e)}arrayBuffer(...e){o.brandCheck(this,FileLike);return this[s].blobLike.arrayBuffer(...e)}slice(...e){o.brandCheck(this,FileLike);return this[s].blobLike.slice(...e)}text(...e){o.brandCheck(this,FileLike);return this[s].blobLike.text(...e)}get size(){o.brandCheck(this,FileLike);return this[s].blobLike.size}get type(){o.brandCheck(this,FileLike);return this[s].blobLike.type}get name(){o.brandCheck(this,FileLike);return this[s].name}get lastModified(){o.brandCheck(this,FileLike);return this[s].lastModified}get[Symbol.toStringTag](){return"File"}}o.converters.Blob=o.interfaceConverter(n);function isFileLike(e){return e instanceof A||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={FileLike:FileLike,isFileLike:isFileLike}},6701:(e,t,r)=>{const{isUSVString:n,bufferToLowerCasedHeaderName:A}=r(8529);const{utf8DecodeBytes:s}=r(3095);const{HTTP_TOKEN_CODEPOINTS:o,isomorphicDecode:i}=r(5192);const{isFileLike:a}=r(5733);const{makeEntry:c}=r(7653);const l=r(4589);const{File:u}=r(4573);const d=globalThis.File??u;const h=Buffer.from('form-data; name="');const g=Buffer.from("; filename");const f=Buffer.from("--");const E=Buffer.from("--\r\n");function isAsciiString(e){for(let t=0;t70){return false}for(let r=0;r=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===39||t===45||t===95)){return false}}return true}function multipartFormDataParser(e,t){l(t!=="failure"&&t.essence==="multipart/form-data");const r=t.parameters.get("boundary");if(r===undefined){return"failure"}const A=Buffer.from(`--${r}`,"utf8");const o=[];const i={position:0};while(e[i.position]===13&&e[i.position+1]===10){i.position+=2}let u=e.length;while(e[u-1]===10&&e[u-2]===13){u-=2}if(u!==e.length){e=e.subarray(0,u)}while(true){if(e.subarray(i.position,i.position+A.length).equals(A)){i.position+=A.length}else{return"failure"}if(i.position===e.length-2&&bufferStartsWith(e,f,i)||i.position===e.length-4&&bufferStartsWith(e,E,i)){return o}if(e[i.position]!==13||e[i.position+1]!==10){return"failure"}i.position+=2;const t=parseMultipartFormDataHeaders(e,i);if(t==="failure"){return"failure"}let{name:r,filename:u,contentType:h,encoding:g}=t;i.position+=2;let C;{const t=e.indexOf(A.subarray(2),i.position);if(t===-1){return"failure"}C=e.subarray(i.position,t-4);i.position+=C.length;if(g==="base64"){C=Buffer.from(C.toString(),"base64")}}if(e[i.position]!==13||e[i.position+1]!==10){return"failure"}else{i.position+=2}let Q;if(u!==null){h??="text/plain";if(!isAsciiString(h)){h=""}Q=new d([C],u,{type:h})}else{Q=s(Buffer.from(C))}l(n(r));l(typeof Q==="string"&&n(Q)||a(Q));o.push(c(r,Q,u))}}function parseMultipartFormDataHeaders(e,t){let r=null;let n=null;let s=null;let a=null;while(true){if(e[t.position]===13&&e[t.position+1]===10){if(r===null){return"failure"}return{name:r,filename:n,contentType:s,encoding:a}}let c=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==58,e,t);c=removeChars(c,true,true,e=>e===9||e===32);if(!o.test(c.toString())){return"failure"}if(e[t.position]!==58){return"failure"}t.position++;collectASequenceOfBytes(e=>e===32||e===9,e,t);switch(A(c)){case"content-disposition":{r=n=null;if(!bufferStartsWith(e,h,t)){return"failure"}t.position+=17;r=parseMultipartFormDataName(e,t);if(r===null){return"failure"}if(bufferStartsWith(e,g,t)){let r=t.position+g.length;if(e[r]===42){t.position+=1;r+=1}if(e[r]!==61||e[r+1]!==34){return"failure"}t.position+=12;n=parseMultipartFormDataName(e,t);if(n===null){return"failure"}}break}case"content-type":{let r=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);r=removeChars(r,false,true,e=>e===9||e===32);s=i(r);break}case"content-transfer-encoding":{let r=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);r=removeChars(r,false,true,e=>e===9||e===32);a=i(r);break}default:{collectASequenceOfBytes(e=>e!==10&&e!==13,e,t)}}if(e[t.position]!==13&&e[t.position+1]!==10){return"failure"}else{t.position+=2}}}function parseMultipartFormDataName(e,t){l(e[t.position-1]===34);let r=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==34,e,t);if(e[t.position]!==34){return null}else{t.position++}r=(new TextDecoder).decode(r).replace(/%0A/gi,"\n").replace(/%0D/gi,"\r").replace(/%22/g,'"');return r}function collectASequenceOfBytes(e,t,r){let n=r.position;while(n0&&n(e[s]))s--}return A===0&&s===e.length-1?e:e.subarray(A,s+1)}function bufferStartsWith(e,t,r){if(e.length{const{isBlobLike:n,iteratorMixin:A}=r(3095);const{kState:s}=r(6602);const{kEnumerableProperty:o}=r(8529);const{FileLike:i,isFileLike:a}=r(5733);const{webidl:c}=r(5162);const{File:l}=r(4573);const u=r(7975);const d=globalThis.File??l;class FormData{constructor(e){c.util.markAsUncloneable(this);if(e!==undefined){throw c.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[s]=[]}append(e,t,r=undefined){c.brandCheck(this,FormData);const A="FormData.append";c.argumentLengthCheck(arguments,2,A);if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,A,"name");t=n(t)?c.converters.Blob(t,A,"value",{strict:false}):c.converters.USVString(t,A,"value");r=arguments.length===3?c.converters.USVString(r,A,"filename"):undefined;const o=makeEntry(e,t,r);this[s].push(o)}delete(e){c.brandCheck(this,FormData);const t="FormData.delete";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");this[s]=this[s].filter(t=>t.name!==e)}get(e){c.brandCheck(this,FormData);const t="FormData.get";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");const r=this[s].findIndex(t=>t.name===e);if(r===-1){return null}return this[s][r].value}getAll(e){c.brandCheck(this,FormData);const t="FormData.getAll";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[s].filter(t=>t.name===e).map(e=>e.value)}has(e){c.brandCheck(this,FormData);const t="FormData.has";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[s].findIndex(t=>t.name===e)!==-1}set(e,t,r=undefined){c.brandCheck(this,FormData);const A="FormData.set";c.argumentLengthCheck(arguments,2,A);if(arguments.length===3&&!n(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,A,"name");t=n(t)?c.converters.Blob(t,A,"name",{strict:false}):c.converters.USVString(t,A,"name");r=arguments.length===3?c.converters.USVString(r,A,"name"):undefined;const o=makeEntry(e,t,r);const i=this[s].findIndex(t=>t.name===e);if(i!==-1){this[s]=[...this[s].slice(0,i),o,...this[s].slice(i+1).filter(t=>t.name!==e)]}else{this[s].push(o)}}[u.inspect.custom](e,t){const r=this[s].reduce((e,t)=>{if(e[t.name]){if(Array.isArray(e[t.name])){e[t.name].push(t.value)}else{e[t.name]=[e[t.name],t.value]}}else{e[t.name]=t.value}return e},{__proto__:null});t.depth??=e;t.colors??=true;const n=u.formatWithOptions(t,r);return`FormData ${n.slice(n.indexOf("]")+2)}`}}A("FormData",FormData,s,"name","value");Object.defineProperties(FormData.prototype,{append:o,delete:o,get:o,getAll:o,has:o,set:o,[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,r){if(typeof t==="string"){}else{if(!a(t)){t=t instanceof Blob?new d([t],"blob",{type:t.type}):new i(t,"blob",{type:t.type})}if(r!==undefined){const e={type:t.type,lastModified:t.lastModified};t=t instanceof l?new d([t],r,e):new i(t,r,e)}}return{name:e,value:t}}e.exports={FormData:FormData,makeEntry:makeEntry}},8712:e=>{const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`)}Object.defineProperty(globalThis,t,{value:r,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},3257:(e,t,r)=>{const{kConstruct:n}=r(5424);const{kEnumerableProperty:A}=r(8529);const{iteratorMixin:s,isValidHeaderName:o,isValidHeaderValue:i}=r(3095);const{webidl:a}=r(5162);const c=r(4589);const l=r(7975);const u=Symbol("headers map");const d=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let r=e.length;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(r-1)))--r;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&r===e.length?e:e.substring(t,r)}function fill(e,t){if(Array.isArray(t)){for(let r=0;r>","record"]})}}function appendHeader(e,t,r){r=headerValueNormalize(r);if(!o(t)){throw a.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!i(r)){throw a.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}if(h(e)==="immutable"){throw new TypeError("immutable")}return f(e).append(t,r,false)}function compareHeaderName(e,t){return e[0]>1);if(t[i][0]<=a[0]){o=i+1}else{s=i}}if(n!==i){A=n;while(A>o){t[A]=t[--A]}t[o]=a}}if(!r.next().done){throw new TypeError("Unreachable")}return t}else{let e=0;for(const{0:r,1:{value:n}}of this[u]){t[e++]=[r,n];c(n!==null)}return t.sort(compareHeaderName)}}}class Headers{#J;#$;constructor(e=undefined){a.util.markAsUncloneable(this);if(e===n){return}this.#$=new HeadersList;this.#J="none";if(e!==undefined){e=a.converters.HeadersInit(e,"Headers contructor","init");fill(this,e)}}append(e,t){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,2,"Headers.append");const r="Headers.append";e=a.converters.ByteString(e,r,"name");t=a.converters.ByteString(t,r,"value");return appendHeader(this,e,t)}delete(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.delete");const t="Headers.delete";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this.#J==="immutable"){throw new TypeError("immutable")}if(!this.#$.contains(e,false)){return}this.#$.delete(e,false)}get(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.get");const t="Headers.get";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#$.get(e,false)}has(e){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,1,"Headers.has");const t="Headers.has";e=a.converters.ByteString(e,t,"name");if(!o(e)){throw a.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#$.contains(e,false)}set(e,t){a.brandCheck(this,Headers);a.argumentLengthCheck(arguments,2,"Headers.set");const r="Headers.set";e=a.converters.ByteString(e,r,"name");t=a.converters.ByteString(t,r,"value");t=headerValueNormalize(t);if(!o(e)){throw a.errors.invalidArgument({prefix:r,value:e,type:"header name"})}else if(!i(t)){throw a.errors.invalidArgument({prefix:r,value:t,type:"header value"})}if(this.#J==="immutable"){throw new TypeError("immutable")}this.#$.set(e,t,false)}getSetCookie(){a.brandCheck(this,Headers);const e=this.#$.cookies;if(e){return[...e]}return[]}get[d](){if(this.#$[d]){return this.#$[d]}const e=[];const t=this.#$.toSortedArray();const r=this.#$.cookies;if(r===null||r.length===1){return this.#$[d]=t}for(let n=0;n>"](e,t,r,n.bind(e))}return a.converters["record"](e,t,r)}throw a.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,compareHeaderName:compareHeaderName,Headers:Headers,HeadersList:HeadersList,getHeadersGuard:h,setHeadersGuard:g,setHeadersList:E,getHeadersList:f}},8263:(e,t,r)=>{const{makeNetworkError:n,makeAppropriateNetworkError:A,filterResponse:s,makeResponse:o,fromInnerResponse:i}=r(1328);const{HeadersList:a}=r(3257);const{Request:c,cloneRequest:l}=r(6398);const u=r(8522);const{bytesMatch:d,makePolicyContainer:h,clonePolicyContainer:g,requestBadPort:f,TAOCheck:E,appendRequestOriginHeader:C,responseLocationURL:Q,requestCurrentURL:I,setRequestReferrerPolicyOnRedirect:B,tryUpgradeRequestToAPotentiallyTrustworthyURL:p,createOpaqueTimingInfo:m,appendFetchMetadata:y,corsCheck:w,crossOriginResourcePolicyCheck:b,determineRequestsReferrer:R,coarsenedSharedCurrentTime:S,createDeferredPromise:k,isBlobLike:D,sameOrigin:N,isCancelled:F,isAborted:v,isErrorLike:M,fullyReadBody:T,readableStreamClose:U,isomorphicEncode:L,urlIsLocal:x,urlIsHttpHttpsScheme:H,urlHasHttpsScheme:G,clampAndCoarsenConnectionTimingInfo:P,simpleRangeHeaderValue:V,buildContentRange:O,createInflate:Y,extractMimeType:J}=r(3095);const{kState:$,kDispatcher:W}=r(6602);const q=r(4589);const{safelyExtractBody:j,extractBody:z}=r(6455);const{redirectStatusSet:K,nullBodyStatus:Z,safeMethodsSet:X,requestBodyHeader:ee,subresourceSet:te}=r(5706);const re=r(8474);const{Readable:ne,pipeline:Ae,finished:se}=r(7075);const{addAbortListener:oe,isErrored:ie,isReadable:ae,bufferToLowerCasedHeaderName:ce}=r(8529);const{dataURLProcessor:le,serializeAMimeType:ue,minimizeSupportedMimeType:de}=r(5192);const{getGlobalDispatcher:he}=r(4498);const{webidl:ge}=r(5162);const{STATUS_CODES:fe}=r(7067);const Ee=["GET","HEAD"];const Ce=typeof __UNDICI_IS_NODE__!=="undefined"||typeof esbuildDetection!=="undefined"?"node":"undici";let Qe;class Fetch extends re{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing"}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new DOMException("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function handleFetchDone(e){finalizeAndReportTiming(e,"fetch")}function fetch(e,t=undefined){ge.argumentLengthCheck(arguments,1,"globalThis.fetch");let r=k();let n;try{n=new c(e,t)}catch(e){r.reject(e);return r.promise}const A=n[$];if(n.signal.aborted){abortFetch(r,A,null,n.signal.reason);return r.promise}const s=A.client.globalObject;if(s?.constructor?.name==="ServiceWorkerGlobalScope"){A.serviceWorkers="none"}let o=null;let a=false;let l=null;oe(n.signal,()=>{a=true;q(l!=null);l.abort(n.signal.reason);const e=o?.deref();abortFetch(r,A,e,n.signal.reason)});const processResponse=e=>{if(a){return}if(e.aborted){abortFetch(r,A,o,l.serializedAbortReason);return}if(e.type==="error"){r.reject(new TypeError("fetch failed",{cause:e.error}));return}o=new WeakRef(i(e,"immutable"));r.resolve(o.deref());r=null};l=fetching({request:A,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:n[W]});return r.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const r=e.urlList[0];let n=e.timingInfo;let A=e.cacheState;if(!H(r)){return}if(n===null){return}if(!e.timingAllowPassed){n=m({startTime:n.startTime});A=""}n.endTime=S();e.timingInfo=n;Ie(n,r.href,t,globalThis,A)}const Ie=performance.markResourceTiming;function abortFetch(e,t,r,n){if(e){e.reject(n)}if(t.body!=null&&ae(t.body?.stream)){t.body.stream.cancel(n).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}if(r==null){return}const A=r[$];if(A.body!=null&&ae(A.body?.stream)){A.body.stream.cancel(n).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseEndOfBody:A,processResponseConsumeBody:s,useParallelQueue:o=false,dispatcher:i=he()}){q(i);let a=null;let c=false;if(e.client!=null){a=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=S(c);const u=m({startTime:l});const d={controller:new Fetch(i),request:e,timingInfo:u,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:n,processResponseConsumeBody:s,processResponseEndOfBody:A,taskDestination:a,crossOriginIsolatedCapability:c};q(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=g(e.client.policyContainer)}else{e.policyContainer=h()}}if(!e.headersList.contains("accept",true)){const t="*/*";e.headersList.append("accept",t,true)}if(!e.headersList.contains("accept-language",true)){e.headersList.append("accept-language","*",true)}if(e.priority===null){}if(te.has(e.destination)){}mainFetch(d).catch(e=>{d.controller.terminate(e)});return d.controller}async function mainFetch(e,t=false){const r=e.request;let A=null;if(r.localURLsOnly&&!x(I(r))){A=n("local URLs only")}p(r);if(f(r)==="blocked"){A=n("bad port")}if(r.referrerPolicy===""){r.referrerPolicy=r.policyContainer.referrerPolicy}if(r.referrer!=="no-referrer"){r.referrer=R(r)}if(A===null){A=await(async()=>{const t=I(r);if(N(t,r.url)&&r.responseTainting==="basic"||t.protocol==="data:"||(r.mode==="navigate"||r.mode==="websocket")){r.responseTainting="basic";return await schemeFetch(e)}if(r.mode==="same-origin"){return n('request mode cannot be "same-origin"')}if(r.mode==="no-cors"){if(r.redirect!=="follow"){return n('redirect mode cannot be "follow" for "no-cors" request')}r.responseTainting="opaque";return await schemeFetch(e)}if(!H(I(r))){return n("URL scheme must be a HTTP(S) scheme")}r.responseTainting="cors";return await httpFetch(e)})()}if(t){return A}if(A.status!==0&&!A.internalResponse){if(r.responseTainting==="cors"){}if(r.responseTainting==="basic"){A=s(A,"basic")}else if(r.responseTainting==="cors"){A=s(A,"cors")}else if(r.responseTainting==="opaque"){A=s(A,"opaque")}else{q(false)}}let o=A.status===0?A:A.internalResponse;if(o.urlList.length===0){o.urlList.push(...r.urlList)}if(!r.timingAllowFailed){A.timingAllowPassed=true}if(A.type==="opaque"&&o.status===206&&o.rangeRequested&&!r.headers.contains("range",true)){A=o=n()}if(A.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||Z.includes(o.status))){o.body=null;e.controller.dump=true}if(r.integrity){const processBodyError=t=>fetchFinale(e,n(t));if(r.responseTainting==="opaque"||A.body==null){processBodyError(A.error);return}const processBody=t=>{if(!d(t,r.integrity)){processBodyError("integrity mismatch");return}A.body=j(t)[0];fetchFinale(e,A)};await T(A.body,processBody,processBodyError)}else{fetchFinale(e,A)}}function schemeFetch(e){if(F(e)&&e.request.redirectCount===0){return Promise.resolve(A(e))}const{request:t}=e;const{protocol:s}=I(t);switch(s){case"about:":{return Promise.resolve(n("about scheme is not supported"))}case"blob:":{if(!Qe){Qe=r(4573).resolveObjectURL}const e=I(t);if(e.search.length!==0){return Promise.resolve(n("NetworkError when attempting to fetch resource."))}const A=Qe(e.toString());if(t.method!=="GET"||!D(A)){return Promise.resolve(n("invalid method"))}const s=o();const i=A.size;const a=L(`${i}`);const c=A.type;if(!t.headersList.contains("range",true)){const e=z(A);s.statusText="OK";s.body=e[0];s.headersList.set("content-length",a,true);s.headersList.set("content-type",c,true)}else{s.rangeRequested=true;const e=t.headersList.get("range",true);const r=V(e,true);if(r==="failure"){return Promise.resolve(n("failed to fetch the data URL"))}let{rangeStartValue:o,rangeEndValue:a}=r;if(o===null){o=i-a;a=o+a-1}else{if(o>=i){return Promise.resolve(n("Range start is greater than the blob's size."))}if(a===null||a>=i){a=i-1}}const l=A.slice(o,a,c);const u=z(l);s.body=u[0];const d=L(`${l.size}`);const h=O(o,a,i);s.status=206;s.statusText="Partial Content";s.headersList.set("content-length",d,true);s.headersList.set("content-type",c,true);s.headersList.set("content-range",h,true)}return Promise.resolve(s)}case"data:":{const e=I(t);const r=le(e);if(r==="failure"){return Promise.resolve(n("failed to fetch the data URL"))}const A=ue(r.mimeType);return Promise.resolve(o({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:A}]],body:j(r.body)[0]}))}case"file:":{return Promise.resolve(n("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch(e=>n(e))}default:{return Promise.resolve(n("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask(()=>e.processResponseDone(t))}}function fetchFinale(e,t){let r=e.timingInfo;const processResponseEndOfBody=()=>{const n=Date.now();if(e.request.destination==="document"){e.controller.fullTimingInfo=r}e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:"){return}r.endTime=n;let A=t.cacheState;const s=t.bodyInfo;if(!t.timingAllowPassed){r=m(r);A=""}let o=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){o=t.status;const e=J(t.headersList);if(e!=="failure"){s.contentType=de(e)}}if(e.request.initiatorType!=null){Ie(r,e.request.url.href,e.request.initiatorType,globalThis,A,s,o)}};const processResponseEndOfBodyTask=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask(()=>e.processResponseEndOfBody(t))}if(e.request.initiatorType!=null){e.controller.reportTimingSteps()}};queueMicrotask(()=>processResponseEndOfBodyTask())};if(e.processResponse!=null){queueMicrotask(()=>{e.processResponse(t);e.processResponse=null})}const n=t.type==="error"?t:t.internalResponse??t;if(n.body==null){processResponseEndOfBody()}else{se(n.body.stream,()=>{processResponseEndOfBody()})}}async function httpFetch(e){const t=e.request;let r=null;let A=null;const s=e.timingInfo;if(t.serviceWorkers==="all"){}if(r===null){if(t.redirect==="follow"){t.serviceWorkers="none"}A=r=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&w(t,r)==="failure"){return n("cors failure")}if(E(t,r)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||r.type==="opaque")&&b(t.origin,t.client,t.destination,A)==="blocked"){return n("blocked")}if(K.has(A.status)){if(t.redirect!=="manual"){e.controller.connection.destroy(undefined,false)}if(t.redirect==="error"){r=n("unexpected redirect")}else if(t.redirect==="manual"){r=A}else if(t.redirect==="follow"){r=await httpRedirectFetch(e,r)}else{q(false)}}r.timingInfo=s;return r}function httpRedirectFetch(e,t){const r=e.request;const A=t.internalResponse?t.internalResponse:t;let s;try{s=Q(A,I(r).hash);if(s==null){return t}}catch(e){return Promise.resolve(n(e))}if(!H(s)){return Promise.resolve(n("URL scheme must be a HTTP(S) scheme"))}if(r.redirectCount===20){return Promise.resolve(n("redirect count exceeded"))}r.redirectCount+=1;if(r.mode==="cors"&&(s.username||s.password)&&!N(r,s)){return Promise.resolve(n('cross origin not allowed for request mode "cors"'))}if(r.responseTainting==="cors"&&(s.username||s.password)){return Promise.resolve(n('URL cannot contain credentials for request mode "cors"'))}if(A.status!==303&&r.body!=null&&r.body.source==null){return Promise.resolve(n())}if([301,302].includes(A.status)&&r.method==="POST"||A.status===303&&!Ee.includes(r.method)){r.method="GET";r.body=null;for(const e of ee){r.headersList.delete(e)}}if(!N(I(r),s)){r.headersList.delete("authorization",true);r.headersList.delete("proxy-authorization",true);r.headersList.delete("cookie",true);r.headersList.delete("host",true)}if(r.body!=null){q(r.body.source!=null);r.body=j(r.body.source)[0]}const o=e.timingInfo;o.redirectEndTime=o.postRedirectStartTime=S(e.crossOriginIsolatedCapability);if(o.redirectStartTime===0){o.redirectStartTime=o.startTime}r.urlList.push(s);B(r,A);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,r=false){const s=e.request;let o=null;let i=null;let a=null;const c=null;const u=false;if(s.window==="no-window"&&s.redirect==="error"){o=e;i=s}else{i=l(s);o={...e};o.request=i}const d=s.credentials==="include"||s.credentials==="same-origin"&&s.responseTainting==="basic";const h=i.body?i.body.length:null;let g=null;if(i.body==null&&["POST","PUT"].includes(i.method)){g="0"}if(h!=null){g=L(`${h}`)}if(g!=null){i.headersList.append("content-length",g,true)}if(h!=null&&i.keepalive){}if(i.referrer instanceof URL){i.headersList.append("referer",L(i.referrer.href),true)}C(i);y(i);if(!i.headersList.contains("user-agent",true)){i.headersList.append("user-agent",Ce)}if(i.cache==="default"&&(i.headersList.contains("if-modified-since",true)||i.headersList.contains("if-none-match",true)||i.headersList.contains("if-unmodified-since",true)||i.headersList.contains("if-match",true)||i.headersList.contains("if-range",true))){i.cache="no-store"}if(i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",true)){i.headersList.append("cache-control","max-age=0",true)}if(i.cache==="no-store"||i.cache==="reload"){if(!i.headersList.contains("pragma",true)){i.headersList.append("pragma","no-cache",true)}if(!i.headersList.contains("cache-control",true)){i.headersList.append("cache-control","no-cache",true)}}if(i.headersList.contains("range",true)){i.headersList.append("accept-encoding","identity",true)}if(!i.headersList.contains("accept-encoding",true)){if(G(I(i))){i.headersList.append("accept-encoding","br, gzip, deflate",true)}else{i.headersList.append("accept-encoding","gzip, deflate",true)}}i.headersList.delete("host",true);if(d){}if(c==null){i.cache="no-store"}if(i.cache!=="no-store"&&i.cache!=="reload"){}if(a==null){if(i.cache==="only-if-cached"){return n("only if cached")}const e=await httpNetworkFetch(o,d,r);if(!X.has(i.method)&&e.status>=200&&e.status<=399){}if(u&&e.status===304){}if(a==null){a=e}}a.urlList=[...i.urlList];if(i.headersList.contains("range",true)){a.rangeRequested=true}a.requestIncludesCredentials=d;if(a.status===407){if(s.window==="no-window"){return n()}if(F(e)){return A(e)}return n("proxy authentication required")}if(a.status===421&&!r&&(s.body==null||s.body.source!=null)){if(F(e)){return A(e)}e.controller.connection.destroy();a=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return a}async function httpNetworkFetch(e,t=false,r=false){q(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e,t=true){if(!this.destroyed){this.destroyed=true;if(t){this.abort?.(e??new DOMException("The operation was aborted.","AbortError"))}}}};const s=e.request;let i=null;const c=e.timingInfo;const l=null;if(l==null){s.cache="no-store"}const d=r?"yes":"no";if(s.mode==="websocket"){}else{}let h=null;if(s.body==null&&e.processRequestEndOfBody){queueMicrotask(()=>e.processRequestEndOfBody())}else if(s.body!=null){const processBodyChunk=async function*(t){if(F(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(F(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(F(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};h=async function*(){try{for await(const e of s.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:r,statusText:n,headersList:A,socket:s}=await dispatch({body:h});if(s){i=o({status:r,statusText:n,headersList:A,socket:s})}else{const s=t[Symbol.asyncIterator]();e.controller.next=()=>s.next();i=o({status:r,statusText:n,headersList:A})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return A(e,t)}return n(t)}const pullAlgorithm=async()=>{await e.controller.resume()};const cancelAlgorithm=t=>{if(!F(e)){e.controller.abort(t)}};const g=new ReadableStream({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)},type:"bytes"});i.body={stream:g,source:null,length:null};if(!e.controller.resume){e.controller.on("terminated",onAborted)}e.controller.resume=async()=>{while(true){let t;let r;try{const{done:r,value:n}=await e.controller.next();if(v(e)){break}t=r?undefined:n}catch(n){if(e.controller.ended&&!c.encodedBodySize){t=undefined}else{t=n;r=true}}if(t===undefined){U(e.controller.controller);finalizeResponse(e,i);return}c.decodedBodySize+=t?.byteLength??0;if(r){e.controller.terminate(t);return}const n=new Uint8Array(t);if(n.byteLength){e.controller.controller.enqueue(n)}if(ie(g)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0){return}}};function onAborted(t){if(v(e)){i.aborted=true;if(ae(g)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ae(g)){e.controller.controller.error(new TypeError("terminated",{cause:M(t)?t:undefined}))}}e.controller.connection.destroy()}return i;function dispatch({body:t}){const r=I(s);const n=e.controller.dispatcher;return new Promise((A,o)=>n.dispatch({path:r.pathname+r.search,origin:r.origin,method:s.method,body:n.isMockActive?s.body&&(s.body.source||s.body.stream):t,headers:s.headersList.entries,maxRedirections:0,upgrade:s.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:r}=e.controller;c.finalConnectionTimingInfo=P(undefined,c.postRedirectStartTime,e.crossOriginIsolatedCapability);if(r.destroyed){t(new DOMException("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=r.abort=t}c.finalNetworkRequestStartTime=S(e.crossOriginIsolatedCapability)},onResponseStarted(){c.finalNetworkResponseStartTime=S(e.crossOriginIsolatedCapability)},onHeaders(e,t,r,n){if(e<200){return}let o="";const i=new a;for(let e=0;er){this.abort(new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${r}`));return true}for(let e=t.length-1;e>=0;--e){const r=t[e].trim();if(r==="x-gzip"||r==="gzip"){c.push(u.createGunzip({flush:u.constants.Z_SYNC_FLUSH,finishFlush:u.constants.Z_SYNC_FLUSH}))}else if(r==="deflate"){c.push(Y({flush:u.constants.Z_SYNC_FLUSH,finishFlush:u.constants.Z_SYNC_FLUSH}))}else if(r==="br"){c.push(u.createBrotliDecompress({flush:u.constants.BROTLI_OPERATION_FLUSH,finishFlush:u.constants.BROTLI_OPERATION_FLUSH}))}else{c.length=0;break}}}this.body=new ne({read:r});const d=this.onError.bind(this);A({status:e,statusText:n,headersList:i,body:c.length?Ae(this.body,...c,e=>{if(e){this.onError(e)}}).on("error",d):this.body.on("error",d)});return true},onData(t){if(e.controller.dump){return}const r=t;c.encodedBodySize+=r.byteLength;return this.body.push(r)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);o(t)},onUpgrade(e,t,r){if(e!==101){return}const n=new a;for(let e=0;e{const{extractBody:n,mixinBody:A,cloneBody:s,bodyUnusable:o}=r(6455);const{Headers:i,fill:a,HeadersList:c,setHeadersGuard:l,getHeadersGuard:u,setHeadersList:d,getHeadersList:h}=r(3257);const{FinalizationRegistry:g}=r(3090)();const f=r(8529);const E=r(7975);const{isValidHTTPToken:C,sameOrigin:Q,environmentSettingsObject:I}=r(3095);const{forbiddenMethodsSet:B,corsSafeListedMethodsSet:p,referrerPolicy:m,requestRedirect:y,requestMode:w,requestCredentials:b,requestCache:R,requestDuplex:S}=r(5706);const{kEnumerableProperty:k,normalizedMethodRecordsBase:D,normalizedMethodRecords:N}=f;const{kHeaders:F,kSignal:v,kState:M,kDispatcher:T}=r(6602);const{webidl:U}=r(5162);const{URLSerializer:L}=r(5192);const{kConstruct:x}=r(5424);const H=r(4589);const{getMaxListeners:G,setMaxListeners:P,getEventListeners:V,defaultMaxListeners:O}=r(8474);const Y=Symbol("abortController");const J=new g(({signal:e,abort:t})=>{e.removeEventListener("abort",t)});const $=new WeakMap;function buildAbort(e){return abort;function abort(){const t=e.deref();if(t!==undefined){J.unregister(abort);this.removeEventListener("abort",abort);t.abort(this.reason);const e=$.get(t.signal);if(e!==undefined){if(e.size!==0){for(const t of e){const e=t.deref();if(e!==undefined){e.abort(this.reason)}}e.clear()}$.delete(t.signal)}}}}let W=false;class Request{constructor(e,t={}){U.util.markAsUncloneable(this);if(e===x){return}const r="Request constructor";U.argumentLengthCheck(arguments,1,r);e=U.converters.RequestInfo(e,r,"input");t=U.converters.RequestInit(t,r,"init");let A=null;let s=null;const u=I.settingsObject.baseUrl;let g=null;if(typeof e==="string"){this[T]=t.dispatcher;let r;try{r=new URL(e,u)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(r.username||r.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}A=makeRequest({urlList:[r]});s="cors"}else{this[T]=t.dispatcher||e[T];H(e instanceof Request);A=e[M];g=e[v]}const E=I.settingsObject.origin;let m="client";if(A.window?.constructor?.name==="EnvironmentSettingsObject"&&Q(A.window,E)){m=A.window}if(t.window!=null){throw new TypeError(`'window' option '${m}' must be null`)}if("window"in t){m="no-window"}A=makeRequest({method:A.method,headersList:A.headersList,unsafeRequest:A.unsafeRequest,client:I.settingsObject,window:m,priority:A.priority,origin:A.origin,referrer:A.referrer,referrerPolicy:A.referrerPolicy,mode:A.mode,credentials:A.credentials,cache:A.cache,redirect:A.redirect,integrity:A.integrity,keepalive:A.keepalive,reloadNavigation:A.reloadNavigation,historyNavigation:A.historyNavigation,urlList:[...A.urlList]});const y=Object.keys(t).length!==0;if(y){if(A.mode==="navigate"){A.mode="same-origin"}A.reloadNavigation=false;A.historyNavigation=false;A.origin="client";A.referrer="client";A.referrerPolicy="";A.url=A.urlList[A.urlList.length-1];A.urlList=[A.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){A.referrer="no-referrer"}else{let t;try{t=new URL(e,u)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||E&&!Q(t,I.settingsObject.baseUrl)){A.referrer="client"}else{A.referrer=t}}}if(t.referrerPolicy!==undefined){A.referrerPolicy=t.referrerPolicy}let w;if(t.mode!==undefined){w=t.mode}else{w=s}if(w==="navigate"){throw U.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(w!=null){A.mode=w}if(t.credentials!==undefined){A.credentials=t.credentials}if(t.cache!==undefined){A.cache=t.cache}if(A.cache==="only-if-cached"&&A.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){A.redirect=t.redirect}if(t.integrity!=null){A.integrity=String(t.integrity)}if(t.keepalive!==undefined){A.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;const r=N[e];if(r!==undefined){A.method=r}else{if(!C(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}const t=e.toUpperCase();if(B.has(t)){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=D[t]??e;A.method=e}if(!W&&A.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"});W=true}}if(t.signal!==undefined){g=t.signal}this[M]=A;const b=new AbortController;this[v]=b.signal;if(g!=null){if(!g||typeof g.aborted!=="boolean"||typeof g.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(g.aborted){b.abort(g.reason)}else{this[Y]=b;const e=new WeakRef(b);const t=buildAbort(e);try{if(typeof G==="function"&&G(g)===O){P(1500,g)}else if(V(g,"abort").length>=O){P(1500,g)}}catch{}f.addAbortListener(g,t);J.register(b,{signal:g,abort:t},t)}}this[F]=new i(x);d(this[F],A.headersList);l(this[F],"request");if(w==="no-cors"){if(!p.has(A.method)){throw new TypeError(`'${A.method} is unsupported in no-cors mode.`)}l(this[F],"request-no-cors")}if(y){const e=h(this[F]);const r=t.headers!==undefined?t.headers:new c(e);e.clear();if(r instanceof c){for(const{name:t,value:n}of r.rawValues()){e.append(t,n,false)}e.cookies=r.cookies}else{a(this[F],r)}}const R=e instanceof Request?e[M].body:null;if((t.body!=null||R!=null)&&(A.method==="GET"||A.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let S=null;if(t.body!=null){const[e,r]=n(t.body,A.keepalive);S=e;if(r&&!h(this[F]).contains("content-type",true)){this[F].append("content-type",r)}}const k=S??R;if(k!=null&&k.source==null){if(S!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(A.mode!=="same-origin"&&A.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}A.useCORSPreflightFlag=true}let L=k;if(S==null&&R!=null){if(o(e)){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}const t=new TransformStream;R.stream.pipeThrough(t);L={source:R.source,length:R.length,stream:t.readable}}this[M].body=L}get method(){U.brandCheck(this,Request);return this[M].method}get url(){U.brandCheck(this,Request);return L(this[M].url)}get headers(){U.brandCheck(this,Request);return this[F]}get destination(){U.brandCheck(this,Request);return this[M].destination}get referrer(){U.brandCheck(this,Request);if(this[M].referrer==="no-referrer"){return""}if(this[M].referrer==="client"){return"about:client"}return this[M].referrer.toString()}get referrerPolicy(){U.brandCheck(this,Request);return this[M].referrerPolicy}get mode(){U.brandCheck(this,Request);return this[M].mode}get credentials(){return this[M].credentials}get cache(){U.brandCheck(this,Request);return this[M].cache}get redirect(){U.brandCheck(this,Request);return this[M].redirect}get integrity(){U.brandCheck(this,Request);return this[M].integrity}get keepalive(){U.brandCheck(this,Request);return this[M].keepalive}get isReloadNavigation(){U.brandCheck(this,Request);return this[M].reloadNavigation}get isHistoryNavigation(){U.brandCheck(this,Request);return this[M].historyNavigation}get signal(){U.brandCheck(this,Request);return this[v]}get body(){U.brandCheck(this,Request);return this[M].body?this[M].body.stream:null}get bodyUsed(){U.brandCheck(this,Request);return!!this[M].body&&f.isDisturbed(this[M].body.stream)}get duplex(){U.brandCheck(this,Request);return"half"}clone(){U.brandCheck(this,Request);if(o(this)){throw new TypeError("unusable")}const e=cloneRequest(this[M]);const t=new AbortController;if(this.signal.aborted){t.abort(this.signal.reason)}else{let e=$.get(this.signal);if(e===undefined){e=new Set;$.set(this.signal,e)}const r=new WeakRef(t);e.add(r);f.addAbortListener(t.signal,buildAbort(r))}return fromInnerRequest(e,t.signal,u(this[F]))}[E.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${E.formatWithOptions(t,r)}`}}A(Request);function makeRequest(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??false,unsafeRequest:e.unsafeRequest??false,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??false,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??false,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??false,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??false,historyNavigation:e.historyNavigation??false,userActivation:e.userActivation??false,taintedOrigin:e.taintedOrigin??false,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??false,done:e.done??false,timingAllowFailed:e.timingAllowFailed??false,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new c(e.headersList):new c}}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=s(t,e.body)}return t}function fromInnerRequest(e,t,r){const n=new Request(x);n[M]=e;n[v]=t;n[F]=new i(x);d(n[F],e.headersList);l(n[F],r);return n}Object.defineProperties(Request.prototype,{method:k,url:k,headers:k,redirect:k,clone:k,signal:k,duplex:k,destination:k,body:k,bodyUsed:k,isHistoryNavigation:k,isReloadNavigation:k,keepalive:k,integrity:k,cache:k,credentials:k,attribute:k,referrerPolicy:k,referrer:k,mode:k,[Symbol.toStringTag]:{value:"Request",configurable:true}});U.converters.Request=U.interfaceConverter(Request);U.converters.RequestInfo=function(e,t,r){if(typeof e==="string"){return U.converters.USVString(e,t,r)}if(e instanceof Request){return U.converters.Request(e,t,r)}return U.converters.USVString(e,t,r)};U.converters.AbortSignal=U.interfaceConverter(AbortSignal);U.converters.RequestInit=U.dictionaryConverter([{key:"method",converter:U.converters.ByteString},{key:"headers",converter:U.converters.HeadersInit},{key:"body",converter:U.nullableConverter(U.converters.BodyInit)},{key:"referrer",converter:U.converters.USVString},{key:"referrerPolicy",converter:U.converters.DOMString,allowedValues:m},{key:"mode",converter:U.converters.DOMString,allowedValues:w},{key:"credentials",converter:U.converters.DOMString,allowedValues:b},{key:"cache",converter:U.converters.DOMString,allowedValues:R},{key:"redirect",converter:U.converters.DOMString,allowedValues:y},{key:"integrity",converter:U.converters.DOMString},{key:"keepalive",converter:U.converters.boolean},{key:"signal",converter:U.nullableConverter(e=>U.converters.AbortSignal(e,"RequestInit","signal",{strict:false}))},{key:"window",converter:U.converters.any},{key:"duplex",converter:U.converters.DOMString,allowedValues:S},{key:"dispatcher",converter:U.converters.any}]);e.exports={Request:Request,makeRequest:makeRequest,fromInnerRequest:fromInnerRequest,cloneRequest:cloneRequest}},1328:(e,t,r)=>{const{Headers:n,HeadersList:A,fill:s,getHeadersGuard:o,setHeadersGuard:i,setHeadersList:a}=r(3257);const{extractBody:c,cloneBody:l,mixinBody:u,hasFinalizationRegistry:d,streamRegistry:h,bodyUnusable:g}=r(6455);const f=r(8529);const E=r(7975);const{kEnumerableProperty:C}=f;const{isValidReasonPhrase:Q,isCancelled:I,isAborted:B,isBlobLike:p,serializeJavascriptValueToJSONString:m,isErrorLike:y,isomorphicEncode:w,environmentSettingsObject:b}=r(3095);const{redirectStatusSet:R,nullBodyStatus:S}=r(5706);const{kState:k,kHeaders:D}=r(6602);const{webidl:N}=r(5162);const{FormData:F}=r(7653);const{URLSerializer:v}=r(5192);const{kConstruct:M}=r(5424);const T=r(4589);const{types:U}=r(7975);const L=new TextEncoder("utf-8");class Response{static error(){const e=fromInnerResponse(makeNetworkError(),"immutable");return e}static json(e,t={}){N.argumentLengthCheck(arguments,1,"Response.json");if(t!==null){t=N.converters.ResponseInit(t)}const r=L.encode(m(e));const n=c(r);const A=fromInnerResponse(makeResponse({}),"response");initializeResponse(A,t,{body:n[0],type:"application/json"});return A}static redirect(e,t=302){N.argumentLengthCheck(arguments,1,"Response.redirect");e=N.converters.USVString(e);t=N.converters["unsigned short"](t);let r;try{r=new URL(e,b.settingsObject.baseUrl)}catch(t){throw new TypeError(`Failed to parse URL from ${e}`,{cause:t})}if(!R.has(t)){throw new RangeError(`Invalid status code ${t}`)}const n=fromInnerResponse(makeResponse({}),"immutable");n[k].status=t;const A=w(v(r));n[k].headersList.append("location",A,true);return n}constructor(e=null,t={}){N.util.markAsUncloneable(this);if(e===M){return}if(e!==null){e=N.converters.BodyInit(e)}t=N.converters.ResponseInit(t);this[k]=makeResponse({});this[D]=new n(M);i(this[D],"response");a(this[D],this[k].headersList);let r=null;if(e!=null){const[t,n]=c(e);r={body:t,type:n}}initializeResponse(this,t,r)}get type(){N.brandCheck(this,Response);return this[k].type}get url(){N.brandCheck(this,Response);const e=this[k].urlList;const t=e[e.length-1]??null;if(t===null){return""}return v(t,true)}get redirected(){N.brandCheck(this,Response);return this[k].urlList.length>1}get status(){N.brandCheck(this,Response);return this[k].status}get ok(){N.brandCheck(this,Response);return this[k].status>=200&&this[k].status<=299}get statusText(){N.brandCheck(this,Response);return this[k].statusText}get headers(){N.brandCheck(this,Response);return this[D]}get body(){N.brandCheck(this,Response);return this[k].body?this[k].body.stream:null}get bodyUsed(){N.brandCheck(this,Response);return!!this[k].body&&f.isDisturbed(this[k].body.stream)}clone(){N.brandCheck(this,Response);if(g(this)){throw N.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[k]);if(d&&this[k].body?.stream){h.register(this,new WeakRef(this[k].body.stream))}return fromInnerResponse(e,o(this[D]))}[E.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${E.formatWithOptions(t,r)}`}}u(Response);Object.defineProperties(Response.prototype,{type:C,url:C,status:C,ok:C,redirected:C,statusText:C,headers:C,clone:C,body:C,bodyUsed:C,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:C,redirect:C,error:C});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=l(t,e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new A(e?.headersList):new A,urlList:e?.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=y(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function isNetworkError(e){return e.type==="error"&&e.status===0}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,r){return r in t?t[r]:e[r]},set(e,r,n){T(!(r in t));e[r]=n;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{T(false)}}function makeAppropriateNetworkError(e,t=null){T(I(e));return B(e)?makeNetworkError(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,r){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!Q(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[k].status=t.status}if("statusText"in t&&t.statusText!=null){e[k].statusText=t.statusText}if("headers"in t&&t.headers!=null){s(e[D],t.headers)}if(r){if(S.includes(e.status)){throw N.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`})}e[k].body=r.body;if(r.type!=null&&!e[k].headersList.contains("content-type",true)){e[k].headersList.append("content-type",r.type,true)}}}function fromInnerResponse(e,t){const r=new Response(M);r[k]=e;r[D]=new n(M);a(r[D],e.headersList);i(r[D],t);if(d&&e.body?.stream){h.register(r,new WeakRef(e.body.stream))}return r}N.converters.ReadableStream=N.interfaceConverter(ReadableStream);N.converters.FormData=N.interfaceConverter(F);N.converters.URLSearchParams=N.interfaceConverter(URLSearchParams);N.converters.XMLHttpRequestBodyInit=function(e,t,r){if(typeof e==="string"){return N.converters.USVString(e,t,r)}if(p(e)){return N.converters.Blob(e,t,r,{strict:false})}if(ArrayBuffer.isView(e)||U.isArrayBuffer(e)){return N.converters.BufferSource(e,t,r)}if(f.isFormDataLike(e)){return N.converters.FormData(e,t,r,{strict:false})}if(e instanceof URLSearchParams){return N.converters.URLSearchParams(e,t,r)}return N.converters.DOMString(e,t,r)};N.converters.BodyInit=function(e,t,r){if(e instanceof ReadableStream){return N.converters.ReadableStream(e,t,r)}if(e?.[Symbol.asyncIterator]){return e}return N.converters.XMLHttpRequestBodyInit(e,t,r)};N.converters.ResponseInit=N.dictionaryConverter([{key:"status",converter:N.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:N.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:N.converters.HeadersInit}]);e.exports={isNetworkError:isNetworkError,makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse,fromInnerResponse:fromInnerResponse}},6602:e=>{e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}},3095:(e,t,r)=>{const{Transform:n}=r(7075);const A=r(8522);const{redirectStatusSet:s,referrerPolicySet:o,badPortsSet:i}=r(5706);const{getGlobalOrigin:a}=r(8712);const{collectASequenceOfCodePoints:c,collectAnHTTPQuotedString:l,removeChars:u,parseMIMEType:d}=r(5192);const{performance:h}=r(643);const{isBlobLike:g,ReadableStreamFrom:f,isValidHTTPToken:E,normalizedMethodRecordsBase:C}=r(8529);const Q=r(4589);const{isUint8Array:I}=r(3429);const{webidl:B}=r(5162);let p=[];let m;try{m=r(7598);const e=["sha256","sha384","sha512"];p=m.getHashes().filter(t=>e.includes(t))}catch{}function responseURL(e){const t=e.urlList;const r=t.length;return r===0?null:t[r-1].toString()}function responseLocationURL(e,t){if(!s.has(e.status)){return null}let r=e.headersList.get("location",true);if(r!==null&&isValidHeaderValue(r)){if(!isValidEncodedURL(r)){r=normalizeBinaryStringToUtf8(r)}r=new URL(r,responseURL(e))}if(r&&!r.hash){r.hash=t}return r}function isValidEncodedURL(e){for(let t=0;t126||r<32){return false}}return true}function normalizeBinaryStringToUtf8(e){return Buffer.from(e,"binary").toString("utf8")}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&i.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&r<=126||r>=128&&r<=255)){return false}}return true}const y=E;function isValidHeaderValue(e){return(e[0]==="\t"||e[0]===" "||e[e.length-1]==="\t"||e[e.length-1]===" "||e.includes("\n")||e.includes("\r")||e.includes("\0"))===false}function setRequestReferrerPolicyOnRedirect(e,t){const{headersList:r}=t;const n=(r.get("referrer-policy",true)??"").split(",");let A="";if(n.length>0){for(let e=n.length;e!==0;e--){const t=n[e-1].trim();if(o.has(t)){A=t;break}}}if(A!==""){e.referrerPolicy=A}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t,true)}function appendRequestOriginHeader(e){let t=e.origin;if(t==="client"||t===undefined){return}if(e.responseTainting==="cors"||e.mode==="websocket"){e.headersList.append("origin",t,true)}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":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}e.headersList.append("origin",t,true)}}function coarsenTime(e,t){return e}function clampAndCoarsenConnectionTimingInfo(e,t,r){if(!e?.startTime||e.startTime4096){n=A}const s=sameOrigin(e,n);const o=isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return A!=null?A:stripURLForReferrer(r,true);case"unsafe-url":return n;case"same-origin":return s?A:"no-referrer";case"origin-when-cross-origin":return s?n:A;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(n,t)){return n}if(isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return A}case"strict-origin":case"no-referrer-when-downgrade":default:return o?"no-referrer":A}}function stripURLForReferrer(e,t){Q(e instanceof URL);e=new URL(e);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(m===undefined){return true}const r=parseMetadata(t);if(r==="no metadata"){return true}if(r.length===0){return true}const n=getStrongestMetadata(r);const A=filterMetadataListByAlgorithm(r,n);for(const t of A){const r=t.algo;const n=t.hash;let A=m.createHash(r).update(e).digest("base64");if(A[A.length-1]==="="){if(A[A.length-2]==="="){A=A.slice(0,-2)}else{A=A.slice(0,-1)}}if(compareBase64Mixed(A,n)){return true}}return false}const w=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let r=true;for(const n of e.split(" ")){r=false;const e=w.exec(n);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const A=e.groups.algo.toLowerCase();if(p.includes(A)){t.push(e.groups)}}if(r===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let r=1;r{e=r;t=n});return{promise:r,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function normalizeMethod(e){return C[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}Q(typeof t==="string");return t}const b=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function createIterator(e,t,r=0,n=1){class FastIterableIterator{#W;#q;#j;constructor(e,t){this.#W=e;this.#q=t;this.#j=0}next(){if(typeof this!=="object"||this===null||!(#W in this)){throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`)}const A=this.#j;const s=this.#W[t];const o=s.length;if(A>=o){return{value:undefined,done:true}}const{[r]:i,[n]:a}=s[A];this.#j=A+1;let c;switch(this.#q){case"key":c=i;break;case"value":c=a;break;case"key+value":c=[i,a];break}return{value:c,done:false}}}delete FastIterableIterator.prototype.constructor;Object.setPrototypeOf(FastIterableIterator.prototype,b);Object.defineProperties(FastIterableIterator.prototype,{[Symbol.toStringTag]:{writable:false,enumerable:false,configurable:true,value:`${e} Iterator`},next:{writable:true,enumerable:true,configurable:true}});return function(e,t){return new FastIterableIterator(e,t)}}function iteratorMixin(e,t,r,n=0,A=1){const s=createIterator(e,r,n,A);const o={keys:{writable:true,enumerable:true,configurable:true,value:function keys(){B.brandCheck(this,t);return s(this,"key")}},values:{writable:true,enumerable:true,configurable:true,value:function values(){B.brandCheck(this,t);return s(this,"value")}},entries:{writable:true,enumerable:true,configurable:true,value:function entries(){B.brandCheck(this,t);return s(this,"key+value")}},forEach:{writable:true,enumerable:true,configurable:true,value:function forEach(r,n=globalThis){B.brandCheck(this,t);B.argumentLengthCheck(arguments,1,`${e}.forEach`);if(typeof r!=="function"){throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`)}for(const{0:e,1:t}of s(this,"key+value")){r.call(n,t,e,this)}}}};return Object.defineProperties(t.prototype,{...o,[Symbol.iterator]:{writable:true,enumerable:false,configurable:true,value:o.entries.value}})}async function fullyReadBody(e,t,r){const n=t;const A=r;let s;try{s=e.stream.getReader()}catch(e){A(e);return}try{n(await readAllBytes(s))}catch(e){A(e)}}function isReadableStreamLike(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}function readableStreamClose(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}}}const R=/[^\x00-\xFF]/;function isomorphicEncode(e){Q(!R.test(e));return e}async function readAllBytes(e){const t=[];let r=0;while(true){const{done:n,value:A}=await e.read();if(n){return Buffer.concat(t,r)}if(!I(A)){throw new TypeError("Received non-Uint8Array chunk")}t.push(A);r+=A.length}}function urlIsLocal(e){Q("protocol"in e);const t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function urlHasHttpsScheme(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 urlIsHttpHttpsScheme(e){Q("protocol"in e);const t=e.protocol;return t==="http:"||t==="https:"}function simpleRangeHeaderValue(e,t){const r=e;if(!r.startsWith("bytes")){return"failure"}const n={position:5};if(t){c(e=>e==="\t"||e===" ",r,n)}if(r.charCodeAt(n.position)!==61){return"failure"}n.position++;if(t){c(e=>e==="\t"||e===" ",r,n)}const A=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},r,n);const s=A.length?Number(A):null;if(t){c(e=>e==="\t"||e===" ",r,n)}if(r.charCodeAt(n.position)!==45){return"failure"}n.position++;if(t){c(e=>e==="\t"||e===" ",r,n)}const o=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},r,n);const i=o.length?Number(o):null;if(n.positioni){return"failure"}return{rangeStartValue:s,rangeEndValue:i}}function buildContentRange(e,t,r){let n="bytes ";n+=isomorphicEncode(`${e}`);n+="-";n+=isomorphicEncode(`${t}`);n+="/";n+=isomorphicEncode(`${r}`);return n}class InflateStream extends n{#z;constructor(e){super();this.#z=e}_transform(e,t,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?A.createInflate(this.#z):A.createInflateRaw(this.#z);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,r)}_final(e){if(this._inflateStream){this._inflateStream.end();this._inflateStream=null}e()}}function createInflate(e){return new InflateStream(e)}function extractMimeType(e){let t=null;let r=null;let n=null;const A=getDecodeSplit("content-type",e);if(A===null){return"failure"}for(const e of A){const A=d(e);if(A==="failure"||A.essence==="*/*"){continue}n=A;if(n.essence!==r){t=null;if(n.parameters.has("charset")){t=n.parameters.get("charset")}r=n.essence}else if(!n.parameters.has("charset")&&t!==null){n.parameters.set("charset",t)}}if(n==null){return"failure"}return n}function gettingDecodingSplitting(e){const t=e;const r={position:0};const n=[];let A="";while(r.positione!=='"'&&e!==",",t,r);if(r.positione===9||e===32);n.push(A);A=""}return n}function getDecodeSplit(e,t){const r=t.get(e,true);if(r===null){return null}return gettingDecodingSplitting(r)}const S=new TextDecoder;function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=S.decode(e);return t}class EnvironmentSettingsObjectBase{get baseUrl(){return a()}get origin(){return this.baseUrl?.origin}policyContainer=makePolicyContainer()}class EnvironmentSettingsObject{settingsObject=new EnvironmentSettingsObjectBase}const k=new EnvironmentSettingsObject;e.exports={isAborted:isAborted,isCancelled:isCancelled,isValidEncodedURL:isValidEncodedURL,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:f,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,clampAndCoarsenConnectionTimingInfo:clampAndCoarsenConnectionTimingInfo,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:E,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:g,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,iteratorMixin:iteratorMixin,createIterator:createIterator,isValidHeaderName:y,isValidHeaderValue:isValidHeaderValue,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,simpleRangeHeaderValue:simpleRangeHeaderValue,buildContentRange:buildContentRange,parseMetadata:parseMetadata,createInflate:createInflate,extractMimeType:extractMimeType,getDecodeSplit:getDecodeSplit,utf8DecodeBytes:utf8DecodeBytes,environmentSettingsObject:k}},5162:(e,t,r)=>{const{types:n,inspect:A}=r(7975);const{markAsUncloneable:s}=r(5919);const{toUSVString:o}=r(8529);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const r=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:r})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,r){if(r?.strict!==false){if(!(e instanceof t)){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}else{if(e?.[Symbol.toStringTag]!==t.prototype[Symbol.toStringTag]){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}};i.argumentLengthCheck=function({length:e},t,r){if(e{});i.util.ConvertToInt=function(e,t,r,n){let A;let s;if(t===64){A=Math.pow(2,53)-1;if(r==="unsigned"){s=0}else{s=Math.pow(-2,53)+1}}else if(r==="unsigned"){s=0;A=Math.pow(2,t)-1}else{s=Math.pow(-2,t)-1;A=Math.pow(2,t-1)-1}let o=Number(e);if(o===0){o=0}if(n?.enforceRange===true){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY){throw i.errors.exception({header:"Integer conversion",message:`Could not convert ${i.util.Stringify(e)} to an integer.`})}o=i.util.IntegerPart(o);if(oA){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${s}-${A}, got ${o}.`})}return o}if(!Number.isNaN(o)&&n?.clamp===true){o=Math.min(Math.max(o,s),A);if(Math.floor(o)%2===0){o=Math.floor(o)}else{o=Math.ceil(o)}return o}if(Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY){return 0}o=i.util.IntegerPart(o);o=o%Math.pow(2,t);if(r==="signed"&&o>=Math.pow(2,t)-1){return o-Math.pow(2,t)}return o};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.util.Stringify=function(e){const t=i.util.Type(e);switch(t){case"Symbol":return`Symbol(${e.description})`;case"Object":return A(e);case"String":return`"${e}"`;default:return`${e}`}};i.sequenceConverter=function(e){return(t,r,n,A)=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:r,message:`${n} (${i.util.Stringify(t)}) is not iterable.`})}const s=typeof A==="function"?A():t?.[Symbol.iterator]?.();const o=[];let a=0;if(s===undefined||typeof s.next!=="function"){throw i.errors.exception({header:r,message:`${n} is not iterable.`})}while(true){const{done:t,value:A}=s.next();if(t){break}o.push(e(A,r,`${n}[${a++}]`))}return o}};i.recordConverter=function(e,t){return(r,A,s)=>{if(i.util.Type(r)!=="Object"){throw i.errors.exception({header:A,message:`${s} ("${i.util.Type(r)}") is not an Object.`})}const o={};if(!n.isProxy(r)){const n=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(const i of n){const n=e(i,A,s);const a=t(r[i],A,s);o[n]=a}return o}const a=Reflect.ownKeys(r);for(const n of a){const i=Reflect.getOwnPropertyDescriptor(r,n);if(i?.enumerable){const i=e(n,A,s);const a=t(r[n],A,s);o[i]=a}}return o}};i.interfaceConverter=function(e){return(t,r,n,A)=>{if(A?.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:r,message:`Expected ${n} ("${i.util.Stringify(t)}") to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return(t,r,n)=>{const A=i.util.Type(t);const s={};if(A==="Null"||A==="Undefined"){return s}else if(A!=="Object"){throw i.errors.exception({header:r,message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const A of e){const{key:e,defaultValue:o,required:a,converter:c}=A;if(a===true){if(!Object.hasOwn(t,e)){throw i.errors.exception({header:r,message:`Missing required key "${e}".`})}}let l=t[e];const u=Object.hasOwn(A,"defaultValue");if(u&&l!==null){l??=o()}if(a||u||l!==undefined){l=c(l,r,`${n}.${e}`);if(A.allowedValues&&!A.allowedValues.includes(l)){throw i.errors.exception({header:r,message:`${l} is not an accepted type. Expected one of ${A.allowedValues.join(", ")}.`})}s[e]=l}}return s}};i.nullableConverter=function(e){return(t,r,n)=>{if(t===null){return t}return e(t,r,n)}};i.converters.DOMString=function(e,t,r,n){if(e===null&&n?.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw i.errors.exception({header:t,message:`${r} is a symbol, which cannot be converted to a DOMString.`})}return String(e)};i.converters.ByteString=function(e,t,r){const n=i.converters.DOMString(e,t,r);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${n.charCodeAt(e)} which is greater than 255.`)}}return n};i.converters.USVString=o;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e,t,r){const n=i.util.ConvertToInt(e,64,"signed",undefined,t,r);return n};i.converters["unsigned long long"]=function(e,t,r){const n=i.util.ConvertToInt(e,64,"unsigned",undefined,t,r);return n};i.converters["unsigned long"]=function(e,t,r){const n=i.util.ConvertToInt(e,32,"unsigned",undefined,t,r);return n};i.converters["unsigned short"]=function(e,t,r,n){const A=i.util.ConvertToInt(e,16,"unsigned",n,t,r);return A};i.converters.ArrayBuffer=function(e,t,r,A){if(i.util.Type(e)!=="Object"||!n.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:t,argument:`${r} ("${i.util.Stringify(e)}")`,types:["ArrayBuffer"]})}if(A?.allowShared===false&&n.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.resizable||e.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.TypedArray=function(e,t,r,A,s){if(i.util.Type(e)!=="Object"||!n.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:r,argument:`${A} ("${i.util.Stringify(e)}")`,types:[t.name]})}if(s?.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.DataView=function(e,t,r,A){if(i.util.Type(e)!=="Object"||!n.isDataView(e)){throw i.errors.exception({header:t,message:`${r} is not a DataView.`})}if(A?.allowShared===false&&n.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw i.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};i.converters.BufferSource=function(e,t,r,A){if(n.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t,r,{...A,allowShared:false})}if(n.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor,t,r,{...A,allowShared:false})}if(n.isDataView(e)){return i.converters.DataView(e,t,r,{...A,allowShared:false})}throw i.errors.conversionFailed({prefix:t,argument:`${r} ("${i.util.Stringify(e)}")`,types:["BufferSource"]})};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},9944:e=>{function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},5660:(e,t,r)=>{const{staticPropertyDescriptors:n,readOperation:A,fireAProgressEvent:s}=r(857);const{kState:o,kError:i,kResult:a,kEvents:c,kAborted:l}=r(7192);const{webidl:u}=r(5162);const{kEnumerableProperty:d}=r(8529);class FileReader extends EventTarget{constructor(){super();this[o]="empty";this[a]=null;this[i]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer");e=u.converters.Blob(e,{strict:false});A(this,e,"ArrayBuffer")}readAsBinaryString(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString");e=u.converters.Blob(e,{strict:false});A(this,e,"BinaryString")}readAsText(e,t=undefined){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,"FileReader.readAsText");e=u.converters.Blob(e,{strict:false});if(t!==undefined){t=u.converters.DOMString(t,"FileReader.readAsText","encoding")}A(this,e,"Text",t)}readAsDataURL(e){u.brandCheck(this,FileReader);u.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL");e=u.converters.Blob(e,{strict:false});A(this,e,"DataURL")}abort(){if(this[o]==="empty"||this[o]==="done"){this[a]=null;return}if(this[o]==="loading"){this[o]="done";this[a]=null}this[l]=true;s("abort",this);if(this[o]!=="loading"){s("loadend",this)}}get readyState(){u.brandCheck(this,FileReader);switch(this[o]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){u.brandCheck(this,FileReader);return this[a]}get error(){u.brandCheck(this,FileReader);return this[i]}get onloadend(){u.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){u.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){u.brandCheck(this,FileReader);return this[c].error}set onerror(e){u.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){u.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){u.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){u.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){u.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){u.brandCheck(this,FileReader);return this[c].load}set onload(e){u.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){u.brandCheck(this,FileReader);return this[c].abort}set onabort(e){u.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:n,LOADING:n,DONE:n,readAsArrayBuffer:d,readAsBinaryString:d,readAsText:d,readAsDataURL:d,abort:d,readyState:d,result:d,error:d,onloadstart:d,onprogress:d,onload:d,onabort:d,onerror:d,onloadend:d,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:n,LOADING:n,DONE:n});e.exports={FileReader:FileReader}},4732:(e,t,r)=>{const{webidl:n}=r(5162);const A=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=n.converters.DOMString(e,"ProgressEvent constructor","type");t=n.converters.ProgressEventInit(t??{});super(e,t);this[A]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){n.brandCheck(this,ProgressEvent);return this[A].lengthComputable}get loaded(){n.brandCheck(this,ProgressEvent);return this[A].loaded}get total(){n.brandCheck(this,ProgressEvent);return this[A].total}}n.converters.ProgressEventInit=n.dictionaryConverter([{key:"lengthComputable",converter:n.converters.boolean,defaultValue:()=>false},{key:"loaded",converter:n.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:n.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:n.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:n.converters.boolean,defaultValue:()=>false},{key:"composed",converter:n.converters.boolean,defaultValue:()=>false}]);e.exports={ProgressEvent:ProgressEvent}},7192:e=>{e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},857:(e,t,r)=>{const{kState:n,kError:A,kResult:s,kAborted:o,kLastProgressEventFired:i}=r(7192);const{ProgressEvent:a}=r(4732);const{getEncoding:c}=r(9944);const{serializeAMimeType:l,parseMIMEType:u}=r(5192);const{types:d}=r(7975);const{StringDecoder:h}=r(3193);const{btoa:g}=r(4573);const f={enumerable:true,writable:false,configurable:false};function readOperation(e,t,r,a){if(e[n]==="loading"){throw new DOMException("Invalid state","InvalidStateError")}e[n]="loading";e[s]=null;e[A]=null;const c=t.stream();const l=c.getReader();const u=[];let h=l.read();let g=true;(async()=>{while(!e[o]){try{const{done:c,value:f}=await h;if(g&&!e[o]){queueMicrotask(()=>{fireAProgressEvent("loadstart",e)})}g=false;if(!c&&d.isUint8Array(f)){u.push(f);if((e[i]===undefined||Date.now()-e[i]>=50)&&!e[o]){e[i]=Date.now();queueMicrotask(()=>{fireAProgressEvent("progress",e)})}h=l.read()}else if(c){queueMicrotask(()=>{e[n]="done";try{const n=packageData(u,r,t.type,a);if(e[o]){return}e[s]=n;fireAProgressEvent("load",e)}catch(t){e[A]=t;fireAProgressEvent("error",e)}if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}});break}}catch(t){if(e[o]){return}queueMicrotask(()=>{e[n]="done";e[A]=t;fireAProgressEvent("error",e);if(e[n]!=="loading"){fireAProgressEvent("loadend",e)}});break}}})()}function fireAProgressEvent(e,t){const r=new a(e,{bubbles:false,cancelable:false});t.dispatchEvent(r)}function packageData(e,t,r,n){switch(t){case"DataURL":{let t="data:";const n=u(r||"application/octet-stream");if(n!=="failure"){t+=l(n)}t+=";base64,";const A=new h("latin1");for(const r of e){t+=g(A.write(r))}t+=g(A.end());return t}case"Text":{let t="failure";if(n){t=c(n)}if(t==="failure"&&r){const e=u(r);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const r=new h("latin1");for(const n of e){t+=r.write(n)}t+=r.end();return t}}}function decode(e,t){const r=combineByteSequences(e);const n=BOMSniffing(r);let A=0;if(n!==null){t=n;A=n==="UTF-8"?3:2}const s=r.slice(A);return new TextDecoder(t).decode(s)}function BOMSniffing(e){const[t,r,n]=e;if(t===239&&r===187&&n===191){return"UTF-8"}else if(t===254&&r===255){return"UTF-16BE"}else if(t===255&&r===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce((e,t)=>e+t.byteLength,0);let r=0;return e.reduce((e,t)=>{e.set(t,r);r+=t.byteLength;return e},new Uint8Array(t))}e.exports={staticPropertyDescriptors:f,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},6890:(e,t,r)=>{const{uid:n,states:A,sentCloseFrameState:s,emptyBuffer:o,opcodes:i}=r(6869);const{kReadyState:a,kSentClose:c,kByteParser:l,kReceivedClose:u,kResponse:d}=r(5457);const{fireEvent:h,failWebsocketConnection:g,isClosing:f,isClosed:E,isEstablished:C,parseExtensions:Q}=r(1226);const{channels:I}=r(1509);const{CloseEvent:B}=r(659);const{makeRequest:p}=r(6398);const{fetching:m}=r(8263);const{Headers:y,getHeadersList:w}=r(3257);const{getDecodeSplit:b}=r(3095);const{WebsocketFrameSend:R}=r(2129);let S;try{S=r(7598)}catch{}function establishWebSocketConnection(e,t,r,A,s,o){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const a=p({urlList:[i],client:r,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){const e=w(new y(o.headers));a.headersList=e}const c=S.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",c);a.headersList.append("sec-websocket-version","13");for(const e of t){a.headersList.append("sec-websocket-protocol",e)}const l="permessage-deflate; client_max_window_bits";a.headersList.append("sec-websocket-extensions",l);const u=m({request:a,useParallelQueue:true,dispatcher:o.dispatcher,processResponse(e){if(e.type==="error"||e.status!==101){g(A,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){g(A,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){g(A,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){g(A,'Server did not set Connection header to "upgrade".');return}const r=e.headersList.get("Sec-WebSocket-Accept");const o=S.createHash("sha1").update(c+n).digest("base64");if(r!==o){g(A,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const i=e.headersList.get("Sec-WebSocket-Extensions");let l;if(i!==null){l=Q(i);if(!l.has("permessage-deflate")){g(A,"Sec-WebSocket-Extensions header does not match.");return}}const u=e.headersList.get("Sec-WebSocket-Protocol");if(u!==null){const e=b("sec-websocket-protocol",a.headersList);if(e===null||!e.includes(u)){g(A,"Protocol was not set in the opening handshake.");return}}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(I.open.hasSubscribers){I.open.publish({address:e.socket.address(),protocol:u,extensions:i})}s(e,l)}});return u}function closeWebSocketConnection(e,t,r,n){if(f(e)||E(e)){}else if(!C(e)){g(e,"Connection was closed before it was established.");e[a]=A.CLOSING}else if(e[c]===s.NOT_SENT){e[c]=s.PROCESSING;const l=new R;if(t!==undefined&&r===undefined){l.frameData=Buffer.allocUnsafe(2);l.frameData.writeUInt16BE(t,0)}else if(t!==undefined&&r!==undefined){l.frameData=Buffer.allocUnsafe(2+n);l.frameData.writeUInt16BE(t,0);l.frameData.write(r,2,"utf-8")}else{l.frameData=o}const u=e[d].socket;u.write(l.createFrame(i.CLOSE));e[c]=s.SENT;e[a]=A.CLOSING}else{e[a]=A.CLOSING}}function onSocketData(e){if(!this.ws[l].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const{[d]:t}=e;t.socket.off("data",onSocketData);t.socket.off("close",onSocketClose);t.socket.off("error",onSocketError);const r=e[c]===s.SENT&&e[u];let n=1005;let o="";const i=e[l].closingInfo;if(i&&!i.error){n=i.code??1005;o=i.reason}else if(!e[u]){n=1006}e[a]=A.CLOSED;h("close",e,(e,t)=>new B(e,t),{wasClean:r,code:n,reason:o});if(I.close.hasSubscribers){I.close.publish({websocket:e,code:n,reason:o})}}function onSocketError(e){const{ws:t}=this;t[a]=A.CLOSING;if(I.socketError.hasSubscribers){I.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection,closeWebSocketConnection:closeWebSocketConnection}},6869:e=>{const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const r={enumerable:true,writable:false,configurable:false};const n={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const A={NOT_SENT:0,PROCESSING:1,SENT:2};const s={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const o=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const a=Buffer.allocUnsafe(0);const c={string:1,typedArray:2,arrayBuffer:3,blob:4};e.exports={uid:t,sentCloseFrameState:A,staticPropertyDescriptors:r,states:n,opcodes:s,maxUnsigned16Bit:o,parserStates:i,emptyBuffer:a,sendHints:c}},659:(e,t,r)=>{const{webidl:n}=r(5162);const{kEnumerableProperty:A}=r(8529);const{kConstruct:s}=r(5424);const{MessagePort:o}=r(5919);class MessageEvent extends Event{#K;constructor(e,t={}){if(e===s){super(arguments[1],arguments[2]);n.util.markAsUncloneable(this);return}const 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.#K=t;n.util.markAsUncloneable(this)}get data(){n.brandCheck(this,MessageEvent);return this.#K.data}get origin(){n.brandCheck(this,MessageEvent);return this.#K.origin}get lastEventId(){n.brandCheck(this,MessageEvent);return this.#K.lastEventId}get source(){n.brandCheck(this,MessageEvent);return this.#K.source}get ports(){n.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#K.ports)){Object.freeze(this.#K.ports)}return this.#K.ports}initMessageEvent(e,t=false,r=false,A=null,s="",o="",i=null,a=[]){n.brandCheck(this,MessageEvent);n.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent");return new MessageEvent(e,{bubbles:t,cancelable:r,data:A,origin:s,lastEventId:o,source:i,ports:a})}static createFastMessageEvent(e,t){const r=new MessageEvent(s,e,t);r.#K=t;r.#K.data??=null;r.#K.origin??="";r.#K.lastEventId??="";r.#K.source??=null;r.#K.ports??=[];return r}}const{createFastMessageEvent:i}=MessageEvent;delete MessageEvent.createFastMessageEvent;class CloseEvent extends Event{#K;constructor(e,t={}){const r="CloseEvent constructor";n.argumentLengthCheck(arguments,1,r);e=n.converters.DOMString(e,r,"type");t=n.converters.CloseEventInit(t);super(e,t);this.#K=t;n.util.markAsUncloneable(this)}get wasClean(){n.brandCheck(this,CloseEvent);return this.#K.wasClean}get code(){n.brandCheck(this,CloseEvent);return this.#K.code}get reason(){n.brandCheck(this,CloseEvent);return this.#K.reason}}class ErrorEvent extends Event{#K;constructor(e,t){const 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.#K=t}get message(){n.brandCheck(this,ErrorEvent);return this.#K.message}get filename(){n.brandCheck(this,ErrorEvent);return this.#K.filename}get lineno(){n.brandCheck(this,ErrorEvent);return this.#K.lineno}get colno(){n.brandCheck(this,ErrorEvent);return this.#K.colno}get error(){n.brandCheck(this,ErrorEvent);return this.#K.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:A,origin:A,lastEventId:A,source:A,ports:A,initMessageEvent:A});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:A,code:A,wasClean:A});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:A,filename:A,lineno:A,colno:A,error:A});n.converters.MessagePort=n.interfaceConverter(o);n.converters["sequence"]=n.sequenceConverter(n.converters.MessagePort);const a=[{key:"bubbles",converter:n.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:n.converters.boolean,defaultValue:()=>false},{key:"composed",converter:n.converters.boolean,defaultValue:()=>false}];n.converters.MessageEventInit=n.dictionaryConverter([...a,{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"],defaultValue:()=>new Array(0)}]);n.converters.CloseEventInit=n.dictionaryConverter([...a,{key:"wasClean",converter:n.converters.boolean,defaultValue:()=>false},{key:"code",converter:n.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:n.converters.USVString,defaultValue:()=>""}]);n.converters.ErrorEventInit=n.dictionaryConverter([...a,{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}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent,createFastMessageEvent:i}},2129:(e,t,r)=>{const{maxUnsigned16Bit:n}=r(6869);const A=16386;let s;let o=null;let i=A;try{s=r(7598)}catch{s={randomFillSync:function randomFillSync(e,t,r){for(let t=0;tn){o+=8;s=127}else if(A>125){o+=2;s=126}const i=Buffer.allocUnsafe(A+o);i[0]=i[1]=0;i[0]|=128;i[0]=(i[0]&240)+e; +/*! ws. MIT License. Einar Otto Stangvik */i[o-4]=r[0];i[o-3]=r[1];i[o-2]=r[2];i[o-1]=r[3];i[1]=s;if(s===126){i.writeUInt16BE(A,2)}else if(s===127){i[2]=i[3]=0;i.writeUIntBE(A,4,6)}i[1]|=128;for(let e=0;e{const{createInflateRaw:n,Z_DEFAULT_WINDOWBITS:A}=r(8522);const{isValidClientWindowBits:s}=r(1226);const{MessageSizeExceededError:o}=r(9934);const i=Buffer.from([0,0,255,255]);const a=Symbol("kBuffer");const c=Symbol("kLength");class PerMessageDeflate{#Z;#f={};#X=0;constructor(e,t){this.#f.serverNoContextTakeover=e.has("server_no_context_takeover");this.#f.serverMaxWindowBits=e.get("server_max_window_bits");this.#X=t.maxPayloadSize}decompress(e,t,r){if(!this.#Z){let e=A;if(this.#f.serverMaxWindowBits){if(!s(this.#f.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}e=Number.parseInt(this.#f.serverMaxWindowBits)}try{this.#Z=n({windowBits:e})}catch(e){r(e);return}this.#Z[a]=[];this.#Z[c]=0;this.#Z.on("data",e=>{this.#Z[c]+=e.length;if(this.#X>0&&this.#Z[c]>this.#X){r(new o);this.#Z.removeAllListeners();this.#Z.destroy();this.#Z=null;return}this.#Z[a].push(e)});this.#Z.on("error",e=>{this.#Z=null;r(e)})}this.#Z.write(e);if(t){this.#Z.write(i)}this.#Z.flush(()=>{if(!this.#Z){return}const e=Buffer.concat(this.#Z[a],this.#Z[c]);this.#Z[a].length=0;this.#Z[c]=0;r(null,e)})}}e.exports={PerMessageDeflate:PerMessageDeflate}},5183:(e,t,r)=>{const{Writable:n}=r(7075);const A=r(4589);const{parserStates:s,opcodes:o,states:i,emptyBuffer:a,sentCloseFrameState:c}=r(6869);const{kReadyState:l,kSentClose:u,kResponse:d,kReceivedClose:h}=r(5457);const{channels:g}=r(1509);const{isValidStatusCode:f,isValidOpcode:E,failWebsocketConnection:C,websocketMessageReceived:Q,utf8Decode:I,isControlFrame:B,isTextBinaryFrame:p,isContinuationFrame:m}=r(1226);const{WebsocketFrameSend:y}=r(2129);const{closeWebSocketConnection:w}=r(6890);const{PerMessageDeflate:b}=r(7350);const{MessageSizeExceededError:R}=r(9934);function failWebsocketConnectionWithCode(e,t,r){w(e,t,r,Buffer.byteLength(r));C(e,r)}class ByteParser extends n{#ee=[];#te=0;#re=0;#ne=false;#m=s.INFO;#Ae={};#se=[];#oe;#ie;#X;constructor(e,t,r={}){super();this.ws=e;this.#oe=t==null?new Map:t;this.#ie=r.maxFragments??0;this.#X=r.maxPayloadSize??0;if(this.#oe.has("permessage-deflate")){this.#oe.set("permessage-deflate",new b(t,r))}}_write(e,t,r){this.#ee.push(e);this.#re+=e.length;this.#ne=true;this.run(r)}#ae(){if(this.#X>0&&!B(this.#Ae.opcode)&&this.#Ae.payloadLength+this.#te>this.#X){failWebsocketConnectionWithCode(this.ws,1009,"Payload size exceeds maximum allowed size");return false}return true}run(e){while(this.#ne){if(this.#m===s.INFO){if(this.#re<2){return e()}const t=this.consume(2);const r=(t[0]&128)!==0;const n=t[0]&15;const A=(t[1]&128)===128;const i=!r&&n!==o.CONTINUATION;const a=t[1]&127;const c=t[0]&64;const l=t[0]&32;const u=t[0]&16;if(!E(n)){C(this.ws,"Invalid opcode received");return e()}if(A){C(this.ws,"Frame cannot be masked");return e()}if(c!==0&&!this.#oe.has("permessage-deflate")){C(this.ws,"Expected RSV1 to be clear.");return}if(l!==0||u!==0){C(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(i&&!p(n)){C(this.ws,"Invalid frame type was fragmented.");return}if(p(n)&&this.#se.length>0){C(this.ws,"Expected continuation frame");return}if(this.#Ae.fragmented&&i){C(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((a>125||i)&&B(n)){C(this.ws,"Control frame either too large or fragmented");return}if(m(n)&&this.#se.length===0&&!this.#Ae.compressed){C(this.ws,"Unexpected continuation frame");return}if(a<=125){this.#Ae.payloadLength=a;this.#m=s.READ_DATA;if(!this.#ae()){return}}else if(a===126){this.#m=s.PAYLOADLENGTH_16}else if(a===127){this.#m=s.PAYLOADLENGTH_64}if(p(n)){this.#Ae.binaryType=n;this.#Ae.compressed=c!==0}this.#Ae.opcode=n;this.#Ae.masked=A;this.#Ae.fin=r;this.#Ae.fragmented=i}else if(this.#m===s.PAYLOADLENGTH_16){if(this.#re<2){return e()}const t=this.consume(2);this.#Ae.payloadLength=t.readUInt16BE(0);this.#m=s.READ_DATA;if(!this.#ae()){return}}else if(this.#m===s.PAYLOADLENGTH_64){if(this.#re<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);const n=t.readUInt32BE(4);if(r!==0||n>2**31-1){C(this.ws,"Received payload length > 2^31 bytes.");return}this.#Ae.payloadLength=n;this.#m=s.READ_DATA;if(!this.#ae()){return}}else if(this.#m===s.READ_DATA){if(this.#re{if(this.destroyed)return;this.#ne=true;this.run(e)});return}}else{if(!this.#Ae.compressed){if(!this.writeFragments(t)){return}if(this.#X>0&&this.#te>this.#X){failWebsocketConnectionWithCode(this.ws,1009,(new R).message);return}if(!this.#Ae.fragmented&&this.#Ae.fin){Q(this.ws,this.#Ae.binaryType,this.consumeFragments())}this.#m=s.INFO}else{this.#oe.get("permessage-deflate").decompress(t,this.#Ae.fin,(t,r)=>{if(t){const e=t instanceof R?1009:1007;failWebsocketConnectionWithCode(this.ws,e,t.message);return}if(!this.writeFragments(r)){return}if(this.#X>0&&this.#te>this.#X){failWebsocketConnectionWithCode(this.ws,1009,(new R).message);return}if(!this.#Ae.fin){this.#m=s.INFO;this.#ne=true;this.run(e);return}Q(this.ws,this.#Ae.binaryType,this.consumeFragments());this.#ne=true;this.#m=s.INFO;this.run(e)});this.#ne=false;break}}}}}consume(e){if(e>this.#re){throw new Error("Called consume() before buffers satiated.")}else if(e===0){return a}if(this.#ee[0].length===e){this.#re-=this.#ee[0].length;return this.#ee.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const n=this.#ee[0];const{length:A}=n;if(A+r===e){t.set(this.#ee.shift(),r);break}else if(A+r>e){t.set(n.subarray(0,e-r),r);this.#ee[0]=n.subarray(e-r);break}else{t.set(this.#ee.shift(),r);r+=n.length}}this.#re-=e;return t}writeFragments(e){if(this.#ie>0&&this.#se.length===this.#ie){failWebsocketConnectionWithCode(this.ws,1008,"Too many message fragments");return false}this.#te+=e.length;this.#se.push(e);return true}consumeFragments(){const e=this.#se;if(e.length===1){this.#te=0;return e.shift()}const t=Buffer.concat(e,this.#te);this.#se=[];this.#te=0;return t}parseCloseBody(e){A(e.length!==1);let t;if(e.length>=2){t=e.readUInt16BE(0)}if(t!==undefined&&!f(t)){return{code:1002,reason:"Invalid status code",error:true}}let r=e.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191){r=r.subarray(3)}try{r=I(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:true}}return{code:t,reason:r,error:false}}parseControlFrame(e){const{opcode:t,payloadLength:r}=this.#Ae;if(t===o.CLOSE){if(r===1){C(this.ws,"Received close frame with a 1-byte body.");return false}this.#Ae.closeInfo=this.parseCloseBody(e);if(this.#Ae.closeInfo.error){const{code:e,reason:t}=this.#Ae.closeInfo;w(this.ws,e,t,t.length);C(this.ws,t);return false}if(this.ws[u]!==c.SENT){let e=a;if(this.#Ae.closeInfo.code){e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#Ae.closeInfo.code,0)}const t=new y(e);this.ws[d].socket.write(t.createFrame(o.CLOSE),e=>{if(!e){this.ws[u]=c.SENT}})}this.ws[l]=i.CLOSING;this.ws[h]=true;return false}else if(t===o.PING){if(!this.ws[h]){const t=new y(e);this.ws[d].socket.write(t.createFrame(o.PONG));if(g.ping.hasSubscribers){g.ping.publish({payload:e})}}}else if(t===o.PONG){if(g.pong.hasSubscribers){g.pong.publish({payload:e})}}return true}get closingInfo(){return this.#Ae.closeInfo}}e.exports={ByteParser:ByteParser}},9051:(e,t,r)=>{const{WebsocketFrameSend:n}=r(2129);const{opcodes:A,sendHints:s}=r(6869);const o=r(4007);const i=Buffer[Symbol.species];class SendQueue{#ce=new o;#le=false;#ue;constructor(e){this.#ue=e}add(e,t,r){if(r!==s.blob){const n=createFrame(e,r);if(!this.#le){this.#ue.write(n,t)}else{const e={promise:null,callback:t,frame:n};this.#ce.push(e)}return}const n={promise:e.arrayBuffer().then(e=>{n.promise=null;n.frame=createFrame(e,r)}),callback:t,frame:null};this.#ce.push(n);if(!this.#le){this.#de()}}async#de(){this.#le=true;const e=this.#ce;while(!e.isEmpty()){const t=e.shift();if(t.promise!==null){await t.promise}this.#ue.write(t.frame,t.callback);t.callback=t.frame=null}this.#le=false}}function createFrame(e,t){return new n(toBuffer(e,t)).createFrame(t===s.string?A.TEXT:A.BINARY)}function toBuffer(e,t){switch(t){case s.string:return Buffer.from(e);case s.arrayBuffer:case s.blob:return new i(e);case s.typedArray:return new i(e.buffer,e.byteOffset,e.byteLength)}}e.exports={SendQueue:SendQueue}},5457:e=>{e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},1226:(e,t,r)=>{const{kReadyState:n,kController:A,kResponse:s,kBinaryType:o,kWebSocketURL:i}=r(5457);const{states:a,opcodes:c}=r(6869);const{ErrorEvent:l,createFastMessageEvent:u}=r(659);const{isUtf8:d}=r(4573);const{collectASequenceOfCodePointsFast:h,removeHTTPWhitespace:g}=r(5192);function isConnecting(e){return e[n]===a.CONNECTING}function isEstablished(e){return e[n]===a.OPEN}function isClosing(e){return e[n]===a.CLOSING}function isClosed(e){return e[n]===a.CLOSED}function fireEvent(e,t,r=(e,t)=>new Event(e,t),n={}){const A=r(e,n);t.dispatchEvent(A)}function websocketMessageReceived(e,t,r){if(e[n]!==a.OPEN){return}let A;if(t===c.TEXT){try{A=C(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[o]==="blob"){A=new Blob([r])}else{A=toArrayBuffer(r)}}fireEvent("message",e,u,{origin:e[i].origin,data:A})}function toArrayBuffer(e){if(e.byteLength===e.buffer.byteLength){return e.buffer}return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function isValidSubprotocol(e){if(e.length===0){return false}for(let t=0;t126||r===34||r===40||r===41||r===44||r===47||r===58||r===59||r===60||r===61||r===62||r===63||r===64||r===91||r===92||r===93||r===123||r===125){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[A]:r,[s]:n}=e;r.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(t){fireEvent("error",e,(e,t)=>new l(e,t),{error:new Error(t),message:t})}}function isControlFrame(e){return e===c.CLOSE||e===c.PING||e===c.PONG}function isContinuationFrame(e){return e===c.CONTINUATION}function isTextBinaryFrame(e){return e===c.TEXT||e===c.BINARY}function isValidOpcode(e){return isTextBinaryFrame(e)||isContinuationFrame(e)||isControlFrame(e)}function parseExtensions(e){const t={position:0};const r=new Map;while(t.position57){return false}}const t=Number.parseInt(e,10);return t>=8&&t<=15}const f=typeof process.versions.icu==="string";const E=f?new TextDecoder("utf-8",{fatal:true}):undefined;const C=f?E.decode.bind(E):function(e){if(d(e)){return e.toString("utf-8")}throw new TypeError("Invalid utf-8 received.")};e.exports={isConnecting:isConnecting,isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived,utf8Decode:C,isControlFrame:isControlFrame,isContinuationFrame:isContinuationFrame,isTextBinaryFrame:isTextBinaryFrame,isValidOpcode:isValidOpcode,parseExtensions:parseExtensions,isValidClientWindowBits:isValidClientWindowBits}},9708:(e,t,r)=>{const{webidl:n}=r(5162);const{URLSerializer:A}=r(5192);const{environmentSettingsObject:s}=r(3095);const{staticPropertyDescriptors:o,states:i,sentCloseFrameState:a,sendHints:c}=r(6869);const{kWebSocketURL:l,kReadyState:u,kController:d,kBinaryType:h,kResponse:g,kSentClose:f,kByteParser:E}=r(5457);const{isConnecting:C,isEstablished:Q,isClosing:I,isValidSubprotocol:B,fireEvent:p}=r(1226);const{establishWebSocketConnection:m,closeWebSocketConnection:y}=r(6890);const{ByteParser:w}=r(5183);const{kEnumerableProperty:b,isBlobLike:R}=r(8529);const{getGlobalDispatcher:S}=r(4498);const{types:k}=r(7975);const{ErrorEvent:D,CloseEvent:N}=r(659);const{SendQueue:F}=r(9051);class WebSocket extends EventTarget{#x={open:null,error:null,close:null,message:null};#he=0;#ge="";#oe="";#fe;constructor(e,t=[]){super();n.util.markAsUncloneable(this);const r="WebSocket constructor";n.argumentLengthCheck(arguments,1,r);const A=n.converters["DOMString or sequence or WebSocketInit"](t,r,"options");e=n.converters.USVString(e,r,"url");t=A.protocols;const o=s.settingsObject.baseUrl;let i;try{i=new URL(e,o)}catch(e){throw new DOMException(e,"SyntaxError")}if(i.protocol==="http:"){i.protocol="ws:"}else if(i.protocol==="https:"){i.protocol="wss:"}if(i.protocol!=="ws:"&&i.protocol!=="wss:"){throw new DOMException(`Expected a ws: or wss: protocol, got ${i.protocol}`,"SyntaxError")}if(i.hash||i.href.endsWith("#")){throw new DOMException("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map(e=>e.toLowerCase())).size){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every(e=>B(e))){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[l]=new URL(i.href);const c=s.settingsObject;this[d]=m(i,t,c,this,(e,t)=>this.#Ee(e,t),A);this[u]=WebSocket.CONNECTING;this[f]=a.NOT_SENT;this[h]="blob"}close(e=undefined,t=undefined){n.brandCheck(this,WebSocket);const r="WebSocket.close";if(e!==undefined){e=n.converters["unsigned short"](e,r,"code",{clamp:true})}if(t!==undefined){t=n.converters.USVString(t,r,"reason")}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new DOMException("invalid code","InvalidAccessError")}}let A=0;if(t!==undefined){A=Buffer.byteLength(t);if(A>123){throw new DOMException(`Reason must be less than 123 bytes; received ${A}`,"SyntaxError")}}y(this,e,t,A)}send(e){n.brandCheck(this,WebSocket);const t="WebSocket.send";n.argumentLengthCheck(arguments,1,t);e=n.converters.WebSocketSendData(e,t,"data");if(C(this)){throw new DOMException("Sent before connected.","InvalidStateError")}if(!Q(this)||I(this)){return}if(typeof e==="string"){const t=Buffer.byteLength(e);this.#he+=t;this.#fe.add(e,()=>{this.#he-=t},c.string)}else if(k.isArrayBuffer(e)){this.#he+=e.byteLength;this.#fe.add(e,()=>{this.#he-=e.byteLength},c.arrayBuffer)}else if(ArrayBuffer.isView(e)){this.#he+=e.byteLength;this.#fe.add(e,()=>{this.#he-=e.byteLength},c.typedArray)}else if(R(e)){this.#he+=e.size;this.#fe.add(e,()=>{this.#he-=e.size},c.blob)}}get readyState(){n.brandCheck(this,WebSocket);return this[u]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#he}get url(){n.brandCheck(this,WebSocket);return A(this[l])}get extensions(){n.brandCheck(this,WebSocket);return this.#oe}get protocol(){n.brandCheck(this,WebSocket);return this.#ge}get onopen(){n.brandCheck(this,WebSocket);return this.#x.open}set onopen(e){n.brandCheck(this,WebSocket);if(this.#x.open){this.removeEventListener("open",this.#x.open)}if(typeof e==="function"){this.#x.open=e;this.addEventListener("open",e)}else{this.#x.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#x.error}set onerror(e){n.brandCheck(this,WebSocket);if(this.#x.error){this.removeEventListener("error",this.#x.error)}if(typeof e==="function"){this.#x.error=e;this.addEventListener("error",e)}else{this.#x.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#x.close}set onclose(e){n.brandCheck(this,WebSocket);if(this.#x.close){this.removeEventListener("close",this.#x.close)}if(typeof e==="function"){this.#x.close=e;this.addEventListener("close",e)}else{this.#x.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#x.message}set onmessage(e){n.brandCheck(this,WebSocket);if(this.#x.message){this.removeEventListener("message",this.#x.message)}if(typeof e==="function"){this.#x.message=e;this.addEventListener("message",e)}else{this.#x.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[h]}set binaryType(e){n.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[h]="blob"}else{this[h]=e}}#Ee(e,t){this[g]=e;const r=this[d]?.dispatcher?.webSocketOptions;const n=r?.maxFragments;const A=r?.maxPayloadSize;const s=new w(this,t,{maxFragments:n,maxPayloadSize:A});s.on("drain",onParserDrain);s.on("error",onParserError.bind(this));e.socket.ws=this;this[E]=s;this.#fe=new F(e.socket);this[u]=i.OPEN;const o=e.headersList.get("sec-websocket-extensions");if(o!==null){this.#oe=o}const a=e.headersList.get("sec-websocket-protocol");if(a!==null){this.#ge=a}p("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=i.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=i.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=i.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=i.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o,url:b,readyState:b,bufferedAmount:b,onopen:b,onerror:b,onclose:b,close:b,onmessage:b,binaryType:b,send:b,extensions:b,protocol:b,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:o,OPEN:o,CLOSING:o,CLOSED:o});n.converters["sequence"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence"]=function(e,t,r){if(n.util.Type(e)==="Object"&&Symbol.iterator in e){return n.converters["sequence"](e)}return n.converters.DOMString(e,t,r)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:n.converters.any,defaultValue:()=>S()},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence or WebSocketInit"]=function(e){if(n.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return n.converters.WebSocketInit(e)}return{protocols:n.converters["DOMString or sequence"](e)}};n.converters.WebSocketSendData=function(e){if(n.util.Type(e)==="Object"){if(R(e)){return n.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||k.isArrayBuffer(e)){return n.converters.BufferSource(e)}}return n.converters.USVString(e)};function onParserDrain(){this.ws[g].socket.resume()}function onParserError(e){let t;let r;if(e instanceof N){t=e.reason;r=e.code}else{t=e.message}p("error",this,()=>new D("error",{error:e,message:t}));y(this,r)}e.exports={WebSocket:WebSocket}},2613:t=>{t.exports=e(import.meta.url)("assert")},4434:t=>{t.exports=e(import.meta.url)("events")},8611:t=>{t.exports=e(import.meta.url)("http")},5692:t=>{t.exports=e(import.meta.url)("https")},9278:t=>{t.exports=e(import.meta.url)("net")},4589:t=>{t.exports=e(import.meta.url)("node:assert")},6698:t=>{t.exports=e(import.meta.url)("node:async_hooks")},4573:t=>{t.exports=e(import.meta.url)("node:buffer")},7540:t=>{t.exports=e(import.meta.url)("node:console")},7598:t=>{t.exports=e(import.meta.url)("node:crypto")},3053:t=>{t.exports=e(import.meta.url)("node:diagnostics_channel")},610:t=>{t.exports=e(import.meta.url)("node:dns")},8474:t=>{t.exports=e(import.meta.url)("node:events")},7067:t=>{t.exports=e(import.meta.url)("node:http")},2467:t=>{t.exports=e(import.meta.url)("node:http2")},7030:t=>{t.exports=e(import.meta.url)("node:net")},643:t=>{t.exports=e(import.meta.url)("node:perf_hooks")},1792:t=>{t.exports=e(import.meta.url)("node:querystring")},7075:t=>{t.exports=e(import.meta.url)("node:stream")},1692:t=>{t.exports=e(import.meta.url)("node:tls")},3136:t=>{t.exports=e(import.meta.url)("node:url")},7975:t=>{t.exports=e(import.meta.url)("node:util")},3429:t=>{t.exports=e(import.meta.url)("node:util/types")},5919:t=>{t.exports=e(import.meta.url)("node:worker_threads")},8522:t=>{t.exports=e(import.meta.url)("node:zlib")},3193:t=>{t.exports=e(import.meta.url)("string_decoder")},4756:t=>{t.exports=e(import.meta.url)("tls")},9023:t=>{t.exports=e(import.meta.url)("util")},2027:(e,t,r)=>{const{normalizeIPv6:n,removeDotSegments:A,removeDotSegmentsRelative:s,recomposeAuthority:o,normalizePercentEncoding:i,normalizePathEncoding:a,serializePathEncoding:c,normalizeQueryFragmentEncoding:l,encodeQuery:u,encodeFragment:d,reescapeHostDelimiters:h,isIPv4:g,nonSimpleDomain:f}=r(7622);const{SCHEMES:E,getSchemeHandler:C}=r(8043);const Q=/^[A-Za-z][A-Za-z0-9+.-]*$/u;const I="URI scheme is malformed.";const B="URI host is malformed.";const p=/[\0-\x20"#/:<>?@[\\\]^`{|}\x7F]/u;function validateScheme(e){const t=String(e);if(!Q.test(t)){throw new TypeError(I)}return t}function normalize(e,t){if(typeof e==="string"){e=normalizeString(e,t)}else if(typeof e==="object"){e=parse(serialize(e,t),t)}return e}function resolve(e,t,r){const A=r?Object.assign({scheme:"null"},r):{scheme:"null"};const{parsed:s,malformedAuthorityOrPort:o,malformedPercentEncoding:i,malformedSchemeSpecific:a,malformedHost:c,malformedScheme:l}=parseWithStatus(e,A);const{parsed:u,malformedAuthorityOrPort:d,malformedPercentEncoding:h,malformedSchemeSpecific:f,malformedHost:E,malformedScheme:Q}=parseWithStatus(t,A);if(o||d||i||h||a||f||c||E||l||Q){throw new Error(s.error||u.error||"URI is malformed.")}const I=resolveComponent(s,u,A,true);const p=C(r&&r.scheme||I.scheme);const m=I.host;const y=m!==undefined&&m!==""&&(g(m)||n(m).isIPV6);if(hasForbiddenDomainHost(I,r||{},p,y)){throw new Error(B)}canonicalizeHost(I,r||{},p,y);const w=m&&m.indexOf("%")!==-1&&!/\P{ASCII}/u.test(m);if(I.error&&!w){throw new Error(I.error)}A.skipEscape=true;return serialize(I,A)}function resolveComponent(e,t,r,n){const o={};if(!n){e=parse(serialize(e,r),r);t=parse(serialize(t,r),r)}r=r||{};if(!r.tolerant&&t.scheme){o.scheme=t.scheme;o.userinfo=t.userinfo;o.host=t.host;o.port=t.port;o.path=A(t.path||"");o.query=t.query}else{if(t.userinfo!==undefined||t.host!==undefined||t.port!==undefined){o.userinfo=t.userinfo;o.host=t.host;o.port=t.port;o.path=A(t.path||"");o.query=t.query}else{if(!t.path){o.path=e.path;if(t.query!==undefined){o.query=t.query}else{o.query=e.query}}else{if(t.path[0]==="/"){o.path=A(t.path)}else{const r=e.userinfo!==undefined||e.host!==undefined||e.port!==undefined;if(r&&!e.path){o.path="/"+t.path}else if(!e.path){o.path=t.path}else{o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path}o.path=e.scheme===undefined&&!r&&o.path[0]!=="/"?s(o.path):A(o.path)}o.query=t.query}o.userinfo=e.userinfo;o.host=e.host;o.port=e.port}o.scheme=e.scheme}o.fragment=t.fragment;return o}function equal(e,t,r){const n=normalizeComparableURI(e,r);const A=normalizeComparableURI(t,r);return n!==undefined&&A!==undefined&&n===A}function serialize(e,t){const r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""};const n=Object.assign({},t);const a=[];if(r.scheme){r.scheme=validateScheme(r.scheme)}const l=C(n.scheme||r.scheme);if(l&&l.serialize)l.serialize(r,n);const h=r.userinfo!==undefined||r.host!==undefined||r.port!==undefined;const g=(r.scheme===undefined||n.reference==="suffix")&&!h;const f=!n.skipEscape&&g;if(r.path!==undefined){if(!n.skipEscape){r.path=c(r.path,f)}else{r.path=i(r.path)}}if(n.reference!=="suffix"&&r.scheme){r.scheme=validateScheme(r.scheme);a.push(r.scheme,":")}const E=o(r);if(E!==undefined){if(n.reference!=="suffix"){a.push("//")}a.push(E);if(r.path&&r.path[0]!=="/"){a.push("/")}}if(r.path!==undefined){let e=r.path;if(!n.absolutePath&&(!l||!l.absolutePath)){e=g&&e[0]!=="/"?s(e):A(e)}if(g){e=c(e,true)}if(E===undefined&&e[0]==="/"&&e[1]==="/"){e="/%2F"+e.slice(2)}a.push(e)}if(r.query!==undefined){a.push("?",u(r.query))}if(r.fragment!==undefined){a.push("#",d(r.fragment))}return a.join("")}const m=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;const y=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;const w=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function getParseError(e,t){if(t[2]!==undefined&&e.path&&e.path[0]!=="/"){return'URI path must start with "/" when authority is present.'}if(typeof e.port==="number"&&(e.port<0||e.port>65535)){return"URI port is malformed."}return undefined}function hasMalformedPercentEncoding(e){if(e===undefined)return false;let t=e.indexOf("%");while(t!==-1){if(t+2>=e.length||!/^[\da-f]{2}$/iu.test(e.slice(t+1,t+3))){return true}t=e.indexOf("%",t+3)}return false}function isIPLiteral(e){return e[0]==="["&&e[e.length-1]==="]"}function hasMalformedComponentPercentEncoding(e){const t=e[4];return hasMalformedPercentEncoding(e[3])||t!==undefined&&!isIPLiteral(t)&&hasMalformedPercentEncoding(t)||hasMalformedPercentEncoding(e[6])||hasMalformedPercentEncoding(e[7])||hasMalformedPercentEncoding(e[8])}function canonicalizeHost(e,t,r,n){if(hasForbiddenDomainHost(e,t,r,n)){e.error=e.error||B;return true}if(!t.unicodeSupport&&(!r||!r.unicodeSupport)&&e.host&&!isIPLiteral(e.host)&&(t.domainHost||r&&r.domainHost)&&n===false&&f(e.host)){let t;try{t=new URL("http://"+e.host)}catch(t){e.error=e.error||"Host's domain name can not be converted to ASCII: "+t;return true}if(!isHostOnlyURL(t)){e.error=e.error||B;return true}e.host=t.hostname}return false}function hasForbiddenDomainHost(e,t,r,n){return Boolean(e.host&&n===false&&!isIPLiteral(e.host)&&(t.domainHost||r&&r.domainHost)&&p.test(e.host))}function isHostOnlyURL(e){return e.username===""&&e.password===""&&e.port===""&&e.pathname==="/"&&e.search===""&&e.hash===""&&e.hostname!==""}function parseWithStatus(e,t){const r=Object.assign({},t);const A={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};let s=false;let o=false;let c=false;let u=false;let d=false;let f=false;let p=false;if(r.reference==="suffix"){if(r.scheme){e=r.scheme+":"+e}else{e="//"+e}}const b=e.match(y);if(b!==null&&b[1].indexOf("\\")!==-1){A.error="URI authority must not contain a literal backslash.";s=true}const R=e.match(w);if(R!==null){const e=R[1];const t=e.replace(/[\t\n\r]/g,"");if(t.length>=2){if(t.slice(0,2)!=="//"){A.error=A.error||"URI authority must not contain a literal backslash.";s=true}else if(e.length!==t.length){A.error=A.error||"URI authority introducer must not contain whitespace.";s=true}}}const S=e.match(m);if(S){A.scheme=S[1];A.userinfo=S[3];A.host=S[4];A.port=parseInt(S[5],10);A.path=S[6]||"";A.query=S[7];A.fragment=S[8];if(A.scheme!==undefined){if(Q.test(A.scheme)){A.scheme=A.scheme.toLowerCase()}else{A.error=A.error||I;f=true}}o=hasMalformedComponentPercentEncoding(S);if(o){A.error=A.error||"URI contains malformed percent-encoding."}if(isNaN(A.port)){A.port=S[5]}const t=getParseError(A,S);if(t!==undefined){A.error=A.error||t;s=true}if(A.host){const e=g(A.host);if(e===false){const e=isIPLiteral(A.host);const t=A.host.indexOf("[")!==-1||A.host.indexOf("]")!==-1;const r=n(A.host);p=r.isIPV6||r.isIPVFuture===true;d=t&&(!e||r.error===true);A.host=p?r.host:r.host.toLowerCase();if(d){A.error=A.error||B;s=true}}else{p=true}}if(A.scheme===undefined&&A.userinfo===undefined&&A.host===undefined&&A.port===undefined&&A.query===undefined&&!A.path){A.reference="same-document"}else if(A.scheme===undefined){A.reference="relative"}else if(A.fragment===undefined){A.reference="absolute"}else{A.reference="uri"}if(r.reference&&r.reference!=="suffix"&&r.reference!==A.reference){A.error=A.error||"URI is not a "+r.reference+" reference."}const m=C(r.scheme||A.scheme);if(!d){u=canonicalizeHost(A,r,m,p)}if(e.indexOf("%")!==-1&&A.host!==undefined&&!d){let e=p?A.host:i(A.host,true);if(!p){e=i(e.toLowerCase())}A.host=p||r.scheme!=="null"?h(e,p):e}if(!m||m&&!m.skipNormalize){if(A.path){A.path=a(A.path)}if(A.query){A.query=l(A.query)}if(A.fragment){A.fragment=l(A.fragment)}}if(m&&m.parse){m.parse(A,r);if(m===E.urn&&A.nid===undefined){c=true}}}else{A.error=A.error||"URI can not be parsed."}return{parsed:A,malformedAuthorityOrPort:s,malformedPercentEncoding:o,malformedSchemeSpecific:c,malformedHost:u,malformedScheme:f}}function parse(e,t){return parseWithStatus(e,t).parsed}function normalizeString(e,t){return normalizeStringWithStatus(e,t).normalized}function normalizeStringWithStatus(e,t){const{parsed:r,malformedAuthorityOrPort:n,malformedPercentEncoding:A,malformedSchemeSpecific:s,malformedHost:o,malformedScheme:i}=parseWithStatus(e,t);return{normalized:n||A||s||o||i?e:serialize(r,t),malformedAuthorityOrPort:n,malformedPercentEncoding:A,malformedSchemeSpecific:s,malformedHost:o,malformedScheme:i}}function normalizeComparableURI(e,t){if(typeof e!=="string"&&typeof e!=="object"){return undefined}let r;try{r=typeof e==="string"?e:serialize(e,t)}catch{return undefined}const{normalized:n,malformedAuthorityOrPort:A,malformedPercentEncoding:s,malformedSchemeSpecific:o,malformedHost:i,malformedScheme:a}=normalizeStringWithStatus(r,t);return A||s||o||i||a?undefined:n}const b={SCHEMES:E,normalize:normalize,resolve:resolve,resolveComponent:resolveComponent,equal:equal,serialize:serialize,parse:parse};e.exports=b;e.exports["default"]=b;e.exports.fastUri=b},8043:(e,t,r)=>{const{isUUID:n}=r(7622);const A=/^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu;const s=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(e){return s.indexOf(e)!==-1}function wsIsSecure(e){if(e.secure===true){return true}else if(e.secure===false){return false}else if(e.scheme){return e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S")}else{return false}}function httpParse(e){if(!e.host){e.error=e.error||"HTTP URIs must have a host."}return e}function httpSerialize(e){const t=String(e.scheme).toLowerCase()==="https";if(e.port===(t?443:80)||e.port===""){e.port=undefined}if(!e.path){e.path="/"}return e}function wsParse(e){e.secure=wsIsSecure(e);e.resourceName=(e.path||"/")+(e.query?"?"+e.query:"");e.path=undefined;e.query=undefined;return e}function wsSerialize(e){if(e.port===(wsIsSecure(e)?443:80)||e.port===""){e.port=undefined}if(typeof e.secure==="boolean"){e.scheme=e.secure?"wss":"ws";e.secure=undefined}if(e.resourceName){const t=e.resourceName.indexOf("?");const r=t===-1?e.resourceName:e.resourceName.slice(0,t);e.path=r&&r!=="/"?r:undefined;e.query=t===-1?undefined:e.resourceName.slice(t+1);e.resourceName=undefined}e.fragment=undefined;return e}function urnParse(e,t){if(!e.path){e.error="URN can not be parsed";return e}const r=e.path.match(A);if(r&&r[0]===e.path){const n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase();e.nss=r[2];const A=`${n}:${t.nid||e.nid}`;const s=getSchemeHandler(A);e.path=undefined;if(s){e=s.parse(e,t)}}else{e.error=e.error||"URN can not be parsed."}return e}function urnSerialize(e,t){if(e.nid===undefined){throw new Error("URN without nid cannot be serialized")}const r=t.scheme||e.scheme||"urn";const n=e.nid.toLowerCase();const A=`${r}:${t.nid||n}`;const s=getSchemeHandler(A);if(s){e=s.serialize(e,t)}const o=e;const i=e.nss;o.path=`${n||t.nid}:${i}`;t.skipEscape=true;return o}function urnuuidParse(e,t){const r=e;r.uuid=r.nss;r.nss=undefined;if(!t.tolerant&&(!r.uuid||!n(r.uuid))){r.error=r.error||"UUID is not valid."}return r}function urnuuidSerialize(e){const t=e;t.nss=(e.uuid||"").toLowerCase();return t}const o={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const i={scheme:"https",domainHost:o.domainHost,parse:httpParse,serialize:httpSerialize};const a={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const c={scheme:"wss",domainHost:a.domainHost,parse:a.parse,serialize:a.serialize};const l={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const u={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const d={http:o,https:i,ws:a,wss:c,urn:l,"urn:uuid":u};Object.setPrototypeOf(d,null);function getSchemeHandler(e){return e&&(d[e]||d[e.toLowerCase()])||undefined}e.exports={wsIsSecure:wsIsSecure,SCHEMES:d,isValidSchemeName:isValidSchemeName,getSchemeHandler:getSchemeHandler}},7622:e=>{const t=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);const r=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);const n=RegExp.prototype.test.bind(/^\d*$/u);const A=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);const s=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);const o=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u);const i=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u);const a=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u);const c=new Array(256);{const e="0123456789ABCDEF";for(let t=0;t<256;t++){c[t]="%"+e[t>>4]+e[t&15]}}function percentEncodeNonAscii(e){if(e<2048){return c[192|e>>6]+c[128|e&63]}if(e<65536){return c[224|e>>12]+c[128|e>>6&63]+c[128|e&63]}return c[240|e>>18]+c[128|e>>12&63]+c[128|e>>6&63]+c[128|e&63]}function stringArrayToHexStripped(e){let t="";let r=0;let n=0;for(n=0;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102)){return""}t+=e[n];break}for(n+=1;n=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102)){return""}t+=e[n]}return t}const l=RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/);const u=RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/);const d=RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/);const h=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function isZoneIdentifier(e){if(e.length===0)return false;for(let t=0;tr){r=A;t=n}}else{n=-1;A=0}}if(r<2)return e.join(":");const s=e.slice(0,t).join(":");const o=e.slice(t+r).join(":");return s+"::"+o}function normalizeIPv6Address(e){const t=e.indexOf("::");if(t!==-1&&e.indexOf("::",t+1)!==-1)return undefined;const n=t===-1?e.split(":"):e.slice(0,t).split(":");const A=t===-1?[]:e.slice(t+2).split(":");if(t!==-1){if(n.length===1&&n[0]==="")n.length=0;if(A.length===1&&A[0]==="")A.length=0}const s=n.concat(A);let o=0;for(let e=0;e=8)return undefined;const i=s.slice(0,n.length);for(let e=o;e<8;e++)i.push("0");for(let e=n.length;eg[e])}function normalizePercentEncoding(e,t=false){if(e.indexOf("%")===-1){return e}let r="";for(let n=0;n57343){t+=percentEncodeNonAscii(A)}else if(A<=56319&&r+1=56320&&n<=57343){t+=percentEncodeNonAscii(65536+(A-55296<<10)+(n-56320));r++}else{t+=percentEncodeNonAscii(65533)}}else{t+=percentEncodeNonAscii(65533)}}}return t}function serializePathEncoding(e,t=false){let r="";let n=t&&e[0]!=="/";for(let t=0;t57343){r+=percentEncodeNonAscii(n)}else if(n<=56319&&t+1=56320&&A<=57343){r+=percentEncodeNonAscii(65536+(n-55296<<10)+(A-56320));t++}else{r+=percentEncodeNonAscii(65533)}}else{r+=percentEncodeNonAscii(65533)}}}return r}function encodeComponent(e,t){let r="";for(let n=0;n57343){r+=percentEncodeNonAscii(t)}else if(t<=56319&&n+1=56320&&A<=57343){r+=percentEncodeNonAscii(65536+(t-55296<<10)+(A-56320));n++}else{r+=percentEncodeNonAscii(65533)}}else{r+=percentEncodeNonAscii(65533)}}}return r}function encodeUserinfo(e){return encodeComponent(e,a)}function encodeQuery(e){return encodeComponent(e,i)}function encodeFragment(e){return encodeComponent(e,i)}function isEscapeSafe(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===42||e===43||e===45||e===46||e===47||e===64||e===95}function normalizeQueryFragmentEncoding(e){let t="";for(let r=0;r57343){t+=percentEncodeNonAscii(A)}else if(A<=56319&&r+1=56320&&n<=57343){t+=percentEncodeNonAscii(65536+(A-55296<<10)+(n-56320));r++}else{t+=percentEncodeNonAscii(65533)}}else{t+=percentEncodeNonAscii(65533)}}}return t}function escapePreservingEscapes(e){let t="";for(let r=0;r{e.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},5849:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},1305:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},7255:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},2427:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},1976:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},3488:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},5619:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},8097:e=>{e.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},7628:e=>{e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')}};var r={};function __nccwpck_require__(e){var n=r[e];if(n!==undefined){return n.exports}var A=r[e]={exports:{}};var s=true;try{t[e](A,A.exports,__nccwpck_require__);s=false}finally{if(s)delete r[e]}return A.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=decodeURIComponent(new URL(".",import.meta.url).pathname).slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";(()=>{__nccwpck_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;__nccwpck_require__.d(t,{a:t});return t}})();(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(r,n){if(n&1)r=this(r);if(n&8)return r;if(typeof r==="object"&&r){if(n&4&&r.__esModule)return r;if(n&16&&typeof r.then==="function")return r}var A=Object.create(null);__nccwpck_require__.r(A);var s={};t=t||[null,e({}),e([]),e(e)];for(var o=n&2&&r;typeof o=="object"&&!~t.indexOf(o);o=e(o)){Object.getOwnPropertyNames(o).forEach(e=>s[e]=()=>r[e])}s["default"]=()=>r;__nccwpck_require__.d(A,s);return A}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();var n={};const A=e(import.meta.url)("os");function utils_toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}function utils_toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}function command_issueCommand(e,t,r){const n=new Command(e,t,r);process.stdout.write(n.toString()+A.EOL)}function command_issue(e,t=""){command_issueCommand(e,{},t)}const s="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=s+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const n=this.properties[r];if(n){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(n)}`}}}}e+=`${s}${escapeData(this.message)}`;return e}}function escapeData(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}const o=e(import.meta.url)("crypto");const i=e(import.meta.url)("fs");function file_command_issueFileCommand(e,t){const r=process.env[`GITHUB_${e}`];if(!r){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!i.existsSync(r)){throw new Error(`Missing file at path: ${r}`)}i.appendFileSync(r,`${utils_toCommandValue(t)}${A.EOL}`,{encoding:"utf8"})}function file_command_prepareKeyValueMessage(e,t){const r=`ghadelimiter_${o.randomUUID()}`;const n=utils_toCommandValue(t);if(e.includes(r)){throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`)}if(n.includes(r)){throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`)}return`${e}<<${r}${A.EOL}${n}${A.EOL}${r}`}const a=e(import.meta.url)("path");var c=__nccwpck_require__(8611);var l=__nccwpck_require__.t(c,2);var u=__nccwpck_require__(5692);var d=__nccwpck_require__.t(u,2);function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){try{return new DecodedURL(r)}catch(e){if(!r.startsWith("http://")&&!r.startsWith("https://"))return new DecodedURL(`http://${r}`)}}else{return undefined}}function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let n;if(e.port){n=Number(e.port)}else if(e.protocol==="http:"){n=80}else if(e.protocol==="https:"){n=443}const A=[e.hostname.toUpperCase()];if(typeof n==="number"){A.push(`${A[0]}:${n}`)}for(const e of r.split(",").map(e=>e.trim().toUpperCase()).filter(e=>e)){if(e==="*"||A.some(t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`))){return true}}return false}function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}class DecodedURL extends URL{constructor(e,t){super(e,t);this._decodedUsername=decodeURIComponent(super.username);this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}var h=__nccwpck_require__(7013);var g=__nccwpck_require__(9309);var f=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var E;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(E||(E={}));var C;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(C||(C={}));var Q;(function(e){e["ApplicationJson"]="application/json"})(Q||(Q={}));function lib_getProxyUrl(e){const t=pm.getProxyUrl(new URL(e));return t?t.href:""}const I=[E.MovedPermanently,E.ResourceMoved,E.SeeOther,E.TemporaryRedirect,E.PermanentRedirect];const B=[E.BadGateway,E.ServiceUnavailable,E.GatewayTimeout];const p=["OPTIONS","GET","DELETE","HEAD"];const m=10;const y=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}class HttpClientResponse{constructor(e){this.message=e}readBody(){return f(this,void 0,void 0,function*(){return new Promise(e=>f(this,void 0,void 0,function*(){let t=Buffer.alloc(0);this.message.on("data",e=>{t=Buffer.concat([t,e])});this.message.on("end",()=>{e(t.toString())})}))})}readBodyBuffer(){return f(this,void 0,void 0,function*(){return new Promise(e=>f(this,void 0,void 0,function*(){const t=[];this.message.on("data",e=>{t.push(e)});this.message.on("end",()=>{e(Buffer.concat(t))})}))})}}function isHttps(e){const t=new URL(e);return t.protocol==="https:"}class lib_HttpClient{constructor(e,t,r){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=this._getUserAgentWithOrchestrationId(e);this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return f(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return f(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return f(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return f(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return f(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return f(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return f(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,n){return f(this,void 0,void 0,function*(){return this.request(e,t,r,n)})}getJson(e){return f(this,arguments,void 0,function*(e,t={}){t[C.Accept]=this._getExistingOrDefaultHeader(t,C.Accept,Q.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t){return f(this,arguments,void 0,function*(e,t,r={}){const n=JSON.stringify(t,null,2);r[C.Accept]=this._getExistingOrDefaultHeader(r,C.Accept,Q.ApplicationJson);r[C.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,Q.ApplicationJson);const A=yield this.post(e,n,r);return this._processResponse(A,this.requestOptions)})}putJson(e,t){return f(this,arguments,void 0,function*(e,t,r={}){const n=JSON.stringify(t,null,2);r[C.Accept]=this._getExistingOrDefaultHeader(r,C.Accept,Q.ApplicationJson);r[C.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,Q.ApplicationJson);const A=yield this.put(e,n,r);return this._processResponse(A,this.requestOptions)})}patchJson(e,t){return f(this,arguments,void 0,function*(e,t,r={}){const n=JSON.stringify(t,null,2);r[C.Accept]=this._getExistingOrDefaultHeader(r,C.Accept,Q.ApplicationJson);r[C.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,Q.ApplicationJson);const A=yield this.patch(e,n,r);return this._processResponse(A,this.requestOptions)})}request(e,t,r,n){return f(this,void 0,void 0,function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const A=new URL(t);let s=this._prepareRequest(e,A,n);const o=this._allowRetries&&p.includes(e)?this._maxRetries+1:1;let i=0;let a;do{a=yield this.requestRaw(s,r);if(a&&a.message&&a.message.statusCode===E.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(a)){e=t;break}}if(e){return e.handleAuthentication(this,s,r)}else{return a}}let t=this._maxRedirects;while(a.message.statusCode&&I.includes(a.message.statusCode)&&this._allowRedirects&&t>0){const o=a.message.headers["location"];if(!o){break}const i=new URL(o);if(A.protocol==="https:"&&A.protocol!==i.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield a.readBody();if(i.hostname!==A.hostname){for(const e in n){if(e.toLowerCase()==="authorization"){delete n[e]}}}s=this._prepareRequest(e,i,n);a=yield this.requestRaw(s,r);t--}if(!a.message.statusCode||!B.includes(a.message.statusCode)){return a}i+=1;if(i{function callbackForResult(e,t){if(e){n(e)}else if(!t){n(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)})})}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let n=false;function handleResult(e,t){if(!n){n=true;r(e,t)}}const A=e.httpModule.request(e.options,e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)});let s;A.on("socket",e=>{s=e});A.setTimeout(this._socketTimeout||3*6e4,()=>{if(s){s.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))});A.on("error",function(e){handleResult(e)});if(t&&typeof t==="string"){A.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",function(){A.end()});t.pipe(A)}else{A.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const r=getProxyUrl(t);const n=r&&r.hostname;if(!n){return}return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){const n={};n.parsedUrl=t;const A=n.parsedUrl.protocol==="https:";n.httpModule=A?d:l;const s=A?443:80;n.options={};n.options.host=n.parsedUrl.hostname;n.options.port=n.parsedUrl.port?parseInt(n.parsedUrl.port):s;n.options.path=(n.parsedUrl.pathname||"")+(n.parsedUrl.search||"");n.options.method=e;n.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){n.options.headers["user-agent"]=this.userAgent}n.options.agent=this._getAgent(n.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(n.options)}}return n}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let n;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[t];if(e){n=typeof e==="number"?e.toString():e}}const A=e[t];if(A!==undefined){return typeof A==="number"?A.toString():A}if(n!==undefined){return n}return r}_getExistingOrDefaultContentTypeHeader(e,t){let r;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[C.ContentType];if(e){if(typeof e==="number"){r=String(e)}else if(Array.isArray(e)){r=e.join(", ")}else{r=e}}}const n=e[C.ContentType];if(n!==undefined){if(typeof n==="number"){return String(n)}else if(Array.isArray(n)){return n.join(", ")}else{return n}}if(r!==undefined){return r}return t}_getAgent(e){let t;const r=getProxyUrl(e);const n=r&&r.hostname;if(this._keepAlive&&n){t=this._proxyAgent}if(!n){t=this._agent}if(t){return t}const A=e.protocol==="https:";let s=100;if(this.requestOptions){s=this.requestOptions.maxSockets||c.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:s,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let n;const o=r.protocol==="https:";if(A){n=o?h.httpsOverHttps:h.httpsOverHttp}else{n=o?h.httpOverHttps:h.httpOverHttp}t=n(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:s};t=A?new u.Agent(e):new c.Agent(e);this._agent=t}if(A&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive){r=this._proxyAgentDispatcher}if(r){return r}const n=e.protocol==="https:";r=new g.kT(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`}));this._proxyAgentDispatcher=r;if(n&&this._ignoreSslError){r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:false})}return r}_getUserAgentWithOrchestrationId(e){const t=e||"actions/http-client";const r=process.env["ACTIONS_ORCHESTRATION_ID"];if(r){const e=r.replace(/[^a-z0-9_.-]/gi,"_");return`${t} actions_orchestration_id/${e}`}return t}_performExponentialBackoff(e){return f(this,void 0,void 0,function*(){e=Math.min(m,e);const t=y*Math.pow(2,e);return new Promise(e=>setTimeout(()=>e(),t))})}_processResponse(e,t){return f(this,void 0,void 0,function*(){return new Promise((r,n)=>f(this,void 0,void 0,function*(){const A=e.message.statusCode||0;const s={statusCode:A,result:null,headers:{}};if(A===E.NotFound){r(s)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let o;let i;try{i=yield e.readBody();if(i&&i.length>0){if(t&&t.deserializeDates){o=JSON.parse(i,dateTimeDeserializer)}else{o=JSON.parse(i)}s.result=o}s.headers=e.message.headers}catch(e){}if(A>299){let e;if(o&&o.message){e=o.message}else if(i&&i.length>0){e=i}else{e=`Failed request: (${A})`}const t=new HttpClientError(e,A);t.result=s.result;n(t)}else{r(s)}}))})}}const lowercaseKeys=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{});var w=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return w(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class auth_BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return w(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return w(this,void 0,void 0,function*(){throw new Error("not implemented")})}}var b=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};class oidc_utils_OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new HttpClient("actions/oidc-client",[new BearerCredentialHandler(oidc_utils_OidcClient.getRequestToken())],r)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){return b(this,void 0,void 0,function*(){var t;const r=oidc_utils_OidcClient.createHttpClient();const n=yield r.getJson(e).catch(e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)});const A=(t=n.result)===null||t===void 0?void 0:t.value;if(!A){throw new Error("Response json body do not have ID Token field")}return A})}static getIDToken(e){return b(this,void 0,void 0,function*(){try{let t=oidc_utils_OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}debug(`ID token url is ${t}`);const r=yield oidc_utils_OidcClient.getCall(t);setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}})}}var R=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};const{access:S,appendFile:k,writeFile:D}=i.promises;const N="GITHUB_STEP_SUMMARY";const F="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return R(this,void 0,void 0,function*(){if(this._filePath){return this._filePath}const e=process.env[N];if(!e){throw new Error(`Unable to find environment variable for $${N}. Check if your runtime environment supports job summaries.`)}try{yield S(e,i.constants.R_OK|i.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath})}wrap(e,t,r={}){const n=Object.entries(r).map(([e,t])=>` ${e}="${t}"`).join("");if(!t){return`<${e}${n}>`}return`<${e}${n}>${t}`}write(e){return R(this,void 0,void 0,function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const n=t?D:k;yield n(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()})}clear(){return R(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:true})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(A.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const n=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(n).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const n=e.map(e=>this.wrap("li",e)).join("");const A=this.wrap(r,n);return this.addRaw(A).addEOL()}addTable(e){const t=e.map(e=>{const t=e.map(e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:r,colspan:n,rowspan:A}=e;const s=t?"th":"td";const o=Object.assign(Object.assign({},n&&{colspan:n}),A&&{rowspan:A});return this.wrap(s,r,o)}).join("");return this.wrap("tr",t)}).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:n,height:A}=r||{};const s=Object.assign(Object.assign({},n&&{width:n}),A&&{height:A});const o=this.wrap("img",null,Object.assign({src:e,alt:t},s));return this.addRaw(o).addEOL()}addHeading(e,t){const r=`h${t}`;const n=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const A=this.wrap(n,e);return this.addRaw(A).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const r=Object.assign({},t&&{cite:t});const n=this.wrap("blockquote",e,r);return this.addRaw(n).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const v=new Summary;const M=null&&v;const T=v;function toPosixPath(e){return e.replace(/[\\]/g,"/")}function toWin32Path(e){return e.replace(/[/]/g,"\\")}function toPlatformPath(e){return e.replace(/[/\\]/g,path.sep)}var U=__nccwpck_require__(3193);var L=__nccwpck_require__(4434);const x=e(import.meta.url)("child_process");var H=__nccwpck_require__(2613);var G=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};const{chmod:P,copyFile:V,lstat:O,mkdir:Y,open:J,readdir:$,rename:W,rm:q,rmdir:j,stat:z,symlink:K,unlink:Z}=i.promises;const X=process.platform==="win32";function readlink(e){return G(this,void 0,void 0,function*(){const t=yield i.promises.readlink(e);if(X&&!t.endsWith("\\")){return`${t}\\`}return t})}const ee=268435456;const te=i.constants.O_RDONLY;function exists(e){return G(this,void 0,void 0,function*(){try{yield z(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}function isDirectory(e){return G(this,arguments,void 0,function*(e,t=false){const r=t?yield z(e):yield O(e);return r.isDirectory()})}function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(X){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}function tryGetExecutablePath(e,t){return G(this,void 0,void 0,function*(){let r=undefined;try{r=yield z(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(r&&r.isFile()){if(X){const r=a.extname(e).toUpperCase();if(t.some(e=>e.toUpperCase()===r)){return e}}else{if(isUnixExecutable(r)){return e}}}const n=e;for(const A of t){e=n+A;r=undefined;try{r=yield z(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(r&&r.isFile()){if(X){try{const t=a.dirname(e);const r=a.basename(e).toUpperCase();for(const n of yield $(t)){if(r===n.toUpperCase()){e=a.join(t,n);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(r)){return e}}}}return""})}function normalizeSeparators(e){e=e||"";if(X){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&process.getgid!==undefined&&e.gid===process.getgid()||(e.mode&64)>0&&process.getuid!==undefined&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}var re=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};function io_cp(e,t){return re(this,arguments,void 0,function*(e,t,r={}){const{force:n,recursive:A,copySourceDirectory:s}=readCopyOptions(r);const o=(yield exists(t))?yield z(t):null;if(o&&o.isFile()&&!n){return}const i=o&&o.isDirectory()&&s?a.join(t,a.basename(e)):t;if(!(yield exists(e))){throw new Error(`no such file or directory: ${e}`)}const c=yield z(e);if(c.isDirectory()){if(!A){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,i,0,n)}}else{if(a.relative(e,i)===""){throw new Error(`'${i}' and '${e}' are the same file`)}yield io_copyFile(e,i,n)}})}function mv(e,t){return re(this,arguments,void 0,function*(e,t,r={}){if(yield ioUtil.exists(t)){let n=true;if(yield ioUtil.isDirectory(t)){t=path.join(t,path.basename(e));n=yield ioUtil.exists(t)}if(n){if(r.force==null||r.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(path.dirname(t));yield ioUtil.rename(e,t)})}function rmRF(e){return re(this,void 0,void 0,function*(){if(X){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield q(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}function mkdirP(e){return re(this,void 0,void 0,function*(){(0,H.ok)(e,"a path argument must be provided");yield Y(e,{recursive:true})})}function which(e,t){return re(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(X){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return t}const r=yield findInPath(e);if(r&&r.length>0){return r[0]}return""})}function findInPath(e){return re(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'tool' is required")}const t=[];if(X&&process.env["PATHEXT"]){for(const e of process.env["PATHEXT"].split(a.delimiter)){if(e){t.push(e)}}}if(isRooted(e)){const r=yield tryGetExecutablePath(e,t);if(r){return[r]}return[]}if(e.includes(a.sep)){return[]}const r=[];if(process.env.PATH){for(const e of process.env.PATH.split(a.delimiter)){if(e){r.push(e)}}}const n=[];for(const A of r){const r=yield tryGetExecutablePath(a.join(A,e),t);if(r){n.push(r)}}return n})}function readCopyOptions(e){const t=e.force==null?true:e.force;const r=Boolean(e.recursive);const n=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:r,copySourceDirectory:n}}function cpDirRecursive(e,t,r,n){return re(this,void 0,void 0,function*(){if(r>=255)return;r++;yield mkdirP(t);const A=yield $(e);for(const s of A){const A=`${e}/${s}`;const o=`${t}/${s}`;const i=yield O(A);if(i.isDirectory()){yield cpDirRecursive(A,o,r,n)}else{yield io_copyFile(A,o,n)}}yield P(t,(yield z(e)).mode)})}function io_copyFile(e,t,r){return re(this,void 0,void 0,function*(){if((yield O(e)).isSymbolicLink()){try{yield O(t);yield Z(t)}catch(e){if(e.code==="EPERM"){yield P(t,"0666");yield Z(t)}}const r=yield readlink(e);yield K(r,t,X?"junction":null)}else if(!(yield exists(t))||r){yield V(e,t)}})}const ne=e(import.meta.url)("timers");var Ae=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};const se=process.platform==="win32";class ToolRunner extends L.EventEmitter{constructor(e,t,r){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=r||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const r=this._getSpawnFileName();const n=this._getSpawnArgs(e);let A=t?"":"[command]";if(se){if(this._isCmdFile()){A+=r;for(const e of n){A+=` ${e}`}}else if(e.windowsVerbatimArguments){A+=`"${r}"`;for(const e of n){A+=` ${e}`}}else{A+=this._windowsQuoteCmdArg(r);for(const e of n){A+=` ${this._windowsQuoteCmdArg(e)}`}}}else{A+=r;for(const e of n){A+=` ${e}`}}return A}_processLineBuffer(e,t,r){try{let n=t+e.toString();let s=n.indexOf(A.EOL);while(s>-1){const e=n.substring(0,s);r(e);n=n.substring(s+A.EOL.length);s=n.indexOf(A.EOL)}return n}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(se){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(se){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const r of this.args){t+=" ";t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let r=false;for(const n of e){if(t.some(e=>e===n)){r=true;break}}if(!r){return e}let n='"';let A=true;for(let t=e.length;t>0;t--){n+=e[t-1];if(A&&e[t-1]==="\\"){n+="\\"}else if(e[t-1]==='"'){A=true;n+='"'}else{A=false}}n+='"';return n.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let r=true;for(let n=e.length;n>0;n--){t+=e[n-1];if(r&&e[n-1]==="\\"){t+="\\"}else if(e[n-1]==='"'){r=true;t+="\\"}else{r=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const r={};r.cwd=e.cwd;r.env=e.env;r["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){r.argv0=`"${t}"`}return r}exec(){return Ae(this,void 0,void 0,function*(){if(!isRooted(this.toolPath)&&(this.toolPath.includes("/")||se&&this.toolPath.includes("\\"))){this.toolPath=a.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield which(this.toolPath,true);return new Promise((e,t)=>Ae(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const r=this._cloneExecOptions(this.options);if(!r.silent&&r.outStream){r.outStream.write(this._getCommandString(r)+A.EOL)}const n=new ExecState(r,this.toolPath);n.on("debug",e=>{this._debug(e)});if(this.options.cwd&&!(yield exists(this.options.cwd))){return t(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const s=this._getSpawnFileName();const o=x.spawn(s,this._getSpawnArgs(r),this._getSpawnOptions(this.options,s));let i="";if(o.stdout){o.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!r.silent&&r.outStream){r.outStream.write(e)}i=this._processLineBuffer(e,i,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}let a="";if(o.stderr){o.stderr.on("data",e=>{n.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!r.silent&&r.errStream&&r.outStream){const t=r.failOnStdErr?r.errStream:r.outStream;t.write(e)}a=this._processLineBuffer(e,a,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}o.on("error",e=>{n.processError=e.message;n.processExited=true;n.processClosed=true;n.CheckComplete()});o.on("exit",e=>{n.processExitCode=e;n.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);n.CheckComplete()});o.on("close",e=>{n.processExitCode=e;n.processExited=true;n.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);n.CheckComplete()});n.on("done",(r,n)=>{if(i.length>0){this.emit("stdline",i)}if(a.length>0){this.emit("errline",a)}o.removeAllListeners();if(r){t(r)}else{e(n)}});if(this.options.input){if(!o.stdin){throw new Error("child process missing stdin")}o.stdin.end(this.options.input)}}))})}}function argStringToArray(e){const t=[];let r=false;let n=false;let A="";function append(e){if(n&&e!=='"'){A+="\\"}A+=e;n=false}for(let s=0;s0){t.push(A);A=""}continue}append(o)}if(A.length>0){t.push(A.trim())}return t}class ExecState extends L.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=(0,ne.setTimeout)(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}var oe=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};function exec_exec(e,t,r){return oe(this,void 0,void 0,function*(){const n=argStringToArray(e);if(n.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const A=n[0];t=n.slice(1).concat(t||[]);const s=new ToolRunner(A,t,r);return s.exec()})}function getExecOutput(e,t,r){return oe(this,void 0,void 0,function*(){var n,A;let s="";let o="";const i=new StringDecoder("utf8");const a=new StringDecoder("utf8");const c=(n=r===null||r===void 0?void 0:r.listeners)===null||n===void 0?void 0:n.stdout;const l=(A=r===null||r===void 0?void 0:r.listeners)===null||A===void 0?void 0:A.stderr;const stdErrListener=e=>{o+=a.write(e);if(l){l(e)}};const stdOutListener=e=>{s+=i.write(e);if(c){c(e)}};const u=Object.assign(Object.assign({},r===null||r===void 0?void 0:r.listeners),{stdout:stdOutListener,stderr:stdErrListener});const d=yield exec_exec(e,t,Object.assign(Object.assign({},r),{listeners:u}));s+=i.end();o+=a.end();return{exitCode:d,stdout:s,stderr:o}})}var ie=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};const getWindowsInfo=()=>ie(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}});const getMacOsInfo=()=>ie(void 0,void 0,void 0,function*(){var e,t,r,n;const{stdout:A}=yield exec.getExecOutput("sw_vers",undefined,{silent:true});const s=(t=(e=A.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const o=(n=(r=A.match(/ProductName:\s*(.+)/))===null||r===void 0?void 0:r[1])!==null&&n!==void 0?n:"";return{name:o,version:s}});const getLinuxInfo=()=>ie(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,r]=e.trim().split("\n");return{name:t,version:r}});const ae=A.platform();const ce=A.arch();const le=ae==="win32";const ue=ae==="darwin";const de=ae==="linux";function getDetails(){return ie(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield le?getWindowsInfo():ue?getMacOsInfo():getLinuxInfo()),{platform:ae,arch:ce,isWindows:le,isMacOS:ue,isLinux:de})})}var he=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};var ge;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(ge||(ge={}));function exportVariable(e,t){const r=toCommandValue(t);process.env[e]=r;const n=process.env["GITHUB_ENV"]||"";if(n){return issueFileCommand("ENV",prepareKeyValueMessage(e,t))}issueCommand("set-env",{name:e},r)}function core_setSecret(e){command_issueCommand("add-mask",{},e)}function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){file_command_issueFileCommand("PATH",e)}else{command_issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${a.delimiter}${process.env["PATH"]}`}function core_getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}function getMultilineInput(e,t){const r=core_getInput(e,t).split("\n").filter(e=>e!=="");if(t&&t.trimWhitespace===false){return r}return r.map(e=>e.trim())}function getBooleanInput(e,t){const r=["true","True","TRUE"];const n=["false","False","FALSE"];const A=core_getInput(e,t);if(r.includes(A))return true;if(n.includes(A))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}function setOutput(e,t){const r=process.env["GITHUB_OUTPUT"]||"";if(r){return file_command_issueFileCommand("OUTPUT",file_command_prepareKeyValueMessage(e,t))}process.stdout.write(A.EOL);command_issueCommand("set-output",{name:e},utils_toCommandValue(t))}function setCommandEcho(e){issue("echo",e?"on":"off")}function setFailed(e){process.exitCode=ge.Failure;error(e)}function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}function core_debug(e){command_issueCommand("debug",{},e)}function error(e,t={}){command_issueCommand("error",utils_toCommandProperties(t),e instanceof Error?e.toString():e)}function warning(e,t={}){command_issueCommand("warning",utils_toCommandProperties(t),e instanceof Error?e.toString():e)}function notice(e,t={}){issueCommand("notice",toCommandProperties(t),e instanceof Error?e.toString():e)}function info(e){process.stdout.write(e+A.EOL)}function startGroup(e){issue("group",e)}function endGroup(){issue("endgroup")}function group(e,t){return he(this,void 0,void 0,function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r})}function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return issueFileCommand("STATE",prepareKeyValueMessage(e,t))}issueCommand("save-state",{name:e},toCommandValue(t))}function getState(e){return process.env[`STATE_${e}`]||""}function getIDToken(e){return he(this,void 0,void 0,function*(){return yield OidcClient.getIDToken(e)})}class SetupError extends Error{constructor(e){super(e);this.name="SetupError"}}function safeErrorMessage(e){if(e instanceof SetupError)return e.message;return"Setup CommerceKit CLI failed unexpectedly. Re-run with step debug logging enabled for more context."}function stripAngleBracketText(e){let t=false;let r="";for(const n of e){if(n==="<")t=true;else if(n===">")t=false;else if(!t)r+=n}return r}function redactJwtLikeTokens(e){const t=[];let r="";let n=0;for(const A of e.matchAll(/[\w-]+/g)){t.push({text:A[0],start:A.index,end:A.index+A[0].length});if(t.length<3)continue;const s=t[0],o=t[1],i=t[2];const a=s.text.indexOf("eyJ");if(a>=0&&a+3e.replace(/%[a-f0-9]{2}/gi,e=>e.toUpperCase());const r=normalize(e);const n=normalize(t);let A=0;let s="";let o=r.indexOf(n,A);while(o!==-1){s+=e.slice(A,o)+"[REDACTED]";A=o+t.length;o=r.indexOf(n,A)}return s+e.slice(A)}function redactKnownSecrets(e,t=[]){for(const r of[...t].filter(Boolean).sort((e,t)=>t.length-e.length)){for(const t of new Set([r,encodeURIComponent(new URLSearchParams({v:r}).get("v")),new URLSearchParams({v:r}).toString().slice(2)]))e=t.includes("%")?redactEncodedSecret(e,t):e.split(t).join("[REDACTED]")}return e.replace(/\bBearer\s+[^\s,;]+/gi,"Bearer [REDACTED]").replace(/\b(?:ghp_|github_pat_|npm_)[A-Za-z0-9_]+/g,"[REDACTED]").replace(/\b(?:client_secret|password|access_token|token)\s*[=:]\s*[^\s&,;]+/gi,"[REDACTED]").replace(/(?:x-approuter-authorization|authorization)\s*:[^\r\n]+/gi,"[REDACTED]")}function sanitizeBoundedText(e,t=1e3,r=[]){if(!Number.isSafeInteger(t)||t<0)throw new Error("Invalid text limit.");return redactKnownSecrets(e,r).replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f]/g," ").slice(0,t)}function sanitizeLabel(e,t=[]){return sanitizeBoundedText(e,1e3,t).replace(/[\r\n\u2028\u2029]/g," ").replace(/\s+/g," ").trim().slice(0,75)}function sanitizeErrorMessage(e,t=[]){return sanitizeBoundedText(e,1e3,t).replace(/https?:\/\/\S+/gi,"[URL]").split(/\s+at\s+\S+\s*\(/)[0].trim()||"Operation failed."}const fe=new Set(["event-json","event-file","traffic-split-json","decision-reason","cancel-reason"]);function isConfidentialInputName(e){return/token|secret|password|credential|webhook|authorization|private[-_]?key|api[-_]?key/i.test(e)||["client-id","resource"].includes(e.toLowerCase().replaceAll("_","-"))}function definitionsChecked(e){if(e.length>50||new Set(e.map(({name:e})=>e)).size!==e.length||e.some(({name:e})=>!/^[a-z][a-z0-9-]{0,63}$/.test(e)))throw new Error("Invalid action input definitions.")}function canonicalHostname(e){let t=e.length;while(e.charCodeAt(t-1)===46)t--;return e.slice(0,t)}function sanitizeActionText(e,t=256,r=[]){return sanitizeBoundedText(redactJwtLikeTokens(redactKnownSecrets(e,r)).replace(/https?:\/\/[^\s<>"']+/gi,e=>{try{const t=new URL(e);return t.username||t.password||t.search||t.hash||/^hooks\.slack(?:-gov)?\.com$/i.test(canonicalHostname(t.hostname))?"[REDACTED URL]":e}catch{return"[REDACTED URL]"}}),t,r)}function captureActionInputs(e,t,r){definitionsChecked(e);const confidential=e=>e.confidential||isConfidentialInputName(e.name);const n=new Map;for(const A of[...e.filter(confidential),...e.filter(e=>!confidential(e))]){const e=t(A.name);if(confidential(A)&&e)r(e);n.set(A.name,e)}return Object.fromEntries(e.map(({name:e})=>[e,n.get(e)]))}function createActionInputContext(e,t,r){definitionsChecked(e);const n=[...r.secrets??[],...e.filter(e=>e.confidential||isConfidentialInputName(e.name)).map(e=>t[e.name]??"")];let A=false;const s=Object.fromEntries(e.map(e=>{const{name:s}=e;if(e.confidential||isConfidentialInputName(s))return[s,"[REDACTED]"];const o=r.validated&&Object.hasOwn(r.effective??{},s)?r.effective[s]:t[s]??"";if(e.display==="presence"||fe.has(s))return[s,o?"[PROVIDED: VALUE OMITTED]":"(not set)"];let i=o||"(not set)";if(e.display==="url-origin"&&o){try{const e=new URL(o);i=e.protocol==="https:"&&!e.username&&!e.password&&!e.search&&!e.hash&&e.pathname==="/"?e.origin:"[INVALID OR PRIVATE URL]"}catch{i="[INVALID OR PRIVATE URL]"}}i=sanitizeActionText(i,Number.MAX_SAFE_INTEGER,n);if(r.sanitize)i=sanitizeActionText(r.sanitize(i,Number.MAX_SAFE_INTEGER),Number.MAX_SAFE_INTEGER,n);const a=[...i];if(a.length>256){i=`${a.slice(0,242).join("")}… [truncated]`;A=true}return[s,i]}));return{inputs:s,inputsValidated:r.validated,inputsTruncated:A}}var Ee=__nccwpck_require__(2320);var Ce=__nccwpck_require__.n(Ee);const Qe="0.1.0-preview.2";const Ie="latest";const Be="The version input must be an exact semantic version such as 0.1.0-preview.2. Mutable aliases, ranges, tags, URLs, and Git refs are not supported.";const pe="The version input must be latest or an exact semantic version such as 0.1.0-preview.2. Other aliases, ranges, tags, URLs, and Git refs are not supported.";function isExactVersion(e){return e.length>0&&e.trim()===e&&Ce().valid(e)===e}function requireMinimumVersion(e){if(Ce().lt(e,Qe)){throw new SetupError(`CommerceKit CLI ${Qe} or newer is required by this Action.`)}return e}function validateExactVersion(e){if(!isExactVersion(e)){throw new SetupError(Be)}return requireMinimumVersion(e)}function validateVersionInput(e){if(e===Ie)return e;if(!isExactVersion(e))throw new SetupError(pe);return requireMinimumVersion(e)}function validateStableReleaseVersion(e){if(Ce().valid(e)!==e||Ce().prerelease(e)!==null){throw new SetupError("The latest CommerceKit release metadata does not identify a stable semantic version.")}return requireMinimumVersion(e)}function readInputs(e=core_getInput){const t=e("version",{required:false,trimWhitespace:false});return{version:t.length===0?undefined:validateVersionInput(t)}}const me=e(import.meta.url)("node:fs/promises");const ye=e(import.meta.url)("node:os");const we=e(import.meta.url)("node:path");var be=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};const Re={readLinuxVersionFile(){const e="/etc/lsb-release";const t="/etc/os-release";let r="";if(i.existsSync(e)){r=i.readFileSync(e).toString()}else if(i.existsSync(t)){r=i.readFileSync(t).toString()}return r}};function _findMatch(e,t,r,n){return be(this,void 0,void 0,function*(){const A=os.platform();let s;let o;let i;for(const s of r){const r=s.version;debug(`check ${r} satisfies ${e}`);if(semver.satisfies(r,e)&&(!t||s.stable===t)){i=s.files.find(e=>{debug(`${e.arch}===${n} && ${e.platform}===${A}`);let t=e.arch===n&&e.platform===A;if(t&&e.platform_version){const r=_getOsVersion();if(r===e.platform_version){t=true}else{t=semver.satisfies(r,e.platform_version)}}return t});if(i){debug(`matched ${s.version}`);o=s;break}}}if(o&&i){s=Object.assign({},o);s.files=[i]}return s})}function _getOsVersion(){const e=os.platform();let t="";if(e==="darwin"){t=cp.execSync("sw_vers -productVersion").toString()}else if(e==="linux"){const e=Re.readLinuxVersionFile();if(e){const r=e.split("\n");for(const e of r){const r=e.split("=");if(r.length===2&&(r[0].trim()==="VERSION_ID"||r[0].trim()==="DISTRIB_RELEASE")){t=r[1].trim().replace(/^"/,"").replace(/"$/,"");break}}}}return t}function _readLinuxVersionFile(){return Re.readLinuxVersionFile()}const Se=e(import.meta.url)("stream");var ke=__nccwpck_require__(9023);var De=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};class RetryHelper{constructor(e,t,r){if(e<1){throw new Error("max attempts should be greater than or equal to 1")}this.maxAttempts=e;this.minSeconds=Math.floor(t);this.maxSeconds=Math.floor(r);if(this.minSeconds>this.maxSeconds){throw new Error("min seconds should be less than or equal to max seconds")}}execute(e,t){return De(this,void 0,void 0,function*(){let r=1;while(rsetTimeout(t,e*1e3))})}}var Ne=undefined&&undefined.__awaiter||function(e,t,r,n){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,A){function fulfilled(e){try{step(n.next(e))}catch(e){A(e)}}function rejected(e){try{step(n["throw"](e))}catch(e){A(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())})};class HTTPError extends Error{constructor(e){super(`Unexpected HTTP response: ${e}`);this.httpStatusCode=e;Object.setPrototypeOf(this,new.target.prototype)}}const Fe=process.platform==="win32";const ve=process.platform==="darwin";const Me="actions/tool-cache";function downloadTool(e,t,r,n){return Ne(this,void 0,void 0,function*(){t=t||a.join(_getTempDirectory(),o.randomUUID());yield mkdirP(a.dirname(t));core_debug(`Downloading ${e}`);core_debug(`Destination ${t}`);const A=3;const s=_getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS",10);const i=_getGlobal("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS",20);const c=new RetryHelper(A,s,i);return yield c.execute(()=>Ne(this,void 0,void 0,function*(){return yield downloadToolAttempt(e,t||"",r,n)}),e=>{if(e instanceof HTTPError&&e.httpStatusCode){if(e.httpStatusCode<500&&e.httpStatusCode!==408&&e.httpStatusCode!==429){return false}}return true})})}function downloadToolAttempt(e,t,r,n){return Ne(this,void 0,void 0,function*(){if(i.existsSync(t)){throw new Error(`Destination file path ${t} already exists`)}const A=new lib_HttpClient(Me,[],{allowRetries:false});if(r){core_debug("set auth");if(n===undefined){n={}}n.authorization=r}const s=yield A.get(e,n);if(s.message.statusCode!==200){const t=new HTTPError(s.message.statusCode);core_debug(`Failed to download from "${e}". Code(${s.message.statusCode}) Message(${s.message.statusMessage})`);throw t}const o=ke.promisify(Se.pipeline);const a=_getGlobal("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY",()=>s.message);const c=a();let l=false;try{yield o(c,i.createWriteStream(t));core_debug("download complete");l=true;return t}finally{if(!l){core_debug("download failed");try{yield rmRF(t)}catch(e){core_debug(`Failed to delete '${t}'. ${e.message}`)}}}})}function extract7z(e,t,r){return Ne(this,void 0,void 0,function*(){ok(Fe,"extract7z() not supported on current OS");ok(e,'parameter "file" is required');t=yield _createExtractFolder(t);const n=process.cwd();process.chdir(t);if(r){try{const t=core.isDebug()?"-bb1":"-bb0";const n=["x",t,"-bd","-sccUTF-8",e];const A={silent:true};yield exec(`"${r}"`,n,A)}finally{process.chdir(n)}}else{const r=path.join(__dirname,"..","scripts","Invoke-7zdec.ps1").replace(/'/g,"''").replace(/"|\n|\r/g,"");const A=e.replace(/'/g,"''").replace(/"|\n|\r/g,"");const s=t.replace(/'/g,"''").replace(/"|\n|\r/g,"");const o=`& '${r}' -Source '${A}' -Target '${s}'`;const i=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",o];const a={silent:true};try{const e=yield io.which("powershell",true);yield exec(`"${e}"`,i,a)}finally{process.chdir(n)}}return t})}function extractTar(e,t){return Ne(this,arguments,void 0,function*(e,t,r="xz"){if(!e){throw new Error("parameter 'file' is required")}t=yield _createExtractFolder(t);core_debug("Checking tar --version");let n="";yield exec_exec("tar --version",[],{ignoreReturnCode:true,silent:true,listeners:{stdout:e=>n+=e.toString(),stderr:e=>n+=e.toString()}});core_debug(n.trim());const A=n.toUpperCase().includes("GNU TAR");let s;if(r instanceof Array){s=r}else{s=[r]}if(isDebug()&&!r.includes("v")){s.push("-v")}let o=t;let i=e;if(Fe&&A){s.push("--force-local");o=t.replace(/\\/g,"/");i=e.replace(/\\/g,"/")}if(A){s.push("--warning=no-unknown-keyword");s.push("--overwrite")}s.push("-C",o,"-f",i);yield exec_exec(`tar`,s);return t})}function extractXar(e,t){return Ne(this,arguments,void 0,function*(e,t,r=[]){ok(ve,"extractXar() not supported on current OS");ok(e,'parameter "file" is required');t=yield _createExtractFolder(t);let n;if(r instanceof Array){n=r}else{n=[r]}n.push("-x","-C",t,"-f",e);if(core.isDebug()){n.push("-v")}const A=yield io.which("xar",true);yield exec(`"${A}"`,_unique(n));return t})}function extractZip(e,t){return Ne(this,void 0,void 0,function*(){if(!e){throw new Error("parameter 'file' is required")}t=yield _createExtractFolder(t);if(Fe){yield extractZipWin(e,t)}else{yield extractZipNix(e,t)}return t})}function extractZipWin(e,t){return Ne(this,void 0,void 0,function*(){const r=e.replace(/'/g,"''").replace(/"|\n|\r/g,"");const n=t.replace(/'/g,"''").replace(/"|\n|\r/g,"");const A=yield which("pwsh",false);if(A){const e=[`$ErrorActionPreference = 'Stop' ;`,`try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ;`,`try { [System.IO.Compression.ZipFile]::ExtractToDirectory('${r}', '${n}', $true) }`,`catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath '${r}' -DestinationPath '${n}' -Force } else { throw $_ } } ;`].join(" ");const t=["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",e];core_debug(`Using pwsh at path: ${A}`);yield exec_exec(`"${A}"`,t)}else{const e=[`$ErrorActionPreference = 'Stop' ;`,`try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ;`,`if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath '${r}' -DestinationPath '${n}' -Force }`,`else {[System.IO.Compression.ZipFile]::ExtractToDirectory('${r}', '${n}', $true) }`].join(" ");const t=["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",e];const A=yield which("powershell",true);core_debug(`Using powershell at path: ${A}`);yield exec_exec(`"${A}"`,t)}})}function extractZipNix(e,t){return Ne(this,void 0,void 0,function*(){const r=yield which("unzip",true);const n=[e];if(!isDebug()){n.unshift("-q")}n.unshift("-o");yield exec_exec(`"${r}"`,n,{cwd:t})})}function cacheDir(e,t,r,n){return Ne(this,void 0,void 0,function*(){r=Ee.clean(r)||r;n=n||A.arch();core_debug(`Caching tool ${t} ${r} ${n}`);core_debug(`source dir: ${e}`);if(!i.statSync(e).isDirectory()){throw new Error("sourceDir is not a directory")}const s=yield _createToolPath(t,r,n);for(const t of i.readdirSync(e)){const r=a.join(e,t);yield io_cp(r,s,{recursive:true})}_completeToolPath(t,r,n);return s})}function cacheFile(e,t,r,n,A){return Ne(this,void 0,void 0,function*(){n=semver.clean(n)||n;A=A||os.arch();core.debug(`Caching tool ${r} ${n} ${A}`);core.debug(`source file: ${e}`);if(!fs.statSync(e).isFile()){throw new Error("sourceFile is not a file")}const s=yield _createToolPath(r,n,A);const o=path.join(s,t);core.debug(`destination file ${o}`);yield io.cp(e,o);_completeToolPath(r,n,A);return s})}function find(e,t,r){if(!e){throw new Error("toolName parameter is required")}if(!t){throw new Error("versionSpec parameter is required")}r=r||A.arch();if(!isExplicitVersion(t)){const n=findAllVersions(e,r);const A=evaluateVersions(n,t);t=A}let n="";if(t){t=Ee.clean(t)||"";const A=a.join(_getCacheDirectory(),e,t,r);core_debug(`checking cache: ${A}`);if(i.existsSync(A)&&i.existsSync(`${A}.complete`)){core_debug(`Found tool in cache ${e} ${t} ${r}`);n=A}else{core_debug("not found")}}return n}function findAllVersions(e,t){const r=[];t=t||A.arch();const n=a.join(_getCacheDirectory(),e);if(i.existsSync(n)){const e=i.readdirSync(n);for(const A of e){if(isExplicitVersion(A)){const e=a.join(n,A,t||"");if(i.existsSync(e)&&i.existsSync(`${e}.complete`)){r.push(A)}}}}return r}function getManifestFromRepo(e,t,r){return Ne(this,arguments,void 0,function*(e,t,r,n="master"){let A=[];const s=`https://api.github.com/repos/${e}/${t}/git/trees/${n}`;const o=new httpm.HttpClient("tool-cache");const i={};if(r){core.debug("set auth");i.authorization=r}const a=yield o.getJson(s,i);if(!a.result){return A}let c="";for(const e of a.result.tree){if(e.path==="versions-manifest.json"){c=e.url;break}}i["accept"]="application/vnd.github.VERSION.raw";let l=yield(yield o.get(c,i)).readBody();if(l){l=l.replace(/^\uFEFF/,"");try{A=JSON.parse(l)}catch(e){core.debug("Invalid json")}}return A})}function findFromManifest(e,t,r){return Ne(this,arguments,void 0,function*(e,t,r,n=os.arch()){const A=yield mm._findMatch(e,t,r,n);return A})}function _createExtractFolder(e){return Ne(this,void 0,void 0,function*(){if(!e){e=a.join(_getTempDirectory(),o.randomUUID())}yield mkdirP(e);return e})}function _createToolPath(e,t,r){return Ne(this,void 0,void 0,function*(){const n=a.join(_getCacheDirectory(),e,Ee.clean(t)||t,r||"");core_debug(`destination ${n}`);const A=`${n}.complete`;yield rmRF(n);yield rmRF(A);yield mkdirP(n);return n})}function _completeToolPath(e,t,r){const n=a.join(_getCacheDirectory(),e,Ee.clean(t)||t,r||"");const A=`${n}.complete`;i.writeFileSync(A,"");core_debug("finished caching tool")}function isExplicitVersion(e){const t=Ee.clean(e)||"";core_debug(`isExplicit: ${t}`);const r=Ee.valid(t)!=null;core_debug(`explicit? ${r}`);return r}function evaluateVersions(e,t){let r="";core_debug(`evaluating ${e.length} versions`);e=e.sort((e,t)=>{if(Ee.gt(e,t)){return 1}return-1});for(let n=e.length-1;n>=0;n--){const A=e[n];const s=Ee.satisfies(A,t);if(s){r=A;break}}if(r){core_debug(`matched: ${r}`)}else{core_debug("match not found")}return r}function _getCacheDirectory(){const e=process.env["RUNNER_TOOL_CACHE"]||"";(0,H.ok)(e,"Expected RUNNER_TOOL_CACHE to be defined");return e}function _getTempDirectory(){const e=process.env["RUNNER_TEMP"]||"";(0,H.ok)(e,"Expected RUNNER_TEMP to be defined");return e}function _getGlobal(e,t){const r=global[e];return r!==undefined?r:t}function _unique(e){return Array.from(new Set(e))}var Te=__nccwpck_require__(7598);const Ue=e(import.meta.url)("node:fs");const Le=/^[0-9a-f]{64}$/i;const xe=/^([0-9a-f]{64}) ([ *])(.+)$/i;function hasControlCharacter(e){return[...e].some(e=>{const t=e.codePointAt(0);return t!==undefined&&(t<=31||t===127)})}function isSha256(e){return Le.test(e)}function assertSafeAssetFilename(e){if(e.length===0||e.trim()!==e||e!==(0,we.basename)(e)||e.includes("/")||e.includes("\\")||e.includes("..")||hasControlCharacter(e)){throw new SetupError("Release metadata contains an unsafe asset filename.")}}function parseSha256Sums(e){const t=new Map;for(const[r,n]of e.split(/\r?\n/u).entries()){if(n.length===0)continue;const e=xe.exec(n);if(e===null){throw new SetupError(`SHA256SUMS line ${r+1} is malformed.`)}const A=e[1]?.toLowerCase();const s=e[3];if(A===undefined||s===undefined){throw new SetupError(`SHA256SUMS line ${r+1} is malformed.`)}assertSafeAssetFilename(s);const o=t.get(s);if(o!==undefined){const e=o===A?"duplicate":"conflicting";throw new SetupError(`SHA256SUMS contains a ${e} entry for ${s}.`)}t.set(s,A)}return t}function requireChecksum(e,t){const r=e.get(t);if(r===undefined){throw new SetupError(`SHA256SUMS does not contain ${t}.`)}return r}async function sha256File(e){const t=(0,Te.createHash)("sha256");await new Promise((r,n)=>{const A=(0,Ue.createReadStream)(e);A.on("error",n);A.on("data",e=>t.update(e));A.on("end",r)});return t.digest("hex")}async function verifyFileSha256(e,t,r){if(!isSha256(t)){throw new SetupError(`The expected SHA-256 for ${r} is malformed.`)}const n=await sha256File(e);if(!(0,Te.timingSafeEqual)(Buffer.from(n,"hex"),Buffer.from(t,"hex"))){throw new SetupError(`SHA-256 verification failed for ${r}.`)}}const He=["darwin-arm64","darwin-x64","linux-arm64","linux-x64","windows-arm64","windows-x64"];const Ge=Object.freeze({"darwin-arm64":Object.freeze({target:"darwin-arm64",platform:"darwin",os:"darwin",architecture:"arm64",archiveExtension:".tar.gz",executableName:"commercekit"}),"darwin-x64":Object.freeze({target:"darwin-x64",platform:"darwin",os:"darwin",architecture:"x64",archiveExtension:".tar.gz",executableName:"commercekit"}),"linux-arm64":Object.freeze({target:"linux-arm64",platform:"linux",os:"linux",architecture:"arm64",archiveExtension:".tar.gz",executableName:"commercekit"}),"linux-x64":Object.freeze({target:"linux-x64",platform:"linux",os:"linux",architecture:"x64",archiveExtension:".tar.gz",executableName:"commercekit"}),"windows-arm64":Object.freeze({target:"windows-arm64",platform:"win32",os:"windows",architecture:"arm64",archiveExtension:".zip",executableName:"commercekit.exe"}),"windows-x64":Object.freeze({target:"windows-x64",platform:"win32",os:"windows",architecture:"x64",archiveExtension:".zip",executableName:"commercekit.exe"})});const Pe=new Map(He.map(e=>{const t=Ge[e];return[`${t.platform}:${t.architecture}`,e]}));function resolveTarget(e=process.platform,t=process.arch){const r=Pe.get(`${e}:${t}`);if(r===undefined){throw new SetupError(`Runner platform ${e}/${t} is not supported by Setup CommerceKit CLI.`)}return Ge[r]}function isReleaseTarget(e){return Object.hasOwn(Ge,e)}const Ve=1;function isRecord(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function requireString(e,t,r){if(typeof e!=="string"||e.length===0||r!==undefined&&!r.test(e)){throw new SetupError(`Release manifest field ${t} is invalid.`)}return e}function parseArtifact(e,t,r){if(!isRecord(e)){throw new SetupError("Release manifest contains an invalid artifact entry.")}const n=requireString(e["target"],"artifacts[].target");if(!isReleaseTarget(n)){throw new SetupError(`Release manifest contains unsupported target ${n}.`)}if(r.has(n)){throw new SetupError(`Release manifest contains duplicate target ${n}.`)}r.add(n);const A=Ge[n];const s=requireString(e["os"],`artifacts[${n}].os`);const o=requireString(e["architecture"],`artifacts[${n}].architecture`);if(s!==A.os||o!==A.architecture){throw new SetupError(`Release manifest target metadata is inconsistent for ${n}.`)}const i=requireString(e["filename"],`artifacts[${n}].filename`);assertSafeAssetFilename(i);const a=`commercekit-v${t}-${n}${A.archiveExtension}`;if(i!==a){throw new SetupError(`Release manifest filename is invalid for target ${n}.`)}const c=requireString(e["sha256"],`artifacts[${n}].sha256`).toLowerCase();if(!isSha256(c)){throw new SetupError(`Release manifest SHA-256 is invalid for target ${n}.`)}const l=e["size"];if(typeof l!=="number"||!Number.isSafeInteger(l)||l<=0){throw new SetupError(`Release manifest size is invalid for target ${n}.`)}return Object.freeze({target:n,os:A.os,architecture:A.architecture,filename:i,sha256:c,size:l})}function parseReleaseManifest(e,t){let r;try{r=JSON.parse(e)}catch{throw new SetupError("CommerceKit release manifest is not valid JSON.")}if(!isRecord(r)){throw new SetupError("CommerceKit release manifest must be a JSON object.")}const n=r["schemaVersion"];if(n!==Ve){const e=typeof n==="number"||typeof n==="string"?String(n):"unknown";throw new SetupError(`CommerceKit release manifest schema ${e} is not supported by setup-commercekit v1. Upgrade the setup Action to a version that supports this manifest.`)}if(r["product"]!=="commercekit-cli"){throw new SetupError("Release manifest product is not commercekit-cli.")}const A=requireString(r["cliVersion"],"cliVersion");if(Ce().valid(A)!==A){throw new SetupError("Release manifest field cliVersion is invalid.")}if(t!==undefined&&A!==t){throw new SetupError(`Release manifest version does not match requested CommerceKit CLI ${t}.`)}const s=requireString(r["buildId"],"buildId",/^[0-9a-f]{40}$/iu).toLowerCase();const o=requireString(r["channel"],"channel",/^[a-z][a-z0-9-]{0,31}$/u);if(typeof r["unsigned"]!=="boolean"){throw new SetupError("Release manifest field unsigned is invalid.")}if(!Array.isArray(r["artifacts"])||r["artifacts"].length===0){throw new SetupError("Release manifest does not contain any artifacts.")}const i=new Set;const a=r["artifacts"].map(e=>parseArtifact(e,A,i));return Object.freeze({schemaVersion:Ve,product:"commercekit-cli",cliVersion:A,buildId:s,channel:o,unsigned:r["unsigned"],artifacts:Object.freeze(a)})}function findManifestArtifact(e,t){const r=e.artifacts.find(e=>e.target===t);if(r===undefined){throw new SetupError(`CommerceKit CLI ${e.cliVersion} does not publish target ${t}.`)}return r}const Oe="commercekit-tools/cli";const Ye=`https://github.com/${Oe}/releases/latest/download/`;const _e="SHA256SUMS";const Je="release-manifest.json";function releaseBaseUrl(e){return`https://github.com/${Oe}/releases/download/cli-v${e}/`}function releaseAssetUrl(e,t){assertSafeAssetFilename(t);return new URL(encodeURIComponent(t),releaseBaseUrl(e)).href}function latestStableAssetUrl(e){assertSafeAssetFilename(e);return new URL(encodeURIComponent(e),Ye).href}async function downloadIntegrityMetadata(e,t,r,n,A){const s=(0,we.join)(t,`${r}-${_e}`);try{await n(e(_e),s)}catch{throw new SetupError(A(_e))}const o=parseSha256Sums(await(0,me.readFile)(s,"utf8"));const i=(0,we.join)(t,`${r}-${Je}`);try{await n(e(Je),i)}catch{throw new SetupError(A(Je))}await verifyFileSha256(i,requireChecksum(o,Je),Je);return Object.freeze({checksums:o,manifestContent:await(0,me.readFile)(i,"utf8")})}async function downloadLatestStableVersion(e,t){const r=await downloadIntegrityMetadata(latestStableAssetUrl,e,"latest-stable",t,()=>"Could not resolve the latest stable CommerceKit CLI release. Specify an exact version or confirm that a stable public release is available.");const n=parseReleaseManifest(r.manifestContent);return validateStableReleaseVersion(n.cliVersion)}async function downloadVerifiedReleaseMetadata(e,t,r,n=downloadTool){const A=await downloadIntegrityMetadata(t=>releaseAssetUrl(e,t),r,"exact",n,t=>`Could not download ${t} for CommerceKit CLI ${e}. Confirm that the exact public release exists.`);const s=parseReleaseManifest(A.manifestContent,e);const o=findManifestArtifact(s,t);const i=requireChecksum(A.checksums,o.filename);if(i!==o.sha256){throw new SetupError(`Release manifest and SHA256SUMS disagree for ${o.filename}.`)}return Object.freeze({manifest:s,artifact:o,archiveUrl:releaseAssetUrl(e,o.filename)})}const $e=e(import.meta.url)("node:child_process");const executeFile=(e,t)=>new Promise((r,n)=>{(0,$e.execFile)(e,[...t],{timeout:3e4,windowsHide:true,maxBuffer:1024*1024},(e,t,A)=>{if(e!==null){n(e instanceof Error?e:new Error("Execution failed."));return}r({stdout:t,stderr:A})})});async function verifyExecutableVersion(e,t,r=executeFile){let n;try{n=await(0,me.lstat)(e)}catch{throw new SetupError("The CommerceKit executable is missing.")}if(!n.isFile()||n.isSymbolicLink()){throw new SetupError("The CommerceKit executable is not a regular file.")}let A;try{({stdout:A}=await r(e,["--version"]))}catch{throw new SetupError("The CommerceKit executable could not be started.")}if(A.trim()!==t){throw new SetupError(`The installed CommerceKit executable did not report expected version ${t}.`)}}const We="commercekit";const qe=".setup-commercekit.json";const je=1e3;const ze={runnerTemp:process.env["RUNNER_TEMP"]??(0,ye.tmpdir)(),findTool:find,cacheDirectory:cacheDir,downloadFile:downloadTool,extractTar:(e,t)=>extractTar(e,t),extractZip:extractZip,resolveMetadata:downloadVerifiedReleaseMetadata,verifyExecutable:verifyExecutableVersion,log:()=>undefined,debug:()=>undefined};function parseCacheMetadata(e,t,r){let n;try{n=JSON.parse(e)}catch{throw new SetupError("Cached CommerceKit metadata is invalid.")}if(typeof n!=="object"||n===null||Array.isArray(n)){throw new SetupError("Cached CommerceKit metadata is invalid.")}const A=n;if(A["schemaVersion"]!==1||A["cliVersion"]!==t||A["target"]!==r||typeof A["buildId"]!=="string"||!/^[0-9a-f]{40}$/u.test(A["buildId"])||typeof A["archiveSha256"]!=="string"||!/^[0-9a-f]{64}$/u.test(A["archiveSha256"])){throw new SetupError("Cached CommerceKit metadata is invalid.")}return{schemaVersion:1,cliVersion:t,target:r,buildId:A["buildId"],archiveSha256:A["archiveSha256"]}}async function readCacheMetadata(e,t,r){try{return parseCacheMetadata(await(0,me.readFile)((0,we.join)(e,qe),"utf8"),t,r)}catch(e){if(e instanceof SetupError)throw e;throw new SetupError("Cached CommerceKit metadata is missing.")}}async function findExecutable(e,t){const r=(0,we.resolve)(e);const n=[];let A=0;async function visit(e){for(const s of await(0,me.readdir)(e,{withFileTypes:true})){A+=1;if(A>je){throw new SetupError("The CommerceKit archive contains too many entries.")}const o=(0,we.resolve)(e,s.name);if(o!==r&&!o.startsWith(`${r}${we.sep}`)){throw new SetupError("The CommerceKit archive contains an unsafe path.")}if(s.isDirectory()){await visit(o)}else if(s.name===t){const e=await(0,me.lstat)(o);if(!e.isFile()||e.isSymbolicLink()){throw new SetupError("The extracted CommerceKit executable is not a regular file.")}n.push(o)}}}await visit(r);if(n.length===0){throw new SetupError("The CommerceKit archive does not contain the expected executable.")}if(n.length>1){throw new SetupError("The CommerceKit archive contains multiple executable candidates.")}return n[0]}async function verifyCacheHit(e,t,r,n){try{const A=await readCacheMetadata(e,t,r.target);const s=await findExecutable(e,r.executableName);await n.verifyExecutable(s,t);return{version:t,executablePath:s,target:r.target,buildId:A.buildId,cacheHit:true}}catch{throw new SetupError(`Cached CommerceKit CLI ${t} for ${r.target} failed verification. Remove the corrupted runner tool-cache entry before retrying.`)}}async function extractArchive(e,t,r,n){try{return r.archiveExtension===".zip"?await n.extractZip(e,t):await n.extractTar(e,t)}catch{throw new SetupError("The CommerceKit release archive could not be extracted.")}}async function downloadArchive(e,t,r){const n=(0,we.join)(t,e.artifact.filename);try{await r.downloadFile(e.archiveUrl,n)}catch{throw new SetupError(`Could not download ${e.artifact.filename} from the exact CommerceKit release.`)}const A=await(0,me.stat)(n);if(A.size!==e.artifact.size){throw new SetupError(`Downloaded size verification failed for ${e.artifact.filename}.`)}r.log("Verifying SHA-256");await verifyFileSha256(n,e.artifact.sha256,e.artifact.filename);return n}async function installCommerceKit(e,t,r={}){const n={...ze,...r};const A=n.findTool(We,e,t.target);if(A.length>0){n.log(`Using cached CommerceKit CLI ${e}`);return verifyCacheHit(A,e,t,n)}await(0,me.mkdir)(n.runnerTemp,{recursive:true});const s=await(0,me.mkdtemp)((0,we.join)(n.runnerTemp,"setup-commercekit-"));try{n.log("Verifying release metadata");const r=await n.resolveMetadata(e,t.target,s,n.downloadFile);n.log(`Downloading ${r.artifact.filename}`);const A=await downloadArchive(r,s,n);const o=(0,we.join)(s,"extracted");await(0,me.mkdir)(o,{recursive:true});const i=await extractArchive(A,o,t,n);const a=await findExecutable(i,t.executableName);if(t.platform!=="win32"){await(0,me.chmod)(a,493)}await n.verifyExecutable(a,e);const c={schemaVersion:1,cliVersion:e,target:t.target,buildId:r.manifest.buildId,archiveSha256:r.artifact.sha256};await(0,me.writeFile)((0,we.join)(i,qe),`${JSON.stringify(c)}\n`,{encoding:"utf8",mode:384});const l=await n.cacheDirectory(i,We,e,t.target);const u=await findExecutable(l,t.executableName);await n.verifyExecutable(u,e);return{version:e,executablePath:u,target:t.target,buildId:r.manifest.buildId,cacheHit:false,archiveFilename:r.artifact.filename,archiveSha256:r.artifact.sha256}}finally{try{await(0,me.rm)(s,{recursive:true,force:true})}catch{n.debug("Temporary setup directory cleanup did not complete.")}}}function executableDirectory(e){return(0,we.dirname)(e.executablePath)}function validateNotificationLink(e){try{if(e.length>2048||/[\u0000-\u0020\u007f\\]/.test(e))throw Error();const t=new URL(e);if(t.protocol!=="https:"||!t.hostname||t.username||t.password||e.includes("#"))throw Error();return t}catch{throw new Error("Invalid notification HTTPS link.")}}function validateGitHubRunUrl(e){return validateNotificationLink(e)}const Ke={repository:["GITHUB_REPOSITORY",200],ref:["GITHUB_REF",300],commit:["GITHUB_SHA",128],actor:["GITHUB_ACTOR",128],workflow:["GITHUB_WORKFLOW",200],job:["GITHUB_JOB",200],runId:["GITHUB_RUN_ID",64]};function extractSafeGitHubContext(e){const t={};for(const[r,[n,A]]of Object.entries(Ke)){const s=e[n]?.trim();if(!s||s.length>A||/[\u0000-\u001f\u007f-\u009f]/.test(s))continue;if(r==="repository"&&!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(s))continue;if(r==="runId"&&!/^\d+$/.test(s))continue;t[r]=s}const r=Number(e.GITHUB_RUN_ATTEMPT);if(Number.isSafeInteger(r)&&r>=1)t.runAttempt=r;try{const r=validateGitHubRunUrl(e.GITHUB_SERVER_URL??"https://github.com");if(r.search||r.pathname!=="/")throw Error();if(t.repository&&t.runId)t.runUrl=validateGitHubRunUrl(`${r.origin}/${t.repository}/actions/runs/${t.runId}`).href}catch{}return t}function merge(e,t){const r={...e};for(const[e,n]of Object.entries(t))if(e!=="runUrl"&&(r[e]===undefined||r[e]===""))r[e]=n;if((r.runUrl===undefined||r.runUrl==="")&&t.runUrl){const e=validateGitHubRunUrl(t.runUrl).origin;if(typeof r.repository==="string"&&/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(r.repository)&&typeof r.runId==="string"&&/^\d+$/.test(r.runId))r.runUrl=`${e}/${r.repository}/actions/runs/${r.runId}`}if(r.runUrl!==undefined)validateGitHubRunUrl(r.runUrl);return r}function mergeProducerContext(e,t){return merge(e,t)}function mergeNotifierContext(e,t){return merge(e,t)}const Ze={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://commercekit.tools/schemas/notification-event-v1.schema.json",title:"CommerceKit NotificationEvent v1",type:"object",required:["schemaVersion","eventId","eventType","status","occurredAt","source","data"],properties:{schemaVersion:{const:1},eventId:{type:"string",minLength:1,maxLength:128},eventType:{enum:["check.completed","ccv2.build.started","ccv2.build.completed","ccv2.deployment.started","ccv2.deployment.action-required","ccv2.deployment.completed","ccv2.build-cleanup.completed","commercekit.setup.completed"]},status:{enum:["started","success","warning","failure","cancelled","internal-error","action-required"]},occurredAt:{type:"string",format:"date-time",maxLength:64},source:{type:"object",required:["product","component"],properties:{product:{const:"commercekit"},component:{enum:["cli-check","ccv2-build","ccv2-deploy","workflow","ccv2-build-cleanup","setup-commercekit"]},version:{type:"string",maxLength:64}},additionalProperties:true},context:{type:"object",properties:{repository:{type:"string",maxLength:200},ref:{type:"string",maxLength:300},commit:{type:"string",maxLength:128},actor:{type:"string",maxLength:128},workflow:{type:"string",maxLength:200},job:{type:"string",maxLength:200},runId:{type:"string",maxLength:64},runAttempt:{type:"integer",minimum:1},runUrl:{type:"string",format:"uri",maxLength:2048},environment:{type:"string",maxLength:128}},additionalProperties:true},data:{type:"object"},links:{type:"array",maxItems:3,items:{type:"object",required:["label","url"],properties:{label:{type:"string",minLength:1,maxLength:80},url:{type:"string",format:"uri",maxLength:2048}},additionalProperties:true}}},allOf:[{if:{properties:{eventType:{const:"check.completed"}}},then:{properties:{status:{enum:["success","warning","failure","cancelled","internal-error"]},data:{$ref:"#/$defs/check"}},allOf:[{if:{properties:{status:{enum:["success","warning","failure"]}}},then:{properties:{data:{required:["filesChecked","errors","warnings"]}}}}]}},{if:{properties:{eventType:{const:"ccv2.build.started"}}},then:{properties:{status:{const:"started"},data:{$ref:"#/$defs/build"}}}},{if:{properties:{eventType:{const:"ccv2.build.completed"}}},then:{properties:{status:{enum:["success","failure","cancelled","internal-error"]},data:{$ref:"#/$defs/build"}}}},{if:{properties:{eventType:{const:"ccv2.deployment.started"}}},then:{properties:{status:{const:"started"},data:{$ref:"#/$defs/deployment"}}}},{if:{properties:{eventType:{const:"ccv2.deployment.action-required"}}},then:{properties:{status:{const:"action-required"},data:{$ref:"#/$defs/deployment"}}}},{if:{properties:{eventType:{const:"ccv2.deployment.completed"}}},then:{properties:{status:{enum:["success","failure","cancelled","internal-error"]},data:{$ref:"#/$defs/deployment"}}}},{if:{properties:{eventType:{const:"ccv2.build-cleanup.completed"}}},then:{properties:{status:{enum:["success","warning","failure","cancelled","internal-error"]},data:{$ref:"#/$defs/cleanup"}}}},{if:{properties:{eventType:{const:"commercekit.setup.completed"}}},then:{properties:{status:{enum:["success","warning","failure","cancelled","internal-error"]},data:{$ref:"#/$defs/setup"}}}}],$defs:{error:{type:"object",required:["message"],properties:{code:{type:"string",maxLength:100},message:{type:"string",minLength:1,maxLength:1e3}},additionalProperties:true},check:{type:"object",properties:{mode:{enum:["full","changed"]},changedFrom:{type:"string",maxLength:200},filesChecked:{type:"integer",minimum:0},errors:{type:"integer",minimum:0},warnings:{type:"integer",minimum:0},durationMs:{type:"integer",minimum:0},error:{$ref:"#/$defs/error"},inputs:{$ref:"#/$defs/actionInputs"},inputsValidated:{type:"boolean"},inputsTruncated:{type:"boolean"},issues:{type:"array",maxItems:3,items:{$ref:"#/$defs/error"}}},additionalProperties:true},build:{type:"object",properties:{subscriptionCode:{type:"string",maxLength:128},applicationCode:{type:"string",maxLength:128},buildCode:{type:"string",maxLength:128},buildName:{type:"string",maxLength:200},branch:{type:"string",maxLength:300},buildStatus:{type:"string",maxLength:100},durationMs:{type:"integer",minimum:0},retryCount:{type:"integer",minimum:0},error:{$ref:"#/$defs/error"},inputs:{$ref:"#/$defs/actionInputs"},inputsValidated:{type:"boolean"},inputsTruncated:{type:"boolean"},issues:{type:"array",maxItems:3,items:{$ref:"#/$defs/error"}}},additionalProperties:true},deployment:{type:"object",properties:{subscriptionCode:{type:"string",maxLength:128},applicationCode:{type:"string",maxLength:128},deploymentCode:{type:"string",maxLength:128},buildCode:{type:"string",maxLength:128},environmentCode:{type:"string",maxLength:128},deploymentMode:{type:"string",maxLength:100},databaseUpdateMode:{type:"string",maxLength:100},deploymentStatus:{type:"string",maxLength:100},durationMs:{type:"integer",minimum:0},decisionType:{type:"string",maxLength:100},error:{$ref:"#/$defs/error"},inputs:{$ref:"#/$defs/actionInputs"},inputsValidated:{type:"boolean"},inputsTruncated:{type:"boolean"},issues:{type:"array",maxItems:3,items:{$ref:"#/$defs/error"}}},additionalProperties:true},cleanup:{type:"object",required:["mode","subscriptionCode","retentionDays","keepLatest","cleanupStatus","scannedCount","eligibleCount","plannedCount","deletionRequestedCount","skippedCount","failedCount","unknownCount","deferredCount","durationMs"],properties:{mode:{enum:["dry-run","apply"]},subscriptionCode:{type:"string",minLength:1,maxLength:128},applicationCode:{type:"string",minLength:1,maxLength:128},retentionDays:{type:"integer",minimum:1,maximum:36500},keepLatest:{type:"integer",minimum:1,maximum:1e4},cleanupStatus:{type:"string",minLength:1,maxLength:100},scannedCount:{type:"integer",minimum:0,maximum:9007199254740991},eligibleCount:{type:"integer",minimum:0,maximum:9007199254740991},plannedCount:{type:"integer",minimum:0,maximum:9007199254740991},deletionRequestedCount:{type:"integer",minimum:0,maximum:9007199254740991},skippedCount:{type:"integer",minimum:0,maximum:9007199254740991},failedCount:{type:"integer",minimum:0,maximum:9007199254740991},unknownCount:{type:"integer",minimum:0,maximum:9007199254740991},deferredCount:{type:"integer",minimum:0,maximum:9007199254740991},durationMs:{type:"integer",minimum:0,maximum:9007199254740991},error:{$ref:"#/$defs/error"},inputs:{$ref:"#/$defs/cleanupInputs"},inputsValidated:{type:"boolean"},inputsTruncated:{type:"boolean"},protectedCount:{type:"integer",minimum:0,maximum:9007199254740991},blockedCount:{type:"integer",minimum:0,maximum:9007199254740991},issues:{type:"array",maxItems:3,items:{$ref:"#/$defs/error"}}},additionalProperties:true},cleanupInputs:{type:"object",required:["token-endpoint","client-id","client-secret","resource","subscription-code","api-base-url","application-code","retention-days","keep-latest","dry-run","max-deletions","exclude-build-codes","timeout-minutes","continue-on-delete-error"],properties:{"token-endpoint":{const:"[REDACTED]"},"client-id":{const:"[REDACTED]"},"client-secret":{const:"[REDACTED]"},resource:{const:"[REDACTED]"},"subscription-code":{type:"string",maxLength:256},"api-base-url":{type:"string",maxLength:256},"application-code":{type:"string",maxLength:256},"retention-days":{type:"string",maxLength:256},"keep-latest":{type:"string",maxLength:256},"dry-run":{type:"string",maxLength:256},"max-deletions":{type:"string",maxLength:256},"exclude-build-codes":{type:"string",maxLength:256},"timeout-minutes":{type:"string",maxLength:256},"continue-on-delete-error":{type:"string",maxLength:256}},additionalProperties:false},actionInputs:{type:"object",maxProperties:50,propertyNames:{type:"string",pattern:"^[a-z][a-z0-9-]{0,63}$"},additionalProperties:{type:"string",maxLength:256},patternProperties:{"(?:token|secret|password|credential|webhook|authorization|private-key|api-key)":{const:"[REDACTED]"},"^(?:client-id|resource)$":{const:"[REDACTED]"}}},setup:{type:"object",properties:{inputs:{$ref:"#/$defs/actionInputs"},inputsValidated:{type:"boolean"},inputsTruncated:{type:"boolean"},issues:{type:"array",maxItems:3,items:{$ref:"#/$defs/error"}},requestedVersion:{type:"string",maxLength:256},version:{type:"string",maxLength:128},target:{type:"string",maxLength:128},buildId:{type:"string",maxLength:128},cacheHit:{type:"boolean"},durationMs:{type:"integer",minimum:0,maximum:9007199254740991},error:{$ref:"#/$defs/error"}},additionalProperties:true}},additionalProperties:true};var Xe=__nccwpck_require__(9474);var et=__nccwpck_require__(8078);const tt=new Xe.Ajv2020({strict:false,validateFormats:true});et(tt);const rt=tt.compile(Ze);function validateNotificationEvent(e){if(!e||typeof e!=="object"||Array.isArray(e)||!rt(e))throw new Error("Invalid NotificationEvent v1.");const t=e;for(const e of t.links??[])validateNotificationLink(e.url);if(t.context?.runUrl!==undefined)validateGitHubRunUrl(t.context.runUrl);return t}function parseNotificationEventJson(e,t={}){if((new TextEncoder).encode(e).length>(t.maxBytes??65536))throw new Error("NotificationEvent exceeds byte limit.");let r;try{r=JSON.parse(e)}catch{throw new Error("Invalid NotificationEvent JSON.")}return validateNotificationEvent(r)}function create(e,t,r,n){const A=Object.keys(Ze.$defs[e].properties);const s=Object.fromEntries(Object.entries(r).filter(([e])=>A.includes(e)));if(s.error&&typeof s.error==="object"){const e=s.error;s.error={...e.code!==undefined?{code:e.code}:{},message:e.message}}if(Array.isArray(s.issues)){s.issues=s.issues.map(e=>{if(!e||typeof e!=="object")return e;const t="code"in e?e.code:undefined;return{...t!==undefined?{code:t}:{},message:"message"in e?e.message:undefined}})}const o=e==="setup"?"commercekit.setup.completed":e==="cleanup"?"ccv2.build-cleanup.completed":e==="check"?"check.completed":`ccv2.${e}.${t==="started"?"started":t==="action-required"?"action-required":"completed"}`;return validateNotificationEvent({schemaVersion:1,eventId:n.eventId??`ckevt_${(0,Te.randomUUID)()}`,occurredAt:n.occurredAt??(new Date).toISOString(),eventType:o,status:t,source:n.source?{product:n.source.product,component:n.source.component,...n.source.version!==undefined?{version:n.source.version}:{}}:{product:"commercekit",component:e==="setup"?"setup-commercekit":e==="cleanup"?"ccv2-build-cleanup":e==="check"?"cli-check":`ccv2-${e==="deployment"?"deploy":"build"}`},context:mergeProducerContext(n.context??{},extractSafeGitHubContext(n.env??{})),data:s,...n.links?{links:n.links.map(({label:e,url:t})=>({label:e,url:t}))}:{}})}function createCheckEvent(e){return create("check",e.status,e.data,e)}function createBuildEvent(e){return create("build",e.status,e.data,e)}function createDeploymentEvent(e){return create("deployment",e.status,e.data,e)}function createBuildCleanupEvent(e){return create("cleanup",e.status,e.data,e)}function createSetupEvent(e){return create("setup",e.status,e.data,e)}const nt={started:{label:"Started",icon:"ℹ️",tone:"info",accent:"#1877C9"},success:{label:"Succeeded",icon:"✅",tone:"success",accent:"#168A45"},warning:{label:"Completed with warnings",icon:"⚠️",tone:"warning",accent:"#B7791F"},failure:{label:"Failed",icon:"❌",tone:"danger",accent:"#C62828"},"internal-error":{label:"CommerceKit error",icon:"❌",tone:"danger",accent:"#C62828"},cancelled:{label:"Cancelled",icon:"⏹️",tone:"neutral",accent:"#6B7280"},"action-required":{label:"Action required",icon:"⚠️",tone:"warning",accent:"#B7791F"}};function getNotificationStyle(e){if(!Object.hasOwn(nt,e))throw new Error("Invalid notification status.");return Object.freeze({...nt[e]})}function renderActionSummary(e){const t=[...e.secrets??[],...Object.entries(e.inputContext?.inputs??{}).filter(([e])=>isConfidentialInputName(e)).map(([,e])=>e==="[REDACTED]"?"":e)];let r=false;const text=(e,n=256)=>{const A=[...sanitizeActionText(String(e),Number.MAX_SAFE_INTEGER,t)];if(A.length>n)r=true;const s=A.length>n?`${A.slice(0,n-13).join("")}… [truncated]`:A.join("");return s.replace(/&/g,"&").replace(//g,">").replace(/([\\`*_[\]{}()|!#~])/g,"\\$1").replace(/@/g,"@").replace(/[\r\n\u2028\u2029]/g," ")};const n=getNotificationStyle(e.status);const A=[`## ${n.icon} ${text(e.title,200)} — ${n.label}`,""];const table=(e,t,n,s=50)=>{A.push(`### ${text(e,100)}`,"",`| ${t.slice(0,8).map(e=>text(e,80)).join(" | ")} |`,`| ${t.slice(0,8).map(()=>"---").join(" | ")} |`);for(const e of n.slice(0,s))A.push(`| ${e.slice(0,8).map(e=>text(e)).join(" | ")} |`);A.push("");if(n.length>s||t.length>8||n.some(e=>e.length>8))r=true};if(e.description)A.push(text(e.description,1e3),"");if(e.facts?.length)table("Result",["Detail","Value"],e.facts.map(({label:e,value:t})=>[e,t]));if(e.inputContext){const t=e.inputContext;table("Inputs",["Input","Value"],Object.entries(t.inputs).map(([e,t])=>[e,isConfidentialInputName(e)?"[REDACTED]":t]));A.push(`Validated: ${t.inputsValidated}; truncated: ${t.inputsTruncated}.`,"");if(!t.inputsValidated)A.push("⚠️ Input validation did not complete; values reflect safely captured settings.","");if(t.inputsTruncated)A.push("⚠️ Some input values were truncated before reporting.","")}const s=[...e.error?[e.error]:[],...e.issues??[]];if(s.length)table("Issues",["Code","Detail"],s.map(e=>[e.code??"unreported",e.message]),4);for(const t of(e.sections??[]).slice(0,8))table(t.title,t.headers,t.rows);if((e.sections?.length??0)>8)r=true;const o=[];if((e.links?.length??0)>3)r=true;for(const r of(e.links??[]).slice(0,3)){try{const e=validateNotificationLink(r.url);if([...e.searchParams.entries()].some(([e,r])=>isConfidentialInputName(e)||/^(sig|signature|code|key|auth)$/i.test(e)||sanitizeActionText(r,Number.MAX_SAFE_INTEGER,t)!==r)||redactJwtLikeTokens(redactKnownSecrets(r.url,t))!==r.url||sanitizeActionText(e.origin,2048)!==e.origin)continue;o.push(`[${text(r.label,80)}](${e.href.replace(/\(/g,"%28").replace(/\)/g,"%29")})`)}catch{}}if(o.length)A.push("### Workflow","",o.join(" · "),"");const i=64*1024-256;let a="";for(const e of A){if((new TextEncoder).encode(a+e+"\n").length>i){r=true;break}a+=`${e}\n`}if(r)a+="\n⚠️ Some details were omitted due to summary limits.\n";return a}const At=[{name:"version"}];async function reportSetup(e,t=process.env){const r=Object.fromEntries(Object.entries(extractSafeGitHubContext(t)).flatMap(([e,t])=>typeof t==="string"?e==="runUrl"&&sanitizeActionText(t,2048)!==t?[]:[[e,sanitizeActionText(t,2048)]]:[[e,t]]));const n=createActionInputContext(At,e.rawInputs,{validated:e.inputsValidated,...e.inputsValidated?{effective:{version:e.requestedVersion??"latest"}}:{}});const A=e.failed?"failure":"success";const s=e.failed?{code:e.inputsValidated?"setup-failed":"invalid-input",message:sanitizeErrorMessage(redactJwtLikeTokens(safeErrorMessage(e.error)))}:undefined;const o=e.failed?"CommerceKit CLI setup did not complete.":"CommerceKit CLI was installed and verified.";try{const t=createSetupEvent({status:A,occurredAt:e.occurredAt,context:r,env:{},data:{...n,...n.inputs["version"]?{requestedVersion:n.inputs["version"]}:{},...e.target?{target:sanitizeActionText(e.target,128)}:{},...e.result?{version:sanitizeActionText(e.result.version,128),buildId:sanitizeActionText(e.result.buildId,128),cacheHit:e.result.cacheHit}:{},durationMs:e.durationMs,...s?{error:s}:{}}});setOutput("notification-event",JSON.stringify(validateNotificationEvent(t)))}catch{warning("Setup notification could not be created; the installation outcome is preserved.")}try{const t=renderActionSummary({title:"CommerceKit CLI Setup",status:A,description:o,inputContext:n,facts:[{label:"Duration (ms)",value:e.durationMs},...e.target?[{label:"Target",value:e.target}]:[],...e.result?[{label:"Verified CLI version",value:sanitizeActionText(e.result.version,128)},{label:"Build identity",value:sanitizeActionText(e.result.buildId,128)},{label:"Cache reused",value:e.result.cacheHit}]:[]],...s?{error:s}:{},...typeof r["runUrl"]==="string"?{links:[{label:"View workflow",url:r["runUrl"]}]}:{}});await T.addRaw(t).write()}catch{warning("Setup job summary could not be written; the installation outcome is preserved.")}}const st={runnerTemp:process.env["RUNNER_TEMP"]??(0,ye.tmpdir)(),downloadFile:downloadTool,resolveLatestStable:downloadLatestStableVersion,debug:()=>undefined};async function resolveCommerceKitVersion(e,t={}){if(e!==undefined&&e!==Ie){return validateExactVersion(e)}const r={...st,...t};await(0,me.mkdir)(r.runnerTemp,{recursive:true});const n=await(0,me.mkdtemp)((0,we.join)(r.runnerTemp,"setup-commercekit-version-"));try{return validateStableReleaseVersion(await r.resolveLatestStable(n,r.downloadFile))}finally{try{await(0,me.rm)(n,{recursive:true,force:true})}catch{r.debug("Temporary version-resolution directory cleanup did not complete.")}}}async function runAction(e={}){const t=e.now??Date.now;const r=t();const n=new Date(r).toISOString();let A={};let s=false;let o;let i;let a;let c=false;let l;try{A=captureActionInputs(At,e=>core_getInput(e,{required:false,trimWhitespace:false}),core_setSecret);const t=readInputs(e=>A[e]??"");s=true;o=t.version;const r=resolveTarget();i=r.target;const n=e.install??installCommerceKit;const c=e.resolveVersion??resolveCommerceKitVersion;const l=t.version===undefined||t.version===Ie;info(l?"Resolving latest stable CommerceKit CLI":`Resolving CommerceKit CLI ${t.version}`);info(`Runner target: ${r.target}`);const u=await c(t.version,e.versionResolutionDependencies);if(l){info(`Resolved latest stable CommerceKit CLI ${u}`)}a=await n(u,r,{log:info,debug:core_debug,...e.installDependencies});addPath(executableDirectory(a));setOutput("version",a.version);setOutput("path",a.executablePath);setOutput("target",a.target);setOutput("build-id",a.buildId);setOutput("cache-hit",a.cacheHit?"true":"false");info(`Installed CommerceKit CLI ${a.version}`);info("Added CommerceKit CLI to PATH")}catch(e){c=true;l=e;throw e}finally{try{await reportSetup({rawInputs:A,inputsValidated:s,...o?{requestedVersion:o}:{},...i?{target:i}:{},...a?{result:a}:{},failed:c,...c?{error:l}:{},occurredAt:n,durationMs:Math.max(0,Math.floor(t()-r))})}catch{warning("Setup reporting could not be completed; the installation outcome is preserved.")}}}void runAction().catch(e=>{setFailed(safeErrorMessage(e))}); \ No newline at end of file diff --git a/dist/licenses.txt b/dist/licenses.txt index 64cd2cb..4178429 100644 --- a/dist/licenses.txt +++ b/dist/licenses.txt @@ -71,6 +71,165 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +@commercekit-tools/notification-contract +MIT +MIT License + +Copyright (c) 2026 CommerceKit contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ajv +MIT +The MIT License (MIT) + +Copyright (c) 2015-2021 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +ajv-formats +MIT +MIT License + +Copyright (c) 2020 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +fast-deep-equal +MIT +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +fast-uri +BSD-3-Clause +Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae +Copyright (c) 2021-present The Fastify team +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * The names of any contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + * * * + +The complete list of contributors can be found at: +- https://github.com/garycourt/uri-js/graphs/contributors + +json-schema-traverse +MIT +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + semver ISC The ISC License diff --git a/docs/reporting-validation.md b/docs/reporting-validation.md new file mode 100644 index 0000000..2849dbd --- /dev/null +++ b/docs/reporting-validation.md @@ -0,0 +1,81 @@ +# Reporting consistency validation + +## Published dependency and provenance + +The owner-authorized +[package-only publication run 43678067818](https://github.com/commercekit-tools/action-kit/actions/runs/43678067818) +published `@commercekit-tools/notification-contract@0.0.6` from action-kit main +`3fecce40414d709884fa48e48eca278f470b20b0`. Its main CI and CodeQL passed before +publication. Registry version, integrity and required public exports were +verified before this consumer adoption. + +- Inspected setup main: `7f650f3162ab027bfd784cf879832f44d3248584`. +- Feature source before registry adoption: + `5b8f44d20ecefa8196800f9c90ee5ecf79e48a5c`. +- Exact normal dependency: **0.0.6**, installed from GitHub Packages with a + reproducible registry lockfile and reviewed release-age exception. +- Registry integrity: + `sha512-n6F84900sDPBeYm5dnf8HLCM9B2DUVATEeF717dqKsSXTJtq1FIj/3hZ2UcNTtXe7v8R90HYF6HIom4auM8Kyw==`. +- Registry shasum: `8030f643d1dd6d741caa2c3c0ba321ad82b30cca`. +- Published artifact SHA256: + `e4b79576328c2992a96fed087e9ba6e63970e8b54d6fca976a6652702a7a73a9`. +- Regenerated normal bundle SHA256: + `ccec5024b018a009fada020bb6cebe292160b45cc2ee1224f6e4d957d9c81bae`, + byte-identical to the final reviewed source-packed candidate. + +Normal installation and runtime require no candidate flag, file dependency or +shared-source checkout. Runtime consumers execute the standalone bundle without +registry credentials. Existing version input and installation/integrity behavior +remain unchanged. Shared APIs own captured input context, bounded redaction, +setup event factories/schema validation, safe GitHub context and common +summaries. + +## Executed normal registry checks + +Status vocabulary: PASS, FAIL, BLOCKED, NOT RUN. + +| Check | Status | Evidence | +| -------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| Frozen installation and public exports | PASS | Exact registry 0.0.6 and required public setup/reporting APIs verified | +| Formatting, lint and strict types | PASS | Normal source passes without candidate switches | +| Unit/integration coverage | PASS | 154 tests/11 files; 94.06% statements, 90.29% branches, 93.54% functions, 94.21% lines; existing thresholds and inclusion unchanged | +| Actual registry-backed bundle integration | PASS | Public CLI preview.2 installed/verified on darwin-arm64, verified cache reuse, success and invalid-input failure events/summaries | +| Normal bundle regeneration | PASS | SHA256 above matches the reviewed candidate exactly | +| Public scan, production audit, workflow lint | PASS | Scan passed; no known vulnerabilities; local actionlint and diff checks passed | +| Final committed bundle check | PASS | Full normal `pnpm quality` passed after committing registry-backed dist; no generated changes | +| Six native runner integration jobs | NOT RUN | Final-head Linux/macOS/Windows x64/ARM64 jobs must pass before merge; earlier baseline-bundle jobs are not feature evidence | +| Live Slack/Teams delivery | NOT RUN | Notify owns this separately authorized capability; no provider send performed | + +Commands actually executed: `pnpm install --frozen-lockfile`, `pnpm bundle`, +public-export assertions, `pnpm format:check`, `pnpm lint`, `pnpm typecheck`, +`pnpm test:coverage`, `pnpm test:integration`, `pnpm scan:public`, +`pnpm audit --prod --audit-level=high`, actionlint and `git diff --check`. Full +committed-bundle quality and final hosted checks remain required before merge. +The registry-publication compatibility gate is resolved. + +Tests cover complete input/result projection, workflow reference parity, +allowlisted GitHub environment access, safe invalid settings, JWT/URL credential +redaction, bounded truncation, malicious Markdown/HTML, cache reuse, known and +unknown failures, and preservation when reporting fails. The bundled integration +executes the actual entry point, checks two successful invocations plus invalid +input failure, and validates events/summaries in controlled temporary files. No +SAP operation is involved. + +## Historical candidate evidence + +Before publication, source `475cc4db42f79310240496201f90d7047aa54330` was packed +and tested in private consumers. Its artifact integrity matches the published +registry package exactly. The pre-publication procedure and former compatibility +blocker are archived at immutable setup commit +[`5b8f44d20ecefa8196800f9c90ee5ecf79e48a5c`](https://github.com/commercekit-tools/setup-commercekit/tree/5b8f44d20ecefa8196800f9c90ee5ecf79e48a5c). +Those private file dependencies are not part of normal development or CI. + +## Remaining release gates + +All final-head quality, CodeQL and six native runner jobs must pass before +merge. Compatible Notify must consume the same published contract before +receiving `commercekit.setup.completed`. Action release review, Git +tags/Marketplace publication and live provider validation remain separate owner +decisions. No OAuth, transport, delivery or replacement schema was added. Only +the shared package publication was authorized; no Action release, Git tag, +deployment, provider send or SAP operation is part of this consumer update. diff --git a/package.json b/package.json index a437ad1..133b148 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "dependencies": { "@actions/core": "3.0.1", "@actions/tool-cache": "4.0.0", + "@commercekit-tools/notification-contract": "0.0.6", "semver": "7.8.6" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc8635a..e32daf9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -172,6 +172,9 @@ importers: '@actions/tool-cache': specifier: 4.0.0 version: 4.0.0 + '@commercekit-tools/notification-contract': + specifier: 0.0.6 + version: 0.0.6 semver: specifier: 7.8.6 version: 7.8.6 @@ -254,6 +257,10 @@ packages: '@cacheable/utils@2.5.0': resolution: {integrity: sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==} + '@commercekit-tools/notification-contract@0.0.6': + resolution: {integrity: sha512-n6F84900sDPBeYm5dnf8HLCM9B2DUVATEeF717dqKsSXTJtq1FIj/3hZ2UcNTtXe7v8R90HYF6HIom4auM8Kyw==, tarball: https://npm.pkg.github.com/download/@commercekit-tools/notification-contract/0.0.6/8030f643d1dd6d741caa2c3c0ba321ad82b30cca} + engines: {node: '>=24.21.0'} + '@eslint-community/eslint-utils@4.10.1': resolution: {integrity: sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -559,9 +566,20 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + ajv-formats@3.0.1: + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + ajv@6.15.0: resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -669,6 +687,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-uri@3.1.9: + resolution: {integrity: sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==} + fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -743,6 +764,9 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -904,6 +928,10 @@ packages: resolution: {integrity: sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==} engines: {node: '>=20'} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + rolldown@1.2.13: resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1136,6 +1164,11 @@ snapshots: hashery: 1.5.1 keyv: 5.6.0 + '@commercekit-tools/notification-contract@0.0.6': + dependencies: + ajv: 8.20.0 + ajv-formats: 3.0.1(ajv@8.20.0) + '@eslint-community/eslint-utils@4.10.1(eslint@10.14.0)': dependencies: eslint: 10.14.0 @@ -1399,6 +1432,10 @@ snapshots: acorn@8.19.0: {} + ajv-formats@3.0.1(ajv@8.20.0): + optionalDependencies: + ajv: 8.20.0 + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 @@ -1406,6 +1443,13 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.20.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.9 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + assertion-error@2.0.1: {} ast-v8-to-istanbul@1.0.7: @@ -1524,6 +1568,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-uri@3.1.9: {} + fdir@6.5.0(picomatch@4.0.7): optionalDependencies: picomatch: 4.0.7 @@ -1580,6 +1626,8 @@ snapshots: json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} keyv@5.6.0: @@ -1707,6 +1755,8 @@ snapshots: dependencies: hookified: 2.2.0 + require-from-string@2.0.2: {} + rolldown@1.2.13: dependencies: '@oxc-project/types': 0.153.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..524e52a --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +minimumReleaseAgeExclude: + - '@commercekit-tools/notification-contract@0.0.6' diff --git a/scripts/integration.mjs b/scripts/integration.mjs index 5763ff5..8c5b8f0 100644 --- a/scripts/integration.mjs +++ b/scripts/integration.mjs @@ -2,11 +2,13 @@ import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; import { tmpdir } from 'node:os'; import { join } from 'node:path'; import { spawnSync } from 'node:child_process'; +import assert from 'node:assert/strict'; +import { parseNotificationEventJson } from '@commercekit-tools/notification-contract'; const VERSION = '0.1.0-preview.2'; const root = new URL('..', import.meta.url); -function runAction(environment) { +function runAction(environment, expectedExitCode = 0) { const result = spawnSync(process.execPath, ['dist/index.js'], { cwd: root, encoding: 'utf8', @@ -15,7 +17,7 @@ function runAction(environment) { windowsHide: true, }); if (result.error) throw result.error; - if (result.status !== 0) { + if (result.status !== expectedExitCode) { process.stderr.write(result.stdout); process.stderr.write(result.stderr); throw new Error('Bundled Action integration invocation failed.'); @@ -72,16 +74,28 @@ try { }; const firstOutput = join(directory, 'first-output'); + const firstSummary = join(directory, 'first-summary'); await writeFile(firstOutput, ''); - runAction({ ...baseEnvironment, GITHUB_OUTPUT: firstOutput }); + await writeFile(firstSummary, ''); + runAction({ + ...baseEnvironment, + GITHUB_OUTPUT: firstOutput, + GITHUB_STEP_SUMMARY: firstSummary, + }); const first = parseFileCommands(await readFile(firstOutput, 'utf8')); if (first.get('cache-hit') !== 'false') { throw new Error('First isolated invocation was not a cache miss.'); } const secondOutput = join(directory, 'second-output'); + const secondSummary = join(directory, 'second-summary'); await writeFile(secondOutput, ''); - runAction({ ...baseEnvironment, GITHUB_OUTPUT: secondOutput }); + await writeFile(secondSummary, ''); + runAction({ + ...baseEnvironment, + GITHUB_OUTPUT: secondOutput, + GITHUB_STEP_SUMMARY: secondSummary, + }); const second = parseFileCommands(await readFile(secondOutput, 'utf8')); if (second.get('cache-hit') !== 'true') { throw new Error('Second isolated invocation was not a verified cache hit.'); @@ -94,6 +108,68 @@ try { } runBinary(executablePath, ['--help']); + for (const [output, summaryFile, expectedCacheHit] of [ + [first, firstSummary, false], + [second, secondSummary, true], + ]) { + const event = parseNotificationEventJson(output.get('notification-event')); + assert.equal(event.eventType, 'commercekit.setup.completed'); + assert.equal(event.status, 'success'); + assert.equal(event.source.component, 'setup-commercekit'); + assert.equal(event.data.version, VERSION); + assert.equal(event.data.target, output.get('target')); + assert.equal(event.data.buildId, output.get('build-id')); + assert.equal(event.data.cacheHit, expectedCacheHit); + assert.equal(event.data.inputsValidated, true); + assert.equal(event.data.inputsTruncated, false); + assert.deepEqual(event.data.inputs, { version: VERSION }); + assert( + Number.isSafeInteger(event.data.durationMs) && event.data.durationMs >= 0, + ); + assert(!JSON.stringify(event).includes(directory)); + const summary = await readFile(summaryFile, 'utf8'); + for (const detail of [ + '✅', + 'Succeeded', + 'Inputs', + VERSION, + output.get('target'), + output.get('build-id'), + ]) + assert(summary.includes(detail)); + assert(!summary.includes(directory)); + } + + const failedOutput = join(directory, 'failed-output'); + const failedSummary = join(directory, 'failed-summary'); + await writeFile(failedOutput, ''); + await writeFile(failedSummary, ''); + const invalidToken = ['eyJsynthetic', 'payload', 'signature'].join('.'); + const failedLogs = runAction( + { + ...baseEnvironment, + INPUT_VERSION: invalidToken, + GITHUB_OUTPUT: failedOutput, + GITHUB_STEP_SUMMARY: failedSummary, + }, + 1, + ); + const failed = parseFileCommands(await readFile(failedOutput, 'utf8')); + const failureEvent = parseNotificationEventJson( + failed.get('notification-event'), + ); + assert.equal(failureEvent.eventType, 'commercekit.setup.completed'); + assert.equal(failureEvent.status, 'failure'); + assert.equal(failureEvent.data.inputsValidated, false); + assert.deepEqual(failureEvent.data.inputs, { version: '[REDACTED]' }); + assert.equal(failureEvent.data.error.code, 'invalid-input'); + assert.equal(failed.get('version'), undefined); + const failureSummary = await readFile(failedSummary, 'utf8'); + assert(failureSummary.includes('❌') && failureSummary.includes('Failed')); + assert(!JSON.stringify(failureEvent).includes(invalidToken)); + assert(!failureSummary.includes(invalidToken)); + assert(!failedLogs.includes(invalidToken)); + process.stdout.write( `${JSON.stringify( { @@ -101,6 +177,9 @@ try { target: second.get('target'), buildId: second.get('build-id'), cacheHit: second.get('cache-hit'), + notificationContextsVerified: true, + summariesVerified: true, + handledFailureVerified: true, }, null, 2, diff --git a/src/main.ts b/src/main.ts index 4d521a3..98c852e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,15 @@ import * as core from '@actions/core'; +import { captureActionInputs } from '@commercekit-tools/notification-contract'; import { readInputs } from './inputs.js'; import { executableDirectory, installCommerceKit, type InstallDependencies, + type InstallResult, } from './install.js'; import { resolveTarget } from './platform.js'; +import { reportSetup, setupInputDefinitions } from './reporting.js'; import { resolveCommerceKitVersion, type VersionResolutionDependencies, @@ -18,45 +21,89 @@ export interface ActionDependencies { readonly installDependencies?: Partial; readonly resolveVersion?: typeof resolveCommerceKitVersion; readonly versionResolutionDependencies?: Partial; + readonly now?: () => number; } export async function runAction( dependencies: ActionDependencies = {}, ): Promise { - const inputs = readInputs(); - const target = resolveTarget(); - const install = dependencies.install ?? installCommerceKit; - const resolveVersion = - dependencies.resolveVersion ?? resolveCommerceKitVersion; - const resolvesLatestStable = - inputs.version === undefined || inputs.version === LATEST_STABLE_VERSION; + const now = dependencies.now ?? Date.now; + const started = now(); + const occurredAt = new Date(started).toISOString(); + let rawInputs: Record = {}; + let inputsValidated = false; + let requestedVersion: string | undefined; + let target: string | undefined; + let result: InstallResult | undefined; + let failed = false; + let originalError: unknown; - core.info( - resolvesLatestStable - ? 'Resolving latest stable CommerceKit CLI' - : `Resolving CommerceKit CLI ${inputs.version}`, - ); - core.info(`Runner target: ${target.target}`); - const version = await resolveVersion( - inputs.version, - dependencies.versionResolutionDependencies, - ); - if (resolvesLatestStable) { - core.info(`Resolved latest stable CommerceKit CLI ${version}`); - } - const result = await install(version, target, { - log: core.info, - debug: core.debug, - ...dependencies.installDependencies, - }); + try { + rawInputs = captureActionInputs( + setupInputDefinitions, + (name) => core.getInput(name, { required: false, trimWhitespace: false }), + core.setSecret, + ); + const inputs = readInputs((name) => rawInputs[name] ?? ''); + inputsValidated = true; + requestedVersion = inputs.version; + const definition = resolveTarget(); + target = definition.target; + const install = dependencies.install ?? installCommerceKit; + const resolveVersion = + dependencies.resolveVersion ?? resolveCommerceKitVersion; + const resolvesLatestStable = + inputs.version === undefined || inputs.version === LATEST_STABLE_VERSION; + + core.info( + resolvesLatestStable + ? 'Resolving latest stable CommerceKit CLI' + : `Resolving CommerceKit CLI ${inputs.version}`, + ); + core.info(`Runner target: ${definition.target}`); + const version = await resolveVersion( + inputs.version, + dependencies.versionResolutionDependencies, + ); + if (resolvesLatestStable) { + core.info(`Resolved latest stable CommerceKit CLI ${version}`); + } + result = await install(version, definition, { + log: core.info, + debug: core.debug, + ...dependencies.installDependencies, + }); - core.addPath(executableDirectory(result)); - core.setOutput('version', result.version); - core.setOutput('path', result.executablePath); - core.setOutput('target', result.target); - core.setOutput('build-id', result.buildId); - core.setOutput('cache-hit', result.cacheHit ? 'true' : 'false'); + core.addPath(executableDirectory(result)); + core.setOutput('version', result.version); + core.setOutput('path', result.executablePath); + core.setOutput('target', result.target); + core.setOutput('build-id', result.buildId); + core.setOutput('cache-hit', result.cacheHit ? 'true' : 'false'); - core.info(`Installed CommerceKit CLI ${result.version}`); - core.info('Added CommerceKit CLI to PATH'); + core.info(`Installed CommerceKit CLI ${result.version}`); + core.info('Added CommerceKit CLI to PATH'); + } catch (error) { + failed = true; + originalError = error; + throw error; + } finally { + try { + await reportSetup({ + rawInputs, + inputsValidated, + ...(requestedVersion ? { requestedVersion } : {}), + ...(target ? { target } : {}), + ...(result ? { result } : {}), + failed, + ...(failed ? { error: originalError } : {}), + occurredAt, + durationMs: Math.max(0, Math.floor(now() - started)), + }); + } catch { + core.warning( + 'Setup reporting could not be completed; the installation outcome is preserved.', + ); + } + } } diff --git a/src/reporting.ts b/src/reporting.ts new file mode 100644 index 0000000..88e902b --- /dev/null +++ b/src/reporting.ts @@ -0,0 +1,136 @@ +import * as core from '@actions/core'; +import { + createActionInputContext, + createSetupEvent, + extractSafeGitHubContext, + sanitizeActionText, + redactJwtLikeTokens, + renderActionSummary, + sanitizeErrorMessage, + validateNotificationEvent, +} from '@commercekit-tools/notification-contract'; + +import { safeErrorMessage } from './errors.js'; +import type { InstallResult } from './install.js'; + +export const setupInputDefinitions = [{ name: 'version' }] as const; + +export interface SetupOutcome { + readonly rawInputs: Readonly>; + readonly inputsValidated: boolean; + readonly requestedVersion?: string; + readonly target?: string; + readonly result?: InstallResult; + readonly failed: boolean; + readonly error?: unknown; + readonly occurredAt: string; + readonly durationMs: number; +} + +/** Shared contracts own sanitization, schema validation and summary formatting. */ +export async function reportSetup( + outcome: SetupOutcome, + env: Readonly> = process.env, +): Promise { + const context = Object.fromEntries( + Object.entries(extractSafeGitHubContext(env)).flatMap(([name, value]) => + typeof value === 'string' + ? name === 'runUrl' && sanitizeActionText(value, 2048) !== value + ? [] + : [[name, sanitizeActionText(value, 2048)]] + : [[name, value]], + ), + ); + const inputContext = createActionInputContext( + setupInputDefinitions, + outcome.rawInputs, + { + validated: outcome.inputsValidated, + ...(outcome.inputsValidated + ? { effective: { version: outcome.requestedVersion ?? 'latest' } } + : {}), + }, + ); + const status = outcome.failed ? 'failure' : 'success'; + const error = outcome.failed + ? { + code: outcome.inputsValidated ? 'setup-failed' : 'invalid-input', + message: sanitizeErrorMessage( + redactJwtLikeTokens(safeErrorMessage(outcome.error)), + ), + } + : undefined; + const description = outcome.failed + ? 'CommerceKit CLI setup did not complete.' + : 'CommerceKit CLI was installed and verified.'; + + try { + const event = createSetupEvent({ + status, + occurredAt: outcome.occurredAt, + context, + env: {}, + data: { + ...inputContext, + ...(inputContext.inputs['version'] + ? { requestedVersion: inputContext.inputs['version'] } + : {}), + ...(outcome.target + ? { target: sanitizeActionText(outcome.target, 128) } + : {}), + ...(outcome.result + ? { + version: sanitizeActionText(outcome.result.version, 128), + buildId: sanitizeActionText(outcome.result.buildId, 128), + cacheHit: outcome.result.cacheHit, + } + : {}), + durationMs: outcome.durationMs, + ...(error ? { error } : {}), + }, + }); + core.setOutput( + 'notification-event', + JSON.stringify(validateNotificationEvent(event)), + ); + } catch { + core.warning( + 'Setup notification could not be created; the installation outcome is preserved.', + ); + } + + try { + const summary = renderActionSummary({ + title: 'CommerceKit CLI Setup', + status, + description, + inputContext, + facts: [ + { label: 'Duration (ms)', value: outcome.durationMs }, + ...(outcome.target ? [{ label: 'Target', value: outcome.target }] : []), + ...(outcome.result + ? [ + { + label: 'Verified CLI version', + value: sanitizeActionText(outcome.result.version, 128), + }, + { + label: 'Build identity', + value: sanitizeActionText(outcome.result.buildId, 128), + }, + { label: 'Cache reused', value: outcome.result.cacheHit }, + ] + : []), + ], + ...(error ? { error } : {}), + ...(typeof context['runUrl'] === 'string' + ? { links: [{ label: 'View workflow', url: context['runUrl'] }] } + : {}), + }); + await core.summary.addRaw(summary).write(); + } catch { + core.warning( + 'Setup job summary could not be written; the installation outcome is preserved.', + ); + } +} diff --git a/tests/main.test.ts b/tests/main.test.ts index 45061c2..5ef49f8 100644 --- a/tests/main.test.ts +++ b/tests/main.test.ts @@ -1,10 +1,13 @@ import { join } from 'node:path'; import * as core from '@actions/core'; -import { afterEach, describe, expect, it, vi } from 'vitest'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { parseNotificationEventJson } from '@commercekit-tools/notification-contract'; import { runAction } from '../src/main.js'; import { resolveTarget } from '../src/platform.js'; +import { SetupError } from '../src/errors.js'; +import { reportSetup } from '../src/reporting.js'; vi.mock('@actions/core', () => ({ addPath: vi.fn(), @@ -12,10 +15,23 @@ vi.mock('@actions/core', () => ({ getInput: vi.fn(() => '0.1.0-preview.2'), info: vi.fn(), setOutput: vi.fn(), + setSecret: vi.fn(), + warning: vi.fn(), + summary: { + addRaw: vi.fn().mockReturnThis(), + write: vi.fn(async () => undefined), + }, })); describe('runAction', () => { - afterEach(() => vi.clearAllMocks()); + beforeEach(() => { + vi.clearAllMocks(); + vi.mocked(core.getInput).mockReset().mockReturnValue('0.1.0-preview.2'); + vi.mocked(core.setOutput).mockReset(); + vi.mocked(core.summary.addRaw).mockReset().mockReturnValue(core.summary); + vi.mocked(core.summary.write).mockReset().mockResolvedValue(core.summary); + }); + afterEach(() => vi.restoreAllMocks()); it('adds the executable directory and sets trusted outputs', async () => { const executablePath = join('/tool-cache', 'commercekit'); @@ -41,6 +57,26 @@ describe('runAction', () => { expect(core.setOutput).toHaveBeenCalledWith('target', target.target); expect(core.setOutput).toHaveBeenCalledWith('build-id', 'b'.repeat(40)); expect(core.setOutput).toHaveBeenCalledWith('cache-hit', 'true'); + expect(core.getInput).toHaveBeenCalledTimes(1); + const event = notification(); + expect(event.status).toBe('success'); + expect(event.data).toMatchObject({ + version: '0.1.0-preview.2', + target: target.target, + buildId: 'b'.repeat(40), + cacheHit: true, + inputs: { version: '0.1.0-preview.2' }, + inputsValidated: true, + inputsTruncated: false, + }); + expect(event.data).not.toHaveProperty('path'); + expect(summary()).toContain('✅'); + expect(summary()).toContain('Succeeded'); + expect(summary()).toContain('|'); + expect(summary()).toContain('Verified CLI version'); + expect(summary()).toContain('0.1.0-preview.2'); + expect(summary()).not.toContain(executablePath); + expect(core.warning).not.toHaveBeenCalled(); }); it('resolves the latest stable version when the input is omitted', async () => { @@ -60,6 +96,12 @@ describe('runAction', () => { expect(resolveVersion).toHaveBeenCalledWith(undefined, undefined); expect(install).toHaveBeenCalledWith('1.0.0', target, expect.any(Object)); expect(core.setOutput).toHaveBeenCalledWith('version', '1.0.0'); + expect(notification().data).toMatchObject({ + requestedVersion: 'latest', + inputs: { version: 'latest' }, + inputsValidated: true, + cacheHit: false, + }); }); it('resolves the latest stable version when explicitly requested', async () => { @@ -85,4 +127,279 @@ describe('runAction', () => { 'Resolved latest stable CommerceKit CLI 1.0.0', ); }); + + it('shares the safe workflow reference between the event and summary without reading unrelated environment values', async () => { + const accessed: string[] = []; + const values: Record = { + GITHUB_REPOSITORY: 'synthetic/setup', + GITHUB_RUN_ID: '42', + GITHUB_SERVER_URL: 'https://github.example.test', + GITHUB_WORKFLOW: 'Setup integration', + GITHUB_ACTOR: 'synthetic-actor', + }; + const env = new Proxy(values, { + get: (target, name: string) => { + accessed.push(name); + return target[name]; + }, + }); + await reportSetup( + { + rawInputs: { version: 'latest' }, + inputsValidated: true, + requestedVersion: 'latest', + failed: false, + occurredAt: '2026-11-14T12:00:00Z', + durationMs: 1, + }, + env, + ); + expect(notification().context).toMatchObject({ + repository: 'synthetic/setup', + runUrl: 'https://github.example.test/synthetic/setup/actions/runs/42', + }); + expect(summary()).toContain( + 'https://github.example.test/synthetic/setup/actions/runs/42', + ); + expect(accessed).not.toContain('GITHUB_TOKEN'); + expect(accessed).not.toContain('UNRELATED_SECRET'); + expect(accessed.every((name) => name.startsWith('GITHUB_'))).toBe(true); + }); + + it('omits unsafe workflow URLs and redacts untrusted display metadata in event and summary', async () => { + const token = ['eyJsynthetic', 'payload', 'signature'].join('.'); + await reportSetup( + { + rawInputs: { version: 'latest' }, + inputsValidated: true, + requestedVersion: 'latest', + target: token, + result: { + version: token, + target: 'darwin-arm64', + buildId: + 'https://user:password@invalid.example.test/metadata?private=yes', + cacheHit: false, + executablePath: '/private/tool-cache/commercekit', + }, + failed: false, + occurredAt: '2026-11-14T12:00:00Z', + durationMs: 1, + }, + { + GITHUB_REPOSITORY: 'synthetic/setup', + GITHUB_RUN_ID: '42', + GITHUB_SERVER_URL: 'https://user:password@github.example.test', + }, + ); + const event = notification(); + expect(event.context?.runUrl).toBeUndefined(); + expect(event.data).toMatchObject({ + version: '[REDACTED]', + target: '[REDACTED]', + buildId: '[REDACTED URL]', + }); + const text = JSON.stringify(event) + summary(); + for (const value of [ + token, + 'user:password', + 'private=yes', + '/private/tool-cache/commercekit', + ]) + expect(text).not.toContain(value); + }); + + it('reports invalid input without starting installation or exposing token-like values', async () => { + const token = ['eyJsynthetic', 'payload', 'signature'].join('.'); + vi.mocked(core.getInput).mockReturnValueOnce(token); + const install = vi.fn(); + await expect(runAction({ install })).rejects.toThrow( + 'version input must be', + ); + expect(install).not.toHaveBeenCalled(); + expect(core.setOutput).not.toHaveBeenCalledWith( + 'version', + expect.anything(), + ); + const event = notification(); + expect(event.status).toBe('failure'); + expect(event.data.inputsValidated).toBe(false); + expect(event.data.inputs?.['version']).toBe('[REDACTED]'); + expect(event.data.error).toMatchObject({ code: 'invalid-input' }); + expect(JSON.stringify(event)).not.toContain(token); + expect(summary()).toContain('❌'); + expect(summary()).toContain('Failed'); + expect(summary()).not.toContain(token); + }); + + it('masks credentials, query and fragment in an invalid version URL', async () => { + vi.mocked(core.getInput).mockReturnValueOnce( + 'https://synthetic-user:synthetic-password@invalid.example.test/asset?private-value=yes#private-fragment', + ); + await expect(runAction({ install: vi.fn() })).rejects.toThrow( + 'version input must be', + ); + const rendered = JSON.stringify(notification()) + summary(); + for (const secret of [ + 'synthetic-user', + 'synthetic-password', + 'private-value', + 'private-fragment', + ]) + expect(rendered).not.toContain(secret); + }); + + it('reports checked installation errors while preserving the original failure', async () => { + const failure = new SetupError('Archive checksum mismatch.'); + const install = vi.fn(async () => { + throw failure; + }); + const now = vi + .fn() + .mockReturnValueOnce(Date.parse('2026-11-14T12:00:00Z')) + .mockReturnValueOnce(Date.parse('2026-11-14T12:00:00.125Z')); + await expect(runAction({ install, now })).rejects.toBe(failure); + const event = notification(); + expect(event).toMatchObject({ + eventType: 'commercekit.setup.completed', + status: 'failure', + occurredAt: '2026-11-14T12:00:00.000Z', + source: { component: 'setup-commercekit' }, + data: { + requestedVersion: '0.1.0-preview.2', + target: resolveTarget().target, + inputsValidated: true, + durationMs: 125, + error: { code: 'setup-failed', message: 'Archive checksum mismatch.' }, + }, + }); + expect(event.data).not.toHaveProperty('version'); + expect(event.data).not.toHaveProperty('buildId'); + expect(summary()).toContain('Archive checksum mismatch.'); + expect(core.summary.write).toHaveBeenCalledOnce(); + }); + + it('does not expose arbitrary download/runtime exceptions', async () => { + const failure = new Error('private-network-payload'); + await expect( + runAction({ + install: async () => { + throw failure; + }, + }), + ).rejects.toBe(failure); + expect(JSON.stringify(notification())).not.toContain( + 'private-network-payload', + ); + expect(summary()).not.toContain('private-network-payload'); + expect(notification().data.error?.message).toContain('failed unexpectedly'); + }); + + it('reports latest-version discovery failure before installation', async () => { + vi.mocked(core.getInput).mockReturnValueOnce(''); + const install = vi.fn(); + const failure = new SetupError( + 'No stable CommerceKit release is available.', + ); + await expect( + runAction({ + install, + resolveVersion: async () => { + throw failure; + }, + }), + ).rejects.toBe(failure); + expect(install).not.toHaveBeenCalled(); + expect(notification().status).toBe('failure'); + expect(notification().data.inputs).toEqual({ version: 'latest' }); + expect(summary()).toContain('No stable CommerceKit release is available.'); + }); + + it('preserves a thrown undefined value as failure rather than reporting success', async () => { + await expect( + runAction({ + install: vi.fn().mockRejectedValueOnce(undefined), + }), + ).rejects.toBeUndefined(); + expect(notification().status).toBe('failure'); + expect(notification().data.error?.message).toContain('failed unexpectedly'); + }); + + it('keeps notification output when writing the summary fails', async () => { + vi.mocked(core.summary.write).mockRejectedValueOnce( + new Error('private-summary-error'), + ); + await expect( + runAction({ install: verifiedInstall }), + ).resolves.toBeUndefined(); + expect(notification().status).toBe('success'); + expect(core.warning).toHaveBeenCalledWith( + 'Setup job summary could not be written; the installation outcome is preserved.', + ); + expect(JSON.stringify(vi.mocked(core.warning).mock.calls)).not.toContain( + 'private-summary-error', + ); + }); + + it('keeps the original installation failure if notification and summary writing both fail', async () => { + const failure = new SetupError('Executable verification failed.'); + vi.mocked(core.setOutput).mockImplementation((name) => { + if (name === 'notification-event') + throw new Error('private-output-error'); + }); + vi.mocked(core.summary.write).mockRejectedValueOnce( + new Error('private-summary-error'), + ); + await expect( + runAction({ + install: async () => { + throw failure; + }, + }), + ).rejects.toBe(failure); + expect(core.warning).toHaveBeenCalledWith( + 'Setup notification could not be created; the installation outcome is preserved.', + ); + expect(core.warning).toHaveBeenCalledWith( + 'Setup job summary could not be written; the installation outcome is preserved.', + ); + }); + + it('escapes malformed input in the failure summary and marks long input truncated', async () => { + vi.mocked(core.getInput).mockReturnValueOnce( + ' | injected\n' + 'a'.repeat(400), + ); + await expect(runAction({ install: vi.fn() })).rejects.toThrow( + 'version input must be', + ); + expect(notification().data.inputsTruncated).toBe(true); + expect(notification().data.inputs?.['version']?.length).toBeLessThanOrEqual( + 256, + ); + expect(summary()).not.toContain('