From ed78b5307fcfbd3bfd7c42d947a3f09df739dae0 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Tue, 9 Jun 2026 17:50:47 -0400 Subject: [PATCH] build(deps): upgrade to eslint 10 --- package-lock.json | 549 +++++++++++++---------------- package.json | 5 +- resolve-check-config/dist/index.js | 2 +- resolve-check-config/src/parse.ts | 4 +- 4 files changed, 242 insertions(+), 318 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5df029e..e5b01f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,10 +13,11 @@ "@actions/exec": "^3.0.0" }, "devDependencies": { + "@eslint/js": "^10.0.1", "@types/jest": "^30.0.0", "@types/node": "^24.10.4", "esbuild": "^0.28.0", - "eslint": "^9.39.2", + "eslint": "^10.4.1", "jest": "^30.4.2", "ts-jest": "^29.4.11", "typescript": "^5.9.3", @@ -89,7 +90,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -575,6 +575,31 @@ "dev": true, "license": "MIT" }, + "node_modules/@emnapi/core": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.0.tgz", + "integrity": "sha512-l9Oo58x0HOP5znGzVhYW9U3e5wVuA4LAZU2AGezTmkhO1CgQRFDhDg4nneHsu/t3WniXg9QrG2nIXL/ZS8ln8Q==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.0.tgz", + "integrity": "sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@emnapi/wasi-threads": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", @@ -582,6 +607,7 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "tslib": "^2.4.0" } @@ -1032,7 +1058,7 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.4.3" @@ -1051,177 +1077,141 @@ "version": "4.12.2", "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", - "minimatch": "^3.1.2" + "minimatch": "^10.2.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" + } + }, + "node_modules/@eslint/config-array/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "devOptional": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "devOptional": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0" + "@eslint/core": "^1.2.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "devOptional": true, "license": "Apache-2.0", "dependencies": { "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", - "dev": true, + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-10.0.1.tgz", + "integrity": "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==", "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "eslint": "^10.0.0" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "devOptional": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", + "devOptional": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.17.0", + "@eslint/core": "^1.2.1", "levn": "^0.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=18.18.0" @@ -1231,7 +1221,7 @@ "version": "0.16.7", "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", @@ -1245,7 +1235,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=12.22" @@ -1259,7 +1249,7 @@ "version": "0.4.3", "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": ">=18.18" @@ -1921,11 +1911,18 @@ "@babel/types": "^7.28.2" } }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "devOptional": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-coverage": { @@ -1970,7 +1967,7 @@ "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/node": { @@ -2042,7 +2039,6 @@ "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.61.0", "@typescript-eslint/types": "8.61.0", @@ -2635,12 +2631,11 @@ ] }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "devOptional": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2652,17 +2647,17 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", + "devOptional": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -2734,13 +2729,6 @@ "node": ">= 8" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, "node_modules/babel-jest": { "version": "30.4.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-30.4.1.tgz", @@ -2887,7 +2875,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -3157,7 +3144,7 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -3172,7 +3159,7 @@ "version": "4.4.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -3205,7 +3192,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/deepmerge": { @@ -3328,7 +3315,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=10" @@ -3338,34 +3325,30 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", - "dev": true, + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.4.1.tgz", + "integrity": "sha512-AyIKhnOBuOAdueD7RB3xB+YeAWScb9jHsJBgH2Hcde8InP5JYhqrRR6iTMHyTEwgENK54Cp44e4v8BwNhsuHuw==", + "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", + "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^9.1.2", + "eslint-visitor-keys": "^5.0.1", + "espree": "^11.2.0", + "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", @@ -3375,8 +3358,7 @@ "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", + "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, @@ -3384,7 +3366,7 @@ "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://eslint.org/donate" @@ -3399,17 +3381,19 @@ } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3419,7 +3403,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -3428,25 +3412,37 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "devOptional": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" } }, "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "devOptional": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3456,51 +3452,54 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "devOptional": true, + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "*" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "eslint-visitor-keys": "^5.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "devOptional": true, "license": "Apache-2.0", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3521,10 +3520,10 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "devOptional": true, "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" @@ -3537,7 +3536,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -3550,7 +3549,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -3560,7 +3559,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -3622,21 +3621,21 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/fb-watchman": { @@ -3653,7 +3652,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" @@ -3666,7 +3665,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "locate-path": "^6.0.0", @@ -3683,7 +3682,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "flatted": "^3.2.9", @@ -3697,7 +3696,7 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/foreground-child": { @@ -3821,7 +3820,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.3" @@ -3830,19 +3829,6 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -3909,23 +3895,6 @@ "node": ">= 4" } }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/import-local": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", @@ -3950,7 +3919,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.8.19" @@ -3986,7 +3955,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -4016,7 +3985,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -4042,7 +4011,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/istanbul-lib-coverage": { @@ -4138,7 +4107,6 @@ "integrity": "sha512-Yi1jqNC/Oq0N4hBgNH/YvBpP1P57QqundgytzYqy3yqAa7NZPNjSoi4SGbRAXDMdBzNE6xBCi5U7RgfrvMEUVQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "30.4.2", "@jest/types": "30.4.1", @@ -4759,19 +4727,6 @@ "dev": true, "license": "MIT" }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -4789,7 +4744,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/json-parse-even-better-errors": { @@ -4803,14 +4758,14 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/json5": { @@ -4830,7 +4785,7 @@ "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -4850,7 +4805,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", @@ -4871,7 +4826,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "p-locate": "^5.0.0" @@ -4890,13 +4845,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -4997,7 +4945,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/napi-postinstall": { @@ -5020,7 +4968,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/neo-async": { @@ -5097,7 +5045,7 @@ "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "deep-is": "^0.1.3", @@ -5115,7 +5063,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" @@ -5131,7 +5079,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "p-limit": "^3.0.2" @@ -5160,19 +5108,6 @@ "dev": true, "license": "BlueOak-1.0.0" }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -5196,7 +5131,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -5216,7 +5151,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -5349,7 +5284,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 0.8.0" @@ -5388,7 +5323,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -5460,16 +5395,6 @@ "node": ">=8" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/semver": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.3.tgz", @@ -5487,7 +5412,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -5500,7 +5425,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -5879,7 +5804,6 @@ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -5994,7 +5918,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" @@ -6032,7 +5956,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6168,7 +6091,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" @@ -6203,7 +6126,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -6219,7 +6142,7 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -6456,7 +6379,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=10" diff --git a/package.json b/package.json index 589d18a..c5270cf 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,14 @@ "homepage": "https://github.com/graycoreio/github-actions-magento2#readme", "dependencies": { "@actions/core": "^3.0.1", - "@actions/exec": "^3.0.0" + "@actions/exec": "^3.0.0", + "@eslint/js": "^10.0.1" }, "devDependencies": { "@types/jest": "^30.0.0", "@types/node": "^24.10.4", "esbuild": "^0.28.0", - "eslint": "^9.39.2", + "eslint": "^10.4.1", "jest": "^30.4.2", "ts-jest": "^29.4.11", "typescript": "^5.9.3", diff --git a/resolve-check-config/dist/index.js b/resolve-check-config/dist/index.js index d513ceb..1de4b1a 100644 --- a/resolve-check-config/dist/index.js +++ b/resolve-check-config/dist/index.js @@ -43,7 +43,7 @@ ${r.count} ${r.noun} ${r.is} pending: ${A.format(t)} `.trim())}};fl.exports=Ka});var dn=h((hM,ml)=>{"use strict";var yl=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Bk}=x(),Ik=Yt();Dl()===void 0&&pl(new Ik);function pl(e){if(!e||typeof e.dispatch!="function")throw new Bk("Argument agent must implement Agent");Object.defineProperty(globalThis,yl,{value:e,writable:!0,enumerable:!1,configurable:!1})}function Dl(){return globalThis[yl]}ml.exports={setGlobalDispatcher:pl,getGlobalDispatcher:Dl}});var fn=h((dM,kl)=>{"use strict";kl.exports=class{#A;constructor(A){if(typeof A!="object"||A===null)throw new TypeError("handler must be an object");this.#A=A}onConnect(...A){return this.#A.onConnect?.(...A)}onError(...A){return this.#A.onError?.(...A)}onUpgrade(...A){return this.#A.onUpgrade?.(...A)}onResponseStarted(...A){return this.#A.onResponseStarted?.(...A)}onHeaders(...A){return this.#A.onHeaders?.(...A)}onData(...A){return this.#A.onData?.(...A)}onComplete(...A){return this.#A.onComplete?.(...A)}onBodySent(...A){return this.#A.onBodySent?.(...A)}}});var Fl=h((fM,Rl)=>{"use strict";var lk=Xs();Rl.exports=e=>{let A=e?.maxRedirections;return t=>function(s,n){let{maxRedirections:i=A,...o}=s;if(!i)return t(s,n);let a=new lk(t,i,s,n);return t(o,a)}}});var bl=h((wM,Nl)=>{"use strict";var Ck=cn();Nl.exports=e=>A=>function(r,s){return A(r,new Ck({...r,retryOptions:{...e,...r.retryOptions}},{handler:s,dispatch:A}))}});var Ul=h((yM,Sl)=>{"use strict";var hk=M(),{InvalidArgumentError:uk,RequestAbortedError:dk}=x(),fk=fn(),za=class extends fk{#A=1024*1024;#e=null;#t=!1;#n=!1;#s=0;#r=null;#i=null;constructor({maxSize:A},t){if(super(t),A!=null&&(!Number.isFinite(A)||A<1))throw new uk("maxSize must be a number greater than 0");this.#A=A??this.#A,this.#i=t}onConnect(A){this.#e=A,this.#i.onConnect(this.#o.bind(this))}#o(A){this.#n=!0,this.#r=A}onHeaders(A,t,r,s){let i=hk.parseHeaders(t)["content-length"];if(i!=null&&i>this.#A)throw new dk(`Response size (${i}) larger than maxSize (${this.#A})`);return this.#n?!0:this.#i.onHeaders(A,t,r,s)}onError(A){this.#t||(A=this.#r??A,this.#i.onError(A))}onData(A){return this.#s=this.#s+A.length,this.#s>=this.#A&&(this.#t=!0,this.#n?this.#i.onError(this.#r):this.#i.onComplete([])),!0}onComplete(A){if(!this.#t){if(this.#n){this.#i.onError(this.reason);return}this.#i.onComplete(A)}}};function wk({maxSize:e}={maxSize:1024*1024}){return A=>function(r,s){let{dumpMaxSize:n=e}=r,i=new za({maxSize:n},s);return A(r,i)}}Sl.exports=wk});var Tl=h((pM,Ll)=>{"use strict";var{isIP:yk}=require("node:net"),{lookup:pk}=require("node:dns"),Dk=fn(),{InvalidArgumentError:Pt,InformationalError:mk}=x(),Ml=Math.pow(2,31)-1,Xa=class{#A=0;#e=0;#t=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(A){this.#A=A.maxTTL,this.#e=A.maxItems,this.dualStack=A.dualStack,this.affinity=A.affinity,this.lookup=A.lookup??this.#n,this.pick=A.pick??this.#s}get full(){return this.#t.size===this.#e}runLookup(A,t,r){let s=this.#t.get(A.hostname);if(s==null&&this.full){r(null,A.origin);return}let n={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#A,maxItems:this.#e};if(s==null)this.lookup(A,n,(i,o)=>{if(i||o==null||o.length===0){r(i??new mk("No DNS entries found"));return}this.setRecords(A,o);let a=this.#t.get(A.hostname),c=this.pick(A,a,n.affinity),Q;typeof c.port=="number"?Q=`:${c.port}`:A.port!==""?Q=`:${A.port}`:Q="",r(null,`${A.protocol}//${c.family===6?`[${c.address}]`:c.address}${Q}`)});else{let i=this.pick(A,s,n.affinity);if(i==null){this.#t.delete(A.hostname),this.runLookup(A,t,r);return}let o;typeof i.port=="number"?o=`:${i.port}`:A.port!==""?o=`:${A.port}`:o="",r(null,`${A.protocol}//${i.family===6?`[${i.address}]`:i.address}${o}`)}}#n(A,t,r){pk(A.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,n)=>{if(s)return r(s);let i=new Map;for(let o of n)i.set(`${o.address}:${o.family}`,o);r(null,i.values())})}#s(A,t,r){let s=null,{records:n,offset:i}=t,o;if(this.dualStack?(r==null&&(i==null||i===Ml?(t.offset=0,r=4):(t.offset++,r=(t.offset&1)===1?6:4)),n[r]!=null&&n[r].ips.length>0?o=n[r]:o=n[r===4?6:4]):o=n[r],o==null||o.ips.length===0)return s;o.offset==null||o.offset===Ml?o.offset=0:o.offset++;let a=o.offset%o.ips.length;return s=o.ips[a]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(o.ips.splice(a,1),this.pick(A,t,r)):s}setRecords(A,t){let r=Date.now(),s={records:{4:null,6:null}};for(let n of t){n.timestamp=r,typeof n.ttl=="number"?n.ttl=Math.min(n.ttl,this.#A):n.ttl=this.#A;let i=s.records[n.family]??{ips:[]};i.ips.push(n),s.records[n.family]=i}this.#t.set(A.hostname,s)}getHandler(A,t){return new ja(this,A,t)}},ja=class extends Dk{#A=null;#e=null;#t=null;#n=null;#s=null;constructor(A,{origin:t,handler:r,dispatch:s},n){super(r),this.#s=t,this.#n=r,this.#e={...n},this.#A=A,this.#t=s}onError(A){switch(A.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#A.dualStack){this.#A.runLookup(this.#s,this.#e,(t,r)=>{if(t)return this.#n.onError(t);let s={...this.#e,origin:r};this.#t(s,this)});return}this.#n.onError(A);return}case"ENOTFOUND":this.#A.deleteRecord(this.#s);default:this.#n.onError(A);break}}};Ll.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new Pt("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new Pt("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new Pt("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new Pt("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new Pt("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new Pt("Invalid pick. Must be a function");let A=e?.dualStack??!0,t;A?t=e?.affinity??null:t=e?.affinity??4;let r={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:A,affinity:t,maxItems:e?.maxItems??1/0},s=new Xa(r);return n=>function(o,a){let c=o.origin.constructor===URL?o.origin:new URL(o.origin);return yk(c.hostname)!==0?n(o,a):(s.runLookup(c,o,(Q,g)=>{if(Q)return a.onError(Q);let E=null;E={...o,servername:c.hostname,origin:g,headers:{host:c.hostname,...o.headers}},n(E,s.getHandler({origin:c,dispatch:n,handler:a},o))}),!0)}}});var et=h((DM,Vl)=>{"use strict";var{kConstruct:kk}=P(),{kEnumerableProperty:Zt}=M(),{iteratorMixin:Rk,isValidHeaderName:Hr,isValidHeaderValue:xl}=fA(),{webidl:Y}=nA(),$a=require("node:assert"),wn=require("node:util"),eA=Symbol("headers map"),DA=Symbol("headers map sorted");function Yl(e){return e===10||e===13||e===9||e===32}function Gl(e){let A=0,t=e.length;for(;t>A&&Yl(e.charCodeAt(t-1));)--t;for(;t>A&&Yl(e.charCodeAt(A));)++A;return A===0&&t===e.length?e:e.substring(A,t)}function Jl(e,A){if(Array.isArray(A))for(let t=0;t>","record"]})}function Ac(e,A,t){if(t=Gl(t),Hr(A)){if(!xl(t))throw Y.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"});if(Hl(e)==="immutable")throw new TypeError("immutable");return ec(e).append(A,t,!1)}function vl(e,A){return e[0]>1),t[c][0]<=Q[0]?a=c+1:o=c;if(n!==c){for(i=n;i>a;)t[i]=t[--i];t[a]=Q}}if(!r.next().done)throw new TypeError("Unreachable");return t}else{let r=0;for(let{0:s,1:{value:n}}of this[eA])t[r++]=[s,n],$a(n!==null);return t.sort(vl)}}},qA=class e{#A;#e;constructor(A=void 0){Y.util.markAsUncloneable(this),A!==kk&&(this.#e=new yn,this.#A="none",A!==void 0&&(A=Y.converters.HeadersInit(A,"Headers contructor","init"),Jl(this,A)))}append(A,t){Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return A=Y.converters.ByteString(A,r,"name"),t=Y.converters.ByteString(t,r,"value"),Ac(this,A,t)}delete(A){if(Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,"Headers.delete"),A=Y.converters.ByteString(A,"Headers.delete","name"),!Hr(A))throw Y.errors.invalidArgument({prefix:"Headers.delete",value:A,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.contains(A,!1)&&this.#e.delete(A,!1)}get(A){Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(A=Y.converters.ByteString(A,t,"name"),!Hr(A))throw Y.errors.invalidArgument({prefix:t,value:A,type:"header name"});return this.#e.get(A,!1)}has(A){Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(A=Y.converters.ByteString(A,t,"name"),!Hr(A))throw Y.errors.invalidArgument({prefix:t,value:A,type:"header name"});return this.#e.contains(A,!1)}set(A,t){Y.brandCheck(this,e),Y.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(A=Y.converters.ByteString(A,r,"name"),t=Y.converters.ByteString(t,r,"value"),t=Gl(t),Hr(A)){if(!xl(t))throw Y.errors.invalidArgument({prefix:r,value:t,type:"header value"})}else throw Y.errors.invalidArgument({prefix:r,value:A,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.set(A,t,!1)}getSetCookie(){Y.brandCheck(this,e);let A=this.#e.cookies;return A?[...A]:[]}get[DA](){if(this.#e[DA])return this.#e[DA];let A=[],t=this.#e.toSortedArray(),r=this.#e.cookies;if(r===null||r.length===1)return this.#e[DA]=t;for(let s=0;s>"](e,A,t,r.bind(e)):Y.converters["record"](e,A,t)}throw Y.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};Vl.exports={fill:Jl,compareHeaderName:vl,Headers:qA,HeadersList:yn,getHeadersGuard:Hl,setHeadersGuard:Fk,setHeadersList:Nk,getHeadersList:ec}});var qr=h((mM,AC)=>{"use strict";var{Headers:_l,HeadersList:ql,fill:bk,getHeadersGuard:Sk,setHeadersGuard:Kl,setHeadersList:zl}=et(),{extractBody:Wl,cloneBody:Uk,mixinBody:Mk,hasFinalizationRegistry:Xl,streamRegistry:jl,bodyUnusable:Lk}=Rt(),tc=M(),Ol=require("node:util"),{kEnumerableProperty:mA}=tc,{isValidReasonPhrase:Tk,isCancelled:Yk,isAborted:xk,isBlobLike:Gk,serializeJavascriptValueToJSONString:Jk,isErrorLike:vk,isomorphicEncode:Hk,environmentSettingsObject:Vk}=fA(),{redirectStatusSet:qk,nullBodyStatus:Wk}=Er(),{kState:_,kHeaders:le}=ye(),{webidl:U}=nA(),{FormData:Ok}=ur(),{URLSerializer:Pl}=IA(),{kConstruct:Dn}=P(),rc=require("node:assert"),{types:Pk}=require("node:util"),Zk=new TextEncoder("utf-8"),tt=class e{static error(){return Vr(mn(),"immutable")}static json(A,t={}){U.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=U.converters.ResponseInit(t));let r=Zk.encode(Jk(A)),s=Wl(r),n=Vr(_t({}),"response");return Zl(n,t,{body:s[0],type:"application/json"}),n}static redirect(A,t=302){U.argumentLengthCheck(arguments,1,"Response.redirect"),A=U.converters.USVString(A),t=U.converters["unsigned short"](t);let r;try{r=new URL(A,Vk.settingsObject.baseUrl)}catch(i){throw new TypeError(`Failed to parse URL from ${A}`,{cause:i})}if(!qk.has(t))throw new RangeError(`Invalid status code ${t}`);let s=Vr(_t({}),"immutable");s[_].status=t;let n=Hk(Pl(r));return s[_].headersList.append("location",n,!0),s}constructor(A=null,t={}){if(U.util.markAsUncloneable(this),A===Dn)return;A!==null&&(A=U.converters.BodyInit(A)),t=U.converters.ResponseInit(t),this[_]=_t({}),this[le]=new _l(Dn),Kl(this[le],"response"),zl(this[le],this[_].headersList);let r=null;if(A!=null){let[s,n]=Wl(A);r={body:s,type:n}}Zl(this,t,r)}get type(){return U.brandCheck(this,e),this[_].type}get url(){U.brandCheck(this,e);let A=this[_].urlList,t=A[A.length-1]??null;return t===null?"":Pl(t,!0)}get redirected(){return U.brandCheck(this,e),this[_].urlList.length>1}get status(){return U.brandCheck(this,e),this[_].status}get ok(){return U.brandCheck(this,e),this[_].status>=200&&this[_].status<=299}get statusText(){return U.brandCheck(this,e),this[_].statusText}get headers(){return U.brandCheck(this,e),this[le]}get body(){return U.brandCheck(this,e),this[_].body?this[_].body.stream:null}get bodyUsed(){return U.brandCheck(this,e),!!this[_].body&&tc.isDisturbed(this[_].body.stream)}clone(){if(U.brandCheck(this,e),Lk(this))throw U.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let A=sc(this[_]);return Xl&&this[_].body?.stream&&jl.register(this,new WeakRef(this[_].body.stream)),Vr(A,Sk(this[le]))}[Ol.inspect.custom](A,t){t.depth===null&&(t.depth=2),t.colors??=!0;let r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${Ol.formatWithOptions(t,r)}`}};Mk(tt);Object.defineProperties(tt.prototype,{type:mA,url:mA,status:mA,ok:mA,redirected:mA,statusText:mA,headers:mA,clone:mA,body:mA,bodyUsed:mA,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(tt,{json:mA,redirect:mA,error:mA});function sc(e){if(e.internalResponse)return $l(sc(e.internalResponse),e.type);let A=_t({...e,body:null});return e.body!=null&&(A.body=Uk(A,e.body)),A}function _t(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new ql(e?.headersList):new ql,urlList:e?.urlList?[...e.urlList]:[]}}function mn(e){let A=vk(e);return _t({type:"error",status:0,error:A?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function _k(e){return e.type==="error"&&e.status===0}function pn(e,A){return A={internalResponse:e,...A},new Proxy(e,{get(t,r){return r in A?A[r]:t[r]},set(t,r,s){return rc(!(r in A)),t[r]=s,!0}})}function $l(e,A){if(A==="basic")return pn(e,{type:"basic",headersList:e.headersList});if(A==="cors")return pn(e,{type:"cors",headersList:e.headersList});if(A==="opaque")return pn(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(A==="opaqueredirect")return pn(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});rc(!1)}function Kk(e,A=null){return rc(Yk(e)),xk(e)?mn(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:A})):mn(Object.assign(new DOMException("Request was cancelled."),{cause:A}))}function Zl(e,A,t){if(A.status!==null&&(A.status<200||A.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in A&&A.statusText!=null&&!Tk(String(A.statusText)))throw new TypeError("Invalid statusText");if("status"in A&&A.status!=null&&(e[_].status=A.status),"statusText"in A&&A.statusText!=null&&(e[_].statusText=A.statusText),"headers"in A&&A.headers!=null&&bk(e[le],A.headers),t){if(Wk.includes(e.status))throw U.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`});e[_].body=t.body,t.type!=null&&!e[_].headersList.contains("content-type",!0)&&e[_].headersList.append("content-type",t.type,!0)}}function Vr(e,A){let t=new tt(Dn);return t[_]=e,t[le]=new _l(Dn),zl(t[le],e.headersList),Kl(t[le],A),Xl&&e.body?.stream&&jl.register(t,new WeakRef(e.body.stream)),t}U.converters.ReadableStream=U.interfaceConverter(ReadableStream);U.converters.FormData=U.interfaceConverter(Ok);U.converters.URLSearchParams=U.interfaceConverter(URLSearchParams);U.converters.XMLHttpRequestBodyInit=function(e,A,t){return typeof e=="string"?U.converters.USVString(e,A,t):Gk(e)?U.converters.Blob(e,A,t,{strict:!1}):ArrayBuffer.isView(e)||Pk.isArrayBuffer(e)?U.converters.BufferSource(e,A,t):tc.isFormDataLike(e)?U.converters.FormData(e,A,t,{strict:!1}):e instanceof URLSearchParams?U.converters.URLSearchParams(e,A,t):U.converters.DOMString(e,A,t)};U.converters.BodyInit=function(e,A,t){return e instanceof ReadableStream?U.converters.ReadableStream(e,A,t):e?.[Symbol.asyncIterator]?e:U.converters.XMLHttpRequestBodyInit(e,A,t)};U.converters.ResponseInit=U.dictionaryConverter([{key:"status",converter:U.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:U.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:U.converters.HeadersInit}]);AC.exports={isNetworkError:_k,makeNetworkError:mn,makeResponse:_t,makeAppropriateNetworkError:Kk,filterResponse:$l,Response:tt,cloneResponse:sc,fromInnerResponse:Vr}});var sC=h((kM,rC)=>{"use strict";var{kConnected:eC,kSize:tC}=P(),nc=class{constructor(A){this.value=A}deref(){return this.value[eC]===0&&this.value[tC]===0?void 0:this.value}},ic=class{constructor(A){this.finalizer=A}register(A,t){A.on&&A.on("disconnect",()=>{A[eC]===0&&A[tC]===0&&this.finalizer(t)})}unregister(A){}};rC.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:nc,FinalizationRegistry:ic}):{WeakRef,FinalizationRegistry}}});var Kt=h((RM,dC)=>{"use strict";var{extractBody:zk,mixinBody:Xk,cloneBody:jk,bodyUnusable:nC}=Rt(),{Headers:IC,fill:$k,HeadersList:Nn,setHeadersGuard:ac,getHeadersGuard:AR,setHeadersList:lC,getHeadersList:iC}=et(),{FinalizationRegistry:eR}=sC()(),Rn=M(),oC=require("node:util"),{isValidHTTPToken:tR,sameOrigin:aC,environmentSettingsObject:kn}=fA(),{forbiddenMethodsSet:rR,corsSafeListedMethodsSet:sR,referrerPolicy:nR,requestRedirect:iR,requestMode:oR,requestCredentials:aR,requestCache:cR,requestDuplex:gR}=Er(),{kEnumerableProperty:tA,normalizedMethodRecordsBase:QR,normalizedMethodRecords:ER}=Rn,{kHeaders:kA,kSignal:Fn,kState:O,kDispatcher:oc}=ye(),{webidl:F}=nA(),{URLSerializer:BR}=IA(),{kConstruct:bn}=P(),IR=require("node:assert"),{getMaxListeners:cC,setMaxListeners:gC,getEventListeners:lR,defaultMaxListeners:QC}=require("node:events"),CR=Symbol("abortController"),CC=new eR(({signal:e,abort:A})=>{e.removeEventListener("abort",A)}),Sn=new WeakMap;function EC(e){return A;function A(){let t=e.deref();if(t!==void 0){CC.unregister(A),this.removeEventListener("abort",A),t.abort(this.reason);let r=Sn.get(t.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let n=s.deref();n!==void 0&&n.abort(this.reason)}r.clear()}Sn.delete(t.signal)}}}}var BC=!1,Le=class e{constructor(A,t={}){if(F.util.markAsUncloneable(this),A===bn)return;let r="Request constructor";F.argumentLengthCheck(arguments,1,r),A=F.converters.RequestInfo(A,r,"input"),t=F.converters.RequestInit(t,r,"init");let s=null,n=null,i=kn.settingsObject.baseUrl,o=null;if(typeof A=="string"){this[oc]=t.dispatcher;let B;try{B=new URL(A,i)}catch(f){throw new TypeError("Failed to parse URL from "+A,{cause:f})}if(B.username||B.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+A);s=Un({urlList:[B]}),n="cors"}else this[oc]=t.dispatcher||A[oc],IR(A instanceof e),s=A[O],o=A[Fn];let a=kn.settingsObject.origin,c="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&aC(s.window,a)&&(c=s.window),t.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in t&&(c="no-window"),s=Un({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:kn.settingsObject,window:c,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});let Q=Object.keys(t).length!==0;if(Q&&(s.mode==="navigate"&&(s.mode="same-origin"),s.reloadNavigation=!1,s.historyNavigation=!1,s.origin="client",s.referrer="client",s.referrerPolicy="",s.url=s.urlList[s.urlList.length-1],s.urlList=[s.url]),t.referrer!==void 0){let B=t.referrer;if(B==="")s.referrer="no-referrer";else{let f;try{f=new URL(B,i)}catch(D){throw new TypeError(`Referrer "${B}" is not a valid URL.`,{cause:D})}f.protocol==="about:"&&f.hostname==="client"||a&&!aC(f,kn.settingsObject.baseUrl)?s.referrer="client":s.referrer=f}}t.referrerPolicy!==void 0&&(s.referrerPolicy=t.referrerPolicy);let g;if(t.mode!==void 0?g=t.mode:g=n,g==="navigate")throw F.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(g!=null&&(s.mode=g),t.credentials!==void 0&&(s.credentials=t.credentials),t.cache!==void 0&&(s.cache=t.cache),s.cache==="only-if-cached"&&s.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(s.redirect=t.redirect),t.integrity!=null&&(s.integrity=String(t.integrity)),t.keepalive!==void 0&&(s.keepalive=!!t.keepalive),t.method!==void 0){let B=t.method,f=ER[B];if(f!==void 0)s.method=f;else{if(!tR(B))throw new TypeError(`'${B}' is not a valid HTTP method.`);let D=B.toUpperCase();if(rR.has(D))throw new TypeError(`'${B}' HTTP method is unsupported.`);B=QR[D]??B,s.method=B}!BC&&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"}),BC=!0)}t.signal!==void 0&&(o=t.signal),this[O]=s;let E=new AbortController;if(this[Fn]=E.signal,o!=null){if(!o||typeof o.aborted!="boolean"||typeof o.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(o.aborted)E.abort(o.reason);else{this[CR]=E;let B=new WeakRef(E),f=EC(B);try{(typeof cC=="function"&&cC(o)===QC||lR(o,"abort").length>=QC)&&gC(1500,o)}catch{}Rn.addAbortListener(o,f),CC.register(E,{signal:o,abort:f},f)}}if(this[kA]=new IC(bn),lC(this[kA],s.headersList),ac(this[kA],"request"),g==="no-cors"){if(!sR.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);ac(this[kA],"request-no-cors")}if(Q){let B=iC(this[kA]),f=t.headers!==void 0?t.headers:new Nn(B);if(B.clear(),f instanceof Nn){for(let{name:D,value:m}of f.rawValues())B.append(D,m,!1);B.cookies=f.cookies}else $k(this[kA],f)}let l=A instanceof e?A[O].body:null;if((t.body!=null||l!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let I=null;if(t.body!=null){let[B,f]=zk(t.body,s.keepalive);I=B,f&&!iC(this[kA]).contains("content-type",!0)&&this[kA].append("content-type",f)}let C=I??l;if(C!=null&&C.source==null){if(I!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(s.mode!=="same-origin"&&s.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');s.useCORSPreflightFlag=!0}let w=C;if(I==null&&l!=null){if(nC(A))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let B=new TransformStream;l.stream.pipeThrough(B),w={source:l.source,length:l.length,stream:B.readable}}this[O].body=w}get method(){return F.brandCheck(this,e),this[O].method}get url(){return F.brandCheck(this,e),BR(this[O].url)}get headers(){return F.brandCheck(this,e),this[kA]}get destination(){return F.brandCheck(this,e),this[O].destination}get referrer(){return F.brandCheck(this,e),this[O].referrer==="no-referrer"?"":this[O].referrer==="client"?"about:client":this[O].referrer.toString()}get referrerPolicy(){return F.brandCheck(this,e),this[O].referrerPolicy}get mode(){return F.brandCheck(this,e),this[O].mode}get credentials(){return this[O].credentials}get cache(){return F.brandCheck(this,e),this[O].cache}get redirect(){return F.brandCheck(this,e),this[O].redirect}get integrity(){return F.brandCheck(this,e),this[O].integrity}get keepalive(){return F.brandCheck(this,e),this[O].keepalive}get isReloadNavigation(){return F.brandCheck(this,e),this[O].reloadNavigation}get isHistoryNavigation(){return F.brandCheck(this,e),this[O].historyNavigation}get signal(){return F.brandCheck(this,e),this[Fn]}get body(){return F.brandCheck(this,e),this[O].body?this[O].body.stream:null}get bodyUsed(){return F.brandCheck(this,e),!!this[O].body&&Rn.isDisturbed(this[O].body.stream)}get duplex(){return F.brandCheck(this,e),"half"}clone(){if(F.brandCheck(this,e),nC(this))throw new TypeError("unusable");let A=hC(this[O]),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let r=Sn.get(this.signal);r===void 0&&(r=new Set,Sn.set(this.signal,r));let s=new WeakRef(t);r.add(s),Rn.addAbortListener(t.signal,EC(s))}return uC(A,t.signal,AR(this[kA]))}[oC.inspect.custom](A,t){t.depth===null&&(t.depth=2),t.colors??=!0;let r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${oC.formatWithOptions(t,r)}`}};Xk(Le);function Un(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??!1,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new Nn(e.headersList):new Nn}}function hC(e){let A=Un({...e,body:null});return e.body!=null&&(A.body=jk(A,e.body)),A}function uC(e,A,t){let r=new Le(bn);return r[O]=e,r[Fn]=A,r[kA]=new IC(bn),lC(r[kA],e.headersList),ac(r[kA],t),r}Object.defineProperties(Le.prototype,{method:tA,url:tA,headers:tA,redirect:tA,clone:tA,signal:tA,duplex:tA,destination:tA,body:tA,bodyUsed:tA,isHistoryNavigation:tA,isReloadNavigation:tA,keepalive:tA,integrity:tA,cache:tA,credentials:tA,attribute:tA,referrerPolicy:tA,referrer:tA,mode:tA,[Symbol.toStringTag]:{value:"Request",configurable:!0}});F.converters.Request=F.interfaceConverter(Le);F.converters.RequestInfo=function(e,A,t){return typeof e=="string"?F.converters.USVString(e,A,t):e instanceof Le?F.converters.Request(e,A,t):F.converters.USVString(e,A,t)};F.converters.AbortSignal=F.interfaceConverter(AbortSignal);F.converters.RequestInit=F.dictionaryConverter([{key:"method",converter:F.converters.ByteString},{key:"headers",converter:F.converters.HeadersInit},{key:"body",converter:F.nullableConverter(F.converters.BodyInit)},{key:"referrer",converter:F.converters.USVString},{key:"referrerPolicy",converter:F.converters.DOMString,allowedValues:nR},{key:"mode",converter:F.converters.DOMString,allowedValues:oR},{key:"credentials",converter:F.converters.DOMString,allowedValues:aR},{key:"cache",converter:F.converters.DOMString,allowedValues:cR},{key:"redirect",converter:F.converters.DOMString,allowedValues:iR},{key:"integrity",converter:F.converters.DOMString},{key:"keepalive",converter:F.converters.boolean},{key:"signal",converter:F.nullableConverter(e=>F.converters.AbortSignal(e,"RequestInit","signal",{strict:!1}))},{key:"window",converter:F.converters.any},{key:"duplex",converter:F.converters.DOMString,allowedValues:gR},{key:"dispatcher",converter:F.converters.any}]);dC.exports={Request:Le,makeRequest:Un,fromInnerRequest:uC,cloneRequest:hC}});var Or=h((FM,LC)=>{"use strict";var{makeNetworkError:v,makeAppropriateNetworkError:Mn,filterResponse:cc,makeResponse:Ln,fromInnerResponse:hR}=qr(),{HeadersList:fC}=et(),{Request:uR,cloneRequest:dR}=Kt(),Te=require("node:zlib"),{bytesMatch:fR,makePolicyContainer:wR,clonePolicyContainer:yR,requestBadPort:pR,TAOCheck:DR,appendRequestOriginHeader:mR,responseLocationURL:kR,requestCurrentURL:te,setRequestReferrerPolicyOnRedirect:RR,tryUpgradeRequestToAPotentiallyTrustworthyURL:FR,createOpaqueTimingInfo:Ic,appendFetchMetadata:NR,corsCheck:bR,crossOriginResourcePolicyCheck:SR,determineRequestsReferrer:UR,coarsenedSharedCurrentTime:Wr,createDeferredPromise:MR,isBlobLike:LR,sameOrigin:Bc,isCancelled:rt,isAborted:wC,isErrorLike:TR,fullyReadBody:YR,readableStreamClose:xR,isomorphicEncode:Tn,urlIsLocal:GR,urlIsHttpHttpsScheme:lc,urlHasHttpsScheme:JR,clampAndCoarsenConnectionTimingInfo:vR,simpleRangeHeaderValue:HR,buildContentRange:VR,createInflate:qR,extractMimeType:WR}=fA(),{kState:mC,kDispatcher:OR}=ye(),st=require("node:assert"),{safelyExtractBody:Cc,extractBody:yC}=Rt(),{redirectStatusSet:kC,nullBodyStatus:RC,safeMethodsSet:PR,requestBodyHeader:ZR,subresourceSet:_R}=Er(),KR=require("node:events"),{Readable:zR,pipeline:XR,finished:jR}=require("node:stream"),{addAbortListener:$R,isErrored:AF,isReadable:Yn,bufferToLowerCasedHeaderName:pC}=M(),{dataURLProcessor:eF,serializeAMimeType:tF,minimizeSupportedMimeType:rF}=IA(),{getGlobalDispatcher:sF}=dn(),{webidl:nF}=nA(),{STATUS_CODES:iF}=require("node:http"),oF=["GET","HEAD"],aF=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",gc,xn=class extends KR{constructor(A){super(),this.dispatcher=A,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(A){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(A),this.emit("terminated",A))}abort(A){this.state==="ongoing"&&(this.state="aborted",A||(A=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=A,this.connection?.destroy(A),this.emit("terminated",A))}};function cF(e){FC(e,"fetch")}function gF(e,A=void 0){nF.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=MR(),r;try{r=new uR(e,A)}catch(Q){return t.reject(Q),t.promise}let s=r[mC];if(r.signal.aborted)return Qc(t,s,null,r.signal.reason),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let i=null,o=!1,a=null;return $R(r.signal,()=>{o=!0,st(a!=null),a.abort(r.signal.reason);let Q=i?.deref();Qc(t,s,Q,r.signal.reason)}),a=bC({request:s,processResponseEndOfBody:cF,processResponse:Q=>{if(!o){if(Q.aborted){Qc(t,s,i,a.serializedAbortReason);return}if(Q.type==="error"){t.reject(new TypeError("fetch failed",{cause:Q.error}));return}i=new WeakRef(hR(Q,"immutable")),t.resolve(i.deref()),t=null}},dispatcher:r[OR]}),t.promise}function FC(e,A="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let t=e.urlList[0],r=e.timingInfo,s=e.cacheState;lc(t)&&r!==null&&(e.timingAllowPassed||(r=Ic({startTime:r.startTime}),s=""),r.endTime=Wr(),e.timingInfo=r,NC(r,t.href,A,globalThis,s))}var NC=performance.markResourceTiming;function Qc(e,A,t,r){if(e&&e.reject(r),A.body!=null&&Yn(A.body?.stream)&&A.body.stream.cancel(r).catch(n=>{if(n.code!=="ERR_INVALID_STATE")throw n}),t==null)return;let s=t[mC];s.body!=null&&Yn(s.body?.stream)&&s.body.stream.cancel(r).catch(n=>{if(n.code!=="ERR_INVALID_STATE")throw n})}function bC({request:e,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:n,useParallelQueue:i=!1,dispatcher:o=sF()}){st(o);let a=null,c=!1;e.client!=null&&(a=e.client.globalObject,c=e.client.crossOriginIsolatedCapability);let Q=Wr(c),g=Ic({startTime:Q}),E={controller:new xn(o),request:e,timingInfo:g,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:n,processResponseEndOfBody:s,taskDestination:a,crossOriginIsolatedCapability:c};return st(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=yR(e.client.policyContainer):e.policyContainer=wR()),e.headersList.contains("accept",!0)||e.headersList.append("accept","*/*",!0),e.headersList.contains("accept-language",!0)||e.headersList.append("accept-language","*",!0),e.priority,_R.has(e.destination),SC(E).catch(l=>{E.controller.terminate(l)}),E.controller}async function SC(e,A=!1){let t=e.request,r=null;if(t.localURLsOnly&&!GR(te(t))&&(r=v("local URLs only")),FR(t),pR(t)==="blocked"&&(r=v("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=UR(t)),r===null&&(r=await(async()=>{let n=te(t);return Bc(n,t.url)&&t.responseTainting==="basic"||n.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await DC(e)):t.mode==="same-origin"?v('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?v('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await DC(e)):lc(te(t))?(t.responseTainting="cors",await UC(e)):v("URL scheme must be a HTTP(S) scheme")})()),A)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=cc(r,"basic"):t.responseTainting==="cors"?r=cc(r,"cors"):t.responseTainting==="opaque"?r=cc(r,"opaque"):st(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range",!0)&&(r=s=v()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||RC.includes(s.status))&&(s.body=null,e.controller.dump=!0),t.integrity){let n=o=>Ec(e,v(o));if(t.responseTainting==="opaque"||r.body==null){n(r.error);return}let i=o=>{if(!fR(o,t.integrity)){n("integrity mismatch");return}r.body=Cc(o)[0],Ec(e,r)};await YR(r.body,i,n)}else Ec(e,r)}function DC(e){if(rt(e)&&e.request.redirectCount===0)return Promise.resolve(Mn(e));let{request:A}=e,{protocol:t}=te(A);switch(t){case"about:":return Promise.resolve(v("about scheme is not supported"));case"blob:":{gc||(gc=require("node:buffer").resolveObjectURL);let r=te(A);if(r.search.length!==0)return Promise.resolve(v("NetworkError when attempting to fetch resource."));let s=gc(r.toString());if(A.method!=="GET"||!LR(s))return Promise.resolve(v("invalid method"));let n=Ln(),i=s.size,o=Tn(`${i}`),a=s.type;if(A.headersList.contains("range",!0)){n.rangeRequested=!0;let c=A.headersList.get("range",!0),Q=HR(c,!0);if(Q==="failure")return Promise.resolve(v("failed to fetch the data URL"));let{rangeStartValue:g,rangeEndValue:E}=Q;if(g===null)g=i-E,E=g+E-1;else{if(g>=i)return Promise.resolve(v("Range start is greater than the blob's size."));(E===null||E>=i)&&(E=i-1)}let l=s.slice(g,E,a),I=yC(l);n.body=I[0];let C=Tn(`${l.size}`),w=VR(g,E,i);n.status=206,n.statusText="Partial Content",n.headersList.set("content-length",C,!0),n.headersList.set("content-type",a,!0),n.headersList.set("content-range",w,!0)}else{let c=yC(s);n.statusText="OK",n.body=c[0],n.headersList.set("content-length",o,!0),n.headersList.set("content-type",a,!0)}return Promise.resolve(n)}case"data:":{let r=te(A),s=eF(r);if(s==="failure")return Promise.resolve(v("failed to fetch the data URL"));let n=tF(s.mimeType);return Promise.resolve(Ln({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:Cc(s.body)[0]}))}case"file:":return Promise.resolve(v("not implemented... yet..."));case"http:":case"https:":return UC(e).catch(r=>v(r));default:return Promise.resolve(v("unknown scheme"))}}function QF(e,A){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(A))}function Ec(e,A){let t=e.timingInfo,r=()=>{let n=Date.now();e.request.destination==="document"&&(e.controller.fullTimingInfo=t),e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:")return;t.endTime=n;let o=A.cacheState,a=A.bodyInfo;A.timingAllowPassed||(t=Ic(t),o="");let c=0;if(e.request.mode!=="navigator"||!A.hasCrossOriginRedirects){c=A.status;let Q=WR(A.headersList);Q!=="failure"&&(a.contentType=rF(Q))}e.request.initiatorType!=null&&NC(t,e.request.url.href,e.request.initiatorType,globalThis,o,a,c)};let i=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(A)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>i())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(A),e.processResponse=null});let s=A.type==="error"?A:A.internalResponse??A;s.body==null?r():jR(s.body.stream,()=>{r()})}async function UC(e){let A=e.request,t=null,r=null,s=e.timingInfo;if(A.serviceWorkers,t===null){if(A.redirect==="follow"&&(A.serviceWorkers="none"),r=t=await MC(e),A.responseTainting==="cors"&&bR(A,t)==="failure")return v("cors failure");DR(A,t)==="failure"&&(A.timingAllowFailed=!0)}return(A.responseTainting==="opaque"||t.type==="opaque")&&SR(A.origin,A.client,A.destination,r)==="blocked"?v("blocked"):(kC.has(r.status)&&(A.redirect!=="manual"&&e.controller.connection.destroy(void 0,!1),A.redirect==="error"?t=v("unexpected redirect"):A.redirect==="manual"?t=r:A.redirect==="follow"?t=await EF(e,t):st(!1)),t.timingInfo=s,t)}function EF(e,A){let t=e.request,r=A.internalResponse?A.internalResponse:A,s;try{if(s=kR(r,te(t).hash),s==null)return A}catch(i){return Promise.resolve(v(i))}if(!lc(s))return Promise.resolve(v("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(v("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!Bc(t,s))return Promise.resolve(v('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(v('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(v());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!oF.includes(t.method)){t.method="GET",t.body=null;for(let i of ZR)t.headersList.delete(i)}Bc(te(t),s)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(st(t.body.source!=null),t.body=Cc(t.body.source)[0]);let n=e.timingInfo;return n.redirectEndTime=n.postRedirectStartTime=Wr(e.crossOriginIsolatedCapability),n.redirectStartTime===0&&(n.redirectStartTime=n.startTime),t.urlList.push(s),RR(t,r),SC(e,!0)}async function MC(e,A=!1,t=!1){let r=e.request,s=null,n=null,i=null,o=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=e,n=r):(n=dR(r),s={...e},s.request=n);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",Q=n.body?n.body.length:null,g=null;if(n.body==null&&["POST","PUT"].includes(n.method)&&(g="0"),Q!=null&&(g=Tn(`${Q}`)),g!=null&&n.headersList.append("content-length",g,!0),Q!=null&&n.keepalive,n.referrer instanceof URL&&n.headersList.append("referer",Tn(n.referrer.href),!0),mR(n),NR(n),n.headersList.contains("user-agent",!0)||n.headersList.append("user-agent",aF),n.cache==="default"&&(n.headersList.contains("if-modified-since",!0)||n.headersList.contains("if-none-match",!0)||n.headersList.contains("if-unmodified-since",!0)||n.headersList.contains("if-match",!0)||n.headersList.contains("if-range",!0))&&(n.cache="no-store"),n.cache==="no-cache"&&!n.preventNoCacheCacheControlHeaderModification&&!n.headersList.contains("cache-control",!0)&&n.headersList.append("cache-control","max-age=0",!0),(n.cache==="no-store"||n.cache==="reload")&&(n.headersList.contains("pragma",!0)||n.headersList.append("pragma","no-cache",!0),n.headersList.contains("cache-control",!0)||n.headersList.append("cache-control","no-cache",!0)),n.headersList.contains("range",!0)&&n.headersList.append("accept-encoding","identity",!0),n.headersList.contains("accept-encoding",!0)||(JR(te(n))?n.headersList.append("accept-encoding","br, gzip, deflate",!0):n.headersList.append("accept-encoding","gzip, deflate",!0)),n.headersList.delete("host",!0),o==null&&(n.cache="no-store"),n.cache!=="no-store"&&n.cache,i==null){if(n.cache==="only-if-cached")return v("only if cached");let E=await BF(s,c,t);!PR.has(n.method)&&E.status>=200&&E.status<=399,a&&E.status,i==null&&(i=E)}if(i.urlList=[...n.urlList],n.headersList.contains("range",!0)&&(i.rangeRequested=!0),i.requestIncludesCredentials=c,i.status===407)return r.window==="no-window"?v():rt(e)?Mn(e):v("proxy authentication required");if(i.status===421&&!t&&(r.body==null||r.body.source!=null)){if(rt(e))return Mn(e);e.controller.connection.destroy(),i=await MC(e,A,!0)}return i}async function BF(e,A=!1,t=!1){st(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(I,C=!0){this.destroyed||(this.destroyed=!0,C&&this.abort?.(I??new DOMException("The operation was aborted.","AbortError")))}};let r=e.request,s=null,n=e.timingInfo;null==null&&(r.cache="no-store");let o=t?"yes":"no";r.mode;let a=null;if(r.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(r.body!=null){let I=async function*(B){rt(e)||(yield B,e.processRequestBodyChunkLength?.(B.byteLength))},C=()=>{rt(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},w=B=>{rt(e)||(B.name==="AbortError"?e.controller.abort():e.controller.terminate(B))};a=(async function*(){try{for await(let B of r.body.stream)yield*I(B);C()}catch(B){w(B)}})()}try{let{body:I,status:C,statusText:w,headersList:B,socket:f}=await l({body:a});if(f)s=Ln({status:C,statusText:w,headersList:B,socket:f});else{let D=I[Symbol.asyncIterator]();e.controller.next=()=>D.next(),s=Ln({status:C,statusText:w,headersList:B})}}catch(I){return I.name==="AbortError"?(e.controller.connection.destroy(),Mn(e,I)):v(I)}let c=async()=>{await e.controller.resume()},Q=I=>{rt(e)||e.controller.abort(I)},g=new ReadableStream({async start(I){e.controller.controller=I},async pull(I){await c(I)},async cancel(I){await Q(I)},type:"bytes"});s.body={stream:g,source:null,length:null},e.controller.onAborted=E,e.controller.on("terminated",E),e.controller.resume=async()=>{for(;;){let I,C;try{let{done:B,value:f}=await e.controller.next();if(wC(e))break;I=B?void 0:f}catch(B){e.controller.ended&&!n.encodedBodySize?I=void 0:(I=B,C=!0)}if(I===void 0){xR(e.controller.controller),QF(e,s);return}if(n.decodedBodySize+=I?.byteLength??0,C){e.controller.terminate(I);return}let w=new Uint8Array(I);if(w.byteLength&&e.controller.controller.enqueue(w),AF(g)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function E(I){wC(e)?(s.aborted=!0,Yn(g)&&e.controller.controller.error(e.controller.serializedAbortReason)):Yn(g)&&e.controller.controller.error(new TypeError("terminated",{cause:TR(I)?I:void 0})),e.controller.connection.destroy()}return s;function l({body:I}){let C=te(r),w=e.controller.dispatcher;return new Promise((B,f)=>w.dispatch({path:C.pathname+C.search,origin:C.origin,method:r.method,body:w.isMockActive?r.body&&(r.body.source||r.body.stream):I,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(D){let{connection:m}=e.controller;n.finalConnectionTimingInfo=vR(void 0,n.postRedirectStartTime,e.crossOriginIsolatedCapability),m.destroyed?D(new DOMException("The operation was aborted.","AbortError")):(e.controller.on("terminated",D),this.abort=m.abort=D),n.finalNetworkRequestStartTime=Wr(e.crossOriginIsolatedCapability)},onResponseStarted(){n.finalNetworkResponseStartTime=Wr(e.crossOriginIsolatedCapability)},onHeaders(D,m,V,j){if(D<200)return;let K="",PA=new fC;for(let BA=0;BAQt)return f(new Error(`too many content-encodings in response: ${gt.length}, maximum allowed is ${Qt}`)),!0;for(let Bi=gt.length-1;Bi>=0;--Bi){let as=gt[Bi].trim();if(as==="x-gzip"||as==="gzip")se.push(Te.createGunzip({flush:Te.constants.Z_SYNC_FLUSH,finishFlush:Te.constants.Z_SYNC_FLUSH}));else if(as==="deflate")se.push(qR({flush:Te.constants.Z_SYNC_FLUSH,finishFlush:Te.constants.Z_SYNC_FLUSH}));else if(as==="br")se.push(Te.createBrotliDecompress({flush:Te.constants.BROTLI_OPERATION_FLUSH,finishFlush:Te.constants.BROTLI_OPERATION_FLUSH}));else{se.length=0;break}}}let de=this.onError.bind(this);return B({status:D,statusText:j,headersList:PA,body:se.length?XR(this.body,...se,BA=>{BA&&this.onError(BA)}).on("error",de):this.body.on("error",de)}),!0},onData(D){if(e.controller.dump)return;let m=D;return n.encodedBodySize+=m.byteLength,this.body.push(m)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.onAborted&&e.controller.off("terminated",e.controller.onAborted),e.controller.ended=!0,this.body.push(null)},onError(D){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(D),e.controller.terminate(D),f(D)},onUpgrade(D,m,V){if(D!==101)return;let j=new fC;for(let K=0;K{"use strict";TC.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")}});var xC=h((bM,YC)=>{"use strict";var{webidl:RA}=nA(),Gn=Symbol("ProgressEvent state"),uc=class e extends Event{constructor(A,t={}){A=RA.converters.DOMString(A,"ProgressEvent constructor","type"),t=RA.converters.ProgressEventInit(t??{}),super(A,t),this[Gn]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return RA.brandCheck(this,e),this[Gn].lengthComputable}get loaded(){return RA.brandCheck(this,e),this[Gn].loaded}get total(){return RA.brandCheck(this,e),this[Gn].total}};RA.converters.ProgressEventInit=RA.dictionaryConverter([{key:"lengthComputable",converter:RA.converters.boolean,defaultValue:()=>!1},{key:"loaded",converter:RA.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:RA.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:RA.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:RA.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:RA.converters.boolean,defaultValue:()=>!1}]);YC.exports={ProgressEvent:uc}});var JC=h((SM,GC)=>{"use strict";function IF(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"}}GC.exports={getEncoding:IF}});var ZC=h((UM,PC)=>{"use strict";var{kState:zt,kError:dc,kResult:vC,kAborted:Pr,kLastProgressEventFired:fc}=hc(),{ProgressEvent:lF}=xC(),{getEncoding:HC}=JC(),{serializeAMimeType:CF,parseMIMEType:VC}=IA(),{types:hF}=require("node:util"),{StringDecoder:qC}=require("string_decoder"),{btoa:WC}=require("node:buffer"),uF={enumerable:!0,writable:!1,configurable:!1};function dF(e,A,t,r){if(e[zt]==="loading")throw new DOMException("Invalid state","InvalidStateError");e[zt]="loading",e[vC]=null,e[dc]=null;let n=A.stream().getReader(),i=[],o=n.read(),a=!0;(async()=>{for(;!e[Pr];)try{let{done:c,value:Q}=await o;if(a&&!e[Pr]&&queueMicrotask(()=>{Ye("loadstart",e)}),a=!1,!c&&hF.isUint8Array(Q))i.push(Q),(e[fc]===void 0||Date.now()-e[fc]>=50)&&!e[Pr]&&(e[fc]=Date.now(),queueMicrotask(()=>{Ye("progress",e)})),o=n.read();else if(c){queueMicrotask(()=>{e[zt]="done";try{let g=fF(i,t,A.type,r);if(e[Pr])return;e[vC]=g,Ye("load",e)}catch(g){e[dc]=g,Ye("error",e)}e[zt]!=="loading"&&Ye("loadend",e)});break}}catch(c){if(e[Pr])return;queueMicrotask(()=>{e[zt]="done",e[dc]=c,Ye("error",e),e[zt]!=="loading"&&Ye("loadend",e)});break}})()}function Ye(e,A){let t=new lF(e,{bubbles:!1,cancelable:!1});A.dispatchEvent(t)}function fF(e,A,t,r){switch(A){case"DataURL":{let s="data:",n=VC(t||"application/octet-stream");n!=="failure"&&(s+=CF(n)),s+=";base64,";let i=new qC("latin1");for(let o of e)s+=WC(i.write(o));return s+=WC(i.end()),s}case"Text":{let s="failure";if(r&&(s=HC(r)),s==="failure"&&t){let n=VC(t);n!=="failure"&&(s=HC(n.parameters.get("charset")))}return s==="failure"&&(s="UTF-8"),wF(e,s)}case"ArrayBuffer":return OC(e).buffer;case"BinaryString":{let s="",n=new qC("latin1");for(let i of e)s+=n.write(i);return s+=n.end(),s}}}function wF(e,A){let t=OC(e),r=yF(t),s=0;r!==null&&(A=r,s=r==="UTF-8"?3:2);let n=t.slice(s);return new TextDecoder(A).decode(n)}function yF(e){let[A,t,r]=e;return A===239&&t===187&&r===191?"UTF-8":A===254&&t===255?"UTF-16BE":A===255&&t===254?"UTF-16LE":null}function OC(e){let A=e.reduce((r,s)=>r+s.byteLength,0),t=0;return e.reduce((r,s)=>(r.set(s,t),t+=s.byteLength,r),new Uint8Array(A))}PC.exports={staticPropertyDescriptors:uF,readOperation:dF,fireAProgressEvent:Ye}});var XC=h((MM,zC)=>{"use strict";var{staticPropertyDescriptors:Xt,readOperation:Jn,fireAProgressEvent:_C}=ZC(),{kState:nt,kError:KC,kResult:vn,kEvents:G,kAborted:pF}=hc(),{webidl:H}=nA(),{kEnumerableProperty:hA}=M(),WA=class e extends EventTarget{constructor(){super(),this[nt]="empty",this[vn]=null,this[KC]=null,this[G]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(A){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),A=H.converters.Blob(A,{strict:!1}),Jn(this,A,"ArrayBuffer")}readAsBinaryString(A){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),A=H.converters.Blob(A,{strict:!1}),Jn(this,A,"BinaryString")}readAsText(A,t=void 0){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsText"),A=H.converters.Blob(A,{strict:!1}),t!==void 0&&(t=H.converters.DOMString(t,"FileReader.readAsText","encoding")),Jn(this,A,"Text",t)}readAsDataURL(A){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),A=H.converters.Blob(A,{strict:!1}),Jn(this,A,"DataURL")}abort(){if(this[nt]==="empty"||this[nt]==="done"){this[vn]=null;return}this[nt]==="loading"&&(this[nt]="done",this[vn]=null),this[pF]=!0,_C("abort",this),this[nt]!=="loading"&&_C("loadend",this)}get readyState(){switch(H.brandCheck(this,e),this[nt]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return H.brandCheck(this,e),this[vn]}get error(){return H.brandCheck(this,e),this[KC]}get onloadend(){return H.brandCheck(this,e),this[G].loadend}set onloadend(A){H.brandCheck(this,e),this[G].loadend&&this.removeEventListener("loadend",this[G].loadend),typeof A=="function"?(this[G].loadend=A,this.addEventListener("loadend",A)):this[G].loadend=null}get onerror(){return H.brandCheck(this,e),this[G].error}set onerror(A){H.brandCheck(this,e),this[G].error&&this.removeEventListener("error",this[G].error),typeof A=="function"?(this[G].error=A,this.addEventListener("error",A)):this[G].error=null}get onloadstart(){return H.brandCheck(this,e),this[G].loadstart}set onloadstart(A){H.brandCheck(this,e),this[G].loadstart&&this.removeEventListener("loadstart",this[G].loadstart),typeof A=="function"?(this[G].loadstart=A,this.addEventListener("loadstart",A)):this[G].loadstart=null}get onprogress(){return H.brandCheck(this,e),this[G].progress}set onprogress(A){H.brandCheck(this,e),this[G].progress&&this.removeEventListener("progress",this[G].progress),typeof A=="function"?(this[G].progress=A,this.addEventListener("progress",A)):this[G].progress=null}get onload(){return H.brandCheck(this,e),this[G].load}set onload(A){H.brandCheck(this,e),this[G].load&&this.removeEventListener("load",this[G].load),typeof A=="function"?(this[G].load=A,this.addEventListener("load",A)):this[G].load=null}get onabort(){return H.brandCheck(this,e),this[G].abort}set onabort(A){H.brandCheck(this,e),this[G].abort&&this.removeEventListener("abort",this[G].abort),typeof A=="function"?(this[G].abort=A,this.addEventListener("abort",A)):this[G].abort=null}};WA.EMPTY=WA.prototype.EMPTY=0;WA.LOADING=WA.prototype.LOADING=1;WA.DONE=WA.prototype.DONE=2;Object.defineProperties(WA.prototype,{EMPTY:Xt,LOADING:Xt,DONE:Xt,readAsArrayBuffer:hA,readAsBinaryString:hA,readAsText:hA,readAsDataURL:hA,abort:hA,readyState:hA,result:hA,error:hA,onloadstart:hA,onprogress:hA,onload:hA,onabort:hA,onerror:hA,onloadend:hA,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(WA,{EMPTY:Xt,LOADING:Xt,DONE:Xt});zC.exports={FileReader:WA}});var Hn=h((LM,jC)=>{"use strict";jC.exports={kConstruct:P().kConstruct}});var eh=h((TM,Ah)=>{"use strict";var DF=require("node:assert"),{URLSerializer:$C}=IA(),{isValidHeaderName:mF}=fA();function kF(e,A,t=!1){let r=$C(e,t),s=$C(A,t);return r===s}function RF(e){DF(e!==null);let A=[];for(let t of e.split(","))t=t.trim(),mF(t)&&A.push(t);return A}Ah.exports={urlEquals:kF,getFieldValues:RF}});var sh=h((YM,rh)=>{"use strict";var{kConstruct:FF}=Hn(),{urlEquals:NF,getFieldValues:wc}=eh(),{kEnumerableProperty:it,isDisturbed:bF}=M(),{webidl:p}=nA(),{Response:SF,cloneResponse:UF,fromInnerResponse:MF}=qr(),{Request:Ce,fromInnerRequest:LF}=Kt(),{kState:OA}=ye(),{fetching:TF}=Or(),{urlIsHttpHttpsScheme:Vn,createDeferredPromise:jt,readAllBytes:YF}=fA(),yc=require("node:assert"),qn=class e{#A;constructor(){arguments[0]!==FF&&p.illegalConstructor(),p.util.markAsUncloneable(this),this.#A=arguments[1]}async match(A,t={}){p.brandCheck(this,e);let r="Cache.match";p.argumentLengthCheck(arguments,1,r),A=p.converters.RequestInfo(A,r,"request"),t=p.converters.CacheQueryOptions(t,r,"options");let s=this.#s(A,t,1);if(s.length!==0)return s[0]}async matchAll(A=void 0,t={}){p.brandCheck(this,e);let r="Cache.matchAll";return A!==void 0&&(A=p.converters.RequestInfo(A,r,"request")),t=p.converters.CacheQueryOptions(t,r,"options"),this.#s(A,t)}async add(A){p.brandCheck(this,e);let t="Cache.add";p.argumentLengthCheck(arguments,1,t),A=p.converters.RequestInfo(A,t,"request");let r=[A];return await this.addAll(r)}async addAll(A){p.brandCheck(this,e);let t="Cache.addAll";p.argumentLengthCheck(arguments,1,t);let r=[],s=[];for(let E of A){if(E===void 0)throw p.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(E=p.converters.RequestInfo(E),typeof E=="string")continue;let l=E[OA];if(!Vn(l.url)||l.method!=="GET")throw p.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let n=[];for(let E of A){let l=new Ce(E)[OA];if(!Vn(l.url))throw p.errors.exception({header:t,message:"Expected http/s scheme."});l.initiator="fetch",l.destination="subresource",s.push(l);let I=jt();n.push(TF({request:l,processResponse(C){if(C.type==="error"||C.status===206||C.status<200||C.status>299)I.reject(p.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(C.headersList.contains("vary")){let w=wc(C.headersList.get("vary"));for(let B of w)if(B==="*"){I.reject(p.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let f of n)f.abort();return}}},processResponseEndOfBody(C){if(C.aborted){I.reject(new DOMException("aborted","AbortError"));return}I.resolve(C)}})),r.push(I.promise)}let o=await Promise.all(r),a=[],c=0;for(let E of o){let l={type:"put",request:s[c],response:E};a.push(l),c++}let Q=jt(),g=null;try{this.#e(a)}catch(E){g=E}return queueMicrotask(()=>{g===null?Q.resolve(void 0):Q.reject(g)}),Q.promise}async put(A,t){p.brandCheck(this,e);let r="Cache.put";p.argumentLengthCheck(arguments,2,r),A=p.converters.RequestInfo(A,r,"request"),t=p.converters.Response(t,r,"response");let s=null;if(A instanceof Ce?s=A[OA]:s=new Ce(A)[OA],!Vn(s.url)||s.method!=="GET")throw p.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let n=t[OA];if(n.status===206)throw p.errors.exception({header:r,message:"Got 206 status"});if(n.headersList.contains("vary")){let l=wc(n.headersList.get("vary"));for(let I of l)if(I==="*")throw p.errors.exception({header:r,message:"Got * vary field value"})}if(n.body&&(bF(n.body.stream)||n.body.stream.locked))throw p.errors.exception({header:r,message:"Response body is locked or disturbed"});let i=UF(n),o=jt();if(n.body!=null){let I=n.body.stream.getReader();YF(I).then(o.resolve,o.reject)}else o.resolve(void 0);let a=[],c={type:"put",request:s,response:i};a.push(c);let Q=await o.promise;i.body!=null&&(i.body.source=Q);let g=jt(),E=null;try{this.#e(a)}catch(l){E=l}return queueMicrotask(()=>{E===null?g.resolve():g.reject(E)}),g.promise}async delete(A,t={}){p.brandCheck(this,e);let r="Cache.delete";p.argumentLengthCheck(arguments,1,r),A=p.converters.RequestInfo(A,r,"request"),t=p.converters.CacheQueryOptions(t,r,"options");let s=null;if(A instanceof Ce){if(s=A[OA],s.method!=="GET"&&!t.ignoreMethod)return!1}else yc(typeof A=="string"),s=new Ce(A)[OA];let n=[],i={type:"delete",request:s,options:t};n.push(i);let o=jt(),a=null,c;try{c=this.#e(n)}catch(Q){a=Q}return queueMicrotask(()=>{a===null?o.resolve(!!c?.length):o.reject(a)}),o.promise}async keys(A=void 0,t={}){p.brandCheck(this,e);let r="Cache.keys";A!==void 0&&(A=p.converters.RequestInfo(A,r,"request")),t=p.converters.CacheQueryOptions(t,r,"options");let s=null;if(A!==void 0)if(A instanceof Ce){if(s=A[OA],s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(s=new Ce(A)[OA]);let n=jt(),i=[];if(A===void 0)for(let o of this.#A)i.push(o[0]);else{let o=this.#t(s,t);for(let a of o)i.push(a[0])}return queueMicrotask(()=>{let o=[];for(let a of i){let c=LF(a,new AbortController().signal,"immutable");o.push(c)}n.resolve(Object.freeze(o))}),n.promise}#e(A){let t=this.#A,r=[...t],s=[],n=[];try{for(let i of A){if(i.type!=="delete"&&i.type!=="put")throw p.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(i.type==="delete"&&i.response!=null)throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(i.request,i.options,s).length)throw new DOMException("???","InvalidStateError");let o;if(i.type==="delete"){if(o=this.#t(i.request,i.options),o.length===0)return[];for(let a of o){let c=t.indexOf(a);yc(c!==-1),t.splice(c,1)}}else if(i.type==="put"){if(i.response==null)throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=i.request;if(!Vn(a.url))throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(i.options!=null)throw p.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});o=this.#t(i.request);for(let c of o){let Q=t.indexOf(c);yc(Q!==-1),t.splice(Q,1)}t.push([i.request,i.response]),s.push([i.request,i.response])}n.push([i.request,i.response])}return n}catch(i){throw this.#A.length=0,this.#A=r,i}}#t(A,t,r){let s=[],n=r??this.#A;for(let i of n){let[o,a]=i;this.#n(A,o,a,t)&&s.push(i)}return s}#n(A,t,r=null,s){let n=new URL(A.url),i=new URL(t.url);if(s?.ignoreSearch&&(i.search="",n.search=""),!NF(n,i,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let o=wc(r.headersList.get("vary"));for(let a of o){if(a==="*")return!1;let c=t.headersList.get(a),Q=A.headersList.get(a);if(c!==Q)return!1}return!0}#s(A,t,r=1/0){let s=null;if(A!==void 0)if(A instanceof Ce){if(s=A[OA],s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(s=new Ce(A)[OA]);let n=[];if(A===void 0)for(let o of this.#A)n.push(o[1]);else{let o=this.#t(s,t);for(let a of o)n.push(a[1])}let i=[];for(let o of n){let a=MF(o,"immutable");if(i.push(a.clone()),i.length>=r)break}return Object.freeze(i)}};Object.defineProperties(qn.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:it,matchAll:it,add:it,addAll:it,put:it,delete:it,keys:it});var th=[{key:"ignoreSearch",converter:p.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:p.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:p.converters.boolean,defaultValue:()=>!1}];p.converters.CacheQueryOptions=p.dictionaryConverter(th);p.converters.MultiCacheQueryOptions=p.dictionaryConverter([...th,{key:"cacheName",converter:p.converters.DOMString}]);p.converters.Response=p.interfaceConverter(SF);p.converters["sequence"]=p.sequenceConverter(p.converters.RequestInfo);rh.exports={Cache:qn}});var ih=h((xM,nh)=>{"use strict";var{kConstruct:Zr}=Hn(),{Cache:Wn}=sh(),{webidl:aA}=nA(),{kEnumerableProperty:_r}=M(),On=class e{#A=new Map;constructor(){arguments[0]!==Zr&&aA.illegalConstructor(),aA.util.markAsUncloneable(this)}async match(A,t={}){if(aA.brandCheck(this,e),aA.argumentLengthCheck(arguments,1,"CacheStorage.match"),A=aA.converters.RequestInfo(A),t=aA.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#A.has(t.cacheName)){let r=this.#A.get(t.cacheName);return await new Wn(Zr,r).match(A,t)}}else for(let r of this.#A.values()){let n=await new Wn(Zr,r).match(A,t);if(n!==void 0)return n}}async has(A){aA.brandCheck(this,e);let t="CacheStorage.has";return aA.argumentLengthCheck(arguments,1,t),A=aA.converters.DOMString(A,t,"cacheName"),this.#A.has(A)}async open(A){aA.brandCheck(this,e);let t="CacheStorage.open";if(aA.argumentLengthCheck(arguments,1,t),A=aA.converters.DOMString(A,t,"cacheName"),this.#A.has(A)){let s=this.#A.get(A);return new Wn(Zr,s)}let r=[];return this.#A.set(A,r),new Wn(Zr,r)}async delete(A){aA.brandCheck(this,e);let t="CacheStorage.delete";return aA.argumentLengthCheck(arguments,1,t),A=aA.converters.DOMString(A,t,"cacheName"),this.#A.delete(A)}async keys(){return aA.brandCheck(this,e),[...this.#A.keys()]}};Object.defineProperties(On.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:_r,has:_r,open:_r,delete:_r,keys:_r});nh.exports={CacheStorage:On}});var ah=h((GM,oh)=>{"use strict";oh.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var pc=h((JM,Bh)=>{"use strict";function xF(e){for(let A=0;A=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function ch(e){for(let A=0;A126||t===34||t===40||t===41||t===60||t===62||t===64||t===44||t===59||t===58||t===92||t===47||t===91||t===93||t===63||t===61||t===123||t===125)throw new Error("Invalid cookie name")}}function gh(e){let A=e.length,t=0;if(e[0]==='"'){if(A===1||e[A-1]!=='"')throw new Error("Invalid cookie value");--A,++t}for(;t126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function Qh(e){for(let A=0;AA.toString().padStart(2,"0"));function Eh(e){return typeof e=="number"&&(e=new Date(e)),`${JF[e.getUTCDay()]}, ${Pn[e.getUTCDate()]} ${vF[e.getUTCMonth()]} ${e.getUTCFullYear()} ${Pn[e.getUTCHours()]}:${Pn[e.getUTCMinutes()]}:${Pn[e.getUTCSeconds()]} GMT`}function HF(e){if(e<0)throw new Error("Invalid cookie max-age")}function VF(e){if(e.name.length===0)return null;ch(e.name),gh(e.value);let A=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&A.push("Secure"),e.httpOnly&&A.push("HttpOnly"),typeof e.maxAge=="number"&&(HF(e.maxAge),A.push(`Max-Age=${e.maxAge}`)),e.domain&&(GF(e.domain),A.push(`Domain=${e.domain}`)),e.path&&(Qh(e.path),A.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&A.push(`Expires=${Eh(e.expires)}`),e.sameSite&&A.push(`SameSite=${e.sameSite}`);for(let t of e.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");A.push(`${r.trim()}=${s.join("=")}`)}return A.join("; ")}Bh.exports={isCTLExcludingHtab:xF,validateCookieName:ch,validateCookiePath:Qh,validateCookieValue:gh,toIMFDate:Eh,stringify:VF}});var lh=h((vM,Ih)=>{"use strict";var{maxNameValuePairSize:qF,maxAttributeValueSize:WF}=ah(),{isCTLExcludingHtab:OF}=pc(),{collectASequenceOfCodePointsFast:Zn}=IA(),PF=require("node:assert");function ZF(e){if(OF(e))return null;let A="",t="",r="",s="";if(e.includes(";")){let n={position:0};A=Zn(";",e,n),t=e.slice(n.position)}else A=e;if(!A.includes("="))s=A;else{let n={position:0};r=Zn("=",A,n),s=A.slice(n.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>qF?null:{name:r,value:s,...$t(t)}}function $t(e,A={}){if(e.length===0)return A;PF(e[0]===";"),e=e.slice(1);let t="";e.includes(";")?(t=Zn(";",e,{position:0}),e=e.slice(t.length)):(t=e,e="");let r="",s="";if(t.includes("=")){let i={position:0};r=Zn("=",t,i),s=t.slice(i.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>WF)return $t(e,A);let n=r.toLowerCase();if(n==="expires"){let i=new Date(s);A.expires=i}else if(n==="max-age"){let i=s.charCodeAt(0);if((i<48||i>57)&&s[0]!=="-"||!/^\d+$/.test(s))return $t(e,A);let o=Number(s);A.maxAge=o}else if(n==="domain"){let i=s;i[0]==="."&&(i=i.slice(1)),i=i.toLowerCase(),A.domain=i}else if(n==="path"){let i="";s.length===0||s[0]!=="/"?i="/":i=s,A.path=i}else if(n==="secure")A.secure=!0;else if(n==="httponly")A.httpOnly=!0;else if(n==="samesite"){let i="Default",o=s.toLowerCase();o.includes("none")&&(i="None"),o.includes("strict")&&(i="Strict"),o.includes("lax")&&(i="Lax"),A.sameSite=i}else A.unparsed??=[],A.unparsed.push(`${r}=${s}`);return $t(e,A)}Ih.exports={parseSetCookie:ZF,parseUnparsedAttributes:$t}});var uh=h((HM,hh)=>{"use strict";var{parseSetCookie:_F}=lh(),{stringify:KF}=pc(),{webidl:T}=nA(),{Headers:_n}=et();function zF(e){T.argumentLengthCheck(arguments,1,"getCookies"),T.brandCheck(e,_n,{strict:!1});let A=e.get("cookie"),t={};if(!A)return t;for(let r of A.split(";")){let[s,...n]=r.split("=");t[s.trim()]=n.join("=")}return t}function XF(e,A,t){T.brandCheck(e,_n,{strict:!1});let r="deleteCookie";T.argumentLengthCheck(arguments,2,r),A=T.converters.DOMString(A,r,"name"),t=T.converters.DeleteCookieAttributes(t),Ch(e,{name:A,value:"",expires:new Date(0),...t})}function jF(e){T.argumentLengthCheck(arguments,1,"getSetCookies"),T.brandCheck(e,_n,{strict:!1});let A=e.getSetCookie();return A?A.map(t=>_F(t)):[]}function Ch(e,A){T.argumentLengthCheck(arguments,2,"setCookie"),T.brandCheck(e,_n,{strict:!1}),A=T.converters.Cookie(A);let t=KF(A);t&&e.append("Set-Cookie",t)}T.converters.DeleteCookieAttributes=T.dictionaryConverter([{converter:T.nullableConverter(T.converters.DOMString),key:"path",defaultValue:()=>null},{converter:T.nullableConverter(T.converters.DOMString),key:"domain",defaultValue:()=>null}]);T.converters.Cookie=T.dictionaryConverter([{converter:T.converters.DOMString,key:"name"},{converter:T.converters.DOMString,key:"value"},{converter:T.nullableConverter(e=>typeof e=="number"?T.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:()=>null},{converter:T.nullableConverter(T.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:T.nullableConverter(T.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:T.nullableConverter(T.converters.DOMString),key:"path",defaultValue:()=>null},{converter:T.nullableConverter(T.converters.boolean),key:"secure",defaultValue:()=>null},{converter:T.nullableConverter(T.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:T.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:T.sequenceConverter(T.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);hh.exports={getCookies:zF,deleteCookie:XF,getSetCookies:jF,setCookie:Ch}});var er=h((VM,fh)=>{"use strict";var{webidl:y}=nA(),{kEnumerableProperty:uA}=M(),{kConstruct:dh}=P(),{MessagePort:$F}=require("node:worker_threads"),Ar=class e extends Event{#A;constructor(A,t={}){if(A===dh){super(arguments[1],arguments[2]),y.util.markAsUncloneable(this);return}let r="MessageEvent constructor";y.argumentLengthCheck(arguments,1,r),A=y.converters.DOMString(A,r,"type"),t=y.converters.MessageEventInit(t,r,"eventInitDict"),super(A,t),this.#A=t,y.util.markAsUncloneable(this)}get data(){return y.brandCheck(this,e),this.#A.data}get origin(){return y.brandCheck(this,e),this.#A.origin}get lastEventId(){return y.brandCheck(this,e),this.#A.lastEventId}get source(){return y.brandCheck(this,e),this.#A.source}get ports(){return y.brandCheck(this,e),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(A,t=!1,r=!1,s=null,n="",i="",o=null,a=[]){return y.brandCheck(this,e),y.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new e(A,{bubbles:t,cancelable:r,data:s,origin:n,lastEventId:i,source:o,ports:a})}static createFastMessageEvent(A,t){let r=new e(dh,A,t);return r.#A=t,r.#A.data??=null,r.#A.origin??="",r.#A.lastEventId??="",r.#A.source??=null,r.#A.ports??=[],r}},{createFastMessageEvent:AN}=Ar;delete Ar.createFastMessageEvent;var Kn=class e extends Event{#A;constructor(A,t={}){let r="CloseEvent constructor";y.argumentLengthCheck(arguments,1,r),A=y.converters.DOMString(A,r,"type"),t=y.converters.CloseEventInit(t),super(A,t),this.#A=t,y.util.markAsUncloneable(this)}get wasClean(){return y.brandCheck(this,e),this.#A.wasClean}get code(){return y.brandCheck(this,e),this.#A.code}get reason(){return y.brandCheck(this,e),this.#A.reason}},zn=class e extends Event{#A;constructor(A,t){let r="ErrorEvent constructor";y.argumentLengthCheck(arguments,1,r),super(A,t),y.util.markAsUncloneable(this),A=y.converters.DOMString(A,r,"type"),t=y.converters.ErrorEventInit(t??{}),this.#A=t}get message(){return y.brandCheck(this,e),this.#A.message}get filename(){return y.brandCheck(this,e),this.#A.filename}get lineno(){return y.brandCheck(this,e),this.#A.lineno}get colno(){return y.brandCheck(this,e),this.#A.colno}get error(){return y.brandCheck(this,e),this.#A.error}};Object.defineProperties(Ar.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:uA,origin:uA,lastEventId:uA,source:uA,ports:uA,initMessageEvent:uA});Object.defineProperties(Kn.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:uA,code:uA,wasClean:uA});Object.defineProperties(zn.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:uA,filename:uA,lineno:uA,colno:uA,error:uA});y.converters.MessagePort=y.interfaceConverter($F);y.converters["sequence"]=y.sequenceConverter(y.converters.MessagePort);var Dc=[{key:"bubbles",converter:y.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:y.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:y.converters.boolean,defaultValue:()=>!1}];y.converters.MessageEventInit=y.dictionaryConverter([...Dc,{key:"data",converter:y.converters.any,defaultValue:()=>null},{key:"origin",converter:y.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:y.converters.DOMString,defaultValue:()=>""},{key:"source",converter:y.nullableConverter(y.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:y.converters["sequence"],defaultValue:()=>new Array(0)}]);y.converters.CloseEventInit=y.dictionaryConverter([...Dc,{key:"wasClean",converter:y.converters.boolean,defaultValue:()=>!1},{key:"code",converter:y.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:y.converters.USVString,defaultValue:()=>""}]);y.converters.ErrorEventInit=y.dictionaryConverter([...Dc,{key:"message",converter:y.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:y.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:y.converters.any}]);fh.exports={MessageEvent:Ar,CloseEvent:Kn,ErrorEvent:zn,createFastMessageEvent:AN}});var ot=h((qM,wh)=>{"use strict";var eN="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",tN={enumerable:!0,writable:!1,configurable:!1},rN={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},sN={NOT_SENT:0,PROCESSING:1,SENT:2},nN={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},iN=2**16-1,oN={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},aN=Buffer.allocUnsafe(0),cN={string:1,typedArray:2,arrayBuffer:3,blob:4};wh.exports={uid:eN,sentCloseFrameState:sN,staticPropertyDescriptors:tN,states:rN,opcodes:nN,maxUnsigned16Bit:iN,parserStates:oN,emptyBuffer:aN,sendHints:cN}});var Kr=h((WM,yh)=>{"use strict";yh.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")}});var jr=h((OM,Sh)=>{"use strict";var{kReadyState:zr,kController:gN,kResponse:QN,kBinaryType:EN,kWebSocketURL:BN}=Kr(),{states:Xr,opcodes:xe}=ot(),{ErrorEvent:IN,createFastMessageEvent:lN}=er(),{isUtf8:CN}=require("node:buffer"),{collectASequenceOfCodePointsFast:hN,removeHTTPWhitespace:ph}=IA();function uN(e){return e[zr]===Xr.CONNECTING}function dN(e){return e[zr]===Xr.OPEN}function fN(e){return e[zr]===Xr.CLOSING}function wN(e){return e[zr]===Xr.CLOSED}function mc(e,A,t=(s,n)=>new Event(s,n),r={}){let s=t(e,r);A.dispatchEvent(s)}function yN(e,A,t){if(e[zr]!==Xr.OPEN)return;let r;if(A===xe.TEXT)try{r=bh(t)}catch{mh(e,"Received invalid UTF-8 in text frame.");return}else A===xe.BINARY&&(e[EN]==="blob"?r=new Blob([t]):r=pN(t));mc("message",e,lN,{origin:e[BN].origin,data:r})}function pN(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function DN(e){if(e.length===0)return!1;for(let A=0;A126||t===34||t===40||t===41||t===44||t===47||t===58||t===59||t===60||t===61||t===62||t===63||t===64||t===91||t===92||t===93||t===123||t===125)return!1}return!0}function mN(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function mh(e,A){let{[gN]:t,[QN]:r}=e;t.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),A&&mc("error",e,(s,n)=>new IN(s,n),{error:new Error(A),message:A})}function kh(e){return e===xe.CLOSE||e===xe.PING||e===xe.PONG}function Rh(e){return e===xe.CONTINUATION}function Fh(e){return e===xe.TEXT||e===xe.BINARY}function kN(e){return Fh(e)||Rh(e)||kh(e)}function RN(e){let A={position:0},t=new Map;for(;A.position57)return!1}let A=Number.parseInt(e,10);return A>=8&&A<=15}var Nh=typeof process.versions.icu=="string",Dh=Nh?new TextDecoder("utf-8",{fatal:!0}):void 0,bh=Nh?Dh.decode.bind(Dh):function(e){if(CN(e))return e.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};Sh.exports={isConnecting:uN,isEstablished:dN,isClosing:fN,isClosed:wN,fireEvent:mc,isValidSubprotocol:DN,isValidStatusCode:mN,failWebsocketConnection:mh,websocketMessageReceived:yN,utf8Decode:bh,isControlFrame:kh,isContinuationFrame:Rh,isTextBinaryFrame:Fh,isValidOpcode:kN,parseExtensions:RN,isValidClientWindowBits:FN}});var jn=h((PM,Uh)=>{"use strict";var{maxUnsigned16Bit:NN}=ot(),Xn=16386,kc,$r=null,tr=Xn;try{kc=require("node:crypto")}catch{kc={randomFillSync:function(A,t,r){for(let s=0;sNN?(i+=8,n=127):s>125&&(i+=2,n=126);let o=Buffer.allocUnsafe(s+i);o[0]=o[1]=0,o[0]|=128,o[0]=(o[0]&240)+A;o[i-4]=r[0],o[i-3]=r[1],o[i-2]=r[2],o[i-1]=r[3],o[1]=n,n===126?o.writeUInt16BE(s,2):n===127&&(o[2]=o[3]=0,o.writeUIntBE(s,4,6)),o[1]|=128;for(let a=0;a{"use strict";var{uid:SN,states:As,sentCloseFrameState:$n,emptyBuffer:UN,opcodes:MN}=ot(),{kReadyState:es,kSentClose:Ai,kByteParser:Lh,kReceivedClose:Mh,kResponse:Th}=Kr(),{fireEvent:LN,failWebsocketConnection:Ge,isClosing:TN,isClosed:YN,isEstablished:xN,parseExtensions:GN}=jr(),{channels:rr}=It(),{CloseEvent:JN}=er(),{makeRequest:vN}=Kt(),{fetching:HN}=Or(),{Headers:VN,getHeadersList:qN}=et(),{getDecodeSplit:WN}=fA(),{WebsocketFrameSend:ON}=jn(),Fc;try{Fc=require("node:crypto")}catch{}function PN(e,A,t,r,s,n){let i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";let o=vN({urlList:[i],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(n.headers){let g=qN(new VN(n.headers));o.headersList=g}let a=Fc.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",a),o.headersList.append("sec-websocket-version","13");for(let g of A)o.headersList.append("sec-websocket-protocol",g);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),HN({request:o,useParallelQueue:!0,dispatcher:n.dispatcher,processResponse(g){if(g.type==="error"||g.status!==101){Ge(r,"Received network error or non-101 status code.");return}if(A.length!==0&&!g.headersList.get("Sec-WebSocket-Protocol")){Ge(r,"Server did not respond with sent protocols.");return}if(g.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){Ge(r,'Server did not set Upgrade header to "websocket".');return}if(g.headersList.get("Connection")?.toLowerCase()!=="upgrade"){Ge(r,'Server did not set Connection header to "upgrade".');return}let E=g.headersList.get("Sec-WebSocket-Accept"),l=Fc.createHash("sha1").update(a+SN).digest("base64");if(E!==l){Ge(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let I=g.headersList.get("Sec-WebSocket-Extensions"),C;if(I!==null&&(C=GN(I),!C.has("permessage-deflate"))){Ge(r,"Sec-WebSocket-Extensions header does not match.");return}let w=g.headersList.get("Sec-WebSocket-Protocol");if(w!==null&&!WN("sec-websocket-protocol",o.headersList).includes(w)){Ge(r,"Protocol was not set in the opening handshake.");return}g.socket.on("data",Yh),g.socket.on("close",xh),g.socket.on("error",Gh),rr.open.hasSubscribers&&rr.open.publish({address:g.socket.address(),protocol:w,extensions:I}),s(g,C)}})}function ZN(e,A,t,r){if(!(TN(e)||YN(e)))if(!xN(e))Ge(e,"Connection was closed before it was established."),e[es]=As.CLOSING;else if(e[Ai]===$n.NOT_SENT){e[Ai]=$n.PROCESSING;let s=new ON;A!==void 0&&t===void 0?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(A,0)):A!==void 0&&t!==void 0?(s.frameData=Buffer.allocUnsafe(2+r),s.frameData.writeUInt16BE(A,0),s.frameData.write(t,2,"utf-8")):s.frameData=UN,e[Th].socket.write(s.createFrame(MN.CLOSE)),e[Ai]=$n.SENT,e[es]=As.CLOSING}else e[es]=As.CLOSING}function Yh(e){this.ws[Lh].write(e)||this.pause()}function xh(){let{ws:e}=this,{[Th]:A}=e;A.socket.off("data",Yh),A.socket.off("close",xh),A.socket.off("error",Gh);let t=e[Ai]===$n.SENT&&e[Mh],r=1005,s="",n=e[Lh].closingInfo;n&&!n.error?(r=n.code??1005,s=n.reason):e[Mh]||(r=1006),e[es]=As.CLOSED,LN("close",e,(i,o)=>new JN(i,o),{wasClean:t,code:r,reason:s}),rr.close.hasSubscribers&&rr.close.publish({websocket:e,code:r,reason:s})}function Gh(e){let{ws:A}=this;A[es]=As.CLOSING,rr.socketError.hasSubscribers&&rr.socketError.publish(e),this.destroy()}Jh.exports={establishWebSocketConnection:PN,closeWebSocketConnection:ZN}});var Hh=h((_M,vh)=>{"use strict";var{createInflateRaw:_N,Z_DEFAULT_WINDOWBITS:KN}=require("node:zlib"),{isValidClientWindowBits:zN}=jr(),{MessageSizeExceededError:XN}=x(),jN=Buffer.from([0,0,255,255]),ei=Symbol("kBuffer"),ts=Symbol("kLength"),bc=class{#A;#e={};#t=0;constructor(A,t){this.#e.serverNoContextTakeover=A.has("server_no_context_takeover"),this.#e.serverMaxWindowBits=A.get("server_max_window_bits"),this.#t=t.maxPayloadSize}decompress(A,t,r){if(!this.#A){let s=KN;if(this.#e.serverMaxWindowBits){if(!zN(this.#e.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#e.serverMaxWindowBits)}try{this.#A=_N({windowBits:s})}catch(n){r(n);return}this.#A[ei]=[],this.#A[ts]=0,this.#A.on("data",n=>{if(this.#A[ts]+=n.length,this.#t>0&&this.#A[ts]>this.#t){r(new XN),this.#A.removeAllListeners(),this.#A=null;return}this.#A[ei].push(n)}),this.#A.on("error",n=>{this.#A=null,r(n)})}this.#A.write(A),t&&this.#A.write(jN),this.#A.flush(()=>{if(!this.#A)return;let s=Buffer.concat(this.#A[ei],this.#A[ts]);this.#A[ei].length=0,this.#A[ts]=0,r(null,s)})}};vh.exports={PerMessageDeflate:bc}});var Xh=h((KM,zh)=>{"use strict";var{Writable:$N}=require("node:stream"),Ab=require("node:assert"),{parserStates:dA,opcodes:sr,states:eb,emptyBuffer:Vh,sentCloseFrameState:qh}=ot(),{kReadyState:tb,kSentClose:Wh,kResponse:Oh,kReceivedClose:Ph}=Kr(),{channels:ti}=It(),{isValidStatusCode:rb,isValidOpcode:sb,failWebsocketConnection:cA,websocketMessageReceived:Zh,utf8Decode:nb,isControlFrame:Sc,isTextBinaryFrame:Uc,isContinuationFrame:ib}=jr(),{WebsocketFrameSend:_h}=jn(),{closeWebSocketConnection:ob}=Nc(),{PerMessageDeflate:ab}=Hh(),{MessageSizeExceededError:Kh}=x(),Mc=class extends $N{#A=[];#e=0;#t=0;#n=!1;#s=dA.INFO;#r={};#i=[];#o;#a;constructor(A,t,r={}){super(),this.ws=A,this.#o=t??new Map,this.#a=r.maxPayloadSize??0,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new ab(t,r))}_write(A,t,r){this.#A.push(A),this.#t+=A.length,this.#n=!0,this.run(r)}#c(){return this.#a>0&&!Sc(this.#r.opcode)&&this.#r.payloadLength>this.#a?(cA(this.ws,"Payload size exceeds maximum allowed size"),!1):!0}run(A){for(;this.#n;)if(this.#s===dA.INFO){if(this.#t<2)return A();let t=this.consume(2),r=(t[0]&128)!==0,s=t[0]&15,n=(t[1]&128)===128,i=!r&&s!==sr.CONTINUATION,o=t[1]&127,a=t[0]&64,c=t[0]&32,Q=t[0]&16;if(!sb(s))return cA(this.ws,"Invalid opcode received"),A();if(n)return cA(this.ws,"Frame cannot be masked"),A();if(a!==0&&!this.#o.has("permessage-deflate")){cA(this.ws,"Expected RSV1 to be clear.");return}if(c!==0||Q!==0){cA(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(i&&!Uc(s)){cA(this.ws,"Invalid frame type was fragmented.");return}if(Uc(s)&&this.#i.length>0){cA(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&i){cA(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((o>125||i)&&Sc(s)){cA(this.ws,"Control frame either too large or fragmented");return}if(ib(s)&&this.#i.length===0&&!this.#r.compressed){cA(this.ws,"Unexpected continuation frame");return}if(o<=125){if(this.#r.payloadLength=o,this.#s=dA.READ_DATA,!this.#c())return}else o===126?this.#s=dA.PAYLOADLENGTH_16:o===127&&(this.#s=dA.PAYLOADLENGTH_64);Uc(s)&&(this.#r.binaryType=s,this.#r.compressed=a!==0),this.#r.opcode=s,this.#r.masked=n,this.#r.fin=r,this.#r.fragmented=i}else if(this.#s===dA.PAYLOADLENGTH_16){if(this.#t<2)return A();let t=this.consume(2);if(this.#r.payloadLength=t.readUInt16BE(0),this.#s=dA.READ_DATA,!this.#c())return}else if(this.#s===dA.PAYLOADLENGTH_64){if(this.#t<8)return A();let t=this.consume(8),r=t.readUInt32BE(0),s=t.readUInt32BE(4);if(r!==0||s>2**31-1){cA(this.ws,"Received payload length > 2^31 bytes.");return}if(this.#r.payloadLength=s,this.#s=dA.READ_DATA,!this.#c())return}else if(this.#s===dA.READ_DATA){if(this.#t{if(r){cA(this.ws,r.message);return}if(this.writeFragments(s),this.#a>0&&this.#e>this.#a){cA(this.ws,new Kh().message);return}if(!this.#r.fin){this.#s=dA.INFO,this.#n=!0,this.run(A);return}Zh(this.ws,this.#r.binaryType,this.consumeFragments()),this.#n=!0,this.#s=dA.INFO,this.run(A)}),this.#n=!1;break}else{if(this.writeFragments(t),this.#a>0&&this.#e>this.#a){cA(this.ws,new Kh().message);return}!this.#r.fragmented&&this.#r.fin&&Zh(this.ws,this.#r.binaryType,this.consumeFragments()),this.#s=dA.INFO}}}consume(A){if(A>this.#t)throw new Error("Called consume() before buffers satiated.");if(A===0)return Vh;if(this.#A[0].length===A)return this.#t-=this.#A[0].length,this.#A.shift();let t=Buffer.allocUnsafe(A),r=0;for(;r!==A;){let s=this.#A[0],{length:n}=s;if(n+r===A){t.set(this.#A.shift(),r);break}else if(n+r>A){t.set(s.subarray(0,A-r),r),this.#A[0]=s.subarray(A-r);break}else t.set(this.#A.shift(),r),r+=s.length}return this.#t-=A,t}writeFragments(A){this.#e+=A.length,this.#i.push(A)}consumeFragments(){let A=this.#i;if(A.length===1)return this.#e=0,A.shift();let t=Buffer.concat(A,this.#e);return this.#i=[],this.#e=0,t}parseCloseBody(A){Ab(A.length!==1);let t;if(A.length>=2&&(t=A.readUInt16BE(0)),t!==void 0&&!rb(t))return{code:1002,reason:"Invalid status code",error:!0};let r=A.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=nb(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:r,error:!1}}parseControlFrame(A){let{opcode:t,payloadLength:r}=this.#r;if(t===sr.CLOSE){if(r===1)return cA(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(A),this.#r.closeInfo.error){let{code:s,reason:n}=this.#r.closeInfo;return ob(this.ws,s,n,n.length),cA(this.ws,n),!1}if(this.ws[Wh]!==qh.SENT){let s=Vh;this.#r.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#r.closeInfo.code,0));let n=new _h(s);this.ws[Oh].socket.write(n.createFrame(sr.CLOSE),i=>{i||(this.ws[Wh]=qh.SENT)})}return this.ws[tb]=eb.CLOSING,this.ws[Ph]=!0,!1}else if(t===sr.PING){if(!this.ws[Ph]){let s=new _h(A);this.ws[Oh].socket.write(s.createFrame(sr.PONG)),ti.ping.hasSubscribers&&ti.ping.publish({payload:A})}}else t===sr.PONG&&ti.pong.hasSubscribers&&ti.pong.publish({payload:A});return!0}get closingInfo(){return this.#r.closeInfo}};zh.exports={ByteParser:Mc}});var tu=h((zM,eu)=>{"use strict";var{WebsocketFrameSend:cb}=jn(),{opcodes:jh,sendHints:nr}=ot(),gb=Vo(),$h=Buffer[Symbol.species],Lc=class{#A=new gb;#e=!1;#t;constructor(A){this.#t=A}add(A,t,r){if(r!==nr.blob){let n=Au(A,r);if(!this.#e)this.#t.write(n,t);else{let i={promise:null,callback:t,frame:n};this.#A.push(i)}return}let s={promise:A.arrayBuffer().then(n=>{s.promise=null,s.frame=Au(n,r)}),callback:t,frame:null};this.#A.push(s),this.#e||this.#n()}async#n(){this.#e=!0;let A=this.#A;for(;!A.isEmpty();){let t=A.shift();t.promise!==null&&await t.promise,this.#t.write(t.frame,t.callback),t.callback=t.frame=null}this.#e=!1}};function Au(e,A){return new cb(Qb(e,A)).createFrame(A===nr.string?jh.TEXT:jh.BINARY)}function Qb(e,A){switch(A){case nr.string:return Buffer.from(e);case nr.arrayBuffer:case nr.blob:return new $h(e);case nr.typedArray:return new $h(e.buffer,e.byteOffset,e.byteLength)}}eu.exports={SendQueue:Lc}});var Eu=h((XM,Qu)=>{"use strict";var{webidl:b}=nA(),{URLSerializer:Eb}=IA(),{environmentSettingsObject:ru}=fA(),{staticPropertyDescriptors:Je,states:rs,sentCloseFrameState:Bb,sendHints:ri}=ot(),{kWebSocketURL:su,kReadyState:Tc,kController:nu,kBinaryType:si,kResponse:iu,kSentClose:Ib,kByteParser:lb}=Kr(),{isConnecting:Cb,isEstablished:hb,isClosing:ub,isValidSubprotocol:db,fireEvent:ou}=jr(),{establishWebSocketConnection:fb,closeWebSocketConnection:au}=Nc(),{ByteParser:wb}=Xh(),{kEnumerableProperty:LA,isBlobLike:cu}=M(),{getGlobalDispatcher:yb}=dn(),{types:gu}=require("node:util"),{ErrorEvent:pb,CloseEvent:Db}=er(),{SendQueue:mb}=tu(),FA=class e extends EventTarget{#A={open:null,error:null,close:null,message:null};#e=0;#t="";#n="";#s;constructor(A,t=[]){super(),b.util.markAsUncloneable(this);let r="WebSocket constructor";b.argumentLengthCheck(arguments,1,r);let s=b.converters["DOMString or sequence or WebSocketInit"](t,r,"options");A=b.converters.USVString(A,r,"url"),t=s.protocols;let n=ru.settingsObject.baseUrl,i;try{i=new URL(A,n)}catch(a){throw new DOMException(a,"SyntaxError")}if(i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),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]),t.length!==new Set(t.map(a=>a.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(a=>db(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[su]=new URL(i.href);let o=ru.settingsObject;this[nu]=fb(i,t,o,this,(a,c)=>this.#r(a,c),s),this[Tc]=e.CONNECTING,this[Ib]=Bb.NOT_SENT,this[si]="blob"}close(A=void 0,t=void 0){b.brandCheck(this,e);let r="WebSocket.close";if(A!==void 0&&(A=b.converters["unsigned short"](A,r,"code",{clamp:!0})),t!==void 0&&(t=b.converters.USVString(t,r,"reason")),A!==void 0&&A!==1e3&&(A<3e3||A>4999))throw new DOMException("invalid code","InvalidAccessError");let s=0;if(t!==void 0&&(s=Buffer.byteLength(t),s>123))throw new DOMException(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError");au(this,A,t,s)}send(A){b.brandCheck(this,e);let t="WebSocket.send";if(b.argumentLengthCheck(arguments,1,t),A=b.converters.WebSocketSendData(A,t,"data"),Cb(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!hb(this)||ub(this)))if(typeof A=="string"){let r=Buffer.byteLength(A);this.#e+=r,this.#s.add(A,()=>{this.#e-=r},ri.string)}else gu.isArrayBuffer(A)?(this.#e+=A.byteLength,this.#s.add(A,()=>{this.#e-=A.byteLength},ri.arrayBuffer)):ArrayBuffer.isView(A)?(this.#e+=A.byteLength,this.#s.add(A,()=>{this.#e-=A.byteLength},ri.typedArray)):cu(A)&&(this.#e+=A.size,this.#s.add(A,()=>{this.#e-=A.size},ri.blob))}get readyState(){return b.brandCheck(this,e),this[Tc]}get bufferedAmount(){return b.brandCheck(this,e),this.#e}get url(){return b.brandCheck(this,e),Eb(this[su])}get extensions(){return b.brandCheck(this,e),this.#n}get protocol(){return b.brandCheck(this,e),this.#t}get onopen(){return b.brandCheck(this,e),this.#A.open}set onopen(A){b.brandCheck(this,e),this.#A.open&&this.removeEventListener("open",this.#A.open),typeof A=="function"?(this.#A.open=A,this.addEventListener("open",A)):this.#A.open=null}get onerror(){return b.brandCheck(this,e),this.#A.error}set onerror(A){b.brandCheck(this,e),this.#A.error&&this.removeEventListener("error",this.#A.error),typeof A=="function"?(this.#A.error=A,this.addEventListener("error",A)):this.#A.error=null}get onclose(){return b.brandCheck(this,e),this.#A.close}set onclose(A){b.brandCheck(this,e),this.#A.close&&this.removeEventListener("close",this.#A.close),typeof A=="function"?(this.#A.close=A,this.addEventListener("close",A)):this.#A.close=null}get onmessage(){return b.brandCheck(this,e),this.#A.message}set onmessage(A){b.brandCheck(this,e),this.#A.message&&this.removeEventListener("message",this.#A.message),typeof A=="function"?(this.#A.message=A,this.addEventListener("message",A)):this.#A.message=null}get binaryType(){return b.brandCheck(this,e),this[si]}set binaryType(A){b.brandCheck(this,e),A!=="blob"&&A!=="arraybuffer"?this[si]="blob":this[si]=A}#r(A,t){this[iu]=A;let r=this[nu]?.dispatcher?.webSocketOptions?.maxPayloadSize,s=new wb(this,t,{maxPayloadSize:r});s.on("drain",kb),s.on("error",Rb.bind(this)),A.socket.ws=this,this[lb]=s,this.#s=new mb(A.socket),this[Tc]=rs.OPEN;let n=A.headersList.get("sec-websocket-extensions");n!==null&&(this.#n=n);let i=A.headersList.get("sec-websocket-protocol");i!==null&&(this.#t=i),ou("open",this)}};FA.CONNECTING=FA.prototype.CONNECTING=rs.CONNECTING;FA.OPEN=FA.prototype.OPEN=rs.OPEN;FA.CLOSING=FA.prototype.CLOSING=rs.CLOSING;FA.CLOSED=FA.prototype.CLOSED=rs.CLOSED;Object.defineProperties(FA.prototype,{CONNECTING:Je,OPEN:Je,CLOSING:Je,CLOSED:Je,url:LA,readyState:LA,bufferedAmount:LA,onopen:LA,onerror:LA,onclose:LA,close:LA,onmessage:LA,binaryType:LA,send:LA,extensions:LA,protocol:LA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(FA,{CONNECTING:Je,OPEN:Je,CLOSING:Je,CLOSED:Je});b.converters["sequence"]=b.sequenceConverter(b.converters.DOMString);b.converters["DOMString or sequence"]=function(e,A,t){return b.util.Type(e)==="Object"&&Symbol.iterator in e?b.converters["sequence"](e):b.converters.DOMString(e,A,t)};b.converters.WebSocketInit=b.dictionaryConverter([{key:"protocols",converter:b.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:b.converters.any,defaultValue:()=>yb()},{key:"headers",converter:b.nullableConverter(b.converters.HeadersInit)}]);b.converters["DOMString or sequence or WebSocketInit"]=function(e){return b.util.Type(e)==="Object"&&!(Symbol.iterator in e)?b.converters.WebSocketInit(e):{protocols:b.converters["DOMString or sequence"](e)}};b.converters.WebSocketSendData=function(e){if(b.util.Type(e)==="Object"){if(cu(e))return b.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||gu.isArrayBuffer(e))return b.converters.BufferSource(e)}return b.converters.USVString(e)};function kb(){this.ws[iu].socket.resume()}function Rb(e){let A,t;e instanceof Db?(A=e.reason,t=e.code):A=e.message,ou("error",this,()=>new pb("error",{error:e,message:A})),au(this,t)}Qu.exports={WebSocket:FA}});var Yc=h((jM,Bu)=>{"use strict";function Fb(e){return e.indexOf("\0")===-1}function Nb(e){if(e.length===0)return!1;for(let A=0;A57)return!1;return!0}function bb(e){return new Promise(A=>{setTimeout(A,e).unref()})}Bu.exports={isValidLastEventId:Fb,isASCIINumber:Nb,delay:bb}});var hu=h(($M,Cu)=>{"use strict";var{Transform:Sb}=require("node:stream"),{isASCIINumber:Iu,isValidLastEventId:lu}=Yc(),he=[239,187,191],xc=10,ni=13,Ub=58,Mb=32,Gc=class extends Sb{state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(A={}){A.readableObjectMode=!0,super(A),this.state=A.eventSourceSettings||{},A.push&&(this.push=A.push)}_transform(A,t,r){if(A.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,A]):this.buffer=A,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===he[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===he[0]&&this.buffer[1]===he[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===he[0]&&this.buffer[1]===he[1]&&this.buffer[2]===he[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===he[0]&&this.buffer[1]===he[1]&&this.buffer[2]===he[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos0&&(t[s]=n);break}}processEvent(A){A.retry&&Iu(A.retry)&&(this.state.reconnectionTime=parseInt(A.retry,10)),A.id&&lu(A.id)&&(this.state.lastEventId=A.id),A.data!==void 0&&this.push({type:A.event||"message",options:{data:A.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};Cu.exports={EventSourceStream:Gc}});var mu=h((AL,Du)=>{"use strict";var{pipeline:Lb}=require("node:stream"),{fetching:Tb}=Or(),{makeRequest:Yb}=Kt(),{webidl:ue}=nA(),{EventSourceStream:xb}=hu(),{parseMIMEType:Gb}=IA(),{createFastMessageEvent:Jb}=er(),{isNetworkError:uu}=qr(),{delay:vb}=Yc(),{kEnumerableProperty:at}=M(),{environmentSettingsObject:du}=fA(),fu=!1,wu=3e3,ss=0,yu=1,ns=2,Hb="anonymous",Vb="use-credentials",ir=class e extends EventTarget{#A={open:null,error:null,message:null};#e=null;#t=!1;#n=ss;#s=null;#r=null;#i;#o;constructor(A,t={}){super(),ue.util.markAsUncloneable(this);let r="EventSource constructor";ue.argumentLengthCheck(arguments,1,r),fu||(fu=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),A=ue.converters.USVString(A,r,"url"),t=ue.converters.EventSourceInitDict(t,r,"eventSourceInitDict"),this.#i=t.dispatcher,this.#o={lastEventId:"",reconnectionTime:wu};let s=du,n;try{n=new URL(A,s.settingsObject.baseUrl),this.#o.origin=n.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#e=n.href;let i=Hb;t.withCredentials&&(i=Vb,this.#t=!0);let o={redirect:"follow",keepalive:!0,mode:"cors",credentials:i==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};o.client=du.settingsObject,o.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],o.cache="no-store",o.initiator="other",o.urlList=[new URL(this.#e)],this.#s=Yb(o),this.#a()}get readyState(){return this.#n}get url(){return this.#e}get withCredentials(){return this.#t}#a(){if(this.#n===ns)return;this.#n=ss;let A={request:this.#s,dispatcher:this.#i},t=r=>{uu(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()};A.processResponseEndOfBody=t,A.processResponse=r=>{if(uu(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=r.headersList.get("content-type",!0),n=s!==null?Gb(s):"failure",i=n!=="failure"&&n.essence==="text/event-stream";if(r.status!==200||i===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#n=yu,this.dispatchEvent(new Event("open")),this.#o.origin=r.urlList[r.urlList.length-1].origin;let o=new xb({eventSourceSettings:this.#o,push:a=>{this.dispatchEvent(Jb(a.type,a.options))}});Lb(r.body.stream,o,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=Tb(A)}async#c(){this.#n!==ns&&(this.#n=ss,this.dispatchEvent(new Event("error")),await vb(this.#o.reconnectionTime),this.#n===ss&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#a()))}close(){ue.brandCheck(this,e),this.#n!==ns&&(this.#n=ns,this.#r.abort(),this.#s=null)}get onopen(){return this.#A.open}set onopen(A){this.#A.open&&this.removeEventListener("open",this.#A.open),typeof A=="function"?(this.#A.open=A,this.addEventListener("open",A)):this.#A.open=null}get onmessage(){return this.#A.message}set onmessage(A){this.#A.message&&this.removeEventListener("message",this.#A.message),typeof A=="function"?(this.#A.message=A,this.addEventListener("message",A)):this.#A.message=null}get onerror(){return this.#A.error}set onerror(A){this.#A.error&&this.removeEventListener("error",this.#A.error),typeof A=="function"?(this.#A.error=A,this.addEventListener("error",A)):this.#A.error=null}},pu={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:ss,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:yu,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:ns,writable:!1}};Object.defineProperties(ir,pu);Object.defineProperties(ir.prototype,pu);Object.defineProperties(ir.prototype,{close:at,onerror:at,onmessage:at,onopen:at,readyState:at,url:at,withCredentials:at});ue.converters.EventSourceInitDict=ue.dictionaryConverter([{key:"withCredentials",converter:ue.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:ue.converters.any}]);Du.exports={EventSource:ir,defaultReconnectionTime:wu}});var Nu=h((eL,N)=>{"use strict";var qb=Lt(),ku=cr(),Wb=Tt(),Ob=pB(),Pb=Yt(),Zb=aa(),_b=ZB(),Kb=$B(),Ru=x(),oi=M(),{InvalidArgumentError:ii}=Ru,or=JI(),zb=Qr(),Xb=qa(),jb=wl(),$b=Pa(),AS=ba(),eS=cn(),{getGlobalDispatcher:Fu,setGlobalDispatcher:tS}=dn(),rS=fn(),sS=Xs(),nS=js();Object.assign(ku.prototype,or);N.exports.Dispatcher=ku;N.exports.Client=qb;N.exports.Pool=Wb;N.exports.BalancedPool=Ob;N.exports.Agent=Pb;N.exports.ProxyAgent=Zb;N.exports.EnvHttpProxyAgent=_b;N.exports.RetryAgent=Kb;N.exports.RetryHandler=eS;N.exports.DecoratorHandler=rS;N.exports.RedirectHandler=sS;N.exports.createRedirectInterceptor=nS;N.exports.interceptors={redirect:Fl(),retry:bl(),dump:Ul(),dns:Tl()};N.exports.buildConnector=zb;N.exports.errors=Ru;N.exports.util={parseHeaders:oi.parseHeaders,headerNameToString:oi.headerNameToString};function is(e){return(A,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new ii("invalid url");if(t!=null&&typeof t!="object")throw new ii("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new ii("invalid opts.path");let i=t.path;t.path.startsWith("/")||(i=`/${i}`),A=new URL(oi.parseOrigin(A).origin+i)}else t||(t=typeof A=="object"?A:{}),A=oi.parseURL(A);let{agent:s,dispatcher:n=Fu()}=t;if(s)throw new ii("unsupported opts.agent. Did you mean opts.client?");return e.call(n,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}N.exports.setGlobalDispatcher=tS;N.exports.getGlobalDispatcher=Fu;var iS=Or().fetch;N.exports.fetch=async function(A,t=void 0){try{return await iS(A,t)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}};N.exports.Headers=et().Headers;N.exports.Response=qr().Response;N.exports.Request=Kt().Request;N.exports.FormData=ur().FormData;N.exports.File=globalThis.File??require("node:buffer").File;N.exports.FileReader=XC().FileReader;var{setGlobalOrigin:oS,getGlobalOrigin:aS}=co();N.exports.setGlobalOrigin=oS;N.exports.getGlobalOrigin=aS;var{CacheStorage:cS}=ih(),{kConstruct:gS}=Hn();N.exports.caches=new cS(gS);var{deleteCookie:QS,getCookies:ES,getSetCookies:BS,setCookie:IS}=uh();N.exports.deleteCookie=QS;N.exports.getCookies=ES;N.exports.getSetCookies=BS;N.exports.setCookie=IS;var{parseMIMEType:lS,serializeAMimeType:CS}=IA();N.exports.parseMIMEType=lS;N.exports.serializeAMimeType=CS;var{CloseEvent:hS,ErrorEvent:uS,MessageEvent:dS}=er();N.exports.WebSocket=Eu().WebSocket;N.exports.CloseEvent=hS;N.exports.ErrorEvent=uS;N.exports.MessageEvent=dS;N.exports.request=is(or.request);N.exports.stream=is(or.stream);N.exports.pipeline=is(or.pipeline);N.exports.connect=is(or.connect);N.exports.upgrade=is(or.upgrade);N.exports.MockClient=Xb;N.exports.MockPool=$b;N.exports.MockAgent=jb;N.exports.mockErrors=AS;var{EventSource:fS}=mu();N.exports.EventSource=fS});var XS={};td(XS,{run:()=>zu});module.exports=rd(XS);var _c=TA(require("os"),1);function fe(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}function Pc(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}function li(e,A,t){let r=new Ii(e,A,t);process.stdout.write(r.toString()+_c.EOL)}var Zc="::",Ii=class{constructor(A,t,r){A||(A="missing.command"),this.command=A,this.properties=t,this.message=r}toString(){let A=Zc+this.command;if(this.properties&&Object.keys(this.properties).length>0){A+=" ";let t=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let s=this.properties[r];s&&(t?t=!1:A+=",",A+=`${r}=${nd(s)}`)}}return A+=`${Zc}${sd(this.message)}`,A}};function sd(e){return fe(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function nd(e){return fe(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var Kc=TA(require("crypto"),1),Qs=TA(require("fs"),1),gs=TA(require("os"),1);function zc(e,A){let t=process.env[`GITHUB_${e}`];if(!t)throw new Error(`Unable to find environment variable for file command ${e}`);if(!Qs.existsSync(t))throw new Error(`Missing file at path: ${t}`);Qs.appendFileSync(t,`${fe(A)}${gs.EOL}`,{encoding:"utf8"})}function Xc(e,A){let t=`ghadelimiter_${Kc.randomUUID()}`,r=fe(A);if(e.includes(t))throw new Error(`Unexpected input: name should not contain the delimiter "${t}"`);if(r.includes(t))throw new Error(`Unexpected input: value should not contain the delimiter "${t}"`);return`${e}<<${t}${gs.EOL}${r}${gs.EOL}${t}`}var qc=TA(require("os"),1);var ai=TA(rg(),1),wS=TA(Nu(),1);var re;(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"})(re||(re={}));var bu;(function(e){e.Accept="accept",e.ContentType="content-type"})(bu||(bu={}));var Su;(function(e){e.ApplicationJson="application/json"})(Su||(Su={}));var rL=[re.MovedPermanently,re.ResourceMoved,re.SeeOther,re.TemporaryRedirect,re.PermanentRedirect],sL=[re.BadGateway,re.ServiceUnavailable,re.GatewayTimeout];var Mu=require("os"),os=require("fs"),Jc=function(e,A,t,r){function s(n){return n instanceof t?n:new t(function(i){i(n)})}return new(t||(t=Promise))(function(n,i){function o(Q){try{c(r.next(Q))}catch(g){i(g)}}function a(Q){try{c(r.throw(Q))}catch(g){i(g)}}function c(Q){Q.done?n(Q.value):s(Q.value).then(o,a)}c((r=r.apply(e,A||[])).next())})},{access:yS,appendFile:pS,writeFile:DS}=os.promises,Uu="GITHUB_STEP_SUMMARY";var vc=class{constructor(){this._buffer=""}filePath(){return Jc(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let A=process.env[Uu];if(!A)throw new Error(`Unable to find environment variable for $${Uu}. Check if your runtime environment supports job summaries.`);try{yield yS(A,os.constants.R_OK|os.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${A}'. Check if the file has correct read/write permissions.`)}return this._filePath=A,this._filePath})}wrap(A,t,r={}){let s=Object.entries(r).map(([n,i])=>` ${n}="${i}"`).join("");return t?`<${A}${s}>${t}`:`<${A}${s}>`}write(A){return Jc(this,void 0,void 0,function*(){let t=!!A?.overwrite,r=yield this.filePath();return yield(t?DS:pS)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return Jc(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(A,t=!1){return this._buffer+=A,t?this.addEOL():this}addEOL(){return this.addRaw(Mu.EOL)}addCodeBlock(A,t){let r=Object.assign({},t&&{lang:t}),s=this.wrap("pre",this.wrap("code",A),r);return this.addRaw(s).addEOL()}addList(A,t=!1){let r=t?"ol":"ul",s=A.map(i=>this.wrap("li",i)).join(""),n=this.wrap(r,s);return this.addRaw(n).addEOL()}addTable(A){let t=A.map(s=>{let n=s.map(i=>{if(typeof i=="string")return this.wrap("td",i);let{header:o,data:a,colspan:c,rowspan:Q}=i,g=o?"th":"td",E=Object.assign(Object.assign({},c&&{colspan:c}),Q&&{rowspan:Q});return this.wrap(g,a,E)}).join("");return this.wrap("tr",n)}).join(""),r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(A,t){let r=this.wrap("details",this.wrap("summary",A)+t);return this.addRaw(r).addEOL()}addImage(A,t,r){let{width:s,height:n}=r||{},i=Object.assign(Object.assign({},s&&{width:s}),n&&{height:n}),o=this.wrap("img",null,Object.assign({src:A,alt:t},i));return this.addRaw(o).addEOL()}addHeading(A,t){let r=`h${t}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",n=this.wrap(s,A);return this.addRaw(n).addEOL()}addSeparator(){let A=this.wrap("hr",null);return this.addRaw(A).addEOL()}addBreak(){let A=this.wrap("br",null);return this.addRaw(A).addEOL()}addQuote(A,t){let r=Object.assign({},t&&{cite:t}),s=this.wrap("blockquote",A,r);return this.addRaw(s).addEOL()}addLink(A,t){let r=this.wrap("a",A,{href:t});return this.addRaw(r).addEOL()}},lL=new vc;var Hc=TA(require("os"),1);var ci=TA(require("fs"),1);var{chmod:mS,copyFile:kS,lstat:RS,mkdir:FS,open:uL,readdir:NS,rename:bS,rm:SS,rmdir:dL,stat:US,symlink:MS,unlink:LS}=ci.promises,TS=process.platform==="win32";var fL=ci.constants.O_RDONLY;var mL=process.platform==="win32";var NL=Hc.default.platform(),bL=Hc.default.arch();var Vc;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(Vc||(Vc={}));function gi(e,A){let t=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(A&&A.required&&!t)throw new Error(`Input required and not supplied: ${e}`);return A&&A.trimWhitespace===!1?t:t.trim()}function Tu(e,A){if(process.env.GITHUB_OUTPUT||"")return zc("OUTPUT",Xc(e,A));process.stdout.write(qc.EOL),li("set-output",{name:e},fe(A))}function Yu(e){process.exitCode=Vc.Failure,VS(e)}function VS(e,A={}){li("error",Pc(A),e instanceof Error?e.toString():e)}function Wc(e){process.stdout.write(e+qc.EOL)}var Ei=TA(require("fs")),Ku=TA(require("path"));var WS=e=>e==="store"||e==="extension",xu=e=>{if(!WS(e))throw new Error(`check-config: \`kind\` must be 'store' or 'extension' (got ${JSON.stringify(e)})`);return e};var Gu={db:["mysql"],search:["opensearch","elasticsearch"],queue:["rabbitmq"],cache:["valkey","redis"],web:["nginx","php-fpm"]},Ju=e=>typeof e=="string"&&e in Gu,vu=e=>{let A=new Set;for(let t of e)for(let r of Gu[t])A.add(r);return A};var OS=["page","graphql"],Hu=e=>typeof e=="string"&&OS.includes(e);var PS=(e,A,t)=>{if(A===void 0)return t;if(t===void 0)throw new Error(`check-config: job "${e}" does not support "probes"`);if(!Array.isArray(A))throw new Error(`check-config: job "${e}".probes must be an array of probe names`);let r=[];for(let s of A){if(!Hu(s))throw new Error(`check-config: job "${e}".probes contains unknown probe "${String(s)}"`);r.push(s)}return r},ZS=(e,A,t)=>{if(A===void 0)return{enabled:!0,tiers:t.services,probes:t.probes};if(typeof A=="boolean")return{enabled:A,tiers:t.services,probes:t.probes};if(A===null||typeof A!="object"||Array.isArray(A))throw new Error(`check-config: job "${e}" must be a boolean or an object (got ${Array.isArray(A)?"array":typeof A})`);let{enabled:r,services:s,probes:n}=A,i=r===void 0?!0:!!r,o=PS(e,n,t.probes);if(s===void 0)return{enabled:i,tiers:t.services,probes:o};if(!Array.isArray(s))throw new Error(`check-config: job "${e}".services must be an array of tier names`);let a=[];for(let c of s){if(!Ju(c))throw new Error(`check-config: job "${e}".services contains unknown tier "${String(c)}"`);a.push(c)}return{enabled:i,tiers:a,probes:o}},_S=(e,A)=>{if(!A||A.length===0)return e;let t=new Set,r=[];for(let s of A)t.has(s)||(t.add(s),r.push(s));for(let s of e)t.has(s)||(t.add(s),r.push(s));return r},KS=(e,A)=>{let t=vu(A),r=e.services??{},s={};for(let[n,i]of Object.entries(r))t.has(n)&&(s[n]=i);return{...e,services:s}},zS=(e,A)=>({...e,include:e.include.map(t=>KS(t,A))}),Qi=(e,A,t,r)=>{let s=e.jobs??{};if(s===null||typeof s!="object"||Array.isArray(s))throw new Error("check-config: `jobs` must be an object");for(let i of Object.keys(s))if(!(i in t))throw new Error(`check-config: unknown job "${i}" for kind "${A}". Known jobs: ${Object.keys(t).join(", ")}`);let n={};for(let[i,o]of Object.entries(t)){let a=s[i],{enabled:c,tiers:Q,probes:g}=ZS(i,a,o),E=_S(Q,o.requiredServices),l={enabled:c,matrix:zS(r,E)};g!==void 0&&(l.probes=[...g]),n[i]=l}return n},Vu=e=>{let A=e.trim();if(A==="")return{};let t;try{t=JSON.parse(A)}catch(r){throw new Error(`check-config: failed to parse JSON: ${r.message}`)}if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("check-config: top-level value must be an object");return t},qu=e=>{let A=e.trim();if(A==="")throw new Error("check-config: `matrix` input is required");let t;try{t=JSON.parse(A)}catch(s){throw new Error(`check-config: failed to parse \`matrix\` input as JSON: ${s.message}`)}if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("check-config: `matrix` must be a JSON object");let r=t.include;if(!Array.isArray(r))throw new Error("check-config: `matrix.include` must be an array");return t};var Wu={"unit-test":{services:[]},"coding-standard":{services:[]},"smoke-test":{services:[],requiredServices:["db","search","queue","cache","web"],probes:["page"]}},AT=Object.keys(Wu),Ou=(e,A)=>Qi(e,"store",Wu,A);var Pu={"unit-test-extension":{services:[]},"compile-extension":{services:[]},"coding-standard":{services:[]},integration_test:{services:[],requiredServices:["db","search","queue","cache"]}},rT=Object.keys(Pu),Zu=(e,A)=>Qi(e,"extension",Pu,A);var _u=(e,A,t)=>A==="store"?Ou(e,t):Zu(e,t);var zu=async()=>{try{let e=xu(gi("kind",{required:!0})),A=qu(gi("matrix",{required:!0})),t=gi("config_path")||`.github/check-${e}.json`,r=process.env.GITHUB_WORKSPACE||process.cwd(),s=Ku.resolve(r,t),n={};if(Ei.existsSync(s)){let o=Ei.readFileSync(s,"utf-8");n=Vu(o),Wc(`resolve-check-config: read ${s}`)}else Wc(`resolve-check-config: ${s} not found \u2014 emitting defaults for every known job`);let i=_u(n,e,A);Tu("resolved",JSON.stringify(i))}catch(e){Yu(e.message)}};zu();0&&(module.exports={run}); +${n}`;break;case"retry":Iu(n)&&(t[s]=n);break;case"id":lu(n)&&(t[s]=n);break;case"event":n.length>0&&(t[s]=n);break}}processEvent(A){A.retry&&Iu(A.retry)&&(this.state.reconnectionTime=parseInt(A.retry,10)),A.id&&lu(A.id)&&(this.state.lastEventId=A.id),A.data!==void 0&&this.push({type:A.event||"message",options:{data:A.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};Cu.exports={EventSourceStream:Gc}});var mu=h((AL,Du)=>{"use strict";var{pipeline:Lb}=require("node:stream"),{fetching:Tb}=Or(),{makeRequest:Yb}=Kt(),{webidl:ue}=nA(),{EventSourceStream:xb}=hu(),{parseMIMEType:Gb}=IA(),{createFastMessageEvent:Jb}=er(),{isNetworkError:uu}=qr(),{delay:vb}=Yc(),{kEnumerableProperty:at}=M(),{environmentSettingsObject:du}=fA(),fu=!1,wu=3e3,ss=0,yu=1,ns=2,Hb="anonymous",Vb="use-credentials",ir=class e extends EventTarget{#A={open:null,error:null,message:null};#e=null;#t=!1;#n=ss;#s=null;#r=null;#i;#o;constructor(A,t={}){super(),ue.util.markAsUncloneable(this);let r="EventSource constructor";ue.argumentLengthCheck(arguments,1,r),fu||(fu=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),A=ue.converters.USVString(A,r,"url"),t=ue.converters.EventSourceInitDict(t,r,"eventSourceInitDict"),this.#i=t.dispatcher,this.#o={lastEventId:"",reconnectionTime:wu};let s=du,n;try{n=new URL(A,s.settingsObject.baseUrl),this.#o.origin=n.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#e=n.href;let i=Hb;t.withCredentials&&(i=Vb,this.#t=!0);let o={redirect:"follow",keepalive:!0,mode:"cors",credentials:i==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};o.client=du.settingsObject,o.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],o.cache="no-store",o.initiator="other",o.urlList=[new URL(this.#e)],this.#s=Yb(o),this.#a()}get readyState(){return this.#n}get url(){return this.#e}get withCredentials(){return this.#t}#a(){if(this.#n===ns)return;this.#n=ss;let A={request:this.#s,dispatcher:this.#i},t=r=>{uu(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()};A.processResponseEndOfBody=t,A.processResponse=r=>{if(uu(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=r.headersList.get("content-type",!0),n=s!==null?Gb(s):"failure",i=n!=="failure"&&n.essence==="text/event-stream";if(r.status!==200||i===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#n=yu,this.dispatchEvent(new Event("open")),this.#o.origin=r.urlList[r.urlList.length-1].origin;let o=new xb({eventSourceSettings:this.#o,push:a=>{this.dispatchEvent(Jb(a.type,a.options))}});Lb(r.body.stream,o,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=Tb(A)}async#c(){this.#n!==ns&&(this.#n=ss,this.dispatchEvent(new Event("error")),await vb(this.#o.reconnectionTime),this.#n===ss&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#a()))}close(){ue.brandCheck(this,e),this.#n!==ns&&(this.#n=ns,this.#r.abort(),this.#s=null)}get onopen(){return this.#A.open}set onopen(A){this.#A.open&&this.removeEventListener("open",this.#A.open),typeof A=="function"?(this.#A.open=A,this.addEventListener("open",A)):this.#A.open=null}get onmessage(){return this.#A.message}set onmessage(A){this.#A.message&&this.removeEventListener("message",this.#A.message),typeof A=="function"?(this.#A.message=A,this.addEventListener("message",A)):this.#A.message=null}get onerror(){return this.#A.error}set onerror(A){this.#A.error&&this.removeEventListener("error",this.#A.error),typeof A=="function"?(this.#A.error=A,this.addEventListener("error",A)):this.#A.error=null}},pu={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:ss,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:yu,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:ns,writable:!1}};Object.defineProperties(ir,pu);Object.defineProperties(ir.prototype,pu);Object.defineProperties(ir.prototype,{close:at,onerror:at,onmessage:at,onopen:at,readyState:at,url:at,withCredentials:at});ue.converters.EventSourceInitDict=ue.dictionaryConverter([{key:"withCredentials",converter:ue.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:ue.converters.any}]);Du.exports={EventSource:ir,defaultReconnectionTime:wu}});var Nu=h((eL,N)=>{"use strict";var qb=Lt(),ku=cr(),Wb=Tt(),Ob=pB(),Pb=Yt(),Zb=aa(),_b=ZB(),Kb=$B(),Ru=x(),oi=M(),{InvalidArgumentError:ii}=Ru,or=JI(),zb=Qr(),Xb=qa(),jb=wl(),$b=Pa(),AS=ba(),eS=cn(),{getGlobalDispatcher:Fu,setGlobalDispatcher:tS}=dn(),rS=fn(),sS=Xs(),nS=js();Object.assign(ku.prototype,or);N.exports.Dispatcher=ku;N.exports.Client=qb;N.exports.Pool=Wb;N.exports.BalancedPool=Ob;N.exports.Agent=Pb;N.exports.ProxyAgent=Zb;N.exports.EnvHttpProxyAgent=_b;N.exports.RetryAgent=Kb;N.exports.RetryHandler=eS;N.exports.DecoratorHandler=rS;N.exports.RedirectHandler=sS;N.exports.createRedirectInterceptor=nS;N.exports.interceptors={redirect:Fl(),retry:bl(),dump:Ul(),dns:Tl()};N.exports.buildConnector=zb;N.exports.errors=Ru;N.exports.util={parseHeaders:oi.parseHeaders,headerNameToString:oi.headerNameToString};function is(e){return(A,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new ii("invalid url");if(t!=null&&typeof t!="object")throw new ii("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new ii("invalid opts.path");let i=t.path;t.path.startsWith("/")||(i=`/${i}`),A=new URL(oi.parseOrigin(A).origin+i)}else t||(t=typeof A=="object"?A:{}),A=oi.parseURL(A);let{agent:s,dispatcher:n=Fu()}=t;if(s)throw new ii("unsupported opts.agent. Did you mean opts.client?");return e.call(n,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}N.exports.setGlobalDispatcher=tS;N.exports.getGlobalDispatcher=Fu;var iS=Or().fetch;N.exports.fetch=async function(A,t=void 0){try{return await iS(A,t)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}};N.exports.Headers=et().Headers;N.exports.Response=qr().Response;N.exports.Request=Kt().Request;N.exports.FormData=ur().FormData;N.exports.File=globalThis.File??require("node:buffer").File;N.exports.FileReader=XC().FileReader;var{setGlobalOrigin:oS,getGlobalOrigin:aS}=co();N.exports.setGlobalOrigin=oS;N.exports.getGlobalOrigin=aS;var{CacheStorage:cS}=ih(),{kConstruct:gS}=Hn();N.exports.caches=new cS(gS);var{deleteCookie:QS,getCookies:ES,getSetCookies:BS,setCookie:IS}=uh();N.exports.deleteCookie=QS;N.exports.getCookies=ES;N.exports.getSetCookies=BS;N.exports.setCookie=IS;var{parseMIMEType:lS,serializeAMimeType:CS}=IA();N.exports.parseMIMEType=lS;N.exports.serializeAMimeType=CS;var{CloseEvent:hS,ErrorEvent:uS,MessageEvent:dS}=er();N.exports.WebSocket=Eu().WebSocket;N.exports.CloseEvent=hS;N.exports.ErrorEvent=uS;N.exports.MessageEvent=dS;N.exports.request=is(or.request);N.exports.stream=is(or.stream);N.exports.pipeline=is(or.pipeline);N.exports.connect=is(or.connect);N.exports.upgrade=is(or.upgrade);N.exports.MockClient=Xb;N.exports.MockPool=$b;N.exports.MockAgent=jb;N.exports.mockErrors=AS;var{EventSource:fS}=mu();N.exports.EventSource=fS});var XS={};td(XS,{run:()=>zu});module.exports=rd(XS);var _c=TA(require("os"),1);function fe(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}function Pc(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}function li(e,A,t){let r=new Ii(e,A,t);process.stdout.write(r.toString()+_c.EOL)}var Zc="::",Ii=class{constructor(A,t,r){A||(A="missing.command"),this.command=A,this.properties=t,this.message=r}toString(){let A=Zc+this.command;if(this.properties&&Object.keys(this.properties).length>0){A+=" ";let t=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let s=this.properties[r];s&&(t?t=!1:A+=",",A+=`${r}=${nd(s)}`)}}return A+=`${Zc}${sd(this.message)}`,A}};function sd(e){return fe(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function nd(e){return fe(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var Kc=TA(require("crypto"),1),Qs=TA(require("fs"),1),gs=TA(require("os"),1);function zc(e,A){let t=process.env[`GITHUB_${e}`];if(!t)throw new Error(`Unable to find environment variable for file command ${e}`);if(!Qs.existsSync(t))throw new Error(`Missing file at path: ${t}`);Qs.appendFileSync(t,`${fe(A)}${gs.EOL}`,{encoding:"utf8"})}function Xc(e,A){let t=`ghadelimiter_${Kc.randomUUID()}`,r=fe(A);if(e.includes(t))throw new Error(`Unexpected input: name should not contain the delimiter "${t}"`);if(r.includes(t))throw new Error(`Unexpected input: value should not contain the delimiter "${t}"`);return`${e}<<${t}${gs.EOL}${r}${gs.EOL}${t}`}var qc=TA(require("os"),1);var ai=TA(rg(),1),wS=TA(Nu(),1);var re;(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"})(re||(re={}));var bu;(function(e){e.Accept="accept",e.ContentType="content-type"})(bu||(bu={}));var Su;(function(e){e.ApplicationJson="application/json"})(Su||(Su={}));var rL=[re.MovedPermanently,re.ResourceMoved,re.SeeOther,re.TemporaryRedirect,re.PermanentRedirect],sL=[re.BadGateway,re.ServiceUnavailable,re.GatewayTimeout];var Mu=require("os"),os=require("fs"),Jc=function(e,A,t,r){function s(n){return n instanceof t?n:new t(function(i){i(n)})}return new(t||(t=Promise))(function(n,i){function o(Q){try{c(r.next(Q))}catch(g){i(g)}}function a(Q){try{c(r.throw(Q))}catch(g){i(g)}}function c(Q){Q.done?n(Q.value):s(Q.value).then(o,a)}c((r=r.apply(e,A||[])).next())})},{access:yS,appendFile:pS,writeFile:DS}=os.promises,Uu="GITHUB_STEP_SUMMARY";var vc=class{constructor(){this._buffer=""}filePath(){return Jc(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let A=process.env[Uu];if(!A)throw new Error(`Unable to find environment variable for $${Uu}. Check if your runtime environment supports job summaries.`);try{yield yS(A,os.constants.R_OK|os.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${A}'. Check if the file has correct read/write permissions.`)}return this._filePath=A,this._filePath})}wrap(A,t,r={}){let s=Object.entries(r).map(([n,i])=>` ${n}="${i}"`).join("");return t?`<${A}${s}>${t}`:`<${A}${s}>`}write(A){return Jc(this,void 0,void 0,function*(){let t=!!A?.overwrite,r=yield this.filePath();return yield(t?DS:pS)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return Jc(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(A,t=!1){return this._buffer+=A,t?this.addEOL():this}addEOL(){return this.addRaw(Mu.EOL)}addCodeBlock(A,t){let r=Object.assign({},t&&{lang:t}),s=this.wrap("pre",this.wrap("code",A),r);return this.addRaw(s).addEOL()}addList(A,t=!1){let r=t?"ol":"ul",s=A.map(i=>this.wrap("li",i)).join(""),n=this.wrap(r,s);return this.addRaw(n).addEOL()}addTable(A){let t=A.map(s=>{let n=s.map(i=>{if(typeof i=="string")return this.wrap("td",i);let{header:o,data:a,colspan:c,rowspan:Q}=i,g=o?"th":"td",E=Object.assign(Object.assign({},c&&{colspan:c}),Q&&{rowspan:Q});return this.wrap(g,a,E)}).join("");return this.wrap("tr",n)}).join(""),r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(A,t){let r=this.wrap("details",this.wrap("summary",A)+t);return this.addRaw(r).addEOL()}addImage(A,t,r){let{width:s,height:n}=r||{},i=Object.assign(Object.assign({},s&&{width:s}),n&&{height:n}),o=this.wrap("img",null,Object.assign({src:A,alt:t},i));return this.addRaw(o).addEOL()}addHeading(A,t){let r=`h${t}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",n=this.wrap(s,A);return this.addRaw(n).addEOL()}addSeparator(){let A=this.wrap("hr",null);return this.addRaw(A).addEOL()}addBreak(){let A=this.wrap("br",null);return this.addRaw(A).addEOL()}addQuote(A,t){let r=Object.assign({},t&&{cite:t}),s=this.wrap("blockquote",A,r);return this.addRaw(s).addEOL()}addLink(A,t){let r=this.wrap("a",A,{href:t});return this.addRaw(r).addEOL()}},lL=new vc;var Hc=TA(require("os"),1);var ci=TA(require("fs"),1);var{chmod:mS,copyFile:kS,lstat:RS,mkdir:FS,open:uL,readdir:NS,rename:bS,rm:SS,rmdir:dL,stat:US,symlink:MS,unlink:LS}=ci.promises,TS=process.platform==="win32";var fL=ci.constants.O_RDONLY;var mL=process.platform==="win32";var NL=Hc.default.platform(),bL=Hc.default.arch();var Vc;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(Vc||(Vc={}));function gi(e,A){let t=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(A&&A.required&&!t)throw new Error(`Input required and not supplied: ${e}`);return A&&A.trimWhitespace===!1?t:t.trim()}function Tu(e,A){if(process.env.GITHUB_OUTPUT||"")return zc("OUTPUT",Xc(e,A));process.stdout.write(qc.EOL),li("set-output",{name:e},fe(A))}function Yu(e){process.exitCode=Vc.Failure,VS(e)}function VS(e,A={}){li("error",Pc(A),e instanceof Error?e.toString():e)}function Wc(e){process.stdout.write(e+qc.EOL)}var Ei=TA(require("fs")),Ku=TA(require("path"));var WS=e=>e==="store"||e==="extension",xu=e=>{if(!WS(e))throw new Error(`check-config: \`kind\` must be 'store' or 'extension' (got ${JSON.stringify(e)})`);return e};var Gu={db:["mysql"],search:["opensearch","elasticsearch"],queue:["rabbitmq"],cache:["valkey","redis"],web:["nginx","php-fpm"]},Ju=e=>typeof e=="string"&&e in Gu,vu=e=>{let A=new Set;for(let t of e)for(let r of Gu[t])A.add(r);return A};var OS=["page","graphql"],Hu=e=>typeof e=="string"&&OS.includes(e);var PS=(e,A,t)=>{if(A===void 0)return t;if(t===void 0)throw new Error(`check-config: job "${e}" does not support "probes"`);if(!Array.isArray(A))throw new Error(`check-config: job "${e}".probes must be an array of probe names`);let r=[];for(let s of A){if(!Hu(s))throw new Error(`check-config: job "${e}".probes contains unknown probe "${String(s)}"`);r.push(s)}return r},ZS=(e,A,t)=>{if(A===void 0)return{enabled:!0,tiers:t.services,probes:t.probes};if(typeof A=="boolean")return{enabled:A,tiers:t.services,probes:t.probes};if(A===null||typeof A!="object"||Array.isArray(A))throw new Error(`check-config: job "${e}" must be a boolean or an object (got ${Array.isArray(A)?"array":typeof A})`);let{enabled:r,services:s,probes:n}=A,i=r===void 0?!0:!!r,o=PS(e,n,t.probes);if(s===void 0)return{enabled:i,tiers:t.services,probes:o};if(!Array.isArray(s))throw new Error(`check-config: job "${e}".services must be an array of tier names`);let a=[];for(let c of s){if(!Ju(c))throw new Error(`check-config: job "${e}".services contains unknown tier "${String(c)}"`);a.push(c)}return{enabled:i,tiers:a,probes:o}},_S=(e,A)=>{if(!A||A.length===0)return e;let t=new Set,r=[];for(let s of A)t.has(s)||(t.add(s),r.push(s));for(let s of e)t.has(s)||(t.add(s),r.push(s));return r},KS=(e,A)=>{let t=vu(A),r=e.services??{},s={};for(let[n,i]of Object.entries(r))t.has(n)&&(s[n]=i);return{...e,services:s}},zS=(e,A)=>({...e,include:e.include.map(t=>KS(t,A))}),Qi=(e,A,t,r)=>{let s=e.jobs??{};if(s===null||typeof s!="object"||Array.isArray(s))throw new Error("check-config: `jobs` must be an object");for(let i of Object.keys(s))if(!(i in t))throw new Error(`check-config: unknown job "${i}" for kind "${A}". Known jobs: ${Object.keys(t).join(", ")}`);let n={};for(let[i,o]of Object.entries(t)){let a=s[i],{enabled:c,tiers:Q,probes:g}=ZS(i,a,o),E=_S(Q,o.requiredServices),l={enabled:c,matrix:zS(r,E)};g!==void 0&&(l.probes=[...g]),n[i]=l}return n},Vu=e=>{let A=e.trim();if(A==="")return{};let t;try{t=JSON.parse(A)}catch(r){throw new Error(`check-config: failed to parse JSON: ${r.message}`,{cause:r})}if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("check-config: top-level value must be an object");return t},qu=e=>{let A=e.trim();if(A==="")throw new Error("check-config: `matrix` input is required");let t;try{t=JSON.parse(A)}catch(s){throw new Error(`check-config: failed to parse \`matrix\` input as JSON: ${s.message}`,{cause:s})}if(t===null||typeof t!="object"||Array.isArray(t))throw new Error("check-config: `matrix` must be a JSON object");let r=t.include;if(!Array.isArray(r))throw new Error("check-config: `matrix.include` must be an array");return t};var Wu={"unit-test":{services:[]},"coding-standard":{services:[]},"smoke-test":{services:[],requiredServices:["db","search","queue","cache","web"],probes:["page"]}},AT=Object.keys(Wu),Ou=(e,A)=>Qi(e,"store",Wu,A);var Pu={"unit-test-extension":{services:[]},"compile-extension":{services:[]},"coding-standard":{services:[]},integration_test:{services:[],requiredServices:["db","search","queue","cache"]}},rT=Object.keys(Pu),Zu=(e,A)=>Qi(e,"extension",Pu,A);var _u=(e,A,t)=>A==="store"?Ou(e,t):Zu(e,t);var zu=async()=>{try{let e=xu(gi("kind",{required:!0})),A=qu(gi("matrix",{required:!0})),t=gi("config_path")||`.github/check-${e}.json`,r=process.env.GITHUB_WORKSPACE||process.cwd(),s=Ku.resolve(r,t),n={};if(Ei.existsSync(s)){let o=Ei.readFileSync(s,"utf-8");n=Vu(o),Wc(`resolve-check-config: read ${s}`)}else Wc(`resolve-check-config: ${s} not found \u2014 emitting defaults for every known job`);let i=_u(n,e,A);Tu("resolved",JSON.stringify(i))}catch(e){Yu(e.message)}};zu();0&&(module.exports={run}); /*! Bundled license information: undici/lib/web/fetch/body.js: diff --git a/resolve-check-config/src/parse.ts b/resolve-check-config/src/parse.ts index 64af239..00eb08c 100644 --- a/resolve-check-config/src/parse.ts +++ b/resolve-check-config/src/parse.ts @@ -176,7 +176,7 @@ export const parseRawConfig = (jsonText: string): RawConfig => { try { parsed = JSON.parse(trimmed); } catch (e) { - throw new Error(`check-config: failed to parse JSON: ${(e as Error).message}`); + throw new Error(`check-config: failed to parse JSON: ${(e as Error).message}`, { cause: e }); } if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) { throw new Error(`check-config: top-level value must be an object`); @@ -198,7 +198,7 @@ export const parseMatrixInput = (jsonText: string): Matrix => { try { parsed = JSON.parse(trimmed); } catch (e) { - throw new Error(`check-config: failed to parse \`matrix\` input as JSON: ${(e as Error).message}`); + throw new Error(`check-config: failed to parse \`matrix\` input as JSON: ${(e as Error).message}`, { cause: e }); } if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) { throw new Error('check-config: `matrix` must be a JSON object');